mirror of
https://git.code.sf.net/p/quake/game-source
synced 2024-11-10 06:31:52 +00:00
faster inits and casting logic to float doesn't seem to work well atm.
This commit is contained in:
parent
bedcb0d64f
commit
6503dc6c16
3 changed files with 12 additions and 8 deletions
|
@ -77,7 +77,7 @@ float(entity e) bot_size_player =
|
|||
void() bot_dodge_stuff =
|
||||
{
|
||||
local entity foe;
|
||||
local float foedist, avdist, scandist = 0, foesz, flen, tsz;
|
||||
local float foedist, avdist, foesz, flen, tsz;
|
||||
local vector v;
|
||||
|
||||
if (waypoint_mode > WM_LOADED)
|
||||
|
|
|
@ -149,7 +149,7 @@ manuever around.
|
|||
void(vector whichway, float danger) frik_obstructed =
|
||||
{
|
||||
local float dist;
|
||||
local vector disway = '0 0 0', org;
|
||||
local vector disway, org;
|
||||
// TODO: something
|
||||
if (self.b_aiflags & AI_BLIND)
|
||||
return;
|
||||
|
@ -179,10 +179,11 @@ void(vector whichway, float danger) frik_obstructed =
|
|||
self.obs_dir = whichway;
|
||||
disway_x = whichway_y * -1;
|
||||
disway_y = whichway_x;
|
||||
disway_z = 0;
|
||||
dist = vlen(org - (self.origin + disway));
|
||||
disway_x = whichway_y;
|
||||
disway_y = whichway_x * -1;
|
||||
self.wallhug = (float) (vlen(org - (self.origin + disway)) > dist);
|
||||
self.wallhug = (vlen(org - (self.origin + disway)) > dist) ? 1.0 : 0.0;
|
||||
self.b_aiflags = self.b_aiflags | AI_OBSTRUCTED;
|
||||
|
||||
}
|
||||
|
@ -190,10 +191,11 @@ void(vector whichway, float danger) frik_obstructed =
|
|||
{
|
||||
disway_x = whichway_y * -1;
|
||||
disway_y = whichway_x;
|
||||
disway_z = 0;
|
||||
dist = vlen(disway - self.obs_dir);
|
||||
disway_x = whichway_y;
|
||||
disway_y = whichway_x * -1;
|
||||
self.wallhug = (float) (vlen(disway - self.obs_dir) < dist);
|
||||
self.wallhug = (vlen(disway - self.obs_dir) < dist) ? 1.0 : 0.0;
|
||||
self.obs_dir = whichway;
|
||||
|
||||
self.b_aiflags = self.b_aiflags | AI_OBSTRUCTED;
|
||||
|
@ -348,7 +350,7 @@ I have no idea how well it will work
|
|||
|
||||
void() frik_dodge_obstruction =
|
||||
{
|
||||
local vector way = '0 0 0', org;
|
||||
local vector way, org;
|
||||
local float oflags, yaw;
|
||||
|
||||
if (!(self.b_aiflags & AI_OBSTRUCTED))
|
||||
|
@ -385,6 +387,7 @@ void() frik_dodge_obstruction =
|
|||
way_x = self.obs_dir_y;
|
||||
way_y = self.obs_dir_x * -1;
|
||||
}
|
||||
way_z = 0;
|
||||
self.keys = self.keys & 960 + frik_KeysForDir(way);
|
||||
}
|
||||
|
||||
|
|
|
@ -56,13 +56,13 @@ Stuff mimicking cl_input.c code
|
|||
*/
|
||||
float(float key) CL_KeyState =
|
||||
{
|
||||
return (float)((self.keys & key) > 0);
|
||||
return ((self.keys & key) > 0) ? 1.0 : 0.0;
|
||||
};
|
||||
|
||||
void() CL_KeyMove = // CL_BaseMove + CL_AdjustAngles
|
||||
{
|
||||
local float anglespeed;
|
||||
local vector view = '0 0 0';
|
||||
local vector view;
|
||||
if (self.keys != self.oldkeys)
|
||||
{
|
||||
self.movevect = '0 0 0';
|
||||
|
@ -101,6 +101,7 @@ void() CL_KeyMove = // CL_BaseMove + CL_AdjustAngles
|
|||
{
|
||||
view_x = angcomp(self.b_angle_x, self.v_angle_x);
|
||||
view_y = angcomp(self.b_angle_y, self.v_angle_y);
|
||||
view_z = 0;
|
||||
if (vlen(view) > 30)
|
||||
{
|
||||
self.mouse_emu = self.mouse_emu + (view * 30);
|
||||
|
@ -392,7 +393,7 @@ float() SV_CheckWater =
|
|||
self.waterlevel = 3;
|
||||
}
|
||||
}
|
||||
return (float) (self.waterlevel > 1);
|
||||
return (self.waterlevel > 1) ? 1.0 : 0.0;
|
||||
|
||||
};
|
||||
void() RemoveThud = // well sometimes
|
||||
|
|
Loading…
Reference in a new issue