segment_symbols.h (2650B)
1 #ifndef SEGMENT_SYMBOLS_H 2 #define SEGMENT_SYMBOLS_H 3 4 #ifndef NO_SEGMENTED_MEMORY 5 #define DECLARE_SEGMENT(name) \ 6 extern u8 _##name##SegmentRomStart[]; \ 7 extern u8 _##name##SegmentRomEnd[]; 8 9 #define DECLARE_ACTOR_SEGMENT(name) \ 10 DECLARE_SEGMENT(name##_mio0) \ 11 DECLARE_SEGMENT(name##_geo) 12 13 #define DECLARE_LEVEL_SEGMENT(name) \ 14 DECLARE_SEGMENT(name) \ 15 DECLARE_SEGMENT(name##_segment_7) 16 17 DECLARE_ACTOR_SEGMENT(common0) 18 DECLARE_ACTOR_SEGMENT(common1) 19 DECLARE_ACTOR_SEGMENT(group0) 20 DECLARE_ACTOR_SEGMENT(group1) 21 DECLARE_ACTOR_SEGMENT(group2) 22 DECLARE_ACTOR_SEGMENT(group3) 23 DECLARE_ACTOR_SEGMENT(group4) 24 DECLARE_ACTOR_SEGMENT(group5) 25 DECLARE_ACTOR_SEGMENT(group6) 26 DECLARE_ACTOR_SEGMENT(group7) 27 DECLARE_ACTOR_SEGMENT(group8) 28 DECLARE_ACTOR_SEGMENT(group9) 29 DECLARE_ACTOR_SEGMENT(group10) 30 DECLARE_ACTOR_SEGMENT(group11) 31 DECLARE_ACTOR_SEGMENT(group12) 32 DECLARE_ACTOR_SEGMENT(group13) 33 DECLARE_ACTOR_SEGMENT(group14) 34 DECLARE_ACTOR_SEGMENT(group15) 35 DECLARE_ACTOR_SEGMENT(group16) 36 DECLARE_ACTOR_SEGMENT(group17) 37 38 DECLARE_SEGMENT(entry) 39 DECLARE_SEGMENT(engine) 40 DECLARE_SEGMENT(behavior) 41 DECLARE_SEGMENT(scripts) 42 DECLARE_SEGMENT(goddard) 43 44 extern u8 _goddardSegmentStart[]; 45 46 #ifdef USE_EXT_RAM 47 extern u8 _engineSegmentStart[]; 48 extern u8 _framebuffersSegmentNoloadStart[]; 49 extern u8 _framebuffersSegmentNoloadEnd[]; 50 #endif 51 52 DECLARE_LEVEL_SEGMENT(menu) 53 DECLARE_LEVEL_SEGMENT(intro) 54 DECLARE_LEVEL_SEGMENT(ending) 55 56 #define STUB_LEVEL(_0, _1, _2, _3, _4, _5, _6, _7, _8) 57 #define DEFINE_LEVEL(_0, _1, _2, folder, _4, _5, _6, _7, _8, _9, _10) DECLARE_LEVEL_SEGMENT(folder) 58 59 #include "levels/level_defines.h" 60 61 #undef STUB_LEVEL 62 #undef DEFINE_LEVEL 63 64 DECLARE_SEGMENT(segment2_mio0) 65 66 DECLARE_SEGMENT(water_skybox_mio0) 67 DECLARE_SEGMENT(ccm_skybox_mio0) 68 DECLARE_SEGMENT(clouds_skybox_mio0) 69 DECLARE_SEGMENT(bitfs_skybox_mio0) 70 DECLARE_SEGMENT(wdw_skybox_mio0) 71 DECLARE_SEGMENT(cloud_floor_skybox_mio0) 72 DECLARE_SEGMENT(ssl_skybox_mio0) 73 DECLARE_SEGMENT(bbh_skybox_mio0) 74 DECLARE_SEGMENT(bidw_skybox_mio0) 75 DECLARE_SEGMENT(bits_skybox_mio0) 76 77 DECLARE_SEGMENT(fire_mio0) 78 DECLARE_SEGMENT(spooky_mio0) 79 DECLARE_SEGMENT(generic_mio0) 80 DECLARE_SEGMENT(water_mio0) 81 DECLARE_SEGMENT(sky_mio0) 82 DECLARE_SEGMENT(snow_mio0) 83 DECLARE_SEGMENT(cave_mio0) 84 DECLARE_SEGMENT(machine_mio0) 85 DECLARE_SEGMENT(mountain_mio0) 86 DECLARE_SEGMENT(grass_mio0) 87 DECLARE_SEGMENT(outside_mio0) 88 DECLARE_SEGMENT(inside_mio0) 89 DECLARE_SEGMENT(effect_mio0) 90 DECLARE_SEGMENT(title_screen_bg_mio0) 91 92 DECLARE_SEGMENT(debug_level_select_mio0) 93 94 #ifdef VERSION_EU 95 DECLARE_SEGMENT(translation_de_mio0) 96 DECLARE_SEGMENT(translation_en_mio0) 97 DECLARE_SEGMENT(translation_fr_mio0) 98 #endif 99 100 #endif 101 102 #endif // SEGMENT_SYMBOLS_H