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;
|
array<short, MAX_WALLS_PER_LINK> side;
|
||||||
} __pack__;
|
} __pack__;
|
||||||
|
|
||||||
extern trigger Triggers[MAX_TRIGGERS];
|
extern unsigned Num_triggers;
|
||||||
|
extern array<trigger, MAX_TRIGGERS> Triggers;
|
||||||
extern int Num_triggers;
|
|
||||||
|
|
||||||
extern void trigger_init();
|
extern void trigger_init();
|
||||||
extern void check_trigger(segment *seg, short side, short objnum,int shot);
|
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
|
* 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);
|
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 =============================
|
//==================== SAVE TRIGGER INFO =============================
|
||||||
|
|
||||||
triggers_offset = PHYSFS_tell(SaveFile);
|
triggers_offset = PHYSFS_tell(SaveFile);
|
||||||
for (i = 0; i < Num_triggers; i++)
|
range_for (auto &t, partial_range(Triggers, Num_triggers))
|
||||||
trigger_write(&Triggers[i], game_top_fileinfo_version, SaveFile);
|
trigger_write(t, game_top_fileinfo_version, SaveFile);
|
||||||
|
|
||||||
//================ SAVE CONTROL CENTER TRIGGER INFO ===============
|
//================ SAVE CONTROL CENTER TRIGGER INFO ===============
|
||||||
|
|
||||||
|
|
|
@ -1187,7 +1187,8 @@ int state_save_all_sub(const char *filename, const char *desc)
|
||||||
|
|
||||||
//Save trigger info
|
//Save trigger info
|
||||||
PHYSFS_write(fp, &Num_triggers, sizeof(int), 1);
|
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
|
//Save tmap info
|
||||||
for (i = 0; i <= Highest_segment_index; i++)
|
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
|
//Restore trigger info
|
||||||
Num_triggers = PHYSFSX_readSXE32(fp, swap);
|
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
|
//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++ ) {
|
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"
|
#include "editor/editor.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
trigger Triggers[MAX_TRIGGERS];
|
unsigned Num_triggers;
|
||||||
int Num_triggers;
|
array<trigger, MAX_TRIGGERS> Triggers;
|
||||||
|
|
||||||
#ifdef EDITOR
|
#ifdef EDITOR
|
||||||
fix trigger_time_count=F1_0;
|
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
|
* 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(t), 1);
|
||||||
|
|
||||||
PHYSFS_read(fp, t, sizeof(trigger), n);
|
|
||||||
|
|
||||||
if (swap)
|
if (swap)
|
||||||
for (i = 0; i < n; i++)
|
trigger_swap(&t, swap);
|
||||||
trigger_swap(&t[i], swap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void trigger_write(trigger *t, short version, PHYSFS_file *fp)
|
void trigger_write(trigger *t, short version, PHYSFS_file *fp)
|
||||||
|
|
Loading…
Reference in a new issue