You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Refresh 14
This commit is contained in:
46
CHANGES
46
CHANGES
@@ -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.
|
||||
|
||||
68
Makefile
68
Makefile
@@ -304,12 +304,6 @@ else
|
||||
COPT := $(IDO_ROOT)/copt
|
||||
endif
|
||||
endif
|
||||
# Prefer gcc's cpp if installed on the system
|
||||
ifneq (,$(call find-command,cpp-10))
|
||||
CPP := cpp-10
|
||||
else
|
||||
CPP := cpp
|
||||
endif
|
||||
LD := $(CROSS)ld
|
||||
AR := $(CROSS)ar
|
||||
OBJDUMP := $(CROSS)objdump
|
||||
@@ -328,6 +322,15 @@ endif
|
||||
C_DEFINES := $(foreach d,$(DEFINES),-D$(d))
|
||||
DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
|
||||
|
||||
# Prefer clang as C preprocessor if installed on the system
|
||||
ifneq (,$(call find-command,clang))
|
||||
CPP := clang
|
||||
CPPFLAGS := -E -P -x c -Wno-trigraphs $(DEF_INC_CFLAGS)
|
||||
else
|
||||
CPP := cpp
|
||||
CPPFLAGS := -P -Wno-trigraphs $(DEF_INC_CFLAGS)
|
||||
endif
|
||||
|
||||
# Check code syntax with host compiler
|
||||
CC_CHECK := gcc
|
||||
CC_CHECK_CFLAGS := -fsyntax-only -fsigned-char $(CC_CFLAGS) $(TARGET_CFLAGS) -std=gnu90 -Wall -Wextra -Wno-format-security -Wno-main -DNON_MATCHING -DAVOID_UB $(DEF_INC_CFLAGS)
|
||||
@@ -343,9 +346,6 @@ endif
|
||||
ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
|
||||
RSPASMFLAGS := $(foreach d,$(DEFINES),-definelabel $(subst =, ,$(d)))
|
||||
|
||||
# C preprocessor flags
|
||||
CPPFLAGS := -P -Wno-trigraphs $(DEF_INC_CFLAGS)
|
||||
|
||||
ifeq ($(shell getconf LONG_BIT), 32)
|
||||
# Work around memory allocation bug in QEMU
|
||||
export QEMU_GUEST_BASE := 1
|
||||
@@ -437,7 +437,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
|
||||
@@ -521,11 +521,11 @@ $(BUILD_DIR)/levels/%/leveldata.elf: $(BUILD_DIR)/levels/%/leveldata.o $(BUILD_D
|
||||
$(V)$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map --just-symbols=$(BUILD_DIR)/bin/$(TEXTURE_BIN).elf -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf
|
||||
$(call print,Extracting compressionable data from:,$<,$@)
|
||||
$(call print,Extracting compressible data from:,$<,$@)
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
$(BUILD_DIR)/levels/%/leveldata.bin: $(BUILD_DIR)/levels/%/leveldata.elf
|
||||
$(call print,Extracting compressionable data from:,$<,$@)
|
||||
$(call print,Extracting compressible data from:,$<,$@)
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
# Compress binary file
|
||||
@@ -536,7 +536,7 @@ $(BUILD_DIR)/%.mio0: $(BUILD_DIR)/%.bin
|
||||
# convert binary mio0 to object file
|
||||
$(BUILD_DIR)/%.mio0.o: $(BUILD_DIR)/%.mio0
|
||||
$(call print,Converting MIO0 to ELF:,$<,$@)
|
||||
$(V)printf ".section .data\n\n.incbin \"$<\"\n" | $(AS) $(ASFLAGS) -o $@
|
||||
$(V)$(LD) -r -b binary $< -o $@
|
||||
|
||||
|
||||
#==============================================================================#
|
||||
@@ -548,7 +548,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
|
||||
@@ -556,8 +556,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"
|
||||
@@ -593,7 +593,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 >> $@
|
||||
|
||||
@@ -624,7 +624,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"|' > $@
|
||||
|
||||
# Run asm_processor on files that have NON_MATCHING code
|
||||
ifeq ($(NON_MATCHING),0)
|
||||
@@ -667,46 +667,36 @@ ifeq ($(COMPILER),ido)
|
||||
$(BUILD_DIR)/lib/src/string.o: OPT_FLAGS := -O2
|
||||
$(BUILD_DIR)/lib/src/gu%.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/al%.o: OPT_FLAGS := -O3
|
||||
# For the asm-processor, since it doesn't support -O3. Probably not actually compiled with these flags.
|
||||
|
||||
ifeq ($(VERSION),sh)
|
||||
$(BUILD_DIR)/lib/src/unk_shindou_file.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/func_sh_80304D20.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/_Printf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/contramread.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/osPfsIsPlug.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/osAiSetFrequency.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/contramwrite.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Printf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/osDriveRomInit.o: OPT_FLAGS := -g
|
||||
endif
|
||||
ifeq ($(VERSION),eu)
|
||||
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/_Printf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O3
|
||||
|
||||
# Enable loop unrolling except for external.c (external.c might also have used
|
||||
# unrolling, but it makes one loop harder to match).
|
||||
# For all audio files other than external.c and port_eu.c, put string literals
|
||||
# in .data. (In Shindou, the port_eu.c string literals also moved to .data.)
|
||||
$(BUILD_DIR)/src/audio/%.o: OPT_FLAGS := -O2 -use_readwrite_const
|
||||
$(BUILD_DIR)/src/audio/port_eu.o: OPT_FLAGS := -O2
|
||||
$(BUILD_DIR)/src/audio/external.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
|
||||
endif
|
||||
ifeq ($(VERSION_JP_US),true)
|
||||
$(BUILD_DIR)/src/audio/%.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
|
||||
$(BUILD_DIR)/src/audio/load.o: OPT_FLAGS := -O2 -framepointer -Wo,-loopunroll,0
|
||||
endif
|
||||
ifeq ($(VERSION_JP_US),true)
|
||||
$(BUILD_DIR)/src/audio/load.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -framepointer
|
||||
# The source-to-source optimizer copt is enabled for audio. This makes it use
|
||||
# acpp, which needs -Wp,-+ to handle C++-style comments.
|
||||
# All other files than external.c should really use copt, but only a few have
|
||||
# been matched so far.
|
||||
$(BUILD_DIR)/src/audio/effects.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -sopt,-inline=sequence_channel_process_sound,-scalaroptimize=1 -Wp,-+
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -O2 -sopt,-scalaroptimize=1 -Wp,-+
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -sopt,-scalaroptimize=1 -Wp,-+
|
||||
endif
|
||||
$(BUILD_DIR)/src/audio/external.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
|
||||
|
||||
# Add a target for build/eu/src/audio/*.copt to make it easier to see debug
|
||||
$(BUILD_DIR)/src/audio/%.acpp: src/audio/%.c
|
||||
@@ -720,7 +710,7 @@ endif
|
||||
# Assemble assembly code
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
$(call print,Assembling:,$<,$@)
|
||||
$(V)$(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $<
|
||||
$(V)$(CPP) $(CPPFLAGS) $< | $(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@
|
||||
|
||||
# Assemble RSP assembly code
|
||||
$(BUILD_DIR)/rsp/%.bin $(BUILD_DIR)/rsp/%_data.bin: rsp/%.s
|
||||
@@ -736,7 +726,7 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
|
||||
$(BUILD_DIR)/libultra.a: $(ULTRA_O_FILES)
|
||||
@$(PRINT) "$(GREEN)Linking libultra: $(BLUE)$@ $(NO_COL)\n"
|
||||
$(V)$(AR) rcs -o $@ $(ULTRA_O_FILES)
|
||||
$(V)$(TOOLS_DIR)/patch_libultra_math $@
|
||||
$(V)$(TOOLS_DIR)/patch_elf_32bit $@
|
||||
|
||||
# Link libgoddard
|
||||
$(BUILD_DIR)/libgoddard.a: $(GODDARD_O_FILES)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -95,10 +95,10 @@ Resulting artifacts can be found in the `build` directory.
|
||||
|
||||
The full list of configurable variables are listed below, with the default being the first listed:
|
||||
|
||||
* ``VERSION``: ``us``, ``jp``, ``eu``, ``sh`` (WIP)
|
||||
* ``VERSION``: ``us``, ``jp``, ``eu``, ``sh``
|
||||
* ``GRUCODE``: ``f3d_old``, ``f3d_new``, ``f3dex``, ``f3dex2``, ``f3dzex``
|
||||
* ``COMPARE``: ``1`` (compare ROM hash), ``0`` (do not compare ROM hash)
|
||||
* ``NON_MATCHING``: Use functionally equivalent C implementations for non-matchings (Currently there aren't any non-matchings, but this will apply to Shindou and iQue). Also will avoid instances of undefined behavior.
|
||||
* ``NON_MATCHING``: Use functionally equivalent C implementations for non-matchings (Currently there aren't any non-matchings, but this will apply to iQue). Also will avoid instances of undefined behavior.
|
||||
* ``CROSS``: Cross-compiler tool prefix (Example: ``mips64-elf-``).
|
||||
|
||||
### macOS
|
||||
@@ -111,7 +111,7 @@ With macOS, you may either use Homebrew or [Docker](#docker-installation).
|
||||
Install [Homebrew](https://brew.sh) and the following dependencies:
|
||||
```
|
||||
brew update
|
||||
brew install capstone coreutils gcc make pkg-config tehzz/n64-dev/mips64-elf-binutils
|
||||
brew install capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils
|
||||
```
|
||||
|
||||
#### Step 2: Copy baserom(s) for asset extraction
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
@@ -1 +1 @@
|
||||
#include "anim_0800401C.inc.c"
|
||||
#include "animation.inc.c"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// 0x08004034
|
||||
const struct Animation *const amp_seg8_anims_08004034[] = {
|
||||
&_seg8_anim_0800401C,
|
||||
const struct Animation *const dAmpAnimsList[] = {
|
||||
&dAmpAnimation,
|
||||
};
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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(&_seg8_lights_08002EC8.l, 1),
|
||||
gsSPLight(&_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(&_seg8_lights_08002EC8.l, 1),
|
||||
gsSPLight(&_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(&_seg8_lights_08002EC8.l, 1),
|
||||
gsSPLight(&_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(&_seg8_lights_08002EC8.l, 1),
|
||||
gsSPLight(&_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(),
|
||||
};
|
||||
|
||||
98
actors/bowser/flames_data.inc.c
Normal file
98
actors/bowser/flames_data.inc.c
Normal 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,
|
||||
};
|
||||
@@ -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,
|
||||
};
|
||||
@@ -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),
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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[];
|
||||
|
||||
@@ -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"
|
||||
|
||||
22
asm/boot.s
22
asm/boot.s
@@ -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"
|
||||
|
||||
@@ -1,61 +1,17 @@
|
||||
# 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"
|
||||
|
||||
# This file is handwritten.
|
||||
// This file is handwritten.
|
||||
|
||||
glabel decompress
|
||||
.if VERSION_SH == 1
|
||||
lw $a3, 8($a0)
|
||||
lw $t9, 0xc($a0)
|
||||
lw $t8, 4($a0)
|
||||
add $a3, $a3, $a0
|
||||
add $t9, $t9, $a0
|
||||
move $a2, $zero
|
||||
addi $a0, $a0, 0x10
|
||||
add $t8, $t8, $a1
|
||||
.L802772C0:
|
||||
bnel $a2, $zero, .L802772D8
|
||||
slt $t1, $t0, $zero
|
||||
lw $t0, ($a0)
|
||||
li $a2, 32
|
||||
addi $a0, $a0, 4
|
||||
slt $t1, $t0, $zero
|
||||
.L802772D8:
|
||||
beql $t1, $zero, .L802772F8
|
||||
lhu $t2, ($a3)
|
||||
lb $t2, ($t9)
|
||||
addi $t9, $t9, 1
|
||||
addi $a1, $a1, 1
|
||||
b .L80277324
|
||||
sb $t2, -1($a1)
|
||||
lhu $t2, ($a3)
|
||||
.L802772F8:
|
||||
addi $a3, $a3, 2
|
||||
srl $t3, $t2, 0xc
|
||||
andi $t2, $t2, 0xfff
|
||||
sub $t1, $a1, $t2
|
||||
addi $t3, $t3, 3
|
||||
.L8027730C:
|
||||
lb $t2, -1($t1)
|
||||
addi $t3, $t3, -1
|
||||
addi $t1, $t1, 1
|
||||
addi $a1, $a1, 1
|
||||
bnez $t3, .L8027730C
|
||||
sb $t2, -1($a1)
|
||||
.L80277324:
|
||||
sll $t0, $t0, 1
|
||||
bne $a1, $t8, .L802772C0
|
||||
addi $a2, $a2, -1
|
||||
jr $ra
|
||||
nop
|
||||
.elseif VERSION_EU == 1
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH)
|
||||
lw $a3, 8($a0)
|
||||
lw $t9, 0xc($a0)
|
||||
lw $t8, 4($a0)
|
||||
@@ -99,7 +55,7 @@ glabel decompress
|
||||
addi $a2, $a2, -1
|
||||
jr $ra
|
||||
nop
|
||||
.else
|
||||
#else
|
||||
lw $t8, 4($a0)
|
||||
lw $a3, 8($a0)
|
||||
lw $t9, 0xc($a0)
|
||||
@@ -146,4 +102,4 @@ glabel decompress
|
||||
nop
|
||||
jr $ra
|
||||
nop
|
||||
.endif
|
||||
#endif
|
||||
|
||||
24
asm/entry.s
24
asm/entry.s
@@ -1,29 +1,29 @@
|
||||
# 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"
|
||||
|
||||
glabel entry_point
|
||||
lui $t0, %hi(_mainSegmentNoloadStart) # $t0, 0x8034
|
||||
lui $t1, %lo(_mainSegmentNoloadSizeHi) # lui $t1, 2
|
||||
addiu $t0, %lo(_mainSegmentNoloadStart) # addiu $t0, $t0, -0x6df0
|
||||
ori $t1, %lo(_mainSegmentNoloadSizeLo) # ori $t1, $t1, 0xcee0
|
||||
lui $t0, %hi(_mainSegmentNoloadStart) // $t0, 0x8034
|
||||
lui $t1, %lo(_mainSegmentNoloadSizeHi) // lui $t1, 2
|
||||
addiu $t0, %lo(_mainSegmentNoloadStart) // addiu $t0, $t0, -0x6df0
|
||||
ori $t1, %lo(_mainSegmentNoloadSizeLo) // ori $t1, $t1, 0xcee0
|
||||
.L80246010:
|
||||
addi $t1, $t1, -8
|
||||
sw $zero, ($t0)
|
||||
sw $zero, 4($t0)
|
||||
bnez $t1, .L80246010
|
||||
addi $t0, $t0, 8
|
||||
lui $t2, %hi(main_func) # $t2, 0x8024
|
||||
lui $sp, %hi(gIdleThreadStack) # $sp, 0x8020
|
||||
addiu $t2, %lo(main_func) # addiu $t2, $t2, 0x6dc4
|
||||
lui $t2, %hi(main_func) // $t2, 0x8024
|
||||
lui $sp, %hi(gIdleThreadStack) // $sp, 0x8020
|
||||
addiu $t2, %lo(main_func) // addiu $t2, $t2, 0x6dc4
|
||||
jr $t2
|
||||
addiu $sp, %lo(gIdleThreadStack) # addiu $sp, $sp, 0xa00
|
||||
addiu $sp, %lo(gIdleThreadStack) // addiu $sp, $sp, 0xa00
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user