2019-11-03 14:36:27 -05:00
|
|
|
#ifndef SEGMENT_SYMBOLS_H
|
|
|
|
|
#define SEGMENT_SYMBOLS_H
|
|
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
#ifndef NO_SEGMENTED_MEMORY
|
2019-11-03 14:36:27 -05:00
|
|
|
#define DECLARE_SEGMENT(name) \
|
|
|
|
|
extern u8 _##name##SegmentRomStart[]; \
|
|
|
|
|
extern u8 _##name##SegmentRomEnd[];
|
|
|
|
|
|
|
|
|
|
#define DECLARE_ACTOR_SEGMENT(name) \
|
|
|
|
|
DECLARE_SEGMENT(name##_mio0) \
|
|
|
|
|
DECLARE_SEGMENT(name##_geo)
|
|
|
|
|
|
|
|
|
|
#define DECLARE_LEVEL_SEGMENT(name) \
|
|
|
|
|
DECLARE_SEGMENT(name) \
|
|
|
|
|
DECLARE_SEGMENT(name##_segment_7)
|
|
|
|
|
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(common0)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(common1)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group0)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group1)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group2)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group3)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group4)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group5)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group6)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group7)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group8)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group9)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group10)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group11)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group12)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group13)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group14)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group15)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group16)
|
|
|
|
|
DECLARE_ACTOR_SEGMENT(group17)
|
|
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
DECLARE_SEGMENT(entry)
|
|
|
|
|
DECLARE_SEGMENT(engine)
|
2019-11-03 14:36:27 -05:00
|
|
|
DECLARE_SEGMENT(behavior)
|
|
|
|
|
DECLARE_SEGMENT(scripts)
|
|
|
|
|
DECLARE_SEGMENT(goddard)
|
2025-06-19 21:25:47 -04:00
|
|
|
DECLARE_SEGMENT(framebuffers)
|
2023-08-17 08:56:02 -04:00
|
|
|
|
2019-11-03 14:36:27 -05:00
|
|
|
extern u8 _goddardSegmentStart[];
|
|
|
|
|
|
2023-08-17 08:56:02 -04:00
|
|
|
extern u8 _engineSegmentStart[];
|
2025-06-19 21:25:47 -04:00
|
|
|
extern u8 _engineSegmentEnd[];
|
2023-08-17 08:56:02 -04:00
|
|
|
extern u8 _framebuffersSegmentNoloadEnd[];
|
|
|
|
|
|
2025-06-22 20:09:05 -04:00
|
|
|
extern u8 _goddardSegmentNoloadStart[];
|
|
|
|
|
extern u8 _goddardSegmentNoloadEnd[];
|
|
|
|
|
|
2019-11-03 14:36:27 -05:00
|
|
|
DECLARE_LEVEL_SEGMENT(menu)
|
|
|
|
|
DECLARE_LEVEL_SEGMENT(intro)
|
|
|
|
|
DECLARE_LEVEL_SEGMENT(ending)
|
2019-12-01 21:52:53 -05:00
|
|
|
|
|
|
|
|
#define STUB_LEVEL(_0, _1, _2, _3, _4, _5, _6, _7, _8)
|
|
|
|
|
#define DEFINE_LEVEL(_0, _1, _2, folder, _4, _5, _6, _7, _8, _9, _10) DECLARE_LEVEL_SEGMENT(folder)
|
|
|
|
|
|
|
|
|
|
#include "levels/level_defines.h"
|
|
|
|
|
|
|
|
|
|
#undef STUB_LEVEL
|
|
|
|
|
#undef DEFINE_LEVEL
|
2019-11-03 14:36:27 -05:00
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
DECLARE_SEGMENT(segment2_mio0)
|
|
|
|
|
|
2025-07-06 23:21:55 -04:00
|
|
|
#define SKYBOX_SYMBOLS_ROM
|
|
|
|
|
#include "skyboxes.h"
|
|
|
|
|
#undef SKYBOX_SYMBOLS_ROM
|
2019-11-03 14:36:27 -05:00
|
|
|
|
|
|
|
|
DECLARE_SEGMENT(fire_mio0)
|
|
|
|
|
DECLARE_SEGMENT(spooky_mio0)
|
|
|
|
|
DECLARE_SEGMENT(generic_mio0)
|
|
|
|
|
DECLARE_SEGMENT(water_mio0)
|
|
|
|
|
DECLARE_SEGMENT(sky_mio0)
|
|
|
|
|
DECLARE_SEGMENT(snow_mio0)
|
|
|
|
|
DECLARE_SEGMENT(cave_mio0)
|
|
|
|
|
DECLARE_SEGMENT(machine_mio0)
|
|
|
|
|
DECLARE_SEGMENT(mountain_mio0)
|
|
|
|
|
DECLARE_SEGMENT(grass_mio0)
|
|
|
|
|
DECLARE_SEGMENT(outside_mio0)
|
|
|
|
|
DECLARE_SEGMENT(inside_mio0)
|
|
|
|
|
DECLARE_SEGMENT(effect_mio0)
|
|
|
|
|
DECLARE_SEGMENT(title_screen_bg_mio0)
|
|
|
|
|
|
|
|
|
|
DECLARE_SEGMENT(debug_level_select_mio0)
|
|
|
|
|
|
2020-06-02 12:44:34 -04:00
|
|
|
#ifdef VERSION_EU
|
|
|
|
|
DECLARE_SEGMENT(translation_de_mio0)
|
|
|
|
|
DECLARE_SEGMENT(translation_en_mio0)
|
|
|
|
|
DECLARE_SEGMENT(translation_fr_mio0)
|
|
|
|
|
#endif
|
|
|
|
|
|
2019-11-03 14:36:27 -05:00
|
|
|
#endif
|
2020-06-02 12:44:34 -04:00
|
|
|
|
|
|
|
|
#endif // SEGMENT_SYMBOLS_H
|