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"
40using AGS::Shared::Stream;
41using AGS::Shared::Interaction;
52enum 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];
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;
116bool isRoomStatusValid(
int room);
117void resetRoomStatuses();
Definition: interactions.h:154
Definition: room_status.h:43
Definition: room_status.h:65