Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
0c8a4689b8
5 changed files with 26 additions and 3 deletions
|
|
@ -2751,6 +2751,11 @@ void R_DrawVoxel(const FVector3 &globalpos, FAngle viewangle,
|
|||
// Also do some magic voodoo scaling to make them the right size.
|
||||
daxscale = daxscale / (0xC000 >> 6);
|
||||
dayscale = dayscale / (0xC000 >> 6);
|
||||
if (daxscale <= 0 || dayscale <= 0)
|
||||
{
|
||||
// won't be visible.
|
||||
return;
|
||||
}
|
||||
|
||||
angle_t viewang = viewangle.BAMs();
|
||||
cosang = FLOAT2FIXED(viewangle.Cos()) >> 2;
|
||||
|
|
|
|||
|
|
@ -3103,12 +3103,19 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Recoil)
|
|||
// A_SelectWeapon
|
||||
//
|
||||
//===========================================================================
|
||||
enum SW_Flags
|
||||
{
|
||||
SWF_SELECTPRIORITY = 1,
|
||||
};
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SelectWeapon)
|
||||
{
|
||||
PARAM_SELF_PROLOGUE(AActor);
|
||||
PARAM_CLASS(cls, AWeapon);
|
||||
PARAM_INT_OPT(flags) { flags = 0; }
|
||||
|
||||
if (cls == NULL || self->player == NULL)
|
||||
bool selectPriority = !!(flags & SWF_SELECTPRIORITY);
|
||||
|
||||
if ((!selectPriority && cls == NULL) || self->player == NULL)
|
||||
{
|
||||
ACTION_RETURN_BOOL(false);
|
||||
}
|
||||
|
|
@ -3123,6 +3130,14 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SelectWeapon)
|
|||
}
|
||||
ACTION_RETURN_BOOL(true);
|
||||
}
|
||||
else if (selectPriority)
|
||||
{
|
||||
// [XA] if the named weapon cannot be found (or is a dummy like 'None'),
|
||||
// select the next highest priority weapon. This is basically
|
||||
// the same as A_CheckReload minus the ammo check. Handy.
|
||||
self->player->mo->PickNewWeapon(NULL);
|
||||
ACTION_RETURN_BOOL(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ACTION_RETURN_BOOL(false);
|
||||
|
|
|
|||
|
|
@ -4212,7 +4212,7 @@ ExpEmit FxJumpStatement::Emit(VMFunctionBuilder *build)
|
|||
{
|
||||
if (AddressResolver == nullptr)
|
||||
{
|
||||
ScriptPosition.Message(MSG_ERROR, "Jump statement %s has nowhere to go!", FScanner::TokenName(Token));
|
||||
ScriptPosition.Message(MSG_ERROR, "Jump statement %s has nowhere to go!", FScanner::TokenName(Token).GetChars());
|
||||
}
|
||||
|
||||
Address = build->Emit(OP_JMP, 0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue