Remove write-only trigger field time

This commit is contained in:
Kp 2016-02-06 22:12:55 +00:00
parent 3cb4d99a49
commit c5f4daa11b
3 changed files with 11 additions and 16 deletions

View file

@ -142,16 +142,15 @@ struct trigger : public prohibit_void_ptr<trigger>
{
#if defined(DXX_BUILD_DESCENT_I)
uint16_t flags;
uint16_t num_links;
#elif defined(DXX_BUILD_DESCENT_II)
ubyte type; //what this trigger does
ubyte flags; //currently unused
uint8_t num_links; //how many doors, etc. linked to this
#endif
fix value;
fix time;
#if defined(DXX_BUILD_DESCENT_I)
int8_t link_num;
uint16_t num_links;
#endif
array<segnum_t, MAX_WALLS_PER_LINK> seg;
array<short, MAX_WALLS_PER_LINK> side;

View file

@ -598,10 +598,10 @@ static void write_trigger_text(PHYSFS_File *my_file)
const auto &&t = vctrgptr(i);
#if defined(DXX_BUILD_DESCENT_I)
PHYSFSX_printf(my_file, "Trigger %03i: flags=%04x, value=%08x, time=%8x, linknum=%i, num_links=%i ", i,
t->flags, static_cast<unsigned>(t->value), static_cast<unsigned>(t->time), t->link_num, t->num_links);
t->flags, static_cast<unsigned>(t->value), 0, t->link_num, t->num_links);
#elif defined(DXX_BUILD_DESCENT_II)
PHYSFSX_printf(my_file, "Trigger %03i: type=%02x flags=%04x, value=%08x, time=%8x, num_links=%i ", i,
t->type, t->flags, t->value, t->time, t->num_links);
t->type, t->flags, t->value, 0, t->num_links);
#endif
for (unsigned j = 0; j < t->num_links; ++j)

View file

@ -533,9 +533,6 @@ void check_trigger(const vcsegptridx_t seg, short side, const vcobjptridx_t objn
void triggers_frame_process()
{
range_for (auto &i, partial_range(Triggers, Num_triggers))
if (i.time >= 0)
i.time -= FrameTime;
}
/*
@ -573,7 +570,7 @@ void v26_trigger_read(PHYSFS_File *fp, trigger &t)
t.flags |= TRIGGER_ONE_SHOT;
t.num_links = PHYSFSX_readShort(fp);
t.value = PHYSFSX_readInt(fp);
t.time = PHYSFSX_readInt(fp);
PHYSFSX_readInt(fp);
for (unsigned i=0; i < MAX_WALLS_PER_LINK; i++ )
t.seg[i] = PHYSFSX_readShort(fp);
for (unsigned i=0; i < MAX_WALLS_PER_LINK; i++ )
@ -594,7 +591,7 @@ extern void v29_trigger_read(v29_trigger *t, PHYSFS_File *fp)
#endif
t->flags = PHYSFSX_readShort(fp);
t->value = PHYSFSX_readFix(fp);
t->time = PHYSFSX_readFix(fp);
PHYSFSX_readFix(fp);
t->link_num = PHYSFSX_readByte(fp);
t->num_links = PHYSFSX_readShort(fp);
for (i=0; i<MAX_WALLS_PER_LINK; i++ )
@ -634,7 +631,7 @@ extern void trigger_read(trigger *t, PHYSFS_File *fp)
t->num_links = PHYSFSX_readByte(fp);
PHYSFSX_readByte(fp);
t->value = PHYSFSX_readFix(fp);
t->time = PHYSFSX_readFix(fp);
PHYSFSX_readFix(fp);
for (i=0; i<MAX_WALLS_PER_LINK; i++ )
t->seg[i] = PHYSFSX_readShort(fp);
for (i=0; i<MAX_WALLS_PER_LINK; i++ )
@ -676,7 +673,6 @@ static void v30_trigger_to_v31_trigger(trigger &t, const v30_trigger &trig)
t.num_links = trig.num_links;
t.num_links = trig.num_links;
t.value = trig.value;
t.time = trig.time;
t.seg = trig.seg;
t.side = trig.side;
}
@ -711,10 +707,10 @@ void v30_trigger_read_as_v31(PHYSFS_File *fp, trigger &t)
namespace dsx {
#if defined(DXX_BUILD_DESCENT_I)
DEFINE_SERIAL_UDT_TO_MESSAGE(trigger, t, (serial::pad<1>(), t.flags, t.value, t.time, t.link_num, t.num_links, t.seg, t.side));
DEFINE_SERIAL_UDT_TO_MESSAGE(trigger, t, (serial::pad<1>(), t.flags, t.value, serial::pad<4>(), t.link_num, t.num_links, t.seg, t.side));
ASSERT_SERIAL_UDT_MESSAGE_SIZE(trigger, 54);
#elif defined(DXX_BUILD_DESCENT_II)
DEFINE_SERIAL_UDT_TO_MESSAGE(trigger, t, (t.type, t.flags, t.num_links, serial::pad<1>(), t.value, t.time, t.seg, t.side));
DEFINE_SERIAL_UDT_TO_MESSAGE(trigger, t, (t.type, t.flags, t.num_links, serial::pad<1>(), t.value, serial::pad<4>(), t.seg, t.side));
ASSERT_SERIAL_UDT_MESSAGE_SIZE(trigger, 52);
#endif
}
@ -789,7 +785,7 @@ void v29_trigger_write(PHYSFS_File *fp, const trigger &rt)
#endif
PHYSFSX_writeFix(fp, t->value);
PHYSFSX_writeFix(fp, t->time);
PHYSFSX_writeFix(fp, 0);
#if defined(DXX_BUILD_DESCENT_I)
PHYSFSX_writeU8(fp, t->link_num);
@ -880,7 +876,7 @@ void v30_trigger_write(PHYSFS_File *fp, const trigger &rt)
PHYSFSX_writeU8(fp, 0); // t->pad
PHYSFSX_writeFix(fp, t->value);
PHYSFSX_writeFix(fp, t->time);
PHYSFSX_writeFix(fp, 0);
for (unsigned i = 0; i < MAX_WALLS_PER_LINK; i++)
PHYSFS_writeSLE16(fp, t->seg[i]);
@ -918,7 +914,7 @@ void v31_trigger_write(PHYSFS_File *fp, const trigger &rt)
PHYSFSX_writeU8(fp, 0); // t->pad
PHYSFSX_writeFix(fp, t->value);
PHYSFSX_writeFix(fp, t->time);
PHYSFSX_writeFix(fp, 0);
for (unsigned i = 0; i < MAX_WALLS_PER_LINK; i++)
PHYSFS_writeSLE16(fp, t->seg[i]);