22 #ifndef AGS_ENGINE_AC_ROOM_STATUS_H 23 #define AGS_ENGINE_AC_ROOM_STATUS_H 25 #include "ags/engine/ac/room_object.h" 26 #include "ags/engine/game/savegame.h" 27 #include "ags/shared/game/room_struct.h" 28 #include "ags/shared/game/interactions.h" 29 #include "ags/shared/util/string_types.h" 40 using AGS::Shared::Stream;
41 using AGS::Shared::Interaction;
52 enum RoomStatSvgVersion {
53 kRoomStatSvgVersion_Initial = 0,
55 kRoomStatSvgVersion_350_Mismatch = 0,
56 kRoomStatSvgVersion_350 = 1,
57 kRoomStatSvgVersion_36016 = 2,
58 kRoomStatSvgVersion_36025 = 3,
59 kRoomStatSvgVersion_36041 = 4,
60 kRoomStatSvgVersion_36109 = 5,
61 kRoomStatSvgVersion_Current = kRoomStatSvgVersion_36109
69 uint32_t tsdatasize = 0;
80 int8 region_enabled[MAX_ROOM_REGIONS];
81 short walkbehind_base[MAX_WALK_BEHINDS];
82 int32_t interactionVariableValues[MAX_GLOBAL_VARIABLES];
85 #if defined (OBSOLETE) 86 short flagstates[MAX_LEGACY_ROOM_FLAGS]{};
87 EventBlock hscond[MAX_ROOM_HOTSPOTS];
88 EventBlock objcond[MAX_ROOM_OBJECTS];
97 RoomStatSvgVersion contentFormat;
102 void FreeScriptData();
103 void FreeProperties();
105 void ReadFromSavegame_v321(
Shared::Stream *in, GameDataVersion data_ver);
106 void ReadFromSavegame(
Shared::Stream *in, GameDataVersion data_ver, RoomStatSvgVersion save_ver);
107 void WriteToSavegame(
Shared::Stream *out, GameDataVersion data_ver)
const;
116 bool isRoomStatusValid(
int room);
117 void resetRoomStatuses();
Definition: achievements_tables.h:27
Definition: interactions.h:154
Definition: room_status.h:65
Definition: room_status.h:43