Use array<> for Triggers
This commit is contained in:
parent
cb498b3b38
commit
8cc3e2c9e9
|
@ -129,9 +129,8 @@ struct trigger
|
|||
array<short, MAX_WALLS_PER_LINK> side;
|
||||
} __pack__;
|
||||
|
||||
extern trigger Triggers[MAX_TRIGGERS];
|
||||
|
||||
extern int Num_triggers;
|
||||
extern unsigned Num_triggers;
|
||||
extern array<trigger, MAX_TRIGGERS> Triggers;
|
||||
|
||||
extern void trigger_init();
|
||||
extern void check_trigger(segment *seg, short side, short objnum,int shot);
|
||||
|
@ -179,7 +178,7 @@ void v30_trigger_read_as_v31(PHYSFS_File *fp, trigger &t);
|
|||
/*
|
||||
* reads n trigger structs from a PHYSFS_file and swaps if specified
|
||||
*/
|
||||
extern void trigger_read_n_swap(trigger *t, int n, int swap, PHYSFS_file *fp);
|
||||
void trigger_read_swap(PHYSFS_file *fp, trigger &t, int swap);
|
||||
|
||||
extern void trigger_write(trigger *t, short version, PHYSFS_file *fp);
|
||||
|
||||
|
|
|
@ -1640,8 +1640,8 @@ static int save_game_data(PHYSFS_file *SaveFile)
|
|||
//==================== SAVE TRIGGER INFO =============================
|
||||
|
||||
triggers_offset = PHYSFS_tell(SaveFile);
|
||||
for (i = 0; i < Num_triggers; i++)
|
||||
trigger_write(&Triggers[i], game_top_fileinfo_version, SaveFile);
|
||||
range_for (auto &t, partial_range(Triggers, Num_triggers))
|
||||
trigger_write(t, game_top_fileinfo_version, SaveFile);
|
||||
|
||||
//================ SAVE CONTROL CENTER TRIGGER INFO ===============
|
||||
|
||||
|
|
|
@ -1187,7 +1187,8 @@ int state_save_all_sub(const char *filename, const char *desc)
|
|||
|
||||
//Save trigger info
|
||||
PHYSFS_write(fp, &Num_triggers, sizeof(int), 1);
|
||||
PHYSFS_write(fp, Triggers, sizeof(trigger), Num_triggers);
|
||||
range_for (auto &t, partial_range(Triggers, Num_triggers))
|
||||
PHYSFS_write(fp, &t, sizeof(t), 1);
|
||||
|
||||
//Save tmap info
|
||||
for (i = 0; i <= Highest_segment_index; i++)
|
||||
|
@ -1663,7 +1664,8 @@ int state_restore_all_sub(const char *filename, int secret_restore)
|
|||
|
||||
//Restore trigger info
|
||||
Num_triggers = PHYSFSX_readSXE32(fp, swap);
|
||||
trigger_read_n_swap(Triggers, Num_triggers, swap, fp);
|
||||
range_for (auto &t, partial_range(Triggers, Num_triggers))
|
||||
trigger_read_swap(fp, t, swap);
|
||||
|
||||
//Restore tmap info (to temp values so we can use compiled-in tmap info to compute static_light
|
||||
for (i=0; i<=Highest_segment_index; i++ ) {
|
||||
|
|
|
@ -54,8 +54,8 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#include "editor/editor.h"
|
||||
#endif
|
||||
|
||||
trigger Triggers[MAX_TRIGGERS];
|
||||
int Num_triggers;
|
||||
unsigned Num_triggers;
|
||||
array<trigger, MAX_TRIGGERS> Triggers;
|
||||
|
||||
#ifdef EDITOR
|
||||
fix trigger_time_count=F1_0;
|
||||
|
@ -798,15 +798,12 @@ static void trigger_swap(trigger *t, int swap)
|
|||
/*
|
||||
* reads n trigger structs from a PHYSFS_file and swaps if specified
|
||||
*/
|
||||
void trigger_read_n_swap(trigger *t, int n, int swap, PHYSFS_file *fp)
|
||||
void trigger_read_swap(PHYSFS_file *fp, trigger &t, int swap)
|
||||
{
|
||||
int i;
|
||||
|
||||
PHYSFS_read(fp, t, sizeof(trigger), n);
|
||||
PHYSFS_read(fp, &t, sizeof(t), 1);
|
||||
|
||||
if (swap)
|
||||
for (i = 0; i < n; i++)
|
||||
trigger_swap(&t[i], swap);
|
||||
trigger_swap(&t, swap);
|
||||
}
|
||||
|
||||
void trigger_write(trigger *t, short version, PHYSFS_file *fp)
|
||||
|
|
Loading…
Reference in a new issue