this.movedir_z = ReadCoord();
this.lip = ReadByte() / 255.0;
}
- this.fade_start = ReadShort();
- this.fade_end = ReadShort();
- this.alpha_max = ReadShort();
- this.alpha_min = ReadShort();
- this.inactive = ReadShort();
+ this.fade_start = ReadByte();
+ this.fade_end = ReadByte();
+ this.alpha_max = ReadByte();
+ this.alpha_min = ReadByte();
+ this.inactive = ReadByte();
this.fade_vertical_offset = ReadShort();
BGMScript_InitEntity(this);
}
STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, this) = Physics_ClientOption(this, "airspeedlimit_nonqw", autocvar_sv_airspeedlimit_nonqw) * maxspd_mod;
STAT(MOVEVARS_MAXSPEED, this) = Physics_ClientOption(this, "maxspeed", autocvar_sv_maxspeed) * maxspd_mod; // also slow walking
+ STAT(PL_MIN, this) = autocvar_sv_player_mins;
+ STAT(PL_MAX, this) = autocvar_sv_player_maxs;
+ STAT(PL_VIEW_OFS, this) = autocvar_sv_player_viewoffset;
+ STAT(PL_CROUCH_MIN, this) = autocvar_sv_player_crouch_mins;
+ STAT(PL_CROUCH_MAX, this) = autocvar_sv_player_crouch_maxs;
+ STAT(PL_CROUCH_VIEW_OFS, this) = autocvar_sv_player_crouch_viewoffset;
+
// old stats
// fix some new settings
STAT(MOVEVARS_AIRACCEL_QW_STRETCHFACTOR, this) = Physics_ClientOption(this, "airaccel_qw_stretchfactor", autocvar_sv_airaccel_qw_stretchfactor);
void delay_use(entity this, entity actor, entity trigger)
{
setthink(this, SUB_UseTargets_self);
- this.nextthink = this.wait;
+ this.nextthink = time + this.wait;
}
void delay_reset(entity this)
t.target2 = this.target2;
t.target3 = this.target3;
t.target4 = this.target4;
+ t.antiwall_flag = this.antiwall_flag;
return;
}
{
WarpZone_PlayerPhysics_FixVAngle(this);
Physics_UpdateStats(this, PHYS_HIGHSPEED(this));
+ this.oldmovement = this.movement;
}
bool sys_phys_override(entity this, float dt)
this.drawonlytoclient = NULL;
this.crouch = false;
- this.view_ofs = STAT(PL_VIEW_OFS, NULL);
- setsize(this, STAT(PL_MIN, NULL), STAT(PL_MAX, NULL));
+ this.view_ofs = STAT(PL_VIEW_OFS, this);
+ setsize(this, STAT(PL_MIN, this), STAT(PL_MAX, this));
this.spawnorigin = spot.origin;
setorigin(this, spot.origin + '0 0 1' * (1 - this.mins.z - 24));
// don't reset back to last position, even if new position is stuck in solid
void GetPressedKeys(entity this)
{
MUTATOR_CALLHOOK(GetPressedKeys, this);
- int keys = this.pressedkeys;
+ int keys = STAT(PRESSED_KEYS, this);
keys = BITSET(keys, KEY_FORWARD, this.movement.x > 0);
keys = BITSET(keys, KEY_BACKWARD, this.movement.x < 0);
keys = BITSET(keys, KEY_RIGHT, this.movement.y > 0);
keys = BITSET(keys, KEY_CROUCH, PHYS_INPUT_BUTTON_CROUCH(this));
keys = BITSET(keys, KEY_ATCK, PHYS_INPUT_BUTTON_ATCK(this));
keys = BITSET(keys, KEY_ATCK2, PHYS_INPUT_BUTTON_ATCK2(this));
- this.pressedkeys = keys;
+ this.pressedkeys = keys; // store for other users
+
+ STAT(PRESSED_KEYS, this) = keys;
}
/*
this.hit_time = spectatee.hit_time;
this.strength_finished = spectatee.strength_finished;
this.invincible_finished = spectatee.invincible_finished;
- this.pressedkeys = spectatee.pressedkeys;
+ STAT(PRESSED_KEYS, this) = STAT(PRESSED_KEYS, spectatee);
this.weapons = spectatee.weapons;
this.vortex_charge = spectatee.vortex_charge;
this.vortex_chargepool_ammo = spectatee.vortex_chargepool_ammo;
string clientstuff;
.float phase;
-.int pressedkeys = _STAT(PRESSED_KEYS);
+.int pressedkeys;
.string fog;
WriteCoord(MSG_ENTITY, this.movedir.z);
WriteByte(MSG_ENTITY, floor(this.lip * 255));
}
- WriteShort(MSG_ENTITY, this.fade_start);
- WriteShort(MSG_ENTITY, this.fade_end);
- WriteShort(MSG_ENTITY, this.alpha_max);
- WriteShort(MSG_ENTITY, this.alpha_min);
- WriteShort(MSG_ENTITY, this.inactive);
+ WriteByte(MSG_ENTITY, this.fade_start);
+ WriteByte(MSG_ENTITY, this.fade_end);
+ WriteByte(MSG_ENTITY, this.alpha_max);
+ WriteByte(MSG_ENTITY, this.alpha_min);
+ WriteByte(MSG_ENTITY, this.inactive);
WriteShort(MSG_ENTITY, this.fade_vertical_offset);
}