mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-03-14 23:12:41 +00:00
game: sync target_autosave with ReRelease code
Based on: https://github.com/Paril/quake2-rerelease-dll.git
This commit is contained in:
parent
f7b9c8c518
commit
ded38bbf44
6 changed files with 39 additions and 0 deletions
|
@ -1627,6 +1627,40 @@ SP_target_music(edict_t* self)
|
|||
self->use = target_music_use;
|
||||
}
|
||||
|
||||
/*
|
||||
* QUAKED target_autosave (0 1 0) (-8 -8 -8) (8 8 8)
|
||||
*
|
||||
* Auto save on command.
|
||||
*/
|
||||
void
|
||||
use_target_autosave(edict_t *ent, edict_t *other, edict_t *activator)
|
||||
{
|
||||
float save_time = gi.cvar("g_athena_auto_save_min_time", "60", CVAR_NOSET)->value;
|
||||
|
||||
if (level.time - level.next_auto_save > save_time)
|
||||
{
|
||||
gi.AddCommandString("save quick\n");
|
||||
level.next_auto_save = level.time;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
SP_target_autosave(edict_t *self)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (deathmatch->value)
|
||||
{
|
||||
G_FreeEdict(self);
|
||||
return;
|
||||
}
|
||||
|
||||
self->use = use_target_autosave;
|
||||
}
|
||||
|
||||
/*
|
||||
* QUAKED target_sky (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
*
|
||||
|
|
|
@ -386,6 +386,7 @@ typedef struct
|
|||
int disguise_violation_framenum;
|
||||
|
||||
char *start_items; /* level start items */
|
||||
float next_auto_save; /* target_autosave */
|
||||
} level_locals_t;
|
||||
|
||||
/* spawn_temp_t is only used to hold entity field values that
|
||||
|
|
|
@ -1439,6 +1439,7 @@ extern void turret_wall_spawn ( edict_t * turret ) ;
|
|||
extern void use_killbox ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void use_nuke ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void use_scanner ( edict_t * self ) ;
|
||||
extern void use_target_autosave ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void use_target_blaster ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void use_target_camera ( edict_t * self , edict_t * other , edict_t * activator);
|
||||
extern void use_target_changelevel ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
|
|
|
@ -1435,6 +1435,7 @@
|
|||
{"use_killbox", (byte *)use_killbox},
|
||||
{"use_nuke", (byte *)use_nuke},
|
||||
{"use_scanner", (byte *)use_scanner},
|
||||
{"use_target_autosave", (byte *)use_target_autosave},
|
||||
{"use_target_blaster", (byte *)use_target_blaster},
|
||||
{"use_target_camera", (byte *)use_target_camera},
|
||||
{"use_target_changelevel", (byte *)use_target_changelevel},
|
||||
|
|
|
@ -165,6 +165,7 @@ extern void SP_point_combat(edict_t * self);
|
|||
extern void SP_rotating_light(edict_t * self);
|
||||
extern void SP_target_actor(edict_t * self);
|
||||
extern void SP_target_anger(edict_t * self);
|
||||
extern void SP_target_autosave(edict_t * self);
|
||||
extern void SP_target_blacklight ( edict_t * ent ) ;
|
||||
extern void SP_target_blaster(edict_t * self);
|
||||
extern void SP_target_camera(edict_t* self);
|
||||
|
|
|
@ -171,6 +171,7 @@
|
|||
{"rotating_light", SP_rotating_light},
|
||||
{"target_actor", SP_target_actor},
|
||||
{"target_anger", SP_target_anger},
|
||||
{"target_autosave", SP_target_autosave},
|
||||
{"target_blacklight", SP_target_blacklight},
|
||||
{"target_blaster", SP_target_blaster},
|
||||
{"target_camera", SP_target_camera},
|
||||
|
|
Loading…
Reference in a new issue