AERMRE 1.5.1
AER modding framework for Hyper Light Drifter.
room.h
Go to the documentation of this file.
1
22#ifndef AER_ROOM_H
23#define AER_ROOM_H
24
25#include <stdbool.h>
26#include <stddef.h>
27#include <stdint.h>
28
29#include "aer/instance.h"
30
31/* ----- PUBLIC TYPES ----- */
32
38typedef enum AERRoomIndex {
44 AER_ROOM__INIT = 0x0,
45 AER_ROOM_FOLDER_MENU = 0x1,
46 AER_ROOM_AUTOSAVEMESSAGE = 0x2,
47 AER_ROOM_CONTROLLER = 0x3,
48 AER_ROOM_HEARTMACHINE = 0x4,
49 AER_ROOM_TITLE = 0x5,
50 AER_ROOM_PAX_CHALLENGERESULTS = 0x6,
51 AER_ROOM_THANKYOU = 0x7,
52 AER_ROOM_CREDITS = 0x8,
53 AER_ROOM_EXITGAME = 0x9,
54 AER_ROOM_WIPWARNING = 0xa,
55 AER_ROOM_FOLDER_ENDMENU = 0xb,
56 AER_ROOM_FOLDER_TEST = 0xc,
57 AER_ROOM_GENERAL_TEST = 0xd,
58 AER_ROOM_0BEAUSPLAYGROUND = 0xe,
59 AER_ROOM_0TEDDYSPLAYGROUND = 0xf,
60 AER_ROOM_0AKASHPLAYGROUND = 0x10,
61 AER_ROOM_0ALXSPLAYGROUND = 0x11,
62 AER_ROOM_0CASEYPLAYGROUND = 0x12,
63 AER_ROOM_LISATEST = 0x13,
64 AER_ROOM_BATTLEROOM02 = 0x14,
65 AER_ROOM_HOARDE = 0x15,
66 AER_ROOM_STAGINGAREA02 = 0x16,
67 AER_ROOM_ZCOLUMNRISE = 0x17,
68 AER_ROOM_ENEMYMUSEUM = 0x18,
69 AER_ROOM_FOLDER_ENDTEST = 0x19,
70 AER_ROOM_FOLDER_CHALLENGES = 0x1a,
71 AER_ROOM_____MISC = 0x1b,
72 AER_ROOM_PREGAUNTLETLUSHBIG02 = 0x1c,
73 AER_ROOM_GAUNTLETLOADOUT = 0x1d,
74 AER_ROOM_CH_GAUNTLETOPENING = 0x1e,
75 AER_ROOM_CH_GAUNTLETEND = 0x1f,
76 AER_ROOM_____GAUNTLETOLD = 0x20,
77 AER_ROOM_CH_A_TESTY = 0x21,
78 AER_ROOM_CH_ASLASHDASH = 0x22,
79 AER_ROOM_CH_BDND = 0x23,
80 AER_ROOM_CH_BPUNCHBAGPANIC = 0x24,
81 AER_ROOM_CH_BTBESTLEVEL = 0x25,
82 AER_ROOM_CH_CSHOOTINGGALLERY = 0x26,
83 AER_ROOM_CH_CTESTING = 0x27,
84 AER_ROOM_CH_TRIFLECIRCUS = 0x28,
85 AER_ROOM_CH_TSUPERCRATEBLOX = 0x29,
86 AER_ROOM_GAUNTLETCOLLECTABLE = 0x2a,
87 AER_ROOM_PREGAUNTLETLUSH = 0x2b,
88 AER_ROOM_FOLDER_ENDCHALLENGES = 0x2c,
89 AER_ROOM_FOLDER_INTRO = 0x2d,
90 AER_ROOM_IN_01_BROKENSHALLOWS = 0x2e,
91 AER_ROOM_IN_02_TUTORIAL = 0x2f,
92 AER_ROOM_IN_03_TUT_COMBAT = 0x30,
93 AER_ROOM_IN_HORIZONCLIFF = 0x31,
94 AER_ROOM_IN_HALUCINATIONDEATH = 0x32,
95 AER_ROOM_IN_DRIFTERFIRE = 0x33,
96 AER_ROOM_IN_BLACKWAITROOM = 0x34,
97 AER_ROOM_IN_BACKERTABLET = 0x35,
98 AER_ROOM_____OLD_INTRO = 0x36,
99 AER_ROOM_INL_SECRETS = 0x37,
100 AER_ROOM_LIN_GAPS = 0x38,
101 AER_ROOM_LIN_COMBAT = 0x39,
102 AER_ROOM_FOLDER_ENDINTRO = 0x3a,
103 AER_ROOM_FOLDER_CENTRAL = 0x3b,
104 AER_ROOM_C_DRIFTERWORKSHOP = 0x3c,
105 AER_ROOM_C_CENTRAL = 0x3d,
106 AER_ROOM_C_DREGS_N = 0x3e,
107 AER_ROOM_C_DREGS_S = 0x3f,
108 AER_ROOM_C_DREGS_E = 0x40,
109 AER_ROOM_C_DREGS_W = 0x41,
110 AER_ROOM_C_VEN_APOTH = 0x42,
111 AER_ROOM_C_VEN_DASH = 0x43,
112 AER_ROOM_C_VEN_GUN = 0x44,
113 AER_ROOM_C_VEN_SPEC = 0x45,
114 AER_ROOM_C_VEN_SDOJO = 0x46,
115 AER_ROOM_CARENA = 0x47,
116 AER_ROOM_PAX_STAGING = 0x48,
117 AER_ROOM_PAX_ARENA1 = 0x49,
118 AER_ROOM_PAX_ARENA2 = 0x4a,
119 AER_ROOM_PAX_ARENAE = 0x4b,
120 AER_ROOM_PAX_ARENAW = 0x4c,
121 AER_ROOM_PAX_ARENAALL = 0x4d,
122 AER_ROOM_C_BACKERTABLETX = 0x4e,
123 AER_ROOM_TELEVATORSHAFT = 0x4f,
124 AER_ROOM______OLD = 0x50,
125 AER_ROOM_Z_FOLDER_ENDCENTRAL = 0x51,
126 AER_ROOM_FOLDER_NORTH = 0x52,
127 AER_ROOM_____WINDING_RIDGE = 0x53,
128 AER_ROOM_NL_ENTRANCEPATH = 0x54,
129 AER_ROOM_NX_TITANVISTA = 0x55,
130 AER_ROOM_NX_NORTHHALL = 0x56,
131 AER_ROOM_NL_CAVEVAULT = 0x57,
132 AER_ROOM_NX_AFTERTITAN = 0x58,
133 AER_ROOM_NC_NPCHATCHERY = 0x59,
134 AER_ROOM_NX_SHRINEPATH = 0x5a,
135 AER_ROOM_NL_SHRINEPATH2VAULT = 0x5b,
136 AER_ROOM_NX_CAVE01 = 0x5c,
137 AER_ROOM_NX_SHRINEPATH_2 = 0x5d,
138 AER_ROOM_NX_MOONCOURTYARD = 0x5e,
139 AER_ROOM_NX_TOWERLOCK = 0x5f,
140 AER_ROOM_NC_CLIFFCAMPFIRE = 0x60,
141 AER_ROOM_NL_TOBROKENSHALLOWS = 0x61,
142 AER_ROOM_NX_STAIRS03 = 0x62,
143 AER_ROOM_____WARP_CRUSH = 0x63,
144 AER_ROOM_NL_WARPROOM = 0x64,
145 AER_ROOM_NL_CRUSHWARPHALL = 0x65,
146 AER_ROOM_NL_CRUSHTRANSITION = 0x66,
147 AER_ROOM_NL_CRUSHBACKLOOP = 0x67,
148 AER_ROOM_NC_CRUSHARENA = 0x68,
149 AER_ROOM_____CULT_DROP = 0x69,
150 AER_ROOM_NL_DROPSPIRALOPEN = 0x6a,
151 AER_ROOM_NL_DROPPITS = 0x6b,
152 AER_ROOM_NL_DROPBLOCKCULTFIGHT = 0x6c,
153 AER_ROOM_NL_DROPARENA = 0x6d,
154 AER_ROOM_____RISING_GAP = 0x6e,
155 AER_ROOM_NL_GAPOPENING = 0x6f,
156 AER_ROOM_NX_GAPWIDE = 0x70,
157 AER_ROOM_NL_GAPHALLWAY = 0x71,
158 AER_ROOM_NL_RISINGARENA = 0x72,
159 AER_ROOM_____POPE_CATHEDRAL = 0x73,
160 AER_ROOM_NX_CATHEDRALENTRANCE = 0x74,
161 AER_ROOM_NX_CATHEDRALHALL = 0x75,
162 AER_ROOM_NL_ALTARTHRONE = 0x76,
163 AER_ROOM_NX_SPIRALSTAIRCASE = 0x77,
164 AER_ROOM_NX_LIBRARIANTABLET = 0x78,
165 AER_ROOM_NX_JERKPOPE = 0x79,
166 AER_ROOM_____OLD_NORTH = 0x7a,
167 AER_ROOM_NL_STAIRASCENT = 0x7b,
168 AER_ROOM_NL_CRUSHARENA = 0x7c,
169 AER_ROOM_FOLDER_ENDNORTH = 0x7d,
170 AER_ROOM_FOLDER_SOUTH = 0x7e,
171 AER_ROOM_____SURFACE_SOUTH = 0x7f,
172 AER_ROOM_SX_SOUTHOPENING = 0x80,
173 AER_ROOM_CH_CTEMPLATE = 0x81,
174 AER_ROOM_SX_TOWERSOUTH = 0x82,
175 AER_ROOM_SX_NPC = 0x83,
176 AER_ROOM_S_GAUNTLET_ELEVATOR = 0x84,
177 AER_ROOM_CH_BGUNPILLARS = 0x85,
178 AER_ROOM_CH_BFINAL = 0x86,
179 AER_ROOM_S_GAUNTLETEND = 0x87,
180 AER_ROOM_____LEFT = 0x88,
181 AER_ROOM_CH_BDIRKDEMOLITION = 0x89,
182 AER_ROOM_____LEFT_PATH_1 = 0x8a,
183 AER_ROOM_CH_TABIGONE = 0x8b,
184 AER_ROOM_CH_CGATEBLOCK = 0x8c,
185 AER_ROOM_CH_BMADDASH = 0x8d,
186 AER_ROOM_CH_TLONGESTROAD = 0x8e,
187 AER_ROOM_S_BULLETBAKER = 0x8f,
188 AER_ROOM_CH_CENDHALL = 0x90,
189 AER_ROOM_____LEFT_PATH_2 = 0x91,
190 AER_ROOM_CH_CTURNHALL = 0x92,
191 AER_ROOM_CH_BFPS = 0x93,
192 AER_ROOM_CH_CBIGGGNS = 0x94,
193 AER_ROOM_CH_CSPAWNGROUND = 0x95,
194 AER_ROOM_S_COUNTACULARD = 0x96,
195 AER_ROOM_____RIGHT = 0x97,
196 AER_ROOM_CH_ACORNER = 0x98,
197 AER_ROOM_____RIGHT_PATH_01 = 0x99,
198 AER_ROOM_CH_BDIRKDELUGE = 0x9a,
199 AER_ROOM_CH_BPODS = 0x9b,
200 AER_ROOM_CH_BGUNDIRKDASH = 0x9c,
201 AER_ROOM_S_MARKSCYTHE = 0x9d,
202 AER_ROOM_S_GAUNTLETLINKUP = 0x9e,
203 AER_ROOM_____RIGHT_PATH_02 = 0x9f,
204 AER_ROOM_CH_APILLARBIRD = 0xa0,
205 AER_ROOM_CH_CSPIRAL = 0xa1,
206 AER_ROOM_CH_TBIRDSTANDOFF = 0xa2,
207 AER_ROOM_CH_BLEAPERFALL = 0xa3,
208 AER_ROOM_S_BENNYARROW = 0xa4,
209 AER_ROOM_S_GAUNTLETTITANFINALE = 0xa5,
210 AER_ROOM_____OLD_SOUTH = 0xa6,
211 AER_ROOM_BOSSSOUTH = 0xa7,
212 AER_ROOM_FOLDER_ENDSOUTH = 0xa8,
213 AER_ROOM_FOLDER_EAST = 0xa9,
214 AER_ROOM______INTRO = 0xaa,
215 AER_ROOM_EA_EASTOPENING = 0xab,
216 AER_ROOM_EC_SWORDBRIDGE = 0xac,
217 AER_ROOM_EL_FLAMEELEVATORENTER = 0xad,
218 AER_ROOM_EA_WATERTUNNELLAB = 0xae,
219 AER_ROOM_EC_THEPLAZA = 0xaf,
220 AER_ROOM_EC_NPCDRUGDEN = 0xb0,
221 AER_ROOM_EX_TOWEREAST = 0xb1,
222 AER_ROOM_EB_BOGSTREET = 0xb2,
223 AER_ROOM_EC_PLAZATOLOOP = 0xb3,
224 AER_ROOM______FLAMEDUNGEON = 0xb4,
225 AER_ROOM_EL_MEGAHUGELAB = 0xb5,
226 AER_ROOM_EB_MELTYMASHARENA = 0xb6,
227 AER_ROOM_EB_FLAMEPITLAB = 0xb7,
228 AER_ROOM_EL_FLAMEELEVATOREXIT = 0xb8,
229 AER_ROOM_EB_DEADOTTERWALK = 0xb9,
230 AER_ROOM______SUNKENDOCKS = 0xba,
231 AER_ROOM_EC_PLAZAACCESSLAB = 0xbb,
232 AER_ROOM_EC_DOCKSLAB = 0xbc,
233 AER_ROOM_EX_DOCKSCAMPFIRE = 0xbd,
234 AER_ROOM_EV_DOCKSBRIDGE = 0xbe,
235 AER_ROOM_EL_FROGARENA = 0xbf,
236 AER_ROOM______FROGBOG = 0xc0,
237 AER_ROOM_EC_BIGBOGLAB = 0xc1,
238 AER_ROOM_EA_BOGTEMPLECAMP = 0xc2,
239 AER_ROOM_EA_FROGBOSS = 0xc3,
240 AER_ROOM_EC_TEMPLEISHVAULT = 0xc4,
241 AER_ROOM______LOOPDELOOP = 0xc5,
242 AER_ROOM_EC_EASTLOOP = 0xc6,
243 AER_ROOM_EC_LOOPLAB = 0xc7,
244 AER_ROOM_EB_MELTYLEAPERARENA = 0xc8,
245 AER_ROOM_____OLD_EAST = 0xc9,
246 AER_ROOM_EC_PLAZATODOCKS = 0xca,
247 AER_ROOM_EA_DOCKFIGHTLAB = 0xcb,
248 AER_ROOM_EB_UNDEROTTERBIGRIFLERUMBLE = 0xcc,
249 AER_ROOM_EB_CLEANERSHOLE = 0xcd,
250 AER_ROOM_FOLDER_ENDEAST = 0xce,
251 AER_ROOM_FOLDER_WEST = 0xcf,
252 AER_ROOM_____ENTRANCE = 0xd0,
253 AER_ROOM_WA_ENTRANCE = 0xd1,
254 AER_ROOM_WL_PRISONHALVAULT = 0xd2,
255 AER_ROOM_WA_DEADWOOD = 0xd3,
256 AER_ROOM_WA_DEADWOODS1 = 0xd4,
257 AER_ROOM_WA_GROTTO_BUFFINTRO = 0xd5,
258 AER_ROOM_WC_WINDINGWOOD = 0xd6,
259 AER_ROOM_WC_GROTTONPC = 0xd7,
260 AER_ROOM_WL_NPCTREEHOUSE = 0xd8,
261 AER_ROOM_WC_MINILAB = 0xd9,
262 AER_ROOM_WT_THEWOOD = 0xda,
263 AER_ROOM_WA_ENTSWITCH = 0xdb,
264 AER_ROOM_WC_MEADOWOODCORNER = 0xdc,
265 AER_ROOM_____TREETRE = 0xdd,
266 AER_ROOM_WB_TREETREACHERY = 0xde,
267 AER_ROOM_WL_WESTDRIFTERVAULT = 0xdf,
268 AER_ROOM_____CRYSTAL_LABS = 0xe0,
269 AER_ROOM_WT_SLOWLAB = 0xe1,
270 AER_ROOM_WC_CLIFFSIDECELLSREDUX = 0xe2,
271 AER_ROOM_WC_PRISONHAL = 0xe3,
272 AER_ROOM_____CRYSTAL_LAKE = 0xe4,
273 AER_ROOM_WC_THINFOREST = 0xe5,
274 AER_ROOM_WC_SIMPLEPATH = 0xe6,
275 AER_ROOM_WC_CRYSTALLAKE = 0xe7,
276 AER_ROOM_WC_CRYSTALLAKEVAULT = 0xe8,
277 AER_ROOM_WC_PRISONHALLEND = 0xe9,
278 AER_ROOM_WC_THINFORESTLOW = 0xea,
279 AER_ROOM_WC_THINFORESTLOWSECRET = 0xeb,
280 AER_ROOM_WA_TITANFALLS = 0xec,
281 AER_ROOM_____FOUNDATIONS = 0xed,
282 AER_ROOM_WA_VALE = 0xee,
283 AER_ROOM_WC_BIGMEADOW = 0xef,
284 AER_ROOM_WC_BIGMEADOWVAULT = 0xf0,
285 AER_ROOM_WC_MEADOWCAVECROSSING = 0xf1,
286 AER_ROOM_WB_BIGBATTLE = 0xf2,
287 AER_ROOM_WB_TANUKITROUBLE = 0xf3,
288 AER_ROOM_WC_RUINCLEARING = 0xf4,
289 AER_ROOM_WX_BOSS = 0xf5,
290 AER_ROOM_WA_TOWERENTER = 0xf6,
291 AER_ROOM_WA_MULTIENTRANCELAB = 0xf7,
292 AER_ROOM_WA_CRSYTALDESCENT = 0xf8,
293 AER_ROOM_____OLD_WEST = 0xf9,
294 AER_ROOM_WA_GROTTOX = 0xfa,
295 AER_ROOM_WB_CRYSTALQUEEN = 0xfb,
296 AER_ROOM_WT_PROTOGRID = 0xfc,
297 AER_ROOM_WB_PUZZLEPALACE = 0xfd,
298 AER_ROOM_FOLDER_ENDWEST = 0xfe,
299 AER_ROOM_FOLDER_ABYSS = 0xff,
300 AER_ROOM_A_ELEVATORSHAFTUPPER = 0x100,
301 AER_ROOM_A_ELEVATORSHAFT = 0x101,
302 AER_ROOM_A_PREDOWNWARD = 0x102,
303 AER_ROOM_A_DOWNWARD = 0x103,
304 AER_ROOM_A_DOWNWARDDEAD = 0x104,
305 AER_ROOM_A_DOWNWARDDEADREVISIT = 0x105,
306 AER_ROOM_A_EMBERROOM = 0x106,
307 AER_ROOM_FOLDER_ENDABYSS = 0x107,
308 AER_ROOM_FOLDER_EXTRA = 0x108,
309 AER_ROOM_BOSSRUSH_HUB = 0x109,
310 AER_ROOM_BOSSRUSH_FROGBOSS = 0x10a,
311 AER_ROOM_BOSSRUSH_JERKPOPE = 0x10b,
312 AER_ROOM_BOSSRUSH_GENERAL = 0x10c,
313 AER_ROOM_BOSSRUSH_BULLETBAKER = 0x10d,
314 AER_ROOM_BOSSRUSH_COUNTACULARD = 0x10e,
315 AER_ROOM_BOSSRUSH_MARKSCYTHE = 0x10f,
316 AER_ROOM_BOSSRUSH_BENNYARROW = 0x110,
317 AER_ROOM_BOSSRUSH_EMBER = 0x111,
318 AER_ROOM_BOSSRUSH_FINALSCREEN = 0x112,
319 AER_ROOM_FOLDER_ENDEXTRA = 0x113
321
322/* ----- PUBLIC FUNCTIONS ----- */
323
333int32_t AERRoomGetCurrent(void);
334
353void AERRoomGoto(int32_t roomIdx);
354
376void AERRoomEnter(int32_t roomIdx, bool fade);
377
402void AERRoomEnterWithPosition(int32_t roomIdx, bool fade, float x, float y);
403
417int32_t AERRoomGetByName(const char* name);
418
431const char* AERRoomGetName(int32_t roomIdx);
432
433#endif /* AER_ROOM_H */
Utilities for querying and manipulating game instances.
int32_t AERRoomGetCurrent(void)
Query the currently active room.
void AERRoomGoto(int32_t roomIdx)
Change the currently active room to a new one.
AERRoomIndex
Vanilla rooms.
Definition: room.h:38
@ AER_ROOM_NULL
Flag which represents either no room or an invalid room depending on context.
Definition: room.h:43
int32_t AERRoomGetByName(const char *name)
Query the room with a specific name.
void AERRoomEnter(int32_t roomIdx, bool fade)
Change the currently active room to a new one and prepare the room context.
void AERRoomEnterWithPosition(int32_t roomIdx, bool fade, float x, float y)
Change the currently active room to a new one and prepare the room context.
const char * AERRoomGetName(int32_t roomIdx)
Query the name of a room.