From ff78e34c16bca5b926cebbf9ef3d2beb1f50d938 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Wed, 10 May 2023 15:52:17 -0700 Subject: [PATCH] Move Route_GetJumpVelocity() into shared/defs.h for now. --- src/botlib/route.qc | 41 --------------------------------------- src/client/textmenu.h | 1 + src/server/entityDef.qc | 12 ++++++------ src/shared/defs.h | 43 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 47 deletions(-) diff --git a/src/botlib/route.qc b/src/botlib/route.qc index d0b5ab30..1a2926fb 100644 --- a/src/botlib/route.qc +++ b/src/botlib/route.qc @@ -275,44 +275,3 @@ Route_GetNodeFlags(nodeslist_t *node) else return fl; } - -/* Get's a velocity vector with which we can successfully jump from one place to another */ -vector -Route_GetJumpVelocity(vector vecFrom, vector vecTo, float flGravMod) -{ -#if 1 - float flHeight, flGravity, flTime, flDistance, flDir; - vector vecJump = [0,0,0]; - - if (flGravMod <= 0.0) - flGravMod = 1.0f; - - flGravity = serverkeyfloat("phy_gravity") * flGravMod; - flHeight = vecTo[2] - vecFrom[2]; - - if (flHeight <= 0) - flHeight = vlen(vecTo - vecFrom) / 2; - - flTime = sqrt(flHeight / (flGravity * 0.5f)); - if (flTime <= 0) { - return [0,0,0]; - } - - vecJump = vecTo - vecFrom; - vecJump[2] = 0; - flDistance = vlen(normalize(vecJump)); - - flDir = flDistance / flTime; - vecJump *= flDir; - vecJump[2] = bound(240, flTime * flGravity, 512); - - print(sprintf("jumping from %v to %v at %v\n", vecFrom, vecTo, vecJump)); -#else - vector vecJump = [0,0,0]; - float flDist = vlen(vecTo - vecFrom); - makevectors(vectoangles(vecTo - vecFrom)); - vecJump = v_forward * flDist; - vecJump[2] = 280; -#endif - return vecJump; -} diff --git a/src/client/textmenu.h b/src/client/textmenu.h index 637e34eb..e0625d78 100644 --- a/src/client/textmenu.h +++ b/src/client/textmenu.h @@ -23,3 +23,4 @@ int Textmenu_IsActive(void); void Textmenu_Hide(void); void Textmenu_Input(int); void Textmenu_Draw(void); +string Titles_GetTextBody(string); \ No newline at end of file diff --git a/src/server/entityDef.qc b/src/server/entityDef.qc index 4272f245..de2134d7 100644 --- a/src/server/entityDef.qc +++ b/src/server/entityDef.qc @@ -172,7 +172,7 @@ EntityDef_Init(void) #endif } -static void +static NSEntity EntityDef_PrepareEntity(entity target, int id) { string spawnClass; @@ -235,17 +235,17 @@ EntityDef_PrepareEntity(entity target, int id) /* now we rename the classname for better visibility */ self.classname = g_entDefTable[id].entClass; __fullspawndata = ""; + return targetEnt; } -bool +NSEntity EntityDef_SpawnClassname(string className) { for (int i = 0i; i < g_entDefCount; i++) { if (className == g_entDefTable[i].entClass) { - EntityDef_PrepareEntity(self, i); - return true; + return EntityDef_PrepareEntity(self, i); } } - return false; -} + return __NULL__; +} \ No newline at end of file diff --git a/src/shared/defs.h b/src/shared/defs.h index ce06e7dd..5d9e5d5d 100644 --- a/src/shared/defs.h +++ b/src/shared/defs.h @@ -377,3 +377,46 @@ textfile_to_string(string filename) return fileContents; } + +/* moved from src/botlib/route.qc */ +/* Get's a velocity vector with which we can successfully jump from one place to another */ +vector +Route_GetJumpVelocity(vector vecFrom, vector vecTo, float flGravMod) +{ +#if 1 + float flHeight, flGravity, flTime, flDistance, flDir; + vector vecJump = [0,0,0]; + + if (flGravMod <= 0.0) + flGravMod = 1.0f; + + flGravity = serverkeyfloat("phy_gravity") * flGravMod; + flHeight = vecTo[2] - vecFrom[2]; + + /* this may not be a much verticality to this jump, use distance instead */ + if (flHeight <= 0) { + flHeight = vlen(vecTo - vecFrom); + flTime = flHeight / flGravity; + } else { + flTime = sqrt(flHeight / (flGravity * 0.5f)); + if (flTime <= 0) { + return [0,0,0]; + } + } + + vecJump = vecTo - vecFrom; + vecJump[2] = 0; + flDistance = vlen(normalize(vecJump)); + + flDir = flDistance / flTime; + vecJump *= flDir; + vecJump[2] = flTime * flGravity; +#else + vector vecJump = [0,0,0]; + float flDist = vlen(vecTo - vecFrom); + makevectors(vectoangles(vecTo - vecFrom)); + vecJump = v_forward * flDist; + vecJump[2] = 280; +#endif + return vecJump; +} \ No newline at end of file