22#ifndef AGS_ENGINE_AC_ROOM_H
23#define AGS_ENGINE_AC_ROOM_H
25#include "ags/engine/ac/dynobj/script_drawing_surface.h"
26#include "ags/shared/ac/character_info.h"
27#include "ags/engine/script/runtime_script_value.h"
28#include "ags/shared/game/room_struct.h"
32ScriptDrawingSurface *Room_GetDrawingSurfaceForBackground(
int backgroundNumber);
33ScriptDrawingSurface *Room_GetDrawingSurfaceForMask(RoomAreaMask mask);
34int Room_GetObjectCount();
37int Room_GetColorDepth();
38int Room_GetLeftEdge();
39int Room_GetRightEdge();
41int Room_GetBottomEdge();
42int Room_GetMusicOnLoad();
43const char *Room_GetTextProperty(
const char *property);
44int Room_GetProperty(
const char *property);
45bool Room_SetProperty(
const char *property,
int value);
46bool Room_SetTextProperty(
const char *property,
const char *value);
47const char *Room_GetMessages(
int index);
48bool Room_Exists(
int room);
49RuntimeScriptValue Sc_Room_GetProperty(
const RuntimeScriptValue *params, int32_t param_count);
50ScriptDrawingSurface *GetDrawingSurfaceForWalkableArea();
51ScriptDrawingSurface *GetDrawingSurfaceForWalkbehind();
52ScriptDrawingSurface *Hotspot_GetDrawingSurface();
53ScriptDrawingSurface *Region_GetDrawingSurface();
57void save_room_data_segment();
58void unload_old_room();
59void load_new_room(
int newnum, CharacterInfo *forchar);
60void new_room(
int newnum, CharacterInfo *forchar);
63void set_room_placeholder();
64int find_highest_room_entered();
65void first_room_initialization();
67void compile_room_script();
68void on_background_frame_change();
70void croom_ptr_clear();
80extern int room_to_mask_coord(
int coord);
82extern int mask_to_room_coord(
int coord);
86void convert_move_path_to_room_resolution(MoveList *ml,
int from_step = 0,
int to_step = -1);