This commit is contained in:
CrashOveride95
2021-07-13 11:40:46 -04:00
197 changed files with 7062 additions and 5160 deletions

46
CHANGES
View File

@@ -1,3 +1,49 @@
Refresh 14
1.) Label whomp and some object fields (#1174)
2.) Generate MIO0 object files using binutils `ld` instead of `as` (#1173)
3.) Bowser documentation (#1166)
4.) Fix comment syntax in 00_sound_player.0 (#1172)
5.) Rename in-game menu variables (#1163)
6.) Document double red coin sound and JP sound glitch (#1170)
7.) Document different bug in external.c (#1168)
8.) updated names/types of octagonal platform data (#1164)
9.) Label a number of unnamed variables. (#1169)
10.) Document JP PU sound glitch (#1167)
11.) Set model ids to spawn_triangle_break_particles (#1165)
12.) Fix borders in clear_frame_buffer (#1162)
13.) Fix seq header files for 64-bit (#1161)
14.) Game_init.c remaining doc (#1158)
15.) Label a couple static variables in sound_init.c (#1159)
16.) Properly define dialog values (status, flags, cutscenes) (#1153)
17.) Label all of amp's assets. (#1018)
18.) Split audio/synthesis.c into Shindou/non-Shindou files (#1144)
19.) Avoid CC_CHECK warnings when using gcc (#1157)
20.) level_select_menu.c => title_screen.c (#1152)
21.) Use C preprocessor on assembly files (#1126)
22.) Replace output_level_headers.py with sed equivalent (#1109)
23.) Fix CC_CHECK warnings related to unused symbols and UB (#1155)
24.) Define remaining floor lower limit values (#1147)
25.) use r+b mode for libultra.a patch tool (#1148)
26.) Use proper values for gPrevFrameObjectCount ifs (#1146)
27.) Some minor bowser.inc.c labelling. (#1150)
28.) fix king bob-omb texture pointers (#1145)
29.) Split audio/load.c into Shindou/non-Shindou files (#1143)
30.) Small Shindou audio cleanups (#1142)
31.) Fix endians in ALSeqData (#1141)
32.) Document S8 decoder rsp operation and some more (#1139)
33.) Fix Shindou synthesis_process_note fake match (#1140)
34.) More audio documentation, for the new rsp code and other fixes (#1138)
35.) Build fixes for macOS: cpp, clang, recomp, aiff_extract_codebook (#1135)
36.) Add ENABLE_RUMBLE to config.h (#1122)
37.) Reduce recomp memory consumption by using smaller disassembly blocks (#1128)
38.) Makefile fixes (#1123)
39.) Update README.md
40.) Update README.md
41.) Reflect current decompilation status
42.) Allow both archives and ELF objects to be patched (#1127)
43.) Remove WIP mention in README for sh version.
Refresh 13 2
- No more nonmatchings remain for all builds including Shindou.

View File

@@ -504,7 +504,7 @@ $(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl.inc.c $(SO
$(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h
ifeq ($(VERSION),sh)
$(BUILD_DIR)/src/audio/load.o: $(SOUND_BIN_DIR)/bank_sets.inc.c $(SOUND_BIN_DIR)/sequences_header.inc.c $(SOUND_BIN_DIR)/ctl_header.inc.c $(SOUND_BIN_DIR)/tbl_header.inc.c
$(BUILD_DIR)/src/audio/load_sh.o: $(SOUND_BIN_DIR)/bank_sets.inc.c $(SOUND_BIN_DIR)/sequences_header.inc.c $(SOUND_BIN_DIR)/ctl_header.inc.c $(SOUND_BIN_DIR)/tbl_header.inc.c
endif
$(CRASH_TEXTURE_C_FILES): TEXTURE_ENCODING := u32
@@ -623,7 +623,7 @@ $(BUILD_DIR)/%.table: %.aiff
$(V)$(AIFF_EXTRACT_CODEBOOK) $< >$@
$(BUILD_DIR)/%.aifc: $(BUILD_DIR)/%.table %.aiff
$(call print,Encoding VADPCM:,$<,$@)
$(call print,Encoding ADPCM:,$(word 2,$^),$@)
$(V)$(VADPCM_ENC) -c $^ $@
$(ENDIAN_BITWIDTH): $(TOOLS_DIR)/determine-endian-bitwidth.c
@@ -631,8 +631,8 @@ $(ENDIAN_BITWIDTH): $(TOOLS_DIR)/determine-endian-bitwidth.c
$(V)$(CC) -c $(CFLAGS) -o $@.dummy2 $< 2>$@.dummy1; true
$(V)grep -o 'msgbegin --endian .* --bitwidth .* msgend' $@.dummy1 > $@.dummy2
$(V)head -n1 <$@.dummy2 | cut -d' ' -f2-5 > $@
@$(RM) $@.dummy1
@$(RM) $@.dummy2
$(V)$(RM) $@.dummy1
$(V)$(RM) $@.dummy2
$(SOUND_BIN_DIR)/sound_data.ctl: sound/sound_banks/ $(SOUND_BANK_FILES) $(SOUND_SAMPLE_AIFCS) $(ENDIAN_BITWIDTH)
@$(PRINT) "$(GREEN)Generating: $(BLUE)$@ $(NO_COL)\n"
@@ -668,7 +668,7 @@ $(SOUND_BIN_DIR)/%.m64: $(SOUND_BIN_DIR)/%.o
# Convert binary file to a comma-separated list of byte values for inclusion in C code
$(BUILD_DIR)/%.inc.c: $(BUILD_DIR)/%
$(call print,Piping:,$<,$@)
$(call print,Converting to C:,$<,$@)
$(V)hexdump -v -e '1/1 "0x%X,"' $< > $@
$(V)echo >> $@
@@ -699,7 +699,7 @@ $(BUILD_DIR)/text/%/define_text.inc.c: text/define_text.inc.c text/%/courses.h t
# Level headers
$(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in
$(call print,Preprocessing level headers:,$<,$@)
$(V)$(CPP) $(CPPFLAGS) -I . levels/level_headers.h.in | $(PYTHON) $(TOOLS_DIR)/output_level_headers.py > $(BUILD_DIR)/include/level_headers.h
$(V)$(CPP) $(CPPFLAGS) -I . $< | sed -E 's|(.+)|#include "\1"|' > $@
# Generate version_data.h
$(BUILD_DIR)/src/game/version_data.h: tools/make_version.sh
@@ -723,10 +723,6 @@ $(BUILD_DIR)/%.o: %.s
$(call print,Assembling:,$<,$@)
$(V)$(CC) -c $(CFLAGS) $(foreach i,$(INCLUDE_DIRS),-Wa,-I$(i)) -x assembler-with-cpp -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<
$(BUILD_DIR)/sound/sequences/00_sound_player.o: sound/sequences/00_sound_player.s
$(call print,Assembling:,$<,$@)
$(V)$(AS) $(ASFLAGS) -MD $(BUILD_DIR)/sound/sequences/00_sound_player.d -o $@ $<
# Assemble RSP assembly code
$(BUILD_DIR)/rsp/%.bin $(BUILD_DIR)/rsp/%_data.bin: rsp/%.s
$(call print,Assembling:,$<,$@)

View File

@@ -161,8 +161,8 @@ endef
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),distclean)
$(BUILD_DIR)/level_rules.mk: levels/level_rules.mk levels/level_defines.h
@$(PRINT) "$(GREEN)Preprocessing level make rules: $(BLUE)$@ $(NO_COL)\n"
@$(CPP) $(VERSION_CFLAGS) -I . -o $@ $<
$(call print,Preprocessing level make rules:,$<,$@)
$(V)$(CPP) $(CPPFLAGS) $(VERSION_CFLAGS) -I . -o $@ $<
include $(BUILD_DIR)/level_rules.mk
endif
endif
@@ -179,11 +179,11 @@ $(eval $(call level_rules,menu,generic)) # Menu (File Select)
# Ending cake textures are generated in a special way
$(BUILD_DIR)/levels/ending/cake_eu.inc.c: levels/ending/cake_eu.png
@$(PRINT) "$(GREEN)Splitting $(YELLOW)$< $(GREEN)to: $(BLUE)$@ $(NO_COL)\n"
@$(SKYCONV) --type cake-eu --split $^ $(BUILD_DIR)/levels/ending
$(call print,Splitting:,$<,$@)
$(V)$(SKYCONV) --type cake-eu --split $^ $(BUILD_DIR)/levels/ending
$(BUILD_DIR)/levels/ending/cake.inc.c: levels/ending/cake.png
@$(PRINT) "$(GREEN)Splitting $(YELLOW)$< $(GREEN)to: $(BLUE)$@ $(NO_COL)\n"
@$(SKYCONV) --type cake --split $^ $(BUILD_DIR)/levels/ending
$(call print,Splitting:,$<,$@)
$(V)$(SKYCONV) --type cake --split $^ $(BUILD_DIR)/levels/ending
# --------------------------------------
# Texture Bin Rules
@@ -250,8 +250,8 @@ $(BUILD_DIR)/bin/eu/translation_fr.elf: SEGMENT_ADDRESS := 0x19000000
# --------------------------------------
$(BUILD_DIR)/bin/%_skybox.c: textures/skyboxes/%.png
@$(PRINT) "$(GREEN)Splitting $(YELLOW)$< $(GREEN)to: $(BLUE)$@ $(NO_COL)\n"
@$(SKYCONV) --type sky --split $^ $(BUILD_DIR)/bin
$(call print,Splitting:,$<,$@)
$(V)$(SKYCONV) --type sky --split $^ $(BUILD_DIR)/bin
$(BUILD_DIR)/bin/%_skybox.elf: SEGMENT_ADDRESS := 0x0A000000

View File

@@ -1,5 +1,4 @@
// 0x08003E30
static const s16 amp_seg8_animvalue_08003E30[] = {
static const s16 dAmpAnimValue[] = {
0x0000, 0x0000, 0x0D79, 0x1AF2, 0x286B, 0x35E4, 0x435D, 0x50D6,
0x5E50, 0x6BC9, 0x7942, 0x86BE, 0x9437, 0xA1B0, 0xAF2A, 0xBCA3,
0xCA1C, 0xD795, 0xE50E, 0xF287, 0x1872, 0x0000, 0x1AF2, 0x35E4,
@@ -23,8 +22,7 @@ static const s16 amp_seg8_animvalue_08003E30[] = {
0xC001, 0x3FFF,
};
// 0x08003F74
static const u16 amp_seg8_animindex_08003F74[] = {
static const u16 dAmpAnimIndex[] = {
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x00A1,
0x0001, 0x0000, 0x0013, 0x008D, 0x0001, 0x00A0,
@@ -40,15 +38,14 @@ static const u16 amp_seg8_animindex_08003F74[] = {
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x004E,
};
// 0x0800401C
static const struct Animation amp_seg8_anim_0800401C = {
static const struct Animation dAmpAnimation = {
0,
0,
0,
0,
0x13,
ANIMINDEX_NUMPARTS(amp_seg8_animindex_08003F74),
amp_seg8_animvalue_08003E30,
amp_seg8_animindex_08003F74,
ANIMINDEX_NUMPARTS(dAmpAnimIndex),
dAmpAnimValue,
dAmpAnimIndex,
0,
};

View File

@@ -1 +1 @@
#include "anim_0800401C.inc.c"
#include "animation.inc.c"

View File

@@ -1,4 +1,3 @@
// 0x08004034
const struct Animation *const amp_seg8_anims_08004034[] = {
&amp_seg8_anim_0800401C,
const struct Animation *const dAmpAnimsList[] = {
&dAmpAnimation,
};

View File

@@ -1,19 +1,18 @@
// 0x0F000028
const GeoLayout amp_geo[] = {
const GeoLayout dAmpGeo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002C88),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpEyeDl),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
@@ -21,7 +20,7 @@ const GeoLayout amp_geo[] = {
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
@@ -29,7 +28,7 @@ const GeoLayout amp_geo[] = {
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
@@ -37,16 +36,16 @@ const GeoLayout amp_geo[] = {
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002D70),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpMouthDl),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, amp_seg8_dl_08002E58),
GEO_DISPLAY_LIST(LAYER_ALPHA, dAmpBodyDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View File

@@ -1,27 +1,22 @@
// Amp
// 0x08000F18
ALIGNED8 static const Texture amp_seg8_texture_08000F18[] = {
ALIGNED8 static const Texture dAmpElectricityTexture[] = {
#include "actors/amp/amp_electricity.rgba16.inc.c"
};
// 0x08001318
ALIGNED8 static const Texture amp_seg8_texture_08001318[] = {
ALIGNED8 static const Texture dAmpEyesTexture[] = {
#include "actors/amp/amp_eyes.rgba16.inc.c"
};
// 0x08001B18
ALIGNED8 static const Texture amp_seg8_texture_08001B18[] = {
ALIGNED8 static const Texture dAmpBodyTexture[] = {
#include "actors/amp/amp_body.rgba16.inc.c"
};
// 0x08002318
ALIGNED8 static const Texture amp_seg8_texture_08002318[] = {
ALIGNED8 static const Texture dAmpMouthTexture[] = {
#include "actors/amp/amp_mouth.rgba16.inc.c"
};
// 0x08002B18
static const Vtx amp_seg8_vertex_08002B18[] = {
static const Vtx dAmpElectricityVertices[] = {
{{{ 224, 0, -89}, 0, { 0, 480}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 187, 149, 0}, 0, { 223, 1078}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 224, 0, 90}, 0, { 479, 478}, {0xff, 0xff, 0xff, 0xff}}},
@@ -29,18 +24,16 @@ static const Vtx amp_seg8_vertex_08002B18[] = {
{{{ 224, 0, -89}, 0, { 0, 478}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x08002B68 - 0x08002BA0
const Gfx amp_seg8_dl_08002B68[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08000F18),
const Gfx dAmpElectricitySubDl[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpElectricityTexture),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
gsSPVertex(amp_seg8_vertex_08002B18, 5, 0),
gsSPVertex(dAmpElectricityVertices, 5, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 4, 0x0),
gsSPEndDisplayList(),
};
// 0x08002BA0 - 0x08002C10
const Gfx amp_seg8_dl_08002BA0[] = {
const Gfx dAmpElectricityDl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
@@ -49,7 +42,7 @@ const Gfx amp_seg8_dl_08002BA0[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 4, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPDisplayList(amp_seg8_dl_08002B68),
gsSPDisplayList(dAmpElectricitySubDl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@@ -57,26 +50,23 @@ const Gfx amp_seg8_dl_08002BA0[] = {
gsSPEndDisplayList(),
};
// 0x08002C10
static const Vtx amp_seg8_vertex_08002C10[] = {
static const Vtx dAmpEyeVertices[] = {
{{{ 68, 72, 158}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -27, -71, 164}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 68, -71, 158}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -27, 72, 164}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x08002C50 - 0x08002C88
const Gfx amp_seg8_dl_08002C50[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08001318),
const Gfx dAmpEyeSubDl[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpEyesTexture),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(amp_seg8_vertex_08002C10, 4, 0),
gsSPVertex(dAmpEyeVertices, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
};
// 0x08002C88 - 0x08002CF8
const Gfx amp_seg8_dl_08002C88[] = {
const Gfx dAmpEyeDl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
@@ -85,7 +75,7 @@ const Gfx amp_seg8_dl_08002C88[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPDisplayList(amp_seg8_dl_08002C50),
gsSPDisplayList(dAmpEyeSubDl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@@ -93,26 +83,23 @@ const Gfx amp_seg8_dl_08002C88[] = {
gsSPEndDisplayList(),
};
// 0x08002CF8
static const Vtx amp_seg8_vertex_08002CF8[] = {
static const Vtx dAmpMouthVertices[] = {
{{{ -29, 72, 164}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -124, -71, 121}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -29, -71, 164}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -124, 72, 121}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x08002D38 - 0x08002D70
const Gfx amp_seg8_dl_08002D38[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08002318),
const Gfx dAmpMouthSubDl[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpMouthTexture),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(amp_seg8_vertex_08002CF8, 4, 0),
gsSPVertex(dAmpMouthVertices, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
};
// 0x08002D70 - 0x08002DE0
const Gfx amp_seg8_dl_08002D70[] = {
const Gfx dAmpMouthDl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
@@ -121,7 +108,7 @@ const Gfx amp_seg8_dl_08002D70[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPDisplayList(amp_seg8_dl_08002D38),
gsSPDisplayList(dAmpMouthSubDl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@@ -129,26 +116,23 @@ const Gfx amp_seg8_dl_08002D70[] = {
gsSPEndDisplayList(),
};
// 0x08002DE0
static const Vtx amp_seg8_vertex_08002DE0[] = {
static const Vtx dAmpBodyVertices[] = {
{{{ -39, -39, 0}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 40, 40, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -39, 40, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 40, -39, 0}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x08002E20 - 0x08002E58
const Gfx amp_seg8_dl_08002E20[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08001B18),
const Gfx dAmpBodySubDl[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpBodyTexture),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(amp_seg8_vertex_08002DE0, 4, 0),
gsSPVertex(dAmpBodyVertices, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
};
// 0x08002E58 - 0x08002EC8
const Gfx amp_seg8_dl_08002E58[] = {
const Gfx dAmpBodyDl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING),
@@ -157,7 +141,7 @@ const Gfx amp_seg8_dl_08002E58[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPDisplayList(amp_seg8_dl_08002E20),
gsSPDisplayList(dAmpBodySubDl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@@ -165,15 +149,18 @@ const Gfx amp_seg8_dl_08002E58[] = {
gsSPEndDisplayList(),
};
// 0x08002EC8
static const Lights1 amp_seg8_lights_08002EC8 = gdSPDefLights1(
/**
* Everything beyond this point is unused, and seems to be an attempt at a 3D modelled
* amp. The model and attempt are overall slightly buggy, with misread lights and a slightly
* broken model.
*/
UNUSED static const Lights1 dAmpUnused3DLights = gdSPDefLights1(
0x33, 0x3f, 0x00,
0xcf, 0xff, 0x00, 0x28, 0x28, 0x28
);
// //! Another malformed entry: Vertex interpreted as light
// 0x08002EE0
static const Vtx amp_seg8_vertex_08002EE0[] = {
UNUSED static const Vtx dAmpUnused3DVtx01[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
@@ -182,8 +169,7 @@ static const Vtx amp_seg8_vertex_08002EE0[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
};
// 0x08002F40
static const Vtx amp_seg8_vertex_08002F40[] = {
UNUSED static const Vtx dAmpUnused3DVtx02[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
@@ -192,8 +178,7 @@ static const Vtx amp_seg8_vertex_08002F40[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
};
// 0x08002FA0
static const Vtx amp_seg8_vertex_08002FA0[] = {
UNUSED static const Vtx dAmpUnused3DVtx03[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
@@ -202,8 +187,7 @@ static const Vtx amp_seg8_vertex_08002FA0[] = {
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
};
// 0x08003000
static const Vtx amp_seg8_vertex_08003000[] = {
UNUSED static const Vtx dAmpUnused3DVtx04[] = {
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
{{{ 240, 160, 0}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
@@ -212,8 +196,7 @@ static const Vtx amp_seg8_vertex_08003000[] = {
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0xff}}},
};
// 0x08003060
static const Vtx amp_seg8_vertex_08003060[] = {
UNUSED static const Vtx dAmpUnused3DVtx05[] = {
{{{ -184, -54, -54}, 0, { 0, 0}, {0x8b, 0xde, 0xde, 0x00}}},
{{{ -184, -76, 0}, 0, { 0, 0}, {0x8b, 0xd0, 0x00, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -232,8 +215,7 @@ static const Vtx amp_seg8_vertex_08003060[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003160
static const Vtx amp_seg8_vertex_08003160[] = {
UNUSED static const Vtx dAmpUnused3DVtx06[] = {
{{{ -184, 0, -76}, 0, { 0, 0}, {0x8b, 0x00, 0xd0, 0xff}}},
{{{ -184, -54, -54}, 0, { 0, 0}, {0x8b, 0xde, 0xde, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -252,8 +234,7 @@ static const Vtx amp_seg8_vertex_08003160[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003260
static const Vtx amp_seg8_vertex_08003260[] = {
UNUSED static const Vtx dAmpUnused3DVtx07[] = {
{{{ -184, 54, -54}, 0, { 0, 0}, {0x8b, 0x22, 0xde, 0xff}}},
{{{ -184, 0, -76}, 0, { 0, 0}, {0x8b, 0x00, 0xd0, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -272,8 +253,7 @@ static const Vtx amp_seg8_vertex_08003260[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003360
static const Vtx amp_seg8_vertex_08003360[] = {
UNUSED static const Vtx dAmpUnused3DVtx08[] = {
{{{ -184, 76, 0}, 0, { 0, 0}, {0x8b, 0x30, 0x00, 0xff}}},
{{{ -184, 54, -54}, 0, { 0, 0}, {0x8b, 0x22, 0xde, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -292,8 +272,7 @@ static const Vtx amp_seg8_vertex_08003360[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003460
static const Vtx amp_seg8_vertex_08003460[] = {
UNUSED static const Vtx dAmpUnused3DVtx09[] = {
{{{ -184, 54, 54}, 0, { 0, 0}, {0x8b, 0x22, 0x22, 0xff}}},
{{{ -184, 76, 0}, 0, { 0, 0}, {0x8b, 0x30, 0x00, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -312,8 +291,7 @@ static const Vtx amp_seg8_vertex_08003460[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003560
static const Vtx amp_seg8_vertex_08003560[] = {
UNUSED static const Vtx dAmpUnused3DVtx10[] = {
{{{ -184, 0, 76}, 0, { 0, 0}, {0x8b, 0x00, 0x30, 0xff}}},
{{{ -184, 54, 54}, 0, { 0, 0}, {0x8b, 0x22, 0x22, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -332,8 +310,7 @@ static const Vtx amp_seg8_vertex_08003560[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003660
static const Vtx amp_seg8_vertex_08003660[] = {
UNUSED static const Vtx dAmpUnused3DVtx11[] = {
{{{ -184, -54, 54}, 0, { 0, 0}, {0x8b, 0xde, 0x22, 0xff}}},
{{{ -184, 0, 76}, 0, { 0, 0}, {0x8b, 0x00, 0x30, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -352,8 +329,7 @@ static const Vtx amp_seg8_vertex_08003660[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003760
static const Vtx amp_seg8_vertex_08003760[] = {
UNUSED static const Vtx dAmpUnused3DVtx12[] = {
{{{ -184, -76, 0}, 0, { 0, 0}, {0x8b, 0xd0, 0x00, 0xff}}},
{{{ -184, -54, 54}, 0, { 0, 0}, {0x8b, 0xde, 0x22, 0x00}}},
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
@@ -372,70 +348,63 @@ static const Vtx amp_seg8_vertex_08003760[] = {
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
};
// 0x08003860
static const Vtx amp_seg8_vertex_08003860[] = {
UNUSED static const Vtx dAmpUnused3DVtx13[] = {
{{{ -37, 90, 205}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
{{{ -129, 90, 163}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
{{{ -129, -90, 163}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
{{{ -37, -90, 205}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0xff}}},
};
// 0x080038A0
static const Vtx amp_seg8_vertex_080038A0[] = {
UNUSED static const Vtx dAmpUnused3DVtx14[] = {
{{{ 112, -7, 182}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
{{{ 66, -139, 162}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
{{{ 175, -77, 98}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
};
// 0x080038D0
static const Vtx amp_seg8_vertex_080038D0[] = {
UNUSED static const Vtx dAmpUnused3DVtx15[] = {
{{{ 63, 90, 198}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
{{{ -35, 90, 205}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
{{{ -35, -90, 205}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
{{{ 63, -90, 198}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0xff}}},
};
// 0x08003910 - 0x08003940
const Gfx amp_seg8_dl_08003910[] = {
gsSPLight(&amp_seg8_lights_08002EC8.l, 1),
gsSPLight(&amp_seg8_lights_08002EC8.a, 2),
gsSPVertex(amp_seg8_vertex_08002EE0, 6, 0),
UNUSED const Gfx dAmpUnused3DElectricDl1[] = {
gsSPLight(&dAmpUnused3DLights.l, 1),
gsSPLight(&dAmpUnused3DLights.a, 2),
gsSPVertex(dAmpUnused3DVtx01, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSPEndDisplayList(),
};
// 0x08003940 - 0x08003970
const Gfx amp_seg8_dl_08003940[] = {
gsSPLight(&amp_seg8_lights_08002EC8.l, 1),
gsSPLight(&amp_seg8_lights_08002EC8.a, 2),
gsSPVertex(amp_seg8_vertex_08002F40, 6, 0),
UNUSED const Gfx dAmpUnused3DElectricDl2[] = {
gsSPLight(&dAmpUnused3DLights.l, 1),
gsSPLight(&dAmpUnused3DLights.a, 2),
gsSPVertex(dAmpUnused3DVtx02, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSPEndDisplayList(),
};
// 0x08003970 - 0x080039A0
const Gfx amp_seg8_dl_08003970[] = {
gsSPLight(&amp_seg8_lights_08002EC8.l, 1),
gsSPLight(&amp_seg8_lights_08002EC8.a, 2),
gsSPVertex(amp_seg8_vertex_08002FA0, 6, 0),
UNUSED const Gfx dAmpUnused3DElectricDl3[] = {
gsSPLight(&dAmpUnused3DLights.l, 1),
gsSPLight(&dAmpUnused3DLights.a, 2),
gsSPVertex(dAmpUnused3DVtx03, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSPEndDisplayList(),
};
// 0x080039A0 - 0x080039D0
const Gfx amp_seg8_dl_080039A0[] = {
gsSPLight(&amp_seg8_lights_08002EC8.l, 1),
gsSPLight(&amp_seg8_lights_08002EC8.a, 2),
gsSPVertex(amp_seg8_vertex_08003000, 6, 0),
UNUSED const Gfx dAmpUnused3DElectricDl4[] = {
gsSPLight(&dAmpUnused3DLights.l, 1),
gsSPLight(&dAmpUnused3DLights.a, 2),
gsSPVertex(dAmpUnused3DVtx04, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSPEndDisplayList(),
};
// 0x080039D0 - 0x08003DA8
const Gfx amp_seg8_dl_080039D0[] = {
gsSPLight((const u8*)amp_seg8_vertex_08002EE0 + 0x8, 1),
gsSPLight((const u8*)amp_seg8_vertex_08002EE0, 2),
gsSPVertex(amp_seg8_vertex_08003060, 16, 0),
UNUSED const Gfx dAmpUnused3DModelDl[] = {
//! Vertex interpreted as light
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
gsSPVertex(dAmpUnused3DVtx05, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -443,7 +412,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003160, 16, 0),
gsSPVertex(dAmpUnused3DVtx06, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -451,7 +420,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003260, 16, 0),
gsSPVertex(dAmpUnused3DVtx07, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -459,7 +428,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003360, 16, 0),
gsSPVertex(dAmpUnused3DVtx08, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -467,7 +436,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003460, 16, 0),
gsSPVertex(dAmpUnused3DVtx09, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -475,7 +444,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003560, 16, 0),
gsSPVertex(dAmpUnused3DVtx10, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -483,7 +452,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003660, 16, 0),
gsSPVertex(dAmpUnused3DVtx11, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -491,7 +460,7 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
gsSPVertex(amp_seg8_vertex_08003760, 16, 0),
gsSPVertex(dAmpUnused3DVtx12, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
@@ -502,29 +471,29 @@ const Gfx amp_seg8_dl_080039D0[] = {
gsSPEndDisplayList(),
};
// 0x08003DA8 - 0x08003DD8
const Gfx amp_seg8_dl_08003DA8[] = {
gsSPLight((const u8*)amp_seg8_vertex_08002EE0 + 0x8, 1),
gsSPLight((const u8*)amp_seg8_vertex_08002EE0, 2),
gsSPVertex(amp_seg8_vertex_08003860, 4, 0),
UNUSED const Gfx dAmpUnused3DElectricDl5[] = {
//! Vertex interpreted as light
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
gsSPVertex(dAmpUnused3DVtx13, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSPEndDisplayList(),
};
// 0x08003DD8 - 0x08003E00
const Gfx amp_seg8_dl_08003DD8[] = {
gsSPLight((const u8*)amp_seg8_vertex_08002EE0 + 0x8, 1),
gsSPLight((const u8*)amp_seg8_vertex_08002EE0, 2),
gsSPVertex(amp_seg8_vertex_080038A0, 3, 0),
UNUSED const Gfx dAmpUnused3DElectricDl6[] = {
//! Vertex interpreted as light
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
gsSPVertex(dAmpUnused3DVtx14, 3, 0),
gsSP1Triangle( 0, 1, 2, 0x0),
gsSPEndDisplayList(),
};
// 0x08003E00 - 0x08003E30
const Gfx amp_seg8_dl_08003E00[] = {
gsSPLight((const u8*)amp_seg8_vertex_08002EE0 + 0x8, 1),
gsSPLight((const u8*)amp_seg8_vertex_08002EE0, 2),
gsSPVertex(amp_seg8_vertex_080038D0, 4, 0),
UNUSED const Gfx dAmpUnused3DElectricDl7[] = {
//! Vertex interpreted as light
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
gsSPVertex(dAmpUnused3DVtx15, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSPEndDisplayList(),
};

View File

@@ -0,0 +1,98 @@
// 0x060576FC
const s16 dBowserFlamesOrientationValues[] = {
// posX, posY, posZ, rotY, rotX
0, 280, 80, 0x00E9, 0x1A96,
0, 278, 83, 0x00EC, 0x1C7F,
0, 273, 92, 0x00F9, 0x20BF,
0, 268, 102, 0x010F, 0x2519,
0, 263, 109, 0x011D, 0x2751,
0, 263, 110, 0x011C, 0x2714,
0, 265, 106, 0x0112, 0x2601,
0, 268, 102, 0x0109, 0x24C0,
0, 271, 96, 0x00FF, 0x2358,
0, 274, 90, 0x00F7, 0x21CB,
0, 277, 84, 0x00EE, 0x201C,
0, 280, 78, 0x00E7, 0x1E4E,
0, 284, 71, 0x00DF, 0x1C64,
0, 288, 63, 0x00D9, 0x1A61,
0, 291, 56, 0x00D3, 0x184B,
0, 295, 48, 0x00CF, 0x1622,
0, 298, 40, 0x00CA, 0x13E9,
0, 301, 32, 0x00C7, 0x11A5,
0, 304, 23, 0x00C4, 0x0F59,
0, 308, 15, 0x00C1, 0x0D08,
0, 311, 7, 0x00C0, 0x0AB5,
0, 313, 0, 0x00C0, 0x0863,
0, 315, -8, 0x00BF, 0x0615,
0, 317, -15, 0x00CE, 0x03A3,
0, 319, -22, 0x00F8, 0x00ED,
0, 320, -29, 0x0131, 0xFFFF,
0, 322, -36, 0x0172, 0xFFFF,
0, 322, -40, 0x01B5, 0xFFFF,
0, 323, -45, 0x01ED, 0xFFFF,
0, 323, -48, 0x0213, 0xFFFF,
0, 323, -51, 0x0219, 0xFFFF,
0, 323, -52, 0x01F2, 0xFFFF,
0, 323, -51, 0x018F, 0xFFFF,
0, 323, -49, 0x00E5, 0xFFFF,
0, 322, -45, 0xFFFF, 0xFFFF,
0, 320, -35, 0xFFFF, 0xFFFF,
0, 317, -23, 0xFFFF, 0xFFFF,
0, 312, -7, 0xFFFF, 0xFFFF,
0, 306, 11, 0xFFFF, 0xFFFF,
0, 299, 31, 0xFFFF, 0xFFFF,
0, 288, 51, 0xFFFF, 0xFFFF,
0, 278, 70, 0xFFFF, 0xFFFF,
0, 267, 89, 0xFFFF, 0xFFFF,
0, 256, 106, 0xFFFF, 0x023A,
0, 244, 120, 0xFFFF, 0x04AA,
0, 236, 132, 0xFFFF, 0x069F,
0, 229, 139, 0xFFFF, 0x0803,
0, 224, 144, 0xFFFF, 0x08C0,
0, 222, 147, 0xFFFF, 0x0928,
0, 221, 148, 0xFFFF, 0x099D,
0, 221, 149, 0xFFFF, 0x0A16,
0, 221, 150, 0xFFFF, 0x0A8D,
0, 221, 150, 0xFFFF, 0x0AF6,
0, 222, 150, 0xFFFF, 0x0B4A,
0, 222, 150, 0xFFFF, 0x0B84,
0, 222, 149, 0x020A, 0x0BA0,
0, 223, 149, 0x0524, 0x0B9E,
0, 225, 148, 0x07EC, 0x0B84,
0, 226, 147, 0x0A3F, 0x0B57,
0, 227, 145, 0x0BFB, 0x0B1F,
0, 228, 144, 0x0D00, 0x0AE5,
0, 230, 142, 0x0D6F, 0x0AA0,
0, 232, 140, 0x0D8B, 0x0A48,
0, 233, 138, 0x0D5D, 0x09DE,
0, 236, 136, 0x0CED, 0x096A,
0, 238, 134, 0x0C49, 0x08EA,
0, 239, 132, 0x0B76, 0x0863,
0, 241, 130, 0x0A80, 0x07D9,
0, 244, 128, 0x0970, 0x074E,
0, 246, 125, 0x084E, 0x06C7,
0, 248, 122, 0x0723, 0x0649,
0, 251, 120, 0x05F8, 0x05D7,
0, 253, 117, 0x04D6, 0x0579,
0, 254, 114, 0x03C3, 0x0532,
0, 256, 111, 0x02C9, 0x0509,
0, 259, 108, 0x01F0, 0x0504,
0, 261, 105, 0x0141, 0x0525,
0, 262, 103, 0x00C3, 0x0572,
0, 264, 100, 0x006E, 0x0619,
0, 267, 97, 0x0032, 0x0734,
0, 268, 95, 0x000C, 0x08AF,
0, 269, 93, 0xFFFF, 0x0A74,
0, 272, 90, 0xFFFF, 0x0C70,
0, 273, 88, 0xFFFF, 0x0E8E,
0, 274, 86, 0x0014, 0x10B6,
0, 275, 84, 0x0032, 0x12DA,
0, 277, 82, 0x0056, 0x14E1,
0, 277, 82, 0x007E, 0x16B9,
0, 278, 80, 0x00A4, 0x184B,
0, 278, 80, 0x00C6, 0x1983,
0, 279, 80, 0x00DF, 0x1A4D,
0, 280, 80, 0x00E9, 0x1A96,
0, 0, 0, 0x0000, 0x0000,
};

View File

@@ -1,96 +0,0 @@
// 0x060576FC
const s16 bowser_seg6_unkmoveshorts_060576FC[] = {
0x0000, 0x0118, 0x0050, 0x00E9, 0x1A96,
0x0000, 0x0116, 0x0053, 0x00EC, 0x1C7F,
0x0000, 0x0111, 0x005C, 0x00F9, 0x20BF,
0x0000, 0x010C, 0x0066, 0x010F, 0x2519,
0x0000, 0x0107, 0x006D, 0x011D, 0x2751,
0x0000, 0x0107, 0x006E, 0x011C, 0x2714,
0x0000, 0x0109, 0x006A, 0x0112, 0x2601,
0x0000, 0x010C, 0x0066, 0x0109, 0x24C0,
0x0000, 0x010F, 0x0060, 0x00FF, 0x2358,
0x0000, 0x0112, 0x005A, 0x00F7, 0x21CB,
0x0000, 0x0115, 0x0054, 0x00EE, 0x201C,
0x0000, 0x0118, 0x004E, 0x00E7, 0x1E4E,
0x0000, 0x011C, 0x0047, 0x00DF, 0x1C64,
0x0000, 0x0120, 0x003F, 0x00D9, 0x1A61,
0x0000, 0x0123, 0x0038, 0x00D3, 0x184B,
0x0000, 0x0127, 0x0030, 0x00CF, 0x1622,
0x0000, 0x012A, 0x0028, 0x00CA, 0x13E9,
0x0000, 0x012D, 0x0020, 0x00C7, 0x11A5,
0x0000, 0x0130, 0x0017, 0x00C4, 0x0F59,
0x0000, 0x0134, 0x000F, 0x00C1, 0x0D08,
0x0000, 0x0137, 0x0007, 0x00C0, 0x0AB5,
0x0000, 0x0139, 0x0000, 0x00C0, 0x0863,
0x0000, 0x013B, 0xFFF8, 0x00BF, 0x0615,
0x0000, 0x013D, 0xFFF1, 0x00CE, 0x03A3,
0x0000, 0x013F, 0xFFEA, 0x00F8, 0x00ED,
0x0000, 0x0140, 0xFFE3, 0x0131, 0xFFFF,
0x0000, 0x0142, 0xFFDC, 0x0172, 0xFFFF,
0x0000, 0x0142, 0xFFD8, 0x01B5, 0xFFFF,
0x0000, 0x0143, 0xFFD3, 0x01ED, 0xFFFF,
0x0000, 0x0143, 0xFFD0, 0x0213, 0xFFFF,
0x0000, 0x0143, 0xFFCD, 0x0219, 0xFFFF,
0x0000, 0x0143, 0xFFCC, 0x01F2, 0xFFFF,
0x0000, 0x0143, 0xFFCD, 0x018F, 0xFFFF,
0x0000, 0x0143, 0xFFCF, 0x00E5, 0xFFFF,
0x0000, 0x0142, 0xFFD3, 0xFFFF, 0xFFFF,
0x0000, 0x0140, 0xFFDD, 0xFFFF, 0xFFFF,
0x0000, 0x013D, 0xFFE9, 0xFFFF, 0xFFFF,
0x0000, 0x0138, 0xFFF9, 0xFFFF, 0xFFFF,
0x0000, 0x0132, 0x000B, 0xFFFF, 0xFFFF,
0x0000, 0x012B, 0x001F, 0xFFFF, 0xFFFF,
0x0000, 0x0120, 0x0033, 0xFFFF, 0xFFFF,
0x0000, 0x0116, 0x0046, 0xFFFF, 0xFFFF,
0x0000, 0x010B, 0x0059, 0xFFFF, 0xFFFF,
0x0000, 0x0100, 0x006A, 0xFFFF, 0x023A,
0x0000, 0x00F4, 0x0078, 0xFFFF, 0x04AA,
0x0000, 0x00EC, 0x0084, 0xFFFF, 0x069F,
0x0000, 0x00E5, 0x008B, 0xFFFF, 0x0803,
0x0000, 0x00E0, 0x0090, 0xFFFF, 0x08C0,
0x0000, 0x00DE, 0x0093, 0xFFFF, 0x0928,
0x0000, 0x00DD, 0x0094, 0xFFFF, 0x099D,
0x0000, 0x00DD, 0x0095, 0xFFFF, 0x0A16,
0x0000, 0x00DD, 0x0096, 0xFFFF, 0x0A8D,
0x0000, 0x00DD, 0x0096, 0xFFFF, 0x0AF6,
0x0000, 0x00DE, 0x0096, 0xFFFF, 0x0B4A,
0x0000, 0x00DE, 0x0096, 0xFFFF, 0x0B84,
0x0000, 0x00DE, 0x0095, 0x020A, 0x0BA0,
0x0000, 0x00DF, 0x0095, 0x0524, 0x0B9E,
0x0000, 0x00E1, 0x0094, 0x07EC, 0x0B84,
0x0000, 0x00E2, 0x0093, 0x0A3F, 0x0B57,
0x0000, 0x00E3, 0x0091, 0x0BFB, 0x0B1F,
0x0000, 0x00E4, 0x0090, 0x0D00, 0x0AE5,
0x0000, 0x00E6, 0x008E, 0x0D6F, 0x0AA0,
0x0000, 0x00E8, 0x008C, 0x0D8B, 0x0A48,
0x0000, 0x00E9, 0x008A, 0x0D5D, 0x09DE,
0x0000, 0x00EC, 0x0088, 0x0CED, 0x096A,
0x0000, 0x00EE, 0x0086, 0x0C49, 0x08EA,
0x0000, 0x00EF, 0x0084, 0x0B76, 0x0863,
0x0000, 0x00F1, 0x0082, 0x0A80, 0x07D9,
0x0000, 0x00F4, 0x0080, 0x0970, 0x074E,
0x0000, 0x00F6, 0x007D, 0x084E, 0x06C7,
0x0000, 0x00F8, 0x007A, 0x0723, 0x0649,
0x0000, 0x00FB, 0x0078, 0x05F8, 0x05D7,
0x0000, 0x00FD, 0x0075, 0x04D6, 0x0579,
0x0000, 0x00FE, 0x0072, 0x03C3, 0x0532,
0x0000, 0x0100, 0x006F, 0x02C9, 0x0509,
0x0000, 0x0103, 0x006C, 0x01F0, 0x0504,
0x0000, 0x0105, 0x0069, 0x0141, 0x0525,
0x0000, 0x0106, 0x0067, 0x00C3, 0x0572,
0x0000, 0x0108, 0x0064, 0x006E, 0x0619,
0x0000, 0x010B, 0x0061, 0x0032, 0x0734,
0x0000, 0x010C, 0x005F, 0x000C, 0x08AF,
0x0000, 0x010D, 0x005D, 0xFFFF, 0x0A74,
0x0000, 0x0110, 0x005A, 0xFFFF, 0x0C70,
0x0000, 0x0111, 0x0058, 0xFFFF, 0x0E8E,
0x0000, 0x0112, 0x0056, 0x0014, 0x10B6,
0x0000, 0x0113, 0x0054, 0x0032, 0x12DA,
0x0000, 0x0115, 0x0052, 0x0056, 0x14E1,
0x0000, 0x0115, 0x0052, 0x007E, 0x16B9,
0x0000, 0x0116, 0x0050, 0x00A4, 0x184B,
0x0000, 0x0116, 0x0050, 0x00C6, 0x1983,
0x0000, 0x0117, 0x0050, 0x00DF, 0x1A4D,
0x0000, 0x0118, 0x0050, 0x00E9, 0x1A96,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};

View File

@@ -110,10 +110,10 @@ const GeoLayout bowser_geo_0000D8[] = {
const GeoLayout bowser_geo_000424[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_OPEN_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#else
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
@@ -200,10 +200,10 @@ const GeoLayout bowser_geo_000424[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#else
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@@ -226,10 +226,10 @@ const GeoLayout bowser_geo_000424[] = {
const GeoLayout bowser_geo_000770[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#else
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
@@ -316,10 +316,10 @@ const GeoLayout bowser_geo_000770[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#else
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@@ -341,7 +341,7 @@ const GeoLayout bowser_geo_000770[] = {
#ifndef VERSION_JP
// 0x0D000AB8
const GeoLayout bowser_shadow_geo[] = {
GEO_SHADOW(0x00, 0x9B, 400),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_RETURN(),
};
#endif
@@ -351,11 +351,10 @@ const GeoLayout bowser_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
#ifdef VERSION_JP
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
#ifndef VERSION_JP
GEO_SWITCH_CASE(3, geo_switch_anim_state),
#else
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
GEO_OPEN_NODE(),
GEO_NODE_START(),
@@ -384,19 +383,16 @@ const GeoLayout bowser_geo[] = {
};
// 0x0D000B18 / 0B40
const GeoLayout bowser2_geo[] = {
const GeoLayout bowser_geo_no_shadow[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
#ifdef VERSION_JP
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
#ifndef VERSION_JP
GEO_SWITCH_CASE(3, geo_switch_anim_state),
#else
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),

View File

@@ -1184,7 +1184,7 @@ const Gfx bowser_seg6_dl_0603B8D0[] = {
gsSPEndDisplayList(),
};
#ifndef VERSION_JP
#if BUGFIX_BOWSER_FADING_OUT
// 0x0603B948 - 0x0603B9C8
const Gfx bowser_seg6_dl_0603B948[] = {
gsDPPipeSync(),
@@ -2870,7 +2870,7 @@ const Gfx bowser_seg6_dl_06040210[] = {
gsSPEndDisplayList(),
};
#ifndef VERSION_JP
#if BUGFIX_BOWSER_FADING_OUT
// 0x06040358 - 0x06040428
const Gfx bowser_seg6_dl_06040358[] = {
gsDPPipeSync(),

View File

@@ -4,24 +4,12 @@
#include "types.h"
// amp
extern const GeoLayout amp_geo[];
extern const Gfx amp_seg8_dl_08002B68[];
extern const Gfx amp_seg8_dl_08002BA0[];
extern const Gfx amp_seg8_dl_08002C50[];
extern const Gfx amp_seg8_dl_08002C88[];
extern const Gfx amp_seg8_dl_08002D38[];
extern const Gfx amp_seg8_dl_08002D70[];
extern const Gfx amp_seg8_dl_08002E20[];
extern const Gfx amp_seg8_dl_08002E58[];
extern const Gfx amp_seg8_dl_08003910[];
extern const Gfx amp_seg8_dl_08003940[];
extern const Gfx amp_seg8_dl_08003970[];
extern const Gfx amp_seg8_dl_080039A0[];
extern const Gfx amp_seg8_dl_080039D0[];
extern const Gfx amp_seg8_dl_08003DA8[];
extern const Gfx amp_seg8_dl_08003DD8[];
extern const Gfx amp_seg8_dl_08003E00[];
extern const struct Animation *const amp_seg8_anims_08004034[];
extern const GeoLayout dAmpGeo[];
extern const Gfx dAmpElectricityDl[];
extern const Gfx dAmpEyeDl[];
extern const Gfx dAmpMouthDl[];
extern const Gfx dAmpBodyDl[];
extern const struct Animation *const dAmpAnimsList[];
// blue_coin_switch
extern const GeoLayout blue_coin_switch_geo[];

View File

@@ -18,7 +18,7 @@ UNUSED static const u64 binid_2 = 2;
#include "bowser/model.inc.c"
#include "bowser/anims/data.inc.c"
#include "bowser/anims/table.inc.c"
#include "bowser/flames_pos.inc.c"
#include "bowser/flames_data.inc.c"
UNUSED static const u64 binid_3 = 3;
#include "bomb/model.inc.c"

View File

@@ -17,7 +17,7 @@ extern const GeoLayout bowser_geo_000424[];
extern const GeoLayout bowser_geo_000770[];
extern const GeoLayout bowser_shadow_geo[];
extern const GeoLayout bowser_geo[];
extern const GeoLayout bowser2_geo[];
extern const GeoLayout bowser_geo_no_shadow[];
extern const Gfx bowser_seg6_dl_06039110[];
extern const Gfx bowser_seg6_dl_060391C8[];
extern const Gfx bowser_seg6_dl_06039260[];
@@ -90,7 +90,7 @@ extern const Gfx bowser_seg6_dl_06043548[];
extern const Gfx bowser_seg6_dl_06043648[];
extern const Gfx bowser_seg6_dl_06043698[];
extern const struct Animation *const bowser_seg6_anims_06057690[];
extern const s16 bowser_seg6_unkmoveshorts_060576FC[];
extern const s16 dBowserFlamesOrientationValues[];
// bowser_flame
extern const GeoLayout bowser_flames_geo[];

View File

@@ -55,6 +55,11 @@ ALIGNED8 static const Texture king_bobomb_seg5_texture_05004878[] = {
#include "actors/king_bobomb/king_bob-omb_eyes.rgba16.inc.c"
};
// 0x05005078 - Unused
ALIGNED8 static const Texture king_bobomb_seg5_texture_05005078[] = {
#include "actors/king_bobomb/king_bob-omb_eyes_blink.rgba16.inc.c"
};
// 0x05005878
ALIGNED8 static const Texture king_bobomb_seg5_texture_05005878[] = {
#include "actors/king_bobomb/king_bob-omb_hand.rgba16.inc.c"

View File

@@ -1,21 +1,21 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
.include "macros.inc"
#include "macros.inc"
# 0xA0000000-0xBFFFFFFF: KSEG1 direct map non-cache mirror of 0x00000000
# 0xA4000000-0xA4000FFF: RSP DMEM
// 0xA0000000-0xBFFFFFFF: KSEG1 direct map non-cache mirror of 0x00000000
// 0xA4000000-0xA4000FFF: RSP DMEM
# 0xA4000000-0xA400003F: ROM header
// 0xA4000000-0xA400003F: ROM header
.section .text, "ax"
# 0xA4000040-0xA4000B6F: IPL3
// 0xA4000040-0xA4000B6F: IPL3
# IPL3 entry point jumped to from IPL2
glabel ipl3_entry # 0xA4000040
// IPL3 entry point jumped to from IPL2
glabel ipl3_entry // 0xA4000040
mtc0 $zero, $13
mtc0 $zero, $9
mtc0 $zero, $11
@@ -797,7 +797,7 @@ func_A4000AD0:
nop
nop
# 0xA4000B70-0xA4000FFF: IPL3 Font
// 0xA4000B70-0xA4000FFF: IPL3 Font
glabel ipl3_font
.incbin "textures/ipl3_raw/ipl3_font_00.ia1"
.incbin "textures/ipl3_raw/ipl3_font_01.ia1"

View File

@@ -1,9 +1,9 @@
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
.include "macros.inc"
#include "macros.inc"
.section .text, "ax"
@@ -25,4 +25,4 @@ entry_point:
lui $sp, %hi(gIdleThreadStack) # Set the high half of the stack pointer to that of the idle thread stack
addiu $t2, %lo(main_func) # Get the low half of the init function address
jr $t2 # Jump to the init function
addiu $sp, %lo(gIdleThreadStack) # Set the low half of the stack pointer to that of the idle thread stack
addiu $sp, %lo(gIdleThreadStack) # Set the low half of the stack pointer to that of the idle thread stack

View File

@@ -14,22 +14,23 @@
.word 0x00000000 /* Checksum 2 */
.word 0x00000000 /* Unknown */
.word 0x00000000 /* Unknown */
.if VERSION_SH == 1
#ifdef VERSION_SH
.ascii "SUPERMARIO64 " /* Internal ROM name */
.else
#else
.ascii "SUPER MARIO 64 " /* Internal ROM name */
.endif
#endif
.word 0x00000000 /* Unknown */
.word 0x0000004E /* Cartridge */
.ascii "SM" /* Cartridge ID */
/* Region */
.if VERSION_US == 1
.ascii "E" /* NTSC-U (North America) */
.elseif (VERSION_JP == 1 || VERSION_SH == 1)
.ascii "J" /* NTSC-J (Japan) */
.else
#ifdef VERSION_EU
.ascii "P" /* PAL (Europe) */
.endif
#elif defined(VERSION_US)
.ascii "E" /* NTSC-U (North America) */
#else
.ascii "J" /* NTSC-J (Japan) */
#endif
.byte 0x00 /* Version */

View File

@@ -266,8 +266,9 @@
"actors/king_bobomb/king_bob-omb_arm.rgba16.png": [32,32,2048,{"jp":[1257760,8312],"us":[1264928,8312],"eu":[1136896,8312],"sh":[1113408,8312]}],
"actors/king_bobomb/king_bob-omb_body_unused.rgba16.png": [64,64,8192,{"jp":[1257760,10360],"us":[1264928,10360],"eu":[1136896,10360],"sh":[1113408,10360]}],
"actors/king_bobomb/king_bob-omb_crown_rim.rgba16.png": [32,16,1024,{"jp":[1257760,24696],"us":[1264928,24696],"eu":[1136896,24696],"sh":[1113408,24696]}],
"actors/king_bobomb/king_bob-omb_eyes.rgba16.png": [32,64,4096,{"jp":[1257760,18552],"us":[1264928,18552],"eu":[1136896,18552],"sh":[1113408,18552]}],
"actors/king_bobomb/king_bob-omb_hand.rgba16.png": [32,32,2048,{"jp":[1215456,64],"us":[1222624,64],"eu":[1094592,64],"sh":[1071104,64]}],
"actors/king_bobomb/king_bob-omb_eyes.rgba16.png": [32,32,2048,{"jp":[1257760,18552],"us":[1264928,18552],"eu":[1136896,18552],"sh":[1113408,18552]}],
"actors/king_bobomb/king_bob-omb_eyes_blink.rgba16.png": [32,32,2048,{"jp":[1257760,20600],"us":[1264928,20600],"eu":[1136896,20600],"sh":[1113408,20600]}],
"actors/king_bobomb/king_bob-omb_hand.rgba16.png": [32,32,2048,{"jp":[1257760,22648],"us":[1264928,22648],"eu":[1136896,22648],"sh":[1113408,22648]}],
"actors/king_bobomb/king_bob-omb_left_side.rgba16.png": [32,64,4096,{"jp":[1257760,33912],"us":[1264928,33912],"eu":[1136896,33912],"sh":[1113408,33912]}],
"actors/king_bobomb/king_bob-omb_right_side.rgba16.png": [32,64,4096,{"jp":[1257760,38008],"us":[1264928,38008],"eu":[1136896,38008],"sh":[1113408,38008]}],
"actors/klepto/klepto_beak.rgba16.png": [32,64,4096,{"jp":[1327760,4104],"us":[1334928,4104],"eu":[1206896,4104],"sh":[1183408,4104]}],

Some files were not shown because too many files have changed in this diff Show More