Skip to content

Commit 7bf65b0

Browse files
committed
Engine: fixed init_object_states()
1 parent d87050d commit 7bf65b0

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Engine/ac/room.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -489,9 +489,11 @@ static void reset_temp_room()
489489
troom = RoomStatus();
490490
}
491491

492-
static void init_object_states(size_t from, size_t to)
492+
// Initializes object states in the current RoomState object,
493+
// copying default properties from RoomStruct, in the element range [start, end).
494+
static void init_object_states(size_t start, size_t end)
493495
{
494-
for (uint32_t i = from; i <= to; ++i)
496+
for (uint32_t i = start; i < end; ++i)
495497
{
496498
const auto &trobj = thisroom.Objects[i];
497499
auto &crobj = croom->obj[i];
@@ -655,7 +657,7 @@ void load_new_room(int newnum, CharacterInfo *forchar)
655657
croom->objProps.resize(thisroom.Objects.size());
656658
croom->intrObject.resize(thisroom.Objects.size());
657659
if (was_obj_states < thisroom.Objects.size())
658-
init_object_states(was_obj_states, thisroom.Objects.size() - 1);
660+
init_object_states(was_obj_states, thisroom.Objects.size());
659661
}
660662

661663
// Copy the legacy interaction's Times Run information (for old games)
@@ -690,7 +692,7 @@ void load_new_room(int newnum, CharacterInfo *forchar)
690692
croom->obj.resize(croom->numobj);
691693
croom->objProps.resize(croom->numobj);
692694
croom->intrObject.resize(croom->numobj);
693-
init_object_states(0u, thisroom.Objects.size() - 1);
695+
init_object_states(0u, thisroom.Objects.size());
694696
for (size_t i = 0; i < (size_t)MAX_WALK_BEHINDS; ++i)
695697
croom->walkbehind_base[i] = thisroom.WalkBehinds[i].Baseline;
696698

0 commit comments

Comments
 (0)