This commit is contained in:
Reonu
2021-06-08 11:30:24 +01:00
2 changed files with 47 additions and 3 deletions

View File

@@ -7,6 +7,7 @@
extern u8 _##name##SegmentRomEnd[];
#define DECLARE_ACTOR_SEGMENT(name) \
DECLARE_SEGMENT(name##_mio0) \
DECLARE_SEGMENT(name##_yay0) \
DECLARE_SEGMENT(name##_geo)
@@ -96,6 +97,43 @@ DECLARE_SEGMENT(translation_en_yay0)
DECLARE_SEGMENT(translation_fr_yay0)
#endif
//added for compatibility
DECLARE_SEGMENT(segment2_mio0)
DECLARE_SEGMENT(water_skybox_mio0)
DECLARE_SEGMENT(ccm_skybox_mio0)
DECLARE_SEGMENT(clouds_skybox_mio0)
DECLARE_SEGMENT(bitfs_skybox_mio0)
DECLARE_SEGMENT(wdw_skybox_mio0)
DECLARE_SEGMENT(cloud_floor_skybox_mio0)
DECLARE_SEGMENT(ssl_skybox_mio0)
DECLARE_SEGMENT(bbh_skybox_mio0)
DECLARE_SEGMENT(bidw_skybox_mio0)
DECLARE_SEGMENT(bits_skybox_mio0)
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)
#ifdef VERSION_EU
DECLARE_SEGMENT(translation_de_mio0)
DECLARE_SEGMENT(translation_en_mio0)
DECLARE_SEGMENT(translation_fr_mio0)
#endif
#endif
#endif // SEGMENT_SYMBOLS_H

12
sm64.ld
View File

@@ -29,7 +29,9 @@ OUTPUT_ARCH (mips)
KEEP(BUILD_DIR/bin/name.szp.o(.data)); \
. = ALIGN(0x10); \
} \
END_SEG(name##_yay0)
END_SEG(name##_yay0) \
_##name##_mio0SegmentRomStart = _##name##_yay0SegmentRomStart; \
_##name##_mio0SegmentRomEnd = _##name##_yay0SegmentRomEnd;
#define YAY0_EU_SEG(name, segAddr) \
BEGIN_SEG(name##_yay0, segAddr) \
@@ -37,7 +39,9 @@ OUTPUT_ARCH (mips)
KEEP(BUILD_DIR/bin/eu/name.szp.o(.data)); \
. = ALIGN(0x10); \
} \
END_SEG(name##_yay0)
END_SEG(name##_yay0) \
_##name##_mio0SegmentRomStart = _##name##_yay0SegmentRomStart; \
_##name##_mio0SegmentRomEnd = _##name##_yay0SegmentRomEnd;
#define STANDARD_LEVEL(name) \
BEGIN_SEG(name##_segment_7, 0x07000000) \
@@ -64,7 +68,9 @@ OUTPUT_ARCH (mips)
{ \
KEEP(BUILD_DIR/actors/name##_geo.o(.data)); \
} \
END_SEG(name##_geo)
END_SEG(name##_geo) \
_##name##_mio0SegmentRomStart = _##name##_yay0SegmentRomStart; \
_##name##_mio0SegmentRomEnd = _##name##_yay0SegmentRomEnd;
SECTIONS
{