sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

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