mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 15:31:39 +00:00
update PR_PatchRereleaseBuiltins for Quake 2021 rerelease update 3:
Quake 2021 release update 3 changes rerelease-specific builtins to be looked up by name rather than hardcoded builtin nums to avoid conflict with other engines. (https://steamcommunity.com/games/2310/announcements/detail/3177861894960065435) Patch them to use the indices, and also add its new builtins.
This commit is contained in:
parent
43a85fb24f
commit
c17a750569
2 changed files with 55 additions and 3 deletions
|
@ -1705,6 +1705,10 @@ static void PF_finalefinished (void)
|
||||||
{
|
{
|
||||||
G_FLOAT(OFS_RETURN) = 0;
|
G_FLOAT(OFS_RETURN) = 0;
|
||||||
}
|
}
|
||||||
|
static void PF_CheckPlayerEXFlags (void)
|
||||||
|
{
|
||||||
|
G_FLOAT(OFS_RETURN) = 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void PF_Fixme (void)
|
static void PF_Fixme (void)
|
||||||
{
|
{
|
||||||
|
@ -1814,6 +1818,9 @@ static builtin_t pr_builtin[] =
|
||||||
PF_Fixme, // void draw_worldtext (string s, vector origin, float size, float lifetime, float depthtest) = #87
|
PF_Fixme, // void draw_worldtext (string s, vector origin, float size, float lifetime, float depthtest) = #87
|
||||||
PF_Fixme, // void draw_sphere (vector origin, float radius, float colormap, float lifetime, float depthtest) = #88
|
PF_Fixme, // void draw_sphere (vector origin, float radius, float colormap, float lifetime, float depthtest) = #88
|
||||||
PF_Fixme, // void draw_cylinder (vector origin, float halfHeight, float radius, float colormap, float lifetime, float depthtest) = #89
|
PF_Fixme, // void draw_cylinder (vector origin, float halfHeight, float radius, float colormap, float lifetime, float depthtest) = #89
|
||||||
|
|
||||||
|
PF_CheckPlayerEXFlags,
|
||||||
|
PF_Fixme,
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_t *pr_builtins = pr_builtin;
|
builtin_t *pr_builtins = pr_builtin;
|
||||||
|
|
|
@ -1077,20 +1077,65 @@ static int PR_FindSupportedEffects (void)
|
||||||
===============
|
===============
|
||||||
PR_PatchRereleaseBuiltins
|
PR_PatchRereleaseBuiltins
|
||||||
|
|
||||||
Quake 2021 release update 1 adds bprint/sprint/centerprint builtins with new id's
|
|
||||||
(see https://steamcommunity.com/games/2310/announcements/detail/2943653788150871156)
|
|
||||||
This function patches them back to use the old indices
|
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
static void PR_PatchRereleaseBuiltins (void)
|
static void PR_PatchRereleaseBuiltins (void)
|
||||||
{
|
{
|
||||||
dfunction_t *f;
|
dfunction_t *f;
|
||||||
|
|
||||||
|
/* Quake 2021 release update 1 adds bprint/sprint/centerprint builtins with new ids
|
||||||
|
* (https://steamcommunity.com/games/2310/announcements/detail/2943653788150871156).
|
||||||
|
* Patch them back to use the old indices: */
|
||||||
if ((f = ED_FindFunction ("centerprint")) != NULL && f->first_statement == -90)
|
if ((f = ED_FindFunction ("centerprint")) != NULL && f->first_statement == -90)
|
||||||
f->first_statement = -73;
|
f->first_statement = -73;
|
||||||
if ((f = ED_FindFunction ("bprint")) != NULL && f->first_statement == -91)
|
if ((f = ED_FindFunction ("bprint")) != NULL && f->first_statement == -91)
|
||||||
f->first_statement = -23;
|
f->first_statement = -23;
|
||||||
if ((f = ED_FindFunction ("sprint")) != NULL && f->first_statement == -92)
|
if ((f = ED_FindFunction ("sprint")) != NULL && f->first_statement == -92)
|
||||||
f->first_statement = -24;
|
f->first_statement = -24;
|
||||||
|
|
||||||
|
/* Quake 2021 release update 3 changes rerelease-specific builtins to be looked up
|
||||||
|
by name rather than hardcoded builtin nums to avoid conflict with other engines.
|
||||||
|
* (https://steamcommunity.com/games/2310/announcements/detail/3177861894960065435)
|
||||||
|
* Patch them to use the indices: */
|
||||||
|
if ((f = ED_FindFunction ("ex_centerprint")) != NULL)
|
||||||
|
f->first_statement = -73;
|
||||||
|
if ((f = ED_FindFunction ("ex_bprint")) != NULL)
|
||||||
|
f->first_statement = -23;
|
||||||
|
if ((f = ED_FindFunction ("ex_sprint")) != NULL)
|
||||||
|
f->first_statement = -24;
|
||||||
|
if ((f = ED_FindFunction ("ex_finaleFinished")) != NULL)
|
||||||
|
f->first_statement = -79;
|
||||||
|
|
||||||
|
if ((f = ED_FindFunction ("ex_localsound")) != NULL)
|
||||||
|
f->first_statement = -80;
|
||||||
|
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_point")) != NULL)
|
||||||
|
f->first_statement = -81;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_line")) != NULL)
|
||||||
|
f->first_statement = -82;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_arrow")) != NULL)
|
||||||
|
f->first_statement = -83;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_ray")) != NULL)
|
||||||
|
f->first_statement = -84;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_circle")) != NULL)
|
||||||
|
f->first_statement = -85;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_bounds")) != NULL)
|
||||||
|
f->first_statement = -86;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_worldtext")) != NULL)
|
||||||
|
f->first_statement = -87;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_sphere")) != NULL)
|
||||||
|
f->first_statement = -88;
|
||||||
|
if ((f = ED_FindFunction ("ex_draw_cylinder")) != NULL)
|
||||||
|
f->first_statement = -89;
|
||||||
|
|
||||||
|
if ((f = ED_FindFunction ("ex_CheckPlayerEXFlags")) != NULL)
|
||||||
|
f->first_statement = -90;
|
||||||
|
if ((f = ED_FindFunction ("ex_bot_movetopoint")) != NULL)
|
||||||
|
f->first_statement = -91;
|
||||||
|
if ((f = ED_FindFunction ("ex_bot_followentity")) != NULL)
|
||||||
|
f->first_statement = -91;
|
||||||
|
if ((f = ED_FindFunction ("ex_walkpathtogoal")) != NULL)
|
||||||
|
f->first_statement = -91;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue