Refresh 7

This commit is contained in:
n64 2020-03-01 22:42:52 -05:00
parent 9a801cb96d
commit 06ec56df7f
414 changed files with 7706 additions and 10210 deletions

40
CHANGES
View file

@ -1,3 +1,43 @@
Refresh #7
1.) update README.md (#861)
2.) [eu] fix decompilation bugs in synthesis_process_note (#862)
3.) Label and document Snufit.inc.c (#863)
4.) Label and document Snufit.inc.c (#863)
5.) Match append_bubble_vertex_buffer, append_snowflake_vertex_buffer (#860)
6.) Compile audio/effects.c with -sopt (#870)
7.) Match handle_dialog_text_and_pages (#872)
8.) Remove improperly used LEVEL_SA define. (#875)
9.) Remove unused EU ASM files (#873)
10.) Shindou build flag support (#876)
11.) The Big Function PR (Part 1) (#864)
12.) "Re-document" file_select and star_select for EU (#877)
13.) Document paintings.c (#868)
14.) Minor interaction.c labelling/documentation. (#882)
15.) Match synthesis_execute, prepare_reverb_ring_buffer, func_eu_802e00d8 (#886)
16.) The Big Function PR (Part 2) (#874)
17.) Additional painting documentation (#883)
18.) Some EU audio labelling (#885)
19.) Bring synthesis_do_one_audio_update a bit closer to matching (#887)
20.) Misleading comment, this actually contols Bowser's init action (#889)
21.) Match synthesis_do_one_audio_update (#890)
22.) Remove unneeded if(1) in synthesis_do_one_audio_update (#891)
23.) Match synthesis_resample_and_mix_reverb (#893)
24.) Set LANG=C (#896)
25.) Match note_apply_headset_pan_effects (#897)
26.) Match play_sequence (#898)
27.) Match sequence_channel_enable (#899)
28.) Match sequence_player_process_sequence (#900)
29.) Match (eu) alloc_bank_or_seq (#901)
30.) Match alloc_bank_or_seq (#903)
31.) Update README.md (again)
32.) Documented behaviour/fish.inc.c & blue_fish.inc.c (#894)
33.) Labelled 4 behavior files, made object_helper functions consistent (#881)
34.) Add a make target for .copt (#902)
35.) The Big Function PR (Part 3) (#888)
36.) The Big Function PR (Part 4) (#906)
37.) Rename src/audio/memory.c -> heap.c (#907)
38.) Fix BBH texture (#908)
Refresh #6
1.) Make tools work on MinGW (#804)
2.) Document mario_misc (#628)

View file

@ -42,11 +42,22 @@ ifeq ($(VERSION),eu)
GRUCODE_CFLAGS := -DF3D_NEW
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
TARGET := sm64.eu
else
ifeq ($(VERSION),sh)
$(warning Building SH is experimental and is prone to breaking. Try at your own risk.)
VERSION_CFLAGS := -DVERSION_SH
VERSION_ASFLAGS := --defsym VERSION_SH=1
GRUCODE_CFLAGS := -DF3D_NEW
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
TARGET := sm64.sh
# TODO: GET RID OF THIS!!! We should mandate assets for Shindou like EU but we dont have the addresses extracted yet so we'll just pretend you have everything extracted for now.
NOEXTRACT := 1
else
$(error unknown version "$(VERSION)")
endif
endif
endif
endif
# Microcode
@ -147,9 +158,13 @@ MIPSISET := -mips2 -32
ifeq ($(VERSION),eu)
OPT_FLAGS := -O2
else
ifeq ($(VERSION),sh)
OPT_FLAGS := -O2
else
OPT_FLAGS := -g
endif
endif
# File dependencies and variables for specific files
include Makefile.split
@ -163,11 +178,20 @@ GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
ULTRA_S_FILES := $(foreach dir,$(ULTRA_ASM_DIRS),$(wildcard $(dir)/*.s))
GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c
ifeq ($(VERSION),sh)
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
SOUND_SEQUENCE_FILES := $(wildcard sound/sequences/jp/*.m64) \
$(wildcard sound/sequences/*.m64) \
$(foreach file,$(wildcard sound/sequences/jp/*.s),$(BUILD_DIR)/$(file:.s=.m64)) \
$(foreach file,$(wildcard sound/sequences/*.s),$(BUILD_DIR)/$(file:.s=.m64))
else
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
SOUND_SEQUENCE_FILES := $(wildcard sound/sequences/$(VERSION)/*.m64) \
$(wildcard sound/sequences/*.m64) \
$(foreach file,$(wildcard sound/sequences/$(VERSION)/*.s),$(BUILD_DIR)/$(file:.s=.m64)) \
$(foreach file,$(wildcard sound/sequences/*.s),$(BUILD_DIR)/$(file:.s=.m64))
endif
SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
SOUND_SAMPLE_AIFFS := $(foreach dir,$(SOUND_SAMPLE_DIRS),$(wildcard $(dir)/*.aiff))
SOUND_SAMPLE_TABLES := $(foreach file,$(SOUND_SAMPLE_AIFFS),$(BUILD_DIR)/$(file:.aiff=.table))
@ -233,7 +257,7 @@ endif
INCLUDE_CFLAGS := -I include -I $(BUILD_DIR) -I $(BUILD_DIR)/include -I src -I .
# Check code syntax with host compiler
CC_CHECK := gcc -fsyntax-only -fsigned-char $(CC_CFLAGS) $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) -std=gnu90 -Wall -Wextra -Wno-format-security -DNON_MATCHING -DAVOID_UB $(VERSION_CFLAGS) $(GRUCODE_CFLAGS)
CC_CHECK := gcc -fsyntax-only -fsigned-char $(CC_CFLAGS) $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) -std=gnu90 -Wall -Wextra -Wno-format-security -Wno-main -DNON_MATCHING -DAVOID_UB $(VERSION_CFLAGS) $(GRUCODE_CFLAGS)
ASFLAGS := -march=vr4300 -mabi=32 -I include -I $(BUILD_DIR) $(VERSION_ASFLAGS) $(GRUCODE_ASFLAGS)
CFLAGS = -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -Xfullwarn -signed $(OPT_FLAGS) $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(MIPSISET) $(GRUCODE_CFLAGS)
@ -250,6 +274,9 @@ else
CC_CHECK += -m32
endif
# Prevent a crash with -sopt
export LANG := C
####################### Other Tools #########################
# N64 tools
@ -324,12 +351,18 @@ $(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/us/define_courses.inc.c
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/de/define_courses.inc.c
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/fr/define_courses.inc.c
else
ifeq ($(VERSION),sh)
TEXT_DIRS := text/jp
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/jp/define_text.inc.c
else
TEXT_DIRS := text/$(VERSION)
# non-EU encoded text inserted into segment 0x02
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/$(VERSION)/define_text.inc.c
endif
endif
$(BUILD_DIR)/text/%/define_courses.inc.c: text/define_courses.inc.c text/%/courses.h
$(CPP) $(VERSION_CFLAGS) $< -o $@ -I text/$*/
@ -422,8 +455,13 @@ $(SOUND_BIN_DIR)/sound_data.ctl: sound/sound_banks/ $(SOUND_BANK_FILES) $(SOUND_
$(SOUND_BIN_DIR)/sound_data.tbl: $(SOUND_BIN_DIR)/sound_data.ctl
@true
ifeq ($(VERSION),sh)
$(SOUND_BIN_DIR)/sequences.bin: $(SOUND_BANK_FILES) sound/sequences.json sound/sequences/ sound/sequences/jp/ $(SOUND_SEQUENCE_FILES) $(ENDIAN_BITWIDTH)
$(PYTHON) tools/assemble_sound.py --sequences $@ $(SOUND_BIN_DIR)/bank_sets sound/sound_banks/ sound/sequences.json $(SOUND_SEQUENCE_FILES) $(VERSION_CFLAGS) $$(cat $(ENDIAN_BITWIDTH))
else
$(SOUND_BIN_DIR)/sequences.bin: $(SOUND_BANK_FILES) sound/sequences.json sound/sequences/ sound/sequences/$(VERSION)/ $(SOUND_SEQUENCE_FILES) $(ENDIAN_BITWIDTH)
$(PYTHON) tools/assemble_sound.py --sequences $@ $(SOUND_BIN_DIR)/bank_sets sound/sound_banks/ sound/sequences.json $(SOUND_SEQUENCE_FILES) $(VERSION_CFLAGS) $$(cat $(ENDIAN_BITWIDTH))
endif
$(SOUND_BIN_DIR)/bank_sets: $(SOUND_BIN_DIR)/sequences.bin
@true
@ -477,6 +515,17 @@ $(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O3
$(BUILD_DIR)/src/audio/%.o: OPT_FLAGS := -O2
$(BUILD_DIR)/src/audio/load.o: OPT_FLAGS := -O2
$(BUILD_DIR)/src/audio/external.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
else
# The source-to-source optimizer copt is enabled for audio. This makes it use
# acpp, which needs -Wp,-+ to handle C++-style comments.
$(BUILD_DIR)/src/audio/effects.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -sopt,-inline=sequence_channel_process_sound,-scalaroptimize=1 -Wp,-+
# Add a target for build/eu/src/audio/*.copt to make it easier to see debug
$(BUILD_DIR)/src/audio/%.acpp: src/audio/%.c
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/acpp $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -D__sgi -+ $< > $@
$(BUILD_DIR)/src/audio/%.copt: $(BUILD_DIR)/src/audio/%.acpp
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt -signed -I=$< -CMP=$@ -cp=i -scalaroptimize=1
endif
ifeq ($(NON_MATCHING),0)

View file

@ -63,7 +63,7 @@ MOLE_DIRS := monty_mole_hole monty_mole smoke ukiki fwoosh
LAKITU_DIRS := lakitu_cameraman toad mips boo_castle
PEACH_DIRS := bird peach yoshi
BOWSER_DIRS := bowser_flame impact_ring yellow_sphere bowser bomb impact_smoke
MARIO_DIRS := mario bubble walk_smoke burn_smoke stomp_smoke water_waves sparkle water_splash white_particle_small sparkle_animation
MARIO_DIRS := mario bubble walk_smoke burn_smoke stomp_smoke water_wave sparkle water_splash white_particle_small sparkle_animation
# Actor Files
AMP_CHUCKYA_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))

View file

@ -1,14 +1,15 @@
# Super Mario 64
This repo contains a full decompilation of Super Mario 64 (J) and (U).
This repo contains a full decompilation of Super Mario 64 (J), (U), and (E).
The source and data have been decompiled but complete naming and documentation
all of the code and data is still a work in progress. Decompiling the (E) ROM
all of the code and data is still a work in progress. Decompiling the Shindou ROM
is also an ongoing effort.
It builds the following ROMs:
* sm64.jp.z64 `sha1: 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51`
* sm64.us.z64 `sha1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce`
* sm64.eu.z64 `sha1: 4ac5721683d0e0b6bbb561b58a71740845dceea9`
This repo does not include all assets necessary for compiling the ROMs.
A prior copy of the game is required to extract the required assets.

View file

@ -4,7 +4,7 @@ const GeoLayout boo_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_seg5_dl_0500C1B0),

View file

@ -4,7 +4,7 @@ const GeoLayout boo_castle_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_castle_seg6_dl_06017CE0),

View file

@ -23,7 +23,7 @@ const GeoLayout bowser_geo_0000D8[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, Geo18_802B798C),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 118, 67, 105, NULL),
@ -135,7 +135,7 @@ const GeoLayout bowser_geo_000424[] = {
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, Geo18_802B798C),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
@ -251,7 +251,7 @@ const GeoLayout bowser_geo_000770[] = {
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, Geo18_802B798C),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
@ -350,7 +350,7 @@ const GeoLayout bowser_shadow_geo[] = {
const GeoLayout bowser_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
#ifdef VERSION_JP
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
@ -360,20 +360,20 @@ const GeoLayout bowser_geo[] = {
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000424),
GEO_CLOSE_NODE(),
#ifndef VERSION_JP
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
#endif
@ -387,7 +387,7 @@ const GeoLayout bowser_geo[] = {
const GeoLayout bowser2_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
#ifdef VERSION_JP
GEO_SWITCH_CASE(2, geo_switch_anim_state),
@ -399,20 +399,20 @@ const GeoLayout bowser2_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000770),
GEO_CLOSE_NODE(),
#ifndef VERSION_JP
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B7D44),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
#endif

View file

@ -18,7 +18,7 @@ const GeoLayout bowser_key_cutscene_geo[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802BA2B0),
GEO_ASM(0, geo_scale_bowser_key),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_key_dl),

View file

@ -99,7 +99,7 @@ const GeoLayout chuckya_geo[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A510),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, Geo18_802A719C),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -16,7 +16,7 @@
#include "stomp_smoke/model.inc.c"
#include "water_waves/model.inc.c"
#include "water_wave/model.inc.c"
#include "sparkle/model.inc.c"

View file

@ -283,7 +283,7 @@ extern const Gfx sparkles_animation_seg4_dl_04035348[];
extern const Gfx sparkles_animation_seg4_dl_04035360[];
// stomp_smoke
extern const GeoLayout spot_on_ground_geo[];
extern const GeoLayout small_water_splash_geo[];
extern const GeoLayout mario_TODO_geo_0000E0[];
extern const Gfx stomp_smoke_seg4_dl_04025148[];
extern const Gfx stomp_smoke_seg4_dl_04025190[];
@ -326,15 +326,15 @@ extern const Gfx water_splash_seg4_dl_040326D0[];
extern const Gfx water_splash_seg4_dl_040326E8[];
// water_waves
extern const GeoLayout water_waves_surface_geo[];
extern const GeoLayout water_waves_geo[];
extern const Gfx water_waves_seg4_dl_04027358[];
extern const Gfx water_waves_seg4_dl_040273A0[];
extern const Gfx water_waves_seg4_dl_040273D8[];
extern const Gfx water_waves_seg4_dl_040273F0[];
extern const Gfx water_waves_seg4_dl_04027408[];
extern const Gfx water_waves_seg4_dl_04027420[];
extern const Gfx water_waves_seg4_dl_04027438[];
extern const GeoLayout idle_water_wave_geo[];
extern const GeoLayout wave_trail_geo[];
extern const Gfx water_wave_seg4_dl_04027358[];
extern const Gfx water_wave_seg4_dl_040273A0[];
extern const Gfx water_wave_seg4_dl_040273D8[];
extern const Gfx water_wave_seg4_dl_040273F0[];
extern const Gfx water_wave_seg4_dl_04027408[];
extern const Gfx water_wave_seg4_dl_04027420[];
extern const Gfx water_wave_seg4_dl_04027438[];
// white_particle_small
extern const Gfx white_particle_small_dl_begin[];

View file

@ -11,7 +11,7 @@
#include "walk_smoke/geo.inc.c"
#include "burn_smoke/geo.inc.c"
#include "stomp_smoke/geo.inc.c"
#include "water_waves/geo.inc.c"
#include "water_wave/geo.inc.c"
#include "sparkle/geo.inc.c"
#include "water_splash/geo.inc.c"
#include "sparkle_animation/geo.inc.c"

View file

@ -2,7 +2,7 @@
const GeoLayout invisible_bowser_accessory_geo[] = {
GEO_CULLING_RADIUS(10000),
GEO_OPEN_NODE(),
GEO_ASM(20, Geo18_8029D924),
GEO_ASM(20, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, impact_ring_seg6_dl_0601EAC0),
GEO_CLOSE_NODE(),
GEO_END(),

View file

@ -2,7 +2,7 @@
const GeoLayout bowser_impact_smoke_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(5, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062B38),

View file

@ -80,7 +80,7 @@ const GeoLayout king_bobomb_geo[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A6C0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, Geo18_802A719C),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -31,7 +31,7 @@ const GeoLayout klepto_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802A45E4),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@ -39,9 +39,9 @@ const GeoLayout klepto_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802A45E4),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302B870),
GEO_ASM(0, Geo18_802A45E4),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_ALPHA, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302BA18),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@ -49,7 +49,7 @@ const GeoLayout klepto_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802A45E4),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, transparent_star_seg3_dl_0302C620),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -23,7 +23,7 @@ const GeoLayout enemy_lakitu_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, -72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_050134A8),
GEO_ASM(0, Geo18_8029D890),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -105,7 +105,7 @@ const GeoLayout mario_geo_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_butt), // starts sharing solid color with mario_torso (blue)
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -222,7 +222,7 @@ const GeoLayout mario_geo_medium_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_medium_poly_butt), // starts sharing solid color with mario_torso (blue)
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -389,7 +389,7 @@ const GeoLayout mario_geo_low_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_low_poly_butt), // starts sharing solid color with mario_torso (blue)
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -560,7 +560,7 @@ const GeoLayout mario_vanish_geo_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -677,7 +677,7 @@ const GeoLayout mario_vanish_geo_medium_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_medium_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -844,7 +844,7 @@ const GeoLayout mario_vanish_geo_low_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_low_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -995,7 +995,7 @@ const GeoLayout mario_metal_geo_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_metal_butt), // starts sharing metal texture with the dls below
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -1112,7 +1112,7 @@ const GeoLayout mario_metal_geo_medium_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_metal_medium_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -1259,7 +1259,7 @@ const GeoLayout mario_metal_geo_low_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mario_metal_low_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -1410,7 +1410,7 @@ const GeoLayout mario_metal_vanish_geo_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_metal_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -1527,7 +1527,7 @@ const GeoLayout mario_metal_vanish_geo_medium_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_metal_medium_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
@ -1677,7 +1677,7 @@ const GeoLayout mario_metal_vanish_geo_low_poly_body[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, mario_metal_low_poly_butt),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B1BB0),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),

View file

@ -4,7 +4,7 @@ const GeoLayout marios_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
@ -21,7 +21,7 @@ const GeoLayout marios_metal_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022FF8),
@ -38,7 +38,7 @@ const GeoLayout marios_wing_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
@ -62,7 +62,7 @@ const GeoLayout marios_winged_metal_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),

View file

@ -2,7 +2,7 @@
const GeoLayout mist_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000880),
GEO_CLOSE_NODE(),
GEO_END(),
@ -12,7 +12,7 @@ const GeoLayout mist_geo[] = {
const GeoLayout white_puff_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000920),
GEO_CLOSE_NODE(),
GEO_END(),

View file

@ -44,7 +44,7 @@ const GeoLayout moneybag_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, moneybag_geo_000000),

View file

@ -30,7 +30,7 @@ const GeoLayout monty_mole_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050039D0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 0, 0, monty_mole_seg5_dl_05003F50),
GEO_ASM(0, Geo18_8029D890),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -140,7 +140,7 @@ const GeoLayout peach_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, peach_geo_000098),

View file

@ -37,7 +37,7 @@ const GeoLayout mr_blizzard_hidden_geo[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, snowman_seg5_dl_0500C500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, snowman_seg5_dl_0500CAA8),
GEO_ASM(0, Geo18_8029D890),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 356, 0, 0, NULL),

View file

@ -4,7 +4,7 @@ const GeoLayout snufit_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8030D93C),
GEO_ASM(0, geo_snufit_move_mask),
GEO_TRANSLATE_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009748),
@ -14,7 +14,7 @@ const GeoLayout snufit_geo[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009B68),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8030D9AC),
GEO_ASM(0, geo_snufit_scale_body),
GEO_SCALE(0x00, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snufit_seg6_dl_06009A10),

View file

@ -1,7 +1,8 @@
// 0x1700009C
const GeoLayout spot_on_ground_geo[] = {
const GeoLayout small_water_splash_geo[] = {
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
// TODO: Rename these display lists
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040251F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025210),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025228),

View file

@ -8,7 +8,7 @@ const GeoLayout sushi_geo[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, sushi_seg5_dl_0500A768),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_802B798C),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 201, 0, 0, sushi_seg5_dl_05009DD0),

View file

@ -126,7 +126,7 @@ const GeoLayout toad_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, Geo18_8029D924),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, toad_geo_000114),

View file

@ -4,7 +4,7 @@ const GeoLayout water_ring_geo[] = {
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, water_ring_seg6_dl_06013AC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -0,0 +1,29 @@
// 0x17000124
const GeoLayout idle_water_wave_geo[] = {
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_040273F0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027408),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027408),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x17000168
const GeoLayout wave_trail_geo[] = {
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_040273F0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027408),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_wave_seg4_dl_04027438),
GEO_CLOSE_NODE(),
GEO_END(),
};

View file

@ -1,7 +1,7 @@
// Water Waves
// 0x04025318
static const Vtx water_waves_seg4_vertex_04025318[] = {
static const Vtx water_wave_seg4_vertex_04025318[] = {
{{{ -64, 0, 64}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xc8}}},
{{{ 64, 0, 64}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xc8}}},
{{{ 64, 0, -64}, 0, { 992, 992}, {0xff, 0xff, 0xff, 0xc8}}},
@ -9,27 +9,27 @@ static const Vtx water_waves_seg4_vertex_04025318[] = {
};
// 0x04025358
ALIGNED8 static const u8 water_waves_seg4_texture_04025358[] = {
#include "actors/water_waves/water_waves_0.ia16.inc.c"
ALIGNED8 static const u8 water_wave_seg4_texture_04025358[] = {
#include "actors/water_wave/water_wave_0.ia16.inc.c"
};
// 0x04025B58
ALIGNED8 static const u8 water_waves_seg4_texture_04025B58[] = {
#include "actors/water_waves/water_waves_1.ia16.inc.c"
ALIGNED8 static const u8 water_wave_seg4_texture_04025B58[] = {
#include "actors/water_wave/water_wave_1.ia16.inc.c"
};
// 0x04026358
ALIGNED8 static const u8 water_waves_seg4_texture_04026358[] = {
#include "actors/water_waves/water_waves_2.ia16.inc.c"
ALIGNED8 static const u8 water_wave_seg4_texture_04026358[] = {
#include "actors/water_wave/water_wave_2.ia16.inc.c"
};
// 0x04026B58
ALIGNED8 static const u8 water_waves_seg4_texture_04026B58[] = {
#include "actors/water_waves/water_waves_3.ia16.inc.c"
ALIGNED8 static const u8 water_wave_seg4_texture_04026B58[] = {
#include "actors/water_wave/water_wave_3.ia16.inc.c"
};
// 0x04027358 - 0x040273A0
const Gfx water_waves_seg4_dl_04027358[] = {
const Gfx water_wave_seg4_dl_04027358[] = {
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
@ -42,7 +42,7 @@ const Gfx water_waves_seg4_dl_04027358[] = {
};
// 0x040273A0 - 0x040273D8
const Gfx water_waves_seg4_dl_040273A0[] = {
const Gfx water_wave_seg4_dl_040273A0[] = {
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsDPPipeSync(),
gsSPTexture(0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF),
@ -52,36 +52,36 @@ const Gfx water_waves_seg4_dl_040273A0[] = {
};
// 0x040273D8 - 0x040273F0
const Gfx water_waves_seg4_dl_040273D8[] = {
gsSPDisplayList(water_waves_seg4_dl_04027358),
gsSPVertex(water_waves_seg4_vertex_04025318, 4, 0),
gsSPBranchList(water_waves_seg4_dl_040273A0),
const Gfx water_wave_seg4_dl_040273D8[] = {
gsSPDisplayList(water_wave_seg4_dl_04027358),
gsSPVertex(water_wave_seg4_vertex_04025318, 4, 0),
gsSPBranchList(water_wave_seg4_dl_040273A0),
};
// 0x040273F0 - 0x04027408
const Gfx water_waves_seg4_dl_040273F0[] = {
const Gfx water_wave_seg4_dl_040273F0[] = {
gsDPPipeSync(),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_waves_seg4_texture_04025358),
gsSPBranchList(water_waves_seg4_dl_040273D8),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_wave_seg4_texture_04025358),
gsSPBranchList(water_wave_seg4_dl_040273D8),
};
// 0x04027408 - 0x04027420
const Gfx water_waves_seg4_dl_04027408[] = {
const Gfx water_wave_seg4_dl_04027408[] = {
gsDPPipeSync(),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_waves_seg4_texture_04025B58),
gsSPBranchList(water_waves_seg4_dl_040273D8),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_wave_seg4_texture_04025B58),
gsSPBranchList(water_wave_seg4_dl_040273D8),
};
// 0x04027420 - 0x04027438
const Gfx water_waves_seg4_dl_04027420[] = {
const Gfx water_wave_seg4_dl_04027420[] = {
gsDPPipeSync(),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_waves_seg4_texture_04026358),
gsSPBranchList(water_waves_seg4_dl_040273D8),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_wave_seg4_texture_04026358),
gsSPBranchList(water_wave_seg4_dl_040273D8),
};
// 0x04027438 - 0x04027450
const Gfx water_waves_seg4_dl_04027438[] = {
const Gfx water_wave_seg4_dl_04027438[] = {
gsDPPipeSync(),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_waves_seg4_texture_04026B58),
gsSPBranchList(water_waves_seg4_dl_040273D8),
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, water_wave_seg4_texture_04026B58),
gsSPBranchList(water_wave_seg4_dl_040273D8),
};

View file

@ -1,29 +0,0 @@
// 0x17000124
const GeoLayout water_waves_surface_geo[] = {
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_040273F0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027408),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027408),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x17000168
const GeoLayout water_waves_geo[] = {
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_040273F0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027408),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027420),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, water_waves_seg4_dl_04027438),
GEO_CLOSE_NODE(),
GEO_END(),
};

View file

@ -8,7 +8,7 @@
.section .text, "ax"
glabel EntryPoint
glabel entry_point
lui $t0, %hi(_mainSegmentNoloadStart) # $t0, 0x8034
lui $t1, %lo(_mainSegmentNoloadSizeHi) # lui $t1, 2
addiu $t0, %lo(_mainSegmentNoloadStart) # addiu $t0, $t0, -0x6df0
@ -19,9 +19,9 @@ glabel EntryPoint
sw $zero, 4($t0)
bnez $t1, .L80246010
addi $t0, $t0, 8
lui $t2, %hi(Main) # $t2, 0x8024
lui $t2, %hi(main_func) # $t2, 0x8024
lui $sp, %hi(gIdleThreadStack) # $sp, 0x8020
addiu $t2, %lo(Main) # addiu $t2, $t2, 0x6dc4
addiu $t2, %lo(main_func) # addiu $t2, $t2, 0x6dc4
jr $t2
addiu $sp, %lo(gIdleThreadStack) # addiu $sp, $sp, 0xa00
nop

View file

@ -1,303 +0,0 @@
glabel alloc_bank_or_seq
/* 0D13DC 803163DC 27BDFF88 */ addiu $sp, $sp, -0x78
/* 0D13E0 803163E0 AFB00020 */ sw $s0, 0x20($sp)
/* 0D13E4 803163E4 00808025 */ move $s0, $a0
/* 0D13E8 803163E8 AFBF0024 */ sw $ra, 0x24($sp)
/* 0D13EC 803163EC AFA5007C */ sw $a1, 0x7c($sp)
/* 0D13F0 803163F0 14E000CC */ bnez $a3, .L80316724
/* 0D13F4 803163F4 AFA60080 */ sw $a2, 0x80($sp)
/* 0D13F8 803163F8 3C0E8022 */ lui $t6, %hi(gSeqLoadedPool) # $t6, 0x8022
/* 0D13FC 803163FC 25CE1328 */ addiu $t6, %lo(gSeqLoadedPool) # addiu $t6, $t6, 0x1328
/* 0D1400 80316400 148E0006 */ bne $a0, $t6, .L8031641C
/* 0D1404 80316404 26030194 */ addiu $v1, $s0, 0x194
/* 0D1408 80316408 3C0A8022 */ lui $t2, %hi(gSeqLoadStatus) # $t2, 0x8022
/* 0D140C 8031640C 254A1910 */ addiu $t2, %lo(gSeqLoadStatus) # addiu $t2, $t2, 0x1910
/* 0D1410 80316410 AFAA005C */ sw $t2, 0x5c($sp)
/* 0D1414 80316414 10000009 */ b .L8031643C
/* 0D1418 80316418 A3A0005B */ sb $zero, 0x5b($sp)
.L8031641C:
/* 0D141C 8031641C 3C0F8022 */ lui $t7, %hi(gBankLoadedPool) # $t7, 0x8022
/* 0D1420 80316420 25EF14F8 */ addiu $t7, %lo(gBankLoadedPool) # addiu $t7, $t7, 0x14f8
/* 0D1424 80316424 160F0005 */ bne $s0, $t7, .L8031643C
/* 0D1428 80316428 3C0A8022 */ lui $t2, %hi(gBankLoadStatus) # $t2, 0x8022
/* 0D142C 8031642C 254A18D0 */ addiu $t2, %lo(gBankLoadStatus) # addiu $t2, $t2, 0x18d0
/* 0D1430 80316430 240C0001 */ li $t4, 1
/* 0D1434 80316434 A3AC005B */ sb $t4, 0x5b($sp)
/* 0D1438 80316438 AFAA005C */ sw $t2, 0x5c($sp)
.L8031643C:
/* 0D143C 8031643C 8C62001C */ lw $v0, 0x1c($v1)
/* 0D1440 80316440 240BFFFF */ li $t3, -1
/* 0D1444 80316444 8FAA005C */ lw $t2, 0x5c($sp)
/* 0D1448 80316448 15620003 */ bne $t3, $v0, .L80316458
/* 0D144C 8031644C 93AC005B */ lbu $t4, 0x5b($sp)
/* 0D1450 80316450 10000003 */ b .L80316460
/* 0D1454 80316454 00003825 */ move $a3, $zero
.L80316458:
/* 0D1458 80316458 004AC021 */ addu $t8, $v0, $t2
/* 0D145C 8031645C 93070000 */ lbu $a3, ($t8)
.L80316460:
/* 0D1460 80316460 8C620028 */ lw $v0, 0x28($v1)
/* 0D1464 80316464 24090003 */ li $t1, 3
/* 0D1468 80316468 01274026 */ xor $t0, $t1, $a3
/* 0D146C 8031646C 15620003 */ bne $t3, $v0, .L8031647C
/* 0D1470 80316470 2D080001 */ sltiu $t0, $t0, 1
/* 0D1474 80316474 10000003 */ b .L80316484
/* 0D1478 80316478 00002825 */ move $a1, $zero
.L8031647C:
/* 0D147C 8031647C 004AC821 */ addu $t9, $v0, $t2
/* 0D1480 80316480 93250000 */ lbu $a1, ($t9)
.L80316484:
/* 0D1484 80316484 0008202B */ sltu $a0, $zero, $t0
/* 0D1488 80316488 10800005 */ beqz $a0, .L803164A0
/* 0D148C 8031648C 00E03025 */ move $a2, $a3
/* 0D1490 80316490 01252026 */ xor $a0, $t1, $a1
/* 0D1494 80316494 2C840001 */ sltiu $a0, $a0, 1
/* 0D1498 80316498 0004682B */ sltu $t5, $zero, $a0
/* 0D149C 8031649C 01A02025 */ move $a0, $t5
.L803164A0:
/* 0D14A0 803164A0 2CCE0001 */ sltiu $t6, $a2, 1
/* 0D14A4 803164A4 11C00004 */ beqz $t6, .L803164B8
/* 0D14A8 803164A8 2CAF0001 */ sltiu $t7, $a1, 1
/* 0D14AC 803164AC AC600000 */ sw $zero, ($v1)
/* 0D14B0 803164B0 10000020 */ b .L80316534
/* 0D14B4 803164B4 24080001 */ li $t0, 1
.L803164B8:
/* 0D14B8 803164B8 11E00005 */ beqz $t7, .L803164D0
/* 0D14BC 803164BC 00A01025 */ move $v0, $a1
/* 0D14C0 803164C0 24180001 */ li $t8, 1
/* 0D14C4 803164C4 AC780000 */ sw $t8, ($v1)
/* 0D14C8 803164C8 1000001A */ b .L80316534
/* 0D14CC 803164CC 24080001 */ li $t0, 1
.L803164D0:
/* 0D14D0 803164D0 10800003 */ beqz $a0, .L803164E0
/* 0D14D4 803164D4 00000000 */ nop
/* 0D14D8 803164D8 10000016 */ b .L80316534
/* 0D14DC 803164DC 24080001 */ li $t0, 1
.L803164E0:
/* 0D14E0 803164E0 11000004 */ beqz $t0, .L803164F4
/* 0D14E4 803164E4 00000000 */ nop
/* 0D14E8 803164E8 AC600000 */ sw $zero, ($v1)
/* 0D14EC 803164EC 10000011 */ b .L80316534
/* 0D14F0 803164F0 24080001 */ li $t0, 1
.L803164F4:
/* 0D14F4 803164F4 15220005 */ bne $t1, $v0, .L8031650C
/* 0D14F8 803164F8 24080001 */ li $t0, 1
/* 0D14FC 803164FC 240D0001 */ li $t5, 1
/* 0D1500 80316500 AC6D0000 */ sw $t5, ($v1)
/* 0D1504 80316504 1000000B */ b .L80316534
/* 0D1508 80316508 24080001 */ li $t0, 1
.L8031650C:
/* 0D150C 8031650C 11060003 */ beq $t0, $a2, .L8031651C
/* 0D1510 80316510 00000000 */ nop
/* 0D1514 80316514 10000007 */ b .L80316534
/* 0D1518 80316518 AC600000 */ sw $zero, ($v1)
.L8031651C:
/* 0D151C 8031651C 11020003 */ beq $t0, $v0, .L8031652C
/* 0D1520 80316520 24180001 */ li $t8, 1
/* 0D1524 80316524 10000003 */ b .L80316534
/* 0D1528 80316528 AC780000 */ sw $t8, ($v1)
.L8031652C:
/* 0D152C 8031652C 100000B2 */ b .L803167F8
/* 0D1530 80316530 00001025 */ move $v0, $zero
.L80316534:
/* 0D1534 80316534 8C790000 */ lw $t9, ($v1)
/* 0D1538 80316538 2405000C */ li $a1, 12
/* 0D153C 8031653C 03250019 */ multu $t9, $a1
/* 0D1540 80316540 00006812 */ mflo $t5
/* 0D1544 80316544 006D7021 */ addu $t6, $v1, $t5
/* 0D1548 80316548 8DC2001C */ lw $v0, 0x1c($t6)
/* 0D154C 8031654C 11620010 */ beq $t3, $v0, .L80316590
/* 0D1550 80316550 01427821 */ addu $t7, $t2, $v0
/* 0D1554 80316554 150C000E */ bne $t0, $t4, .L80316590
/* 0D1558 80316558 A1E00000 */ sb $zero, ($t7)
/* 0D155C 8031655C 8C780000 */ lw $t8, ($v1)
/* 0D1560 80316560 03050019 */ multu $t8, $a1
/* 0D1564 80316564 0000C812 */ mflo $t9
/* 0D1568 80316568 00796821 */ addu $t5, $v1, $t9
/* 0D156C 8031656C 8DA4001C */ lw $a0, 0x1c($t5)
/* 0D1570 80316570 A3AC005B */ sb $t4, 0x5b($sp)
/* 0D1574 80316574 AFAA005C */ sw $t2, 0x5c($sp)
/* 0D1578 80316578 0C0C57A9 */ jal discard_bank
/* 0D157C 8031657C AFA30030 */ sw $v1, 0x30($sp)
/* 0D1580 80316580 8FA30030 */ lw $v1, 0x30($sp)
/* 0D1584 80316584 24080001 */ li $t0, 1
/* 0D1588 80316588 8FAA005C */ lw $t2, 0x5c($sp)
/* 0D158C 8031658C 93AC005B */ lbu $t4, 0x5b($sp)
.L80316590:
/* 0D1590 80316590 8C640000 */ lw $a0, ($v1)
/* 0D1594 80316594 24010001 */ li $at, 1
/* 0D1598 80316598 26050198 */ addiu $a1, $s0, 0x198
/* 0D159C 8031659C 50800006 */ beql $a0, $zero, .L803165B8
/* 0D15A0 803165A0 8CAE0000 */ lw $t6, ($a1)
/* 0D15A4 803165A4 10810032 */ beq $a0, $at, .L80316670
/* 0D15A8 803165A8 26050198 */ addiu $a1, $s0, 0x198
/* 0D15AC 803165AC 10000092 */ b .L803167F8
/* 0D15B0 803165B0 00001025 */ move $v0, $zero
/* 0D15B4 803165B4 8CAE0000 */ lw $t6, ($a1)
.L803165B8:
/* 0D15B8 803165B8 AC6E0014 */ sw $t6, 0x14($v1)
/* 0D15BC 803165BC 8FAF0088 */ lw $t7, 0x88($sp)
/* 0D15C0 803165C0 AC6F001C */ sw $t7, 0x1c($v1)
/* 0D15C4 803165C4 8FB80080 */ lw $t8, 0x80($sp)
/* 0D15C8 803165C8 AC780018 */ sw $t8, 0x18($v1)
/* 0D15CC 803165CC 8FAD0080 */ lw $t5, 0x80($sp)
/* 0D15D0 803165D0 8CB90000 */ lw $t9, ($a1)
/* 0D15D4 803165D4 032D1021 */ addu $v0, $t9, $t5
/* 0D15D8 803165D8 ACA20004 */ sw $v0, 4($a1)
/* 0D15DC 803165DC 8C6E0020 */ lw $t6, 0x20($v1)
/* 0D15E0 803165E0 01C2082B */ sltu $at, $t6, $v0
/* 0D15E4 803165E4 5020001D */ beql $at, $zero, .L8031665C
/* 0D15E8 803165E8 8C640014 */ lw $a0, 0x14($v1)
/* 0D15EC 803165EC 8C6F0028 */ lw $t7, 0x28($v1)
/* 0D15F0 803165F0 014FC021 */ addu $t8, $t2, $t7
/* 0D15F4 803165F4 11800005 */ beqz $t4, .L8031660C
/* 0D15F8 803165F8 A3000000 */ sb $zero, ($t8)
/* 0D15FC 803165FC 5188000B */ beql $t4, $t0, .L8031662C
/* 0D1600 80316600 8C640028 */ lw $a0, 0x28($v1)
/* 0D1604 80316604 1000000F */ b .L80316644
/* 0D1608 80316608 2419FFFF */ li $t9, -1
.L8031660C:
/* 0D160C 8031660C 8C640028 */ lw $a0, 0x28($v1)
/* 0D1610 80316610 AFA5002C */ sw $a1, 0x2c($sp)
/* 0D1614 80316614 0C0C57E5 */ jal discard_sequence
/* 0D1618 80316618 AFA30030 */ sw $v1, 0x30($sp)
/* 0D161C 8031661C 8FA30030 */ lw $v1, 0x30($sp)
/* 0D1620 80316620 10000007 */ b .L80316640
/* 0D1624 80316624 8FA5002C */ lw $a1, 0x2c($sp)
/* 0D1628 80316628 8C640028 */ lw $a0, 0x28($v1)
.L8031662C:
/* 0D162C 8031662C AFA5002C */ sw $a1, 0x2c($sp)
/* 0D1630 80316630 0C0C57A9 */ jal discard_bank
/* 0D1634 80316634 AFA30030 */ sw $v1, 0x30($sp)
/* 0D1638 80316638 8FA30030 */ lw $v1, 0x30($sp)
/* 0D163C 8031663C 8FA5002C */ lw $a1, 0x2c($sp)
.L80316640:
/* 0D1640 80316640 2419FFFF */ li $t9, -1
.L80316644:
/* 0D1644 80316644 AC790028 */ sw $t9, 0x28($v1)
/* 0D1648 80316648 8CAE0000 */ lw $t6, ($a1)
/* 0D164C 8031664C 8CAD0008 */ lw $t5, 8($a1)
/* 0D1650 80316650 01AE7821 */ addu $t7, $t5, $t6
/* 0D1654 80316654 AC6F0020 */ sw $t7, 0x20($v1)
/* 0D1658 80316658 8C640014 */ lw $a0, 0x14($v1)
.L8031665C:
/* 0D165C 8031665C 8C780000 */ lw $t8, ($v1)
/* 0D1660 80316660 00801025 */ move $v0, $a0
/* 0D1664 80316664 3B190001 */ xori $t9, $t8, 1
/* 0D1668 80316668 10000063 */ b .L803167F8
/* 0D166C 8031666C AC790000 */ sw $t9, ($v1)
.L80316670:
/* 0D1670 80316670 8CAD0008 */ lw $t5, 8($a1)
/* 0D1674 80316674 8CAE0000 */ lw $t6, ($a1)
/* 0D1678 80316678 8FB80080 */ lw $t8, 0x80($sp)
/* 0D167C 8031667C 01AE7821 */ addu $t7, $t5, $t6
/* 0D1680 80316680 01F8C823 */ subu $t9, $t7, $t8
/* 0D1684 80316684 2722FFF0 */ addiu $v0, $t9, -0x10
/* 0D1688 80316688 AC620020 */ sw $v0, 0x20($v1)
/* 0D168C 8031668C 8FAE0088 */ lw $t6, 0x88($sp)
/* 0D1690 80316690 AC6E0028 */ sw $t6, 0x28($v1)
/* 0D1694 80316694 8FAF0080 */ lw $t7, 0x80($sp)
/* 0D1698 80316698 AC6F0024 */ sw $t7, 0x24($v1)
/* 0D169C 8031669C 8CB80004 */ lw $t8, 4($a1)
/* 0D16A0 803166A0 0058082B */ sltu $at, $v0, $t8
/* 0D16A4 803166A4 1020001B */ beqz $at, .L80316714
/* 0D16A8 803166A8 00000000 */ nop
/* 0D16AC 803166AC 8C79001C */ lw $t9, 0x1c($v1)
/* 0D16B0 803166B0 01596821 */ addu $t5, $t2, $t9
/* 0D16B4 803166B4 11800005 */ beqz $t4, .L803166CC
/* 0D16B8 803166B8 A1A00000 */ sb $zero, ($t5)
/* 0D16BC 803166BC 5188000B */ beql $t4, $t0, .L803166EC
/* 0D16C0 803166C0 8C64001C */ lw $a0, 0x1c($v1)
/* 0D16C4 803166C4 1000000F */ b .L80316704
/* 0D16C8 803166C8 240EFFFF */ li $t6, -1
.L803166CC:
/* 0D16CC 803166CC 8C64001C */ lw $a0, 0x1c($v1)
/* 0D16D0 803166D0 AFA5002C */ sw $a1, 0x2c($sp)
/* 0D16D4 803166D4 0C0C57E5 */ jal discard_sequence
/* 0D16D8 803166D8 AFA30030 */ sw $v1, 0x30($sp)
/* 0D16DC 803166DC 8FA30030 */ lw $v1, 0x30($sp)
/* 0D16E0 803166E0 10000007 */ b .L80316700
/* 0D16E4 803166E4 8FA5002C */ lw $a1, 0x2c($sp)
/* 0D16E8 803166E8 8C64001C */ lw $a0, 0x1c($v1)
.L803166EC:
/* 0D16EC 803166EC AFA5002C */ sw $a1, 0x2c($sp)
/* 0D16F0 803166F0 0C0C57A9 */ jal discard_bank
/* 0D16F4 803166F4 AFA30030 */ sw $v1, 0x30($sp)
/* 0D16F8 803166F8 8FA30030 */ lw $v1, 0x30($sp)
/* 0D16FC 803166FC 8FA5002C */ lw $a1, 0x2c($sp)
.L80316700:
/* 0D1700 80316700 240EFFFF */ li $t6, -1
.L80316704:
/* 0D1704 80316704 AC6E001C */ sw $t6, 0x1c($v1)
/* 0D1708 80316708 8CAF0000 */ lw $t7, ($a1)
/* 0D170C 8031670C ACAF0004 */ sw $t7, 4($a1)
/* 0D1710 80316710 8C620020 */ lw $v0, 0x20($v1)
.L80316714:
/* 0D1714 80316714 1000FFD1 */ b .L8031665C
/* 0D1718 80316718 00402025 */ move $a0, $v0
/* 0D171C 8031671C 10000036 */ b .L803167F8
/* 0D1720 80316720 00001025 */ move $v0, $zero
.L80316724:
/* 0D1724 80316724 8FB8007C */ lw $t8, 0x7c($sp)
/* 0D1728 80316728 8FB90080 */ lw $t9, 0x80($sp)
/* 0D172C 8031672C 26040004 */ addiu $a0, $s0, 4
/* 0D1730 80316730 AFA70084 */ sw $a3, 0x84($sp)
/* 0D1734 80316734 03190019 */ multu $t8, $t9
/* 0D1738 80316738 00002812 */ mflo $a1
/* 0D173C 8031673C 0C0C5808 */ jal soundAlloc
/* 0D1740 80316740 00000000 */ nop
/* 0D1744 80316744 8E0D0000 */ lw $t5, ($s0)
/* 0D1748 80316748 2405000C */ li $a1, 12
/* 0D174C 8031674C 8FA70084 */ lw $a3, 0x84($sp)
/* 0D1750 80316750 01A50019 */ multu $t5, $a1
/* 0D1754 80316754 24080001 */ li $t0, 1
/* 0D1758 80316758 00007012 */ mflo $t6
/* 0D175C 8031675C 020E7821 */ addu $t7, $s0, $t6
/* 0D1760 80316760 ADE20014 */ sw $v0, 0x14($t7)
/* 0D1764 80316764 8E180000 */ lw $t8, ($s0)
/* 0D1768 80316768 8FAF0088 */ lw $t7, 0x88($sp)
/* 0D176C 8031676C 03050019 */ multu $t8, $a1
/* 0D1770 80316770 0000C812 */ mflo $t9
/* 0D1774 80316774 02191821 */ addu $v1, $s0, $t9
/* 0D1778 80316778 8C6D0014 */ lw $t5, 0x14($v1)
/* 0D177C 8031677C 55A00010 */ bnezl $t5, .L803167C0
/* 0D1780 80316780 AC6F001C */ sw $t7, 0x1c($v1)
/* 0D1784 80316784 10E8000B */ beq $a3, $t0, .L803167B4
/* 0D1788 80316788 24010002 */ li $at, 2
/* 0D178C 8031678C 14E1000B */ bne $a3, $at, .L803167BC
/* 0D1790 80316790 02002025 */ move $a0, $s0
/* 0D1794 80316794 8FAE0088 */ lw $t6, 0x88($sp)
/* 0D1798 80316798 8FA5007C */ lw $a1, 0x7c($sp)
/* 0D179C 8031679C 8FA60080 */ lw $a2, 0x80($sp)
/* 0D17A0 803167A0 00003825 */ move $a3, $zero
/* 0D17A4 803167A4 0C0C58F7 */ jal alloc_bank_or_seq
/* 0D17A8 803167A8 AFAE0010 */ sw $t6, 0x10($sp)
/* 0D17AC 803167AC 10000013 */ b .L803167FC
/* 0D17B0 803167B0 8FBF0024 */ lw $ra, 0x24($sp)
.L803167B4:
/* 0D17B4 803167B4 10000010 */ b .L803167F8
/* 0D17B8 803167B8 00001025 */ move $v0, $zero
.L803167BC:
/* 0D17BC 803167BC AC6F001C */ sw $t7, 0x1c($v1)
.L803167C0:
/* 0D17C0 803167C0 8E190000 */ lw $t9, ($s0)
/* 0D17C4 803167C4 8FB80080 */ lw $t8, 0x80($sp)
/* 0D17C8 803167C8 03250019 */ multu $t9, $a1
/* 0D17CC 803167CC 00006812 */ mflo $t5
/* 0D17D0 803167D0 020D7021 */ addu $t6, $s0, $t5
/* 0D17D4 803167D4 ADD80018 */ sw $t8, 0x18($t6)
/* 0D17D8 803167D8 8E0F0000 */ lw $t7, ($s0)
/* 0D17DC 803167DC 25F90001 */ addiu $t9, $t7, 1
/* 0D17E0 803167E0 0019C080 */ sll $t8, $t9, 2
/* 0D17E4 803167E4 0319C023 */ subu $t8, $t8, $t9
/* 0D17E8 803167E8 0018C080 */ sll $t8, $t8, 2
/* 0D17EC 803167EC 02187021 */ addu $t6, $s0, $t8
/* 0D17F0 803167F0 AE190000 */ sw $t9, ($s0)
/* 0D17F4 803167F4 8DC20008 */ lw $v0, 8($t6)
.L803167F8:
/* 0D17F8 803167F8 8FBF0024 */ lw $ra, 0x24($sp)
.L803167FC:
/* 0D17FC 803167FC 8FB00020 */ lw $s0, 0x20($sp)
/* 0D1800 80316800 27BD0078 */ addiu $sp, $sp, 0x78
/* 0D1804 80316804 03E00008 */ jr $ra
/* 0D1808 80316808 00000000 */ nop

View file

@ -1,151 +0,0 @@
.text
glabel append_bubble_vertex_buffer
/* 0759E8 802B61E8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0759EC 802B61EC AFBF002C */ sw $ra, 0x2c($sp)
/* 0759F0 802B61F0 AFB40028 */ sw $s4, 0x28($sp)
/* 0759F4 802B61F4 AFB1001C */ sw $s1, 0x1c($sp)
/* 0759F8 802B61F8 AFB00018 */ sw $s0, 0x18($sp)
/* 0759FC 802B61FC AFA40030 */ sw $a0, 0x30($sp)
/* 075A00 802B6200 00C08025 */ move $s0, $a2
/* 075A04 802B6204 00E08825 */ move $s1, $a3
/* 075A08 802B6208 00A0A025 */ move $s4, $a1
/* 075A0C 802B620C AFB30024 */ sw $s3, 0x24($sp)
/* 075A10 802B6210 AFB20020 */ sw $s2, 0x20($sp)
# Vtx *vertBuf = (Vtx *)alloc_display_list(15 * sizeof(Vtx));
/* 075A14 802B6214 0C09A781 */ jal alloc_display_list
/* 075A18 802B6218 240400F0 */ li $a0, 240
/* 075A1C 802B621C 10400078 */ beqz $v0, .L802B6400
/* 075A20 802B6220 8FAB0044 */ lw $t3, 0x44($sp)
/* 075A24 802B6224 3C058033 */ lui $a1, %hi(gEnvFxBuffer) # $a1, 0x8033
/* 075A28 802B6228 24A5F6B0 */ addiu $a1, %lo(gEnvFxBuffer) # addiu $a1, $a1, -0x950
/* 075A2C 802B622C 00003025 */ move $a2, $zero
/* 075A30 802B6230 256C0010 */ addiu $t4, $t3, 0x10
/* 075A34 802B6234 256D0020 */ addiu $t5, $t3, 0x20
/* 075A38 802B6238 00403825 */ move $a3, $v0
/* 075A3C 802B623C 24480020 */ addiu $t0, $v0, 0x20
/* 075A40 802B6240 24490010 */ addiu $t1, $v0, 0x10
/* 075A44 802B6244 2413000F */ li $s3, 15
/* 075A48 802B6248 24120038 */ li $s2, 56
/* 075A4C 802B624C 241F0003 */ li $ra, 3
/* 075A50 802B6250 8FAA0040 */ lw $t2, 0x40($sp)
# for (i = 0; i < 15; i += 3) {
.L802B6254:
/* 075A54 802B6254 00DF001A */ div $zero, $a2, $ra
/* 075A58 802B6258 8D610000 */ lw $at, ($t3)
/* 075A5C 802B625C 0000C812 */ mflo $t9
/* 075A60 802B6260 02997021 */ addu $t6, $s4, $t9
/* 075A64 802B6264 ACE10000 */ sw $at, ($a3)
/* 075A68 802B6268 8D6F0004 */ lw $t7, 4($t3)
/* 075A6C 802B626C 01D20019 */ multu $t6, $s2
/* 075A70 802B6270 0006C100 */ sll $t8, $a2, 4
/* 075A74 802B6274 ACEF0004 */ sw $t7, 4($a3)
/* 075A78 802B6278 8D610008 */ lw $at, 8($t3)
/* 075A7C 802B627C 00582021 */ addu $a0, $v0, $t8
/* 075A80 802B6280 24E70030 */ addiu $a3, $a3, 0x30
/* 075A84 802B6284 ACE1FFD8 */ sw $at, -0x28($a3)
/* 075A88 802B6288 8D6F000C */ lw $t7, 0xc($t3)
/* 075A8C 802B628C 25080030 */ addiu $t0, $t0, 0x30
/* 075A90 802B6290 25290030 */ addiu $t1, $t1, 0x30
/* 075A94 802B6294 ACEFFFDC */ sw $t7, -0x24($a3)
/* 075A98 802B6298 8CB80000 */ lw $t8, ($a1)
/* 075A9C 802B629C 00001812 */ mflo $v1
/* 075AA0 802B62A0 860F0000 */ lh $t7, ($s0)
/* 075AA4 802B62A4 0303C821 */ addu $t9, $t8, $v1
/* 075AA8 802B62A8 8F2E0004 */ lw $t6, 4($t9)
/* 075AAC 802B62AC 17E00002 */ bnez $ra, .L802B62B8
/* 075AB0 802B62B0 00000000 */ nop
/* 075AB4 802B62B4 0007000D */ break 7
.L802B62B8:
/* 075AB8 802B62B8 2401FFFF */ li $at, -1
/* 075ABC 802B62BC 17E10004 */ bne $ra, $at, .L802B62D0
/* 075AC0 802B62C0 3C018000 */ lui $at, 0x8000
/* 075AC4 802B62C4 14C10002 */ bne $a2, $at, .L802B62D0
/* 075AC8 802B62C8 00000000 */ nop
/* 075ACC 802B62CC 0006000D */ break 6
.L802B62D0:
/* 075AD0 802B62D0 01EEC021 */ addu $t8, $t7, $t6
/* 075AD4 802B62D4 A4980000 */ sh $t8, ($a0)
/* 075AD8 802B62D8 8CAF0000 */ lw $t7, ($a1)
/* 075ADC 802B62DC 86190002 */ lh $t9, 2($s0)
/* 075AE0 802B62E0 24C60003 */ addiu $a2, $a2, 3
/* 075AE4 802B62E4 01E37021 */ addu $t6, $t7, $v1
/* 075AE8 802B62E8 8DD80008 */ lw $t8, 8($t6)
/* 075AEC 802B62EC 03387821 */ addu $t7, $t9, $t8
/* 075AF0 802B62F0 A48F0002 */ sh $t7, 2($a0)
/* 075AF4 802B62F4 8CB90000 */ lw $t9, ($a1)
/* 075AF8 802B62F8 860E0004 */ lh $t6, 4($s0)
/* 075AFC 802B62FC 0323C021 */ addu $t8, $t9, $v1
/* 075B00 802B6300 8F0F000C */ lw $t7, 0xc($t8)
/* 075B04 802B6304 01CFC821 */ addu $t9, $t6, $t7
/* 075B08 802B6308 A4990004 */ sh $t9, 4($a0)
/* 075B0C 802B630C 8D810000 */ lw $at, ($t4)
/* 075B10 802B6310 AD21FFD0 */ sw $at, -0x30($t1)
/* 075B14 802B6314 8D8E0004 */ lw $t6, 4($t4)
/* 075B18 802B6318 AD2EFFD4 */ sw $t6, -0x2c($t1)
/* 075B1C 802B631C 8D810008 */ lw $at, 8($t4)
/* 075B20 802B6320 AD21FFD8 */ sw $at, -0x28($t1)
/* 075B24 802B6324 8D8E000C */ lw $t6, 0xc($t4)
/* 075B28 802B6328 AD2EFFDC */ sw $t6, -0x24($t1)
/* 075B2C 802B632C 8CB90000 */ lw $t9, ($a1)
/* 075B30 802B6330 862F0000 */ lh $t7, ($s1)
/* 075B34 802B6334 0323C021 */ addu $t8, $t9, $v1
/* 075B38 802B6338 8F0E0004 */ lw $t6, 4($t8)
/* 075B3C 802B633C 01EEC821 */ addu $t9, $t7, $t6
/* 075B40 802B6340 A4990010 */ sh $t9, 0x10($a0)
/* 075B44 802B6344 8CAF0000 */ lw $t7, ($a1)
/* 075B48 802B6348 86380002 */ lh $t8, 2($s1)
/* 075B4C 802B634C 01E37021 */ addu $t6, $t7, $v1
/* 075B50 802B6350 8DD90008 */ lw $t9, 8($t6)
/* 075B54 802B6354 03197821 */ addu $t7, $t8, $t9
/* 075B58 802B6358 A48F0012 */ sh $t7, 0x12($a0)
/* 075B5C 802B635C 8CB80000 */ lw $t8, ($a1)
/* 075B60 802B6360 862E0004 */ lh $t6, 4($s1)
/* 075B64 802B6364 0303C821 */ addu $t9, $t8, $v1
/* 075B68 802B6368 8F2F000C */ lw $t7, 0xc($t9)
/* 075B6C 802B636C 01CFC021 */ addu $t8, $t6, $t7
/* 075B70 802B6370 A4980014 */ sh $t8, 0x14($a0)
/* 075B74 802B6374 8DA10000 */ lw $at, ($t5)
/* 075B78 802B6378 AD01FFD0 */ sw $at, -0x30($t0)
/* 075B7C 802B637C 8DAE0004 */ lw $t6, 4($t5)
/* 075B80 802B6380 AD0EFFD4 */ sw $t6, -0x2c($t0)
/* 075B84 802B6384 8DA10008 */ lw $at, 8($t5)
/* 075B88 802B6388 AD01FFD8 */ sw $at, -0x28($t0)
/* 075B8C 802B638C 8DAE000C */ lw $t6, 0xc($t5)
/* 075B90 802B6390 AD0EFFDC */ sw $t6, -0x24($t0)
/* 075B94 802B6394 8CB80000 */ lw $t8, ($a1)
/* 075B98 802B6398 854F0000 */ lh $t7, ($t2)
/* 075B9C 802B639C 0303C821 */ addu $t9, $t8, $v1
/* 075BA0 802B63A0 8F2E0004 */ lw $t6, 4($t9)
/* 075BA4 802B63A4 01EEC021 */ addu $t8, $t7, $t6
/* 075BA8 802B63A8 A4980020 */ sh $t8, 0x20($a0)
/* 075BAC 802B63AC 8CAF0000 */ lw $t7, ($a1)
/* 075BB0 802B63B0 85590002 */ lh $t9, 2($t2)
/* 075BB4 802B63B4 01E37021 */ addu $t6, $t7, $v1
/* 075BB8 802B63B8 8DD80008 */ lw $t8, 8($t6)
/* 075BBC 802B63BC 03387821 */ addu $t7, $t9, $t8
/* 075BC0 802B63C0 A48F0022 */ sh $t7, 0x22($a0)
/* 075BC4 802B63C4 8CB90000 */ lw $t9, ($a1)
/* 075BC8 802B63C8 854E0004 */ lh $t6, 4($t2)
/* 075BCC 802B63CC 0323C021 */ addu $t8, $t9, $v1
/* 075BD0 802B63D0 8F0F000C */ lw $t7, 0xc($t8)
/* 075BD4 802B63D4 01CFC821 */ addu $t9, $t6, $t7
/* 075BD8 802B63D8 14D3FF9E */ bne $a2, $s3, .L802B6254
/* 075BDC 802B63DC A4990024 */ sh $t9, 0x24($a0)
/* 075BE0 802B63E0 8FA30030 */ lw $v1, 0x30($sp)
# gSPVertex(gfx, VIRTUAL_TO_PHYSICAL(vertBuf), 15, 0);
/* 075BE4 802B63E4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 075BE8 802B63E8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 075BEC 802B63EC 3C1804E0 */ lui $t8, (0x04E000F0 >> 16) # lui $t8, 0x4e0
/* 075BF0 802B63F0 371800F0 */ ori $t8, (0x04E000F0 & 0xFFFF) # ori $t8, $t8, 0xf0
/* 075BF4 802B63F4 00417024 */ and $t6, $v0, $at
/* 075BF8 802B63F8 AC6E0004 */ sw $t6, 4($v1)
/* 075BFC 802B63FC AC780000 */ sw $t8, ($v1)
.L802B6400:
/* 075C00 802B6400 8FBF002C */ lw $ra, 0x2c($sp)
/* 075C04 802B6404 8FB00018 */ lw $s0, 0x18($sp)
/* 075C08 802B6408 8FB1001C */ lw $s1, 0x1c($sp)
/* 075C0C 802B640C 8FB20020 */ lw $s2, 0x20($sp)
/* 075C10 802B6410 8FB30024 */ lw $s3, 0x24($sp)
/* 075C14 802B6414 8FB40028 */ lw $s4, 0x28($sp)
/* 075C18 802B6418 03E00008 */ jr $ra
/* 075C1C 802B641C 27BD0030 */ addiu $sp, $sp, 0x30

View file

@ -1,156 +0,0 @@
.text
glabel append_snowflake_vertex_buffer
/* 074188 802B4988 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 07418C 802B498C AFBF002C */ sw $ra, 0x2c($sp)
/* 074190 802B4990 AFB40028 */ sw $s4, 0x28($sp)
/* 074194 802B4994 AFB1001C */ sw $s1, 0x1c($sp)
/* 074198 802B4998 AFB00018 */ sw $s0, 0x18($sp)
/* 07419C 802B499C AFA40030 */ sw $a0, 0x30($sp)
/* 0741A0 802B49A0 00C08025 */ move $s0, $a2
/* 0741A4 802B49A4 00E08825 */ move $s1, $a3
/* 0741A8 802B49A8 00A0A025 */ move $s4, $a1
/* 0741AC 802B49AC AFB30024 */ sw $s3, 0x24($sp)
/* 0741B0 802B49B0 AFB20020 */ sw $s2, 0x20($sp)
# Vtx *vertBuf = (Vtx *)alloc_display_list(15 * sizeof(Vtx));
/* 0741B4 802B49B4 0C09A781 */ jal alloc_display_list
/* 0741B8 802B49B8 240400F0 */ li $a0, 240
# if (vertBuf == NULL) return;
/* 0741BC 802B49BC 1040007B */ beqz $v0, .L802B4BAC
/* 0741C0 802B49C0 00003025 */ move $a2, $zero
/* 0741C4 802B49C4 3C128030 */ lui $s2, %hi(gSnowTempVtx + 0x20) # $s2, 0x8030
/* 0741C8 802B49C8 3C1F8030 */ lui $ra, %hi(gSnowTempVtx + 0x10) # $ra, 0x8030
/* 0741CC 802B49CC 3C0B8030 */ lui $t3, %hi(gSnowTempVtx) # $t3, 0x8030
/* 0741D0 802B49D0 3C058033 */ lui $a1, %hi(gEnvFxBuffer) # $a1, 0x8033
/* 0741D4 802B49D4 24A5F6B0 */ addiu $a1, %lo(gEnvFxBuffer) # addiu $a1, $a1, -0x950
/* 0741D8 802B49D8 256BDD08 */ addiu $t3, %lo(gSnowTempVtx) # addiu $t3, $t3, -0x22f8
/* 0741DC 802B49DC 27FFDD18 */ addiu $ra, %lo(gSnowTempVtx + 0x10) # addiu $ra, $ra, -0x22e8
/* 0741E0 802B49E0 2652DD28 */ addiu $s2, %lo(gSnowTempVtx + 0x20) # addiu $s2, $s2, -0x22d8
/* 0741E4 802B49E4 00403825 */ move $a3, $v0
/* 0741E8 802B49E8 24480020 */ addiu $t0, $v0, 0x20
/* 0741EC 802B49EC 24490010 */ addiu $t1, $v0, 0x10
/* 0741F0 802B49F0 2413000F */ li $s3, 15
/* 0741F4 802B49F4 240D0038 */ li $t5, 56
/* 0741F8 802B49F8 240C0003 */ li $t4, 3
/* 0741FC 802B49FC 8FAA0040 */ lw $t2, 0x40($sp)
# for (i = 0; i < 15; i += 3)
.L802B4A00:
/* 074200 802B4A00 00CC001A */ div $zero, $a2, $t4
/* 074204 802B4A04 8D610000 */ lw $at, ($t3)
/* 074208 802B4A08 0000C812 */ mflo $t9
/* 07420C 802B4A0C 02997021 */ addu $t6, $s4, $t9
/* 074210 802B4A10 ACE10000 */ sw $at, ($a3)
/* 074214 802B4A14 8D6F0004 */ lw $t7, 4($t3)
/* 074218 802B4A18 01CD0019 */ multu $t6, $t5
/* 07421C 802B4A1C 0006C100 */ sll $t8, $a2, 4
/* 074220 802B4A20 ACEF0004 */ sw $t7, 4($a3)
/* 074224 802B4A24 8D610008 */ lw $at, 8($t3)
/* 074228 802B4A28 00582021 */ addu $a0, $v0, $t8
/* 07422C 802B4A2C 24E70030 */ addiu $a3, $a3, 0x30
/* 074230 802B4A30 ACE1FFD8 */ sw $at, -0x28($a3)
/* 074234 802B4A34 8D6F000C */ lw $t7, 0xc($t3)
/* 074238 802B4A38 25080030 */ addiu $t0, $t0, 0x30
/* 07423C 802B4A3C 25290030 */ addiu $t1, $t1, 0x30
/* 074240 802B4A40 ACEFFFDC */ sw $t7, -0x24($a3)
/* 074244 802B4A44 8CB80000 */ lw $t8, ($a1)
/* 074248 802B4A48 00001812 */ mflo $v1
/* 07424C 802B4A4C 860F0000 */ lh $t7, ($s0)
/* 074250 802B4A50 0303C821 */ addu $t9, $t8, $v1
/* 074254 802B4A54 8F2E0004 */ lw $t6, 4($t9)
/* 074258 802B4A58 15800002 */ bnez $t4, .L802B4A64
/* 07425C 802B4A5C 00000000 */ nop
/* 074260 802B4A60 0007000D */ break 7
.L802B4A64:
/* 074264 802B4A64 2401FFFF */ li $at, -1
/* 074268 802B4A68 15810004 */ bne $t4, $at, .L802B4A7C
/* 07426C 802B4A6C 3C018000 */ lui $at, 0x8000
/* 074270 802B4A70 14C10002 */ bne $a2, $at, .L802B4A7C
/* 074274 802B4A74 00000000 */ nop
/* 074278 802B4A78 0006000D */ break 6
.L802B4A7C:
/* 07427C 802B4A7C 01EEC021 */ addu $t8, $t7, $t6
/* 074280 802B4A80 A4980000 */ sh $t8, ($a0)
/* 074284 802B4A84 8CAF0000 */ lw $t7, ($a1)
/* 074288 802B4A88 86190002 */ lh $t9, 2($s0)
/* 07428C 802B4A8C 24C60003 */ addiu $a2, $a2, 3
/* 074290 802B4A90 01E37021 */ addu $t6, $t7, $v1
/* 074294 802B4A94 8DD80008 */ lw $t8, 8($t6)
/* 074298 802B4A98 03387821 */ addu $t7, $t9, $t8
/* 07429C 802B4A9C A48F0002 */ sh $t7, 2($a0)
/* 0742A0 802B4AA0 8CB90000 */ lw $t9, ($a1)
/* 0742A4 802B4AA4 860E0004 */ lh $t6, 4($s0)
/* 0742A8 802B4AA8 0323C021 */ addu $t8, $t9, $v1
/* 0742AC 802B4AAC 8F0F000C */ lw $t7, 0xc($t8)
/* 0742B0 802B4AB0 01CFC821 */ addu $t9, $t6, $t7
/* 0742B4 802B4AB4 A4990004 */ sh $t9, 4($a0)
/* 0742B8 802B4AB8 8FE10000 */ lw $at, ($ra)
/* 0742BC 802B4ABC AD21FFD0 */ sw $at, -0x30($t1)
/* 0742C0 802B4AC0 8FEE0004 */ lw $t6, 4($ra)
/* 0742C4 802B4AC4 AD2EFFD4 */ sw $t6, -0x2c($t1)
/* 0742C8 802B4AC8 8FE10008 */ lw $at, 8($ra)
/* 0742CC 802B4ACC AD21FFD8 */ sw $at, -0x28($t1)
/* 0742D0 802B4AD0 8FEE000C */ lw $t6, 0xc($ra)
/* 0742D4 802B4AD4 AD2EFFDC */ sw $t6, -0x24($t1)
/* 0742D8 802B4AD8 8CB90000 */ lw $t9, ($a1)
/* 0742DC 802B4ADC 862F0000 */ lh $t7, ($s1)
/* 0742E0 802B4AE0 0323C021 */ addu $t8, $t9, $v1
/* 0742E4 802B4AE4 8F0E0004 */ lw $t6, 4($t8)
/* 0742E8 802B4AE8 01EEC821 */ addu $t9, $t7, $t6
/* 0742EC 802B4AEC A4990010 */ sh $t9, 0x10($a0)
/* 0742F0 802B4AF0 8CAF0000 */ lw $t7, ($a1)
/* 0742F4 802B4AF4 86380002 */ lh $t8, 2($s1)
/* 0742F8 802B4AF8 01E37021 */ addu $t6, $t7, $v1
/* 0742FC 802B4AFC 8DD90008 */ lw $t9, 8($t6)
/* 074300 802B4B00 03197821 */ addu $t7, $t8, $t9
/* 074304 802B4B04 A48F0012 */ sh $t7, 0x12($a0)
/* 074308 802B4B08 8CB80000 */ lw $t8, ($a1)
/* 07430C 802B4B0C 862E0004 */ lh $t6, 4($s1)
/* 074310 802B4B10 0303C821 */ addu $t9, $t8, $v1
/* 074314 802B4B14 8F2F000C */ lw $t7, 0xc($t9)
/* 074318 802B4B18 01CFC021 */ addu $t8, $t6, $t7
/* 07431C 802B4B1C A4980014 */ sh $t8, 0x14($a0)
/* 074320 802B4B20 8E410000 */ lw $at, ($s2)
/* 074324 802B4B24 AD01FFD0 */ sw $at, -0x30($t0)
/* 074328 802B4B28 8E4E0004 */ lw $t6, 4($s2)
/* 07432C 802B4B2C AD0EFFD4 */ sw $t6, -0x2c($t0)
/* 074330 802B4B30 8E410008 */ lw $at, 8($s2)
/* 074334 802B4B34 AD01FFD8 */ sw $at, -0x28($t0)
/* 074338 802B4B38 8E4E000C */ lw $t6, 0xc($s2)
/* 07433C 802B4B3C AD0EFFDC */ sw $t6, -0x24($t0)
/* 074340 802B4B40 8CB80000 */ lw $t8, ($a1)
/* 074344 802B4B44 854F0000 */ lh $t7, ($t2)
/* 074348 802B4B48 0303C821 */ addu $t9, $t8, $v1
/* 07434C 802B4B4C 8F2E0004 */ lw $t6, 4($t9)
/* 074350 802B4B50 01EEC021 */ addu $t8, $t7, $t6
/* 074354 802B4B54 A4980020 */ sh $t8, 0x20($a0)
/* 074358 802B4B58 8CAF0000 */ lw $t7, ($a1)
/* 07435C 802B4B5C 85590002 */ lh $t9, 2($t2)
/* 074360 802B4B60 01E37021 */ addu $t6, $t7, $v1
/* 074364 802B4B64 8DD80008 */ lw $t8, 8($t6)
/* 074368 802B4B68 03387821 */ addu $t7, $t9, $t8
/* 07436C 802B4B6C A48F0022 */ sh $t7, 0x22($a0)
/* 074370 802B4B70 8CB90000 */ lw $t9, ($a1)
/* 074374 802B4B74 854E0004 */ lh $t6, 4($t2)
/* 074378 802B4B78 0323C021 */ addu $t8, $t9, $v1
/* 07437C 802B4B7C 8F0F000C */ lw $t7, 0xc($t8)
/* 074380 802B4B80 01CFC821 */ addu $t9, $t6, $t7
/* 074384 802B4B84 14D3FF9E */ bne $a2, $s3, .L802B4A00
/* 074388 802B4B88 A4990024 */ sh $t9, 0x24($a0)
/* 07438C 802B4B8C 8FA30030 */ lw $v1, 0x30($sp)
# gSPVertex(gfx, VIRTUAL_TO_PHYSICAL(vertBuf), 15, 0);
/* 074390 802B4B90 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 074394 802B4B94 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 074398 802B4B98 3C1804E0 */ lui $t8, (0x04E000F0 >> 16) # lui $t8, 0x4e0
/* 07439C 802B4B9C 371800F0 */ ori $t8, (0x04E000F0 & 0xFFFF) # ori $t8, $t8, 0xf0
/* 0743A0 802B4BA0 00417024 */ and $t6, $v0, $at
/* 0743A4 802B4BA4 AC6E0004 */ sw $t6, 4($v1)
/* 0743A8 802B4BA8 AC780000 */ sw $t8, ($v1)
.L802B4BAC:
/* 0743AC 802B4BAC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0743B0 802B4BB0 8FB00018 */ lw $s0, 0x18($sp)
/* 0743B4 802B4BB4 8FB1001C */ lw $s1, 0x1c($sp)
/* 0743B8 802B4BB8 8FB20020 */ lw $s2, 0x20($sp)
/* 0743BC 802B4BBC 8FB30024 */ lw $s3, 0x24($sp)
/* 0743C0 802B4BC0 8FB40028 */ lw $s4, 0x28($sp)
/* 0743C4 802B4BC4 03E00008 */ jr $ra
/* 0743C8 802B4BC8 27BD0030 */ addiu $sp, $sp, 0x30

View file

@ -1,269 +0,0 @@
glabel alloc_bank_or_seq
/* 0A1B94 802E2394 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0A1B98 802E2398 AFB20020 */ sw $s2, 0x20($sp)
/* 0A1B9C 802E239C 00C09025 */ move $s2, $a2
/* 0A1BA0 802E23A0 AFB1001C */ sw $s1, 0x1c($sp)
/* 0A1BA4 802E23A4 AFB00018 */ sw $s0, 0x18($sp)
/* 0A1BA8 802E23A8 00A08025 */ move $s0, $a1
/* 0A1BAC 802E23AC 00808825 */ move $s1, $a0
/* 0A1BB0 802E23B0 2406000C */ li $a2, 12
/* 0A1BB4 802E23B4 AFBF0024 */ sw $ra, 0x24($sp)
/* 0A1BB8 802E23B8 8FA90068 */ lw $t1, 0x68($sp)
/* 0A1BBC 802E23BC 24080001 */ li $t0, 1
.L80200850:
/* 0A1BC0 802E23C0 14E000AD */ bnez $a3, .L80200B08
/* 0A1BC4 802E23C4 3C0E8022 */ lui $t6, %hi(gSeqLoadedPool) # $t6, 0x8022
/* 0A1BC8 802E23C8 25CE2670 */ addiu $t6, %lo(gSeqLoadedPool) # addiu $t6, $t6, 0x2670
/* 0A1BCC 802E23CC 162E0006 */ bne $s1, $t6, .L80200878
/* 0A1BD0 802E23D0 26300194 */ addiu $s0, $s1, 0x194
/* 0A1BD4 802E23D4 3C058022 */ lui $a1, %hi(gSeqLoadStatus) # $a1, 0x8022
/* 0A1BD8 802E23D8 24A52C58 */ addiu $a1, %lo(gSeqLoadStatus) # addiu $a1, $a1, 0x2c58
/* 0A1BDC 802E23DC AFA5003C */ sw $a1, 0x3c($sp)
/* 0A1BE0 802E23E0 10000009 */ b .L80200898
/* 0A1BE4 802E23E4 A3A0003B */ sb $zero, 0x3b($sp)
.L80200878:
/* 0A1BE8 802E23E8 3C0F8022 */ lui $t7, %hi(gBankLoadedPool) # $t7, 0x8022
/* 0A1BEC 802E23EC 25EF2840 */ addiu $t7, %lo(gBankLoadedPool) # addiu $t7, $t7, 0x2840
/* 0A1BF0 802E23F0 162F0005 */ bne $s1, $t7, .L80200898
/* 0A1BF4 802E23F4 3C058022 */ lui $a1, %hi(gBankLoadStatus) # $a1, 0x8022
/* 0A1BF8 802E23F8 24A52C18 */ addiu $a1, %lo(gBankLoadStatus) # addiu $a1, $a1, 0x2c18
/* 0A1BFC 802E23FC 240A0001 */ li $t2, 1
/* 0A1C00 802E2400 A3AA003B */ sb $t2, 0x3b($sp)
/* 0A1C04 802E2404 AFA5003C */ sw $a1, 0x3c($sp)
.L80200898:
/* 0A1C08 802E2408 8E02001C */ lw $v0, 0x1c($s0)
/* 0A1C0C 802E240C 2407FFFF */ li $a3, -1
/* 0A1C10 802E2410 8FA5003C */ lw $a1, 0x3c($sp)
/* 0A1C14 802E2414 14E20003 */ bne $a3, $v0, .L802008B4
/* 0A1C18 802E2418 93AA003B */ lbu $t2, 0x3b($sp)
/* 0A1C1C 802E241C 10000003 */ b .L802008BC
/* 0A1C20 802E2420 00001825 */ move $v1, $zero
.L802008B4:
/* 0A1C24 802E2424 0045C021 */ addu $t8, $v0, $a1
/* 0A1C28 802E2428 93030000 */ lbu $v1, ($t8)
.L802008BC:
/* 0A1C2C 802E242C 8E020028 */ lw $v0, 0x28($s0)
/* 0A1C30 802E2430 14E20003 */ bne $a3, $v0, .L802008D0
/* 0A1C34 802E2434 0045C821 */ addu $t9, $v0, $a1
/* 0A1C38 802E2438 10000002 */ b .L802008D4
/* 0A1C3C 802E243C 00002025 */ move $a0, $zero
.L802008D0:
/* 0A1C40 802E2440 93240000 */ lbu $a0, ($t9)
.L802008D4:
/* 0A1C44 802E2444 14600003 */ bnez $v1, .L802008E4
/* 0A1C48 802E2448 00601025 */ move $v0, $v1
/* 0A1C4C 802E244C 1000001D */ b .L80200954
/* 0A1C50 802E2450 AE000000 */ sw $zero, ($s0)
.L802008E4:
/* 0A1C54 802E2454 14800004 */ bnez $a0, .L802008F8
/* 0A1C58 802E2458 00801825 */ move $v1, $a0
/* 0A1C5C 802E245C 240B0001 */ li $t3, 1
/* 0A1C60 802E2460 10000018 */ b .L80200954
/* 0A1C64 802E2464 AE0B0000 */ sw $t3, ($s0)
.L802008F8:
/* 0A1C68 802E2468 24040003 */ li $a0, 3
/* 0A1C6C 802E246C 14820003 */ bne $a0, $v0, .L8020090C
/* 0A1C70 802E2470 00000000 */ nop
/* 0A1C74 802E2474 50830014 */ beql $a0, $v1, .L80200958
/* 0A1C78 802E2478 8E0E0000 */ lw $t6, ($s0)
.L8020090C:
/* 0A1C7C 802E247C 14820003 */ bne $a0, $v0, .L8020091C
/* 0A1C80 802E2480 00000000 */ nop
/* 0A1C84 802E2484 1000000F */ b .L80200954
/* 0A1C88 802E2488 AE000000 */ sw $zero, ($s0)
.L8020091C:
/* 0A1C8C 802E248C 14830003 */ bne $a0, $v1, .L8020092C
/* 0A1C90 802E2490 240C0001 */ li $t4, 1
/* 0A1C94 802E2494 1000000B */ b .L80200954
/* 0A1C98 802E2498 AE0C0000 */ sw $t4, ($s0)
.L8020092C:
/* 0A1C9C 802E249C 11020003 */ beq $t0, $v0, .L8020093C
/* 0A1CA0 802E24A0 00000000 */ nop
/* 0A1CA4 802E24A4 10000007 */ b .L80200954
/* 0A1CA8 802E24A8 AE000000 */ sw $zero, ($s0)
.L8020093C:
/* 0A1CAC 802E24AC 11030003 */ beq $t0, $v1, .L8020094C
/* 0A1CB0 802E24B0 240D0001 */ li $t5, 1
/* 0A1CB4 802E24B4 10000003 */ b .L80200954
/* 0A1CB8 802E24B8 AE0D0000 */ sw $t5, ($s0)
.L8020094C:
/* 0A1CBC 802E24BC 10000099 */ b .L80200BB4
/* 0A1CC0 802E24C0 00001025 */ move $v0, $zero
.L80200954:
/* 0A1CC4 802E24C4 8E0E0000 */ lw $t6, ($s0)
.L80200958:
/* 0A1CC8 802E24C8 01C60019 */ multu $t6, $a2
/* 0A1CCC 802E24CC 00007812 */ mflo $t7
/* 0A1CD0 802E24D0 020FC021 */ addu $t8, $s0, $t7
/* 0A1CD4 802E24D4 8F02001C */ lw $v0, 0x1c($t8)
/* 0A1CD8 802E24D8 10E20010 */ beq $a3, $v0, .L802009AC
/* 0A1CDC 802E24DC 00A2C821 */ addu $t9, $a1, $v0
/* 0A1CE0 802E24E0 150A000E */ bne $t0, $t2, .L802009AC
/* 0A1CE4 802E24E4 A3200000 */ sb $zero, ($t9)
/* 0A1CE8 802E24E8 8E0B0000 */ lw $t3, ($s0)
/* 0A1CEC 802E24EC 01660019 */ multu $t3, $a2
/* 0A1CF0 802E24F0 00006012 */ mflo $t4
/* 0A1CF4 802E24F4 020C6821 */ addu $t5, $s0, $t4
/* 0A1CF8 802E24F8 8DA4001C */ lw $a0, 0x1c($t5)
/* 0A1CFC 802E24FC A3AA003B */ sb $t2, 0x3b($sp)
/* 0A1D00 802E2500 AFA90068 */ sw $t1, 0x68($sp)
/* 0A1D04 802E2504 0C0B87A3 */ jal discard_bank
/* 0A1D08 802E2508 AFA5003C */ sw $a1, 0x3c($sp)
/* 0A1D0C 802E250C 8FA5003C */ lw $a1, 0x3c($sp)
/* 0A1D10 802E2510 24080001 */ li $t0, 1
/* 0A1D14 802E2514 8FA90068 */ lw $t1, 0x68($sp)
/* 0A1D18 802E2518 93AA003B */ lbu $t2, 0x3b($sp)
.L802009AC:
/* 0A1D1C 802E251C 8E040000 */ lw $a0, ($s0)
/* 0A1D20 802E2520 24010001 */ li $at, 1
/* 0A1D24 802E2524 26230198 */ addiu $v1, $s1, 0x198
/* 0A1D28 802E2528 50800006 */ beql $a0, $zero, .L802009D4
/* 0A1D2C 802E252C 8C6E0000 */ lw $t6, ($v1)
/* 0A1D30 802E2530 1081002B */ beq $a0, $at, .L80200A70
/* 0A1D34 802E2534 26230198 */ addiu $v1, $s1, 0x198
/* 0A1D38 802E2538 1000007A */ b .L80200BB4
/* 0A1D3C 802E253C 00001025 */ move $v0, $zero
/* 0A1D40 802E2540 8C6E0000 */ lw $t6, ($v1)
.L802009D4:
/* 0A1D44 802E2544 AE09001C */ sw $t1, 0x1c($s0)
/* 0A1D48 802E2548 AE120018 */ sw $s2, 0x18($s0)
/* 0A1D4C 802E254C AE0E0014 */ sw $t6, 0x14($s0)
/* 0A1D50 802E2550 8C6F0000 */ lw $t7, ($v1)
/* 0A1D54 802E2554 01F21021 */ addu $v0, $t7, $s2
/* 0A1D58 802E2558 AC620004 */ sw $v0, 4($v1)
/* 0A1D5C 802E255C 8E180020 */ lw $t8, 0x20($s0)
/* 0A1D60 802E2560 0302082B */ sltu $at, $t8, $v0
/* 0A1D64 802E2564 50200019 */ beql $at, $zero, .L80200A5C
/* 0A1D68 802E2568 8E030014 */ lw $v1, 0x14($s0)
/* 0A1D6C 802E256C 8E190028 */ lw $t9, 0x28($s0)
/* 0A1D70 802E2570 00B95821 */ addu $t3, $a1, $t9
/* 0A1D74 802E2574 11400005 */ beqz $t2, .L80200A1C
/* 0A1D78 802E2578 A1600000 */ sb $zero, ($t3)
/* 0A1D7C 802E257C 51480009 */ beql $t2, $t0, .L80200A34
/* 0A1D80 802E2580 8E040028 */ lw $a0, 0x28($s0)
/* 0A1D84 802E2584 1000000B */ b .L80200A44
/* 0A1D88 802E2588 240CFFFF */ li $t4, -1
.L80200A1C:
/* 0A1D8C 802E258C 8E040028 */ lw $a0, 0x28($s0)
/* 0A1D90 802E2590 0C0B87DC */ jal discard_sequence
/* 0A1D94 802E2594 AFA3002C */ sw $v1, 0x2c($sp)
/* 0A1D98 802E2598 10000005 */ b .L80200A40
/* 0A1D9C 802E259C 8FA3002C */ lw $v1, 0x2c($sp)
/* 0A1DA0 802E25A0 8E040028 */ lw $a0, 0x28($s0)
.L80200A34:
/* 0A1DA4 802E25A4 0C0B87A3 */ jal discard_bank
/* 0A1DA8 802E25A8 AFA3002C */ sw $v1, 0x2c($sp)
/* 0A1DAC 802E25AC 8FA3002C */ lw $v1, 0x2c($sp)
.L80200A40:
/* 0A1DB0 802E25B0 240CFFFF */ li $t4, -1
.L80200A44:
/* 0A1DB4 802E25B4 AE0C0028 */ sw $t4, 0x28($s0)
/* 0A1DB8 802E25B8 8C6E0008 */ lw $t6, 8($v1)
/* 0A1DBC 802E25BC 8C6D0000 */ lw $t5, ($v1)
/* 0A1DC0 802E25C0 01AE7821 */ addu $t7, $t5, $t6
/* 0A1DC4 802E25C4 AE0F0020 */ sw $t7, 0x20($s0)
/* 0A1DC8 802E25C8 8E030014 */ lw $v1, 0x14($s0)
.L80200A5C:
/* 0A1DCC 802E25CC 8E180000 */ lw $t8, ($s0)
/* 0A1DD0 802E25D0 00601025 */ move $v0, $v1
/* 0A1DD4 802E25D4 3B190001 */ xori $t9, $t8, 1
/* 0A1DD8 802E25D8 10000052 */ b .L80200BB4
/* 0A1DDC 802E25DC AE190000 */ sw $t9, ($s0)
.L80200A70:
/* 0A1DE0 802E25E0 8C6B0000 */ lw $t3, ($v1)
/* 0A1DE4 802E25E4 8C6C0008 */ lw $t4, 8($v1)
/* 0A1DE8 802E25E8 AE090028 */ sw $t1, 0x28($s0)
/* 0A1DEC 802E25EC AE120024 */ sw $s2, 0x24($s0)
/* 0A1DF0 802E25F0 016C6821 */ addu $t5, $t3, $t4
/* 0A1DF4 802E25F4 01B27023 */ subu $t6, $t5, $s2
/* 0A1DF8 802E25F8 25C2FFF0 */ addiu $v0, $t6, -0x10
/* 0A1DFC 802E25FC AE020020 */ sw $v0, 0x20($s0)
/* 0A1E00 802E2600 8C780004 */ lw $t8, 4($v1)
/* 0A1E04 802E2604 0058082B */ sltu $at, $v0, $t8
/* 0A1E08 802E2608 10200017 */ beqz $at, .L80200AF8
/* 0A1E0C 802E260C 00000000 */ nop
/* 0A1E10 802E2610 8E19001C */ lw $t9, 0x1c($s0)
/* 0A1E14 802E2614 00B95821 */ addu $t3, $a1, $t9
/* 0A1E18 802E2618 11400005 */ beqz $t2, .L80200AC0
/* 0A1E1C 802E261C A1600000 */ sb $zero, ($t3)
/* 0A1E20 802E2620 51480009 */ beql $t2, $t0, .L80200AD8
/* 0A1E24 802E2624 8E04001C */ lw $a0, 0x1c($s0)
/* 0A1E28 802E2628 1000000B */ b .L80200AE8
/* 0A1E2C 802E262C 240CFFFF */ li $t4, -1
.L80200AC0:
/* 0A1E30 802E2630 8E04001C */ lw $a0, 0x1c($s0)
/* 0A1E34 802E2634 0C0B87DC */ jal discard_sequence
/* 0A1E38 802E2638 AFA3002C */ sw $v1, 0x2c($sp)
/* 0A1E3C 802E263C 10000005 */ b .L80200AE4
/* 0A1E40 802E2640 8FA3002C */ lw $v1, 0x2c($sp)
/* 0A1E44 802E2644 8E04001C */ lw $a0, 0x1c($s0)
.L80200AD8:
/* 0A1E48 802E2648 0C0B87A3 */ jal discard_bank
/* 0A1E4C 802E264C AFA3002C */ sw $v1, 0x2c($sp)
/* 0A1E50 802E2650 8FA3002C */ lw $v1, 0x2c($sp)
.L80200AE4:
/* 0A1E54 802E2654 240CFFFF */ li $t4, -1
.L80200AE8:
/* 0A1E58 802E2658 AE0C001C */ sw $t4, 0x1c($s0)
/* 0A1E5C 802E265C 8C6D0000 */ lw $t5, ($v1)
/* 0A1E60 802E2660 AC6D0004 */ sw $t5, 4($v1)
/* 0A1E64 802E2664 8E020020 */ lw $v0, 0x20($s0)
.L80200AF8:
/* 0A1E68 802E2668 1000FFD8 */ b .L80200A5C
/* 0A1E6C 802E266C 00401825 */ move $v1, $v0
/* 0A1E70 802E2670 1000002C */ b .L80200BB4
/* 0A1E74 802E2674 00001025 */ move $v0, $zero
.L80200B08:
/* 0A1E78 802E2678 02120019 */ multu $s0, $s2
/* 0A1E7C 802E267C 26240004 */ addiu $a0, $s1, 4
/* 0A1E80 802E2680 AFA70064 */ sw $a3, 0x64($sp)
/* 0A1E84 802E2684 AFA90068 */ sw $t1, 0x68($sp)
/* 0A1E88 802E2688 00002812 */ mflo $a1
/* 0A1E8C 802E268C 0C0B87F8 */ jal soundAlloc
/* 0A1E90 802E2690 00000000 */ nop
/* 0A1E94 802E2694 8E2E0000 */ lw $t6, ($s1)
/* 0A1E98 802E2698 2406000C */ li $a2, 12
/* 0A1E9C 802E269C 8FA70064 */ lw $a3, 0x64($sp)
/* 0A1EA0 802E26A0 01C60019 */ multu $t6, $a2
/* 0A1EA4 802E26A4 8FA90068 */ lw $t1, 0x68($sp)
/* 0A1EA8 802E26A8 24080001 */ li $t0, 1
/* 0A1EAC 802E26AC 24010002 */ li $at, 2
/* 0A1EB0 802E26B0 00007812 */ mflo $t7
/* 0A1EB4 802E26B4 022FC021 */ addu $t8, $s1, $t7
/* 0A1EB8 802E26B8 14400009 */ bnez $v0, .L80200B70
/* 0A1EBC 802E26BC AF020014 */ sw $v0, 0x14($t8)
/* 0A1EC0 802E26C0 10E80005 */ beq $a3, $t0, .L80200B68
/* 0A1EC4 802E26C4 00000000 */ nop
/* 0A1EC8 802E26C8 54E10006 */ bnel $a3, $at, .L80200B74
/* 0A1ECC 802E26CC 8E390000 */ lw $t9, ($s1)
/* 0A1ED0 802E26D0 1000FF3B */ b .L80200850
/* 0A1ED4 802E26D4 00003825 */ move $a3, $zero
.L80200B68:
/* 0A1ED8 802E26D8 10000012 */ b .L80200BB4
/* 0A1EDC 802E26DC 00001025 */ move $v0, $zero
.L80200B70:
/* 0A1EE0 802E26E0 8E390000 */ lw $t9, ($s1)
.L80200B74:
/* 0A1EE4 802E26E4 03260019 */ multu $t9, $a2
/* 0A1EE8 802E26E8 00005812 */ mflo $t3
/* 0A1EEC 802E26EC 022B6021 */ addu $t4, $s1, $t3
/* 0A1EF0 802E26F0 AD89001C */ sw $t1, 0x1c($t4)
/* 0A1EF4 802E26F4 8E2D0000 */ lw $t5, ($s1)
/* 0A1EF8 802E26F8 01A60019 */ multu $t5, $a2
/* 0A1EFC 802E26FC 00007012 */ mflo $t6
/* 0A1F00 802E2700 022E7821 */ addu $t7, $s1, $t6
/* 0A1F04 802E2704 ADF20018 */ sw $s2, 0x18($t7)
/* 0A1F08 802E2708 8E230000 */ lw $v1, ($s1)
/* 0A1F0C 802E270C 00660019 */ multu $v1, $a2
/* 0A1F10 802E2710 246B0001 */ addiu $t3, $v1, 1
/* 0A1F14 802E2714 0000C012 */ mflo $t8
/* 0A1F18 802E2718 0238C821 */ addu $t9, $s1, $t8
/* 0A1F1C 802E271C 8F220014 */ lw $v0, 0x14($t9)
/* 0A1F20 802E2720 AE2B0000 */ sw $t3, ($s1)
.L80200BB4:
/* 0A1F24 802E2724 8FBF0024 */ lw $ra, 0x24($sp)
/* 0A1F28 802E2728 8FB00018 */ lw $s0, 0x18($sp)
/* 0A1F2C 802E272C 8FB1001C */ lw $s1, 0x1c($sp)
/* 0A1F30 802E2730 8FB20020 */ lw $s2, 0x20($sp)
/* 0A1F34 802E2734 03E00008 */ jr $ra
/* 0A1F38 802E2738 27BD0058 */ addiu $sp, $sp, 0x58

View file

@ -1,88 +0,0 @@
glabel func_eu_802e00d8
/* 09F8D8 802E00D8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 09F8DC 802E00DC AFA50034 */ sw $a1, 0x34($sp)
/* 09F8E0 802E00E0 87B80036 */ lh $t8, 0x36($sp)
/* 09F8E4 802E00E4 3C088022 */ lui $t0, %hi(gSynthesisReverbs) # $t0, 0x8022
/* 09F8E8 802E00E8 2508C1B0 */ addiu $t0, %lo(gSynthesisReverbs) # addiu $t0, $t0, -0x3e50
/* 09F8EC 802E00EC 0018C940 */ sll $t9, $t8, 5
/* 09F8F0 802E00F0 0338C821 */ addu $t9, $t9, $t8
/* 09F8F4 802E00F4 0019C8C0 */ sll $t9, $t9, 3
/* 09F8F8 802E00F8 03281021 */ addu $v0, $t9, $t0
/* 09F8FC 802E00FC 90490003 */ lbu $t1, 3($v0)
/* 09F900 802E0100 00067400 */ sll $t6, $a2, 0x10
/* 09F904 802E0104 000E7C03 */ sra $t7, $t6, 0x10
/* 09F908 802E0108 00095080 */ sll $t2, $t1, 2
/* 09F90C 802E010C 01495023 */ subu $t2, $t2, $t1
/* 09F910 802E0110 000A50C0 */ sll $t2, $t2, 3
/* 09F914 802E0114 000F3880 */ sll $a3, $t7, 2
/* 09F918 802E0118 01495021 */ addu $t2, $t2, $t1
/* 09F91C 802E011C 904C0001 */ lbu $t4, 1($v0)
/* 09F920 802E0120 000A5080 */ sll $t2, $t2, 2
/* 09F924 802E0124 00EF3821 */ addu $a3, $a3, $t7
/* 09F928 802E0128 00073880 */ sll $a3, $a3, 2
/* 09F92C 802E012C 004A5821 */ addu $t3, $v0, $t2
/* 09F930 802E0130 AFB00020 */ sw $s0, 0x20($sp)
/* 09F934 802E0134 01671821 */ addu $v1, $t3, $a3
/* 09F938 802E0138 00808025 */ move $s0, $a0
/* 09F93C 802E013C AFBF0024 */ sw $ra, 0x24($sp)
/* 09F940 802E0140 AFA60038 */ sw $a2, 0x38($sp)
/* 09F944 802E0144 11800033 */ beqz $t4, .L80200BC4
/* 09F948 802E0148 24630030 */ addiu $v1, $v1, 0x30
/* 09F94C 802E014C 904D0004 */ lbu $t5, 4($v0)
/* 09F950 802E0150 24010001 */ li $at, 1
/* 09F954 802E0154 3C190800 */ lui $t9, 0x800
/* 09F958 802E0158 15A10018 */ bne $t5, $at, .L80200B6C
/* 09F95C 802E015C 3C080740 */ lui $t0, (0x07400280 >> 16) # lui $t0, 0x740
/* 09F960 802E0160 87AE0036 */ lh $t6, 0x36($sp)
/* 09F964 802E0164 9466000E */ lhu $a2, 0xe($v1)
/* 09F968 802E0168 84670010 */ lh $a3, 0x10($v1)
/* 09F96C 802E016C AFA3002C */ sw $v1, 0x2c($sp)
/* 09F970 802E0170 24050740 */ li $a1, 1856
/* 09F974 802E0174 0C0B7E65 */ jal synthesis_save_reverb_ring_buffer
/* 09F978 802E0178 AFAE0010 */ sw $t6, 0x10($sp)
/* 09F97C 802E017C 8FA3002C */ lw $v1, 0x2c($sp)
/* 09F980 802E0180 00408025 */ move $s0, $v0
/* 09F984 802E0184 00402025 */ move $a0, $v0
/* 09F988 802E0188 84670012 */ lh $a3, 0x12($v1)
/* 09F98C 802E018C 87B80036 */ lh $t8, 0x36($sp)
/* 09F990 802E0190 50E00021 */ beql $a3, $zero, .L80200BC8
/* 09F994 802E0194 8FBF0024 */ lw $ra, 0x24($sp)
/* 09F998 802E0198 84650010 */ lh $a1, 0x10($v1)
/* 09F99C 802E019C AFB80010 */ sw $t8, 0x10($sp)
/* 09F9A0 802E01A0 00003025 */ move $a2, $zero
/* 09F9A4 802E01A4 24A50740 */ addiu $a1, $a1, 0x740
/* 09F9A8 802E01A8 30AFFFFF */ andi $t7, $a1, 0xffff
/* 09F9AC 802E01AC 0C0B7E65 */ jal synthesis_save_reverb_ring_buffer
/* 09F9B0 802E01B0 01E02825 */ move $a1, $t7
/* 09F9B4 802E01B4 10000017 */ b .L80200BC4
/* 09F9B8 802E01B8 00408025 */ move $s0, $v0
.L80200B6C:
/* 09F9BC 802E01BC 02001825 */ move $v1, $s0
/* 09F9C0 802E01C0 26100008 */ addiu $s0, $s0, 8
/* 09F9C4 802E01C4 35080280 */ ori $t0, (0x07400280 & 0xFFFF) # ori $t0, $t0, 0x280
/* 09F9C8 802E01C8 AC680004 */ sw $t0, 4($v1)
/* 09F9CC 802E01CC AC790000 */ sw $t9, ($v1)
/* 09F9D0 802E01D0 02002025 */ move $a0, $s0
/* 09F9D4 802E01D4 3C090600 */ lui $t1, 0x600
/* 09F9D8 802E01D8 AC890000 */ sw $t1, ($a0)
/* 09F9DC 802E01DC 904A0003 */ lbu $t2, 3($v0)
/* 09F9E0 802E01E0 3C018000 */ lui $at, 0x8000
/* 09F9E4 802E01E4 26100008 */ addiu $s0, $s0, 8
/* 09F9E8 802E01E8 000A5880 */ sll $t3, $t2, 2
/* 09F9EC 802E01EC 016A5823 */ subu $t3, $t3, $t2
/* 09F9F0 802E01F0 000B58C0 */ sll $t3, $t3, 3
/* 09F9F4 802E01F4 016A5821 */ addu $t3, $t3, $t2
/* 09F9F8 802E01F8 000B5880 */ sll $t3, $t3, 2
/* 09F9FC 802E01FC 004B6021 */ addu $t4, $v0, $t3
/* 09FA00 802E0200 01876821 */ addu $t5, $t4, $a3
/* 09FA04 802E0204 8DAE0034 */ lw $t6, 0x34($t5)
/* 09FA08 802E0208 01C17821 */ addu $t7, $t6, $at
/* 09FA0C 802E020C AC8F0004 */ sw $t7, 4($a0)
/* 09FA10 802E0210 A0400000 */ sb $zero, ($v0)
.L80200BC4:
/* 09FA14 802E0214 8FBF0024 */ lw $ra, 0x24($sp)
.L80200BC8:
/* 09FA18 802E0218 02001025 */ move $v0, $s0
/* 09FA1C 802E021C 8FB00020 */ lw $s0, 0x20($sp)
/* 09FA20 802E0220 03E00008 */ jr $ra
/* 09FA24 802E0224 27BD0030 */ addiu $sp, $sp, 0x30

View file

@ -1,263 +0,0 @@
glabel note_apply_headset_pan_effects
/* 0A0F98 802E1798 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0A0F9C 802E179C 8FAE003C */ lw $t6, 0x3c($sp)
/* 0A0FA0 802E17A0 AFB00004 */ sw $s0, 4($sp)
/* 0A0FA4 802E17A4 24020001 */ li $v0, 1
/* 0A0FA8 802E17A8 11C20006 */ beq $t6, $v0, .L80202174
/* 0A0FAC 802E17AC 00C08025 */ move $s0, $a2
/* 0A0FB0 802E17B0 24010002 */ li $at, 2
/* 0A0FB4 802E17B4 11C10009 */ beq $t6, $at, .L8020218C
/* 0A0FB8 802E17B8 240A0600 */ li $t2, 1536
/* 0A0FBC 802E17BC 100000E8 */ b .L80202510
/* 0A0FC0 802E17C0 00801025 */ move $v0, $a0
.L80202174:
/* 0A0FC4 802E17C4 90A60003 */ lbu $a2, 3($a1)
/* 0A0FC8 802E17C8 92080002 */ lbu $t0, 2($s0)
/* 0A0FCC 802E17CC 240A04C0 */ li $t2, 1216
/* 0A0FD0 802E17D0 A2000003 */ sb $zero, 3($s0)
/* 0A0FD4 802E17D4 10000008 */ b .L802021A8
/* 0A0FD8 802E17D8 A2060002 */ sb $a2, 2($s0)
.L8020218C:
/* 0A0FDC 802E17DC 90A60004 */ lbu $a2, 4($a1)
/* 0A0FE0 802E17E0 92080003 */ lbu $t0, 3($s0)
/* 0A0FE4 802E17E4 A2000002 */ sb $zero, 2($s0)
/* 0A0FE8 802E17E8 10000003 */ b .L802021A8
/* 0A0FEC 802E17EC A2060003 */ sb $a2, 3($s0)
/* 0A0FF0 802E17F0 100000DB */ b .L80202510
/* 0A0FF4 802E17F4 00801025 */ move $v0, $a0
.L802021A8:
/* 0A0FF8 802E17F8 8FAF0038 */ lw $t7, 0x38($sp)
/* 0A0FFC 802E17FC 30E5FFFF */ andi $a1, $a3, 0xffff
/* 0A1000 802E1800 3C180A00 */ lui $t8, 0xa00
/* 0A1004 802E1804 51E200A5 */ beql $t7, $v0, .L8020244C
/* 0A1008 802E1808 00801825 */ move $v1, $a0
/* 0A100C 802E180C 15000047 */ bnez $t0, .L802022DC
/* 0A1010 802E1810 01002825 */ move $a1, $t0
/* 0A1014 802E1814 00801825 */ move $v1, $a0
/* 0A1018 802E1818 3C020A00 */ lui $v0, (0x0A000200 >> 16) # lui $v0, 0xa00
/* 0A101C 802E181C 24840008 */ addiu $a0, $a0, 8
/* 0A1020 802E1820 24180008 */ li $t8, 8
/* 0A1024 802E1824 34420200 */ ori $v0, (0x0A000200 & 0xFFFF) # ori $v0, $v0, 0x200
/* 0A1028 802E1828 AC780004 */ sw $t8, 4($v1)
/* 0A102C 802E182C 00805825 */ move $t3, $a0
/* 0A1030 802E1830 3C190200 */ lui $t9, (0x02000008 >> 16) # lui $t9, 0x200
/* 0A1034 802E1834 AC620000 */ sw $v0, ($v1)
/* 0A1038 802E1838 37390008 */ ori $t9, (0x02000008 & 0xFFFF) # ori $t9, $t9, 8
/* 0A103C 802E183C 24840008 */ addiu $a0, $a0, 8
/* 0A1040 802E1840 AD790000 */ sw $t9, ($t3)
/* 0A1044 802E1844 240E0008 */ li $t6, 8
/* 0A1048 802E1848 00806025 */ move $t4, $a0
/* 0A104C 802E184C AD6E0004 */ sw $t6, 4($t3)
/* 0A1050 802E1850 24840008 */ addiu $a0, $a0, 8
/* 0A1054 802E1854 3C0F0010 */ lui $t7, (0x00100010 >> 16) # lui $t7, 0x10
/* 0A1058 802E1858 35EF0010 */ ori $t7, (0x00100010 & 0xFFFF) # ori $t7, $t7, 0x10
/* 0A105C 802E185C 00806825 */ move $t5, $a0
/* 0A1060 802E1860 AD8F0004 */ sw $t7, 4($t4)
/* 0A1064 802E1864 AD820000 */ sw $v0, ($t4)
/* 0A1068 802E1868 24190020 */ li $t9, 32
/* 0A106C 802E186C 3C180800 */ lui $t8, 0x800
/* 0A1070 802E1870 ADB80000 */ sw $t8, ($t5)
/* 0A1074 802E1874 ADB90004 */ sw $t9, 4($t5)
/* 0A1078 802E1878 24840008 */ addiu $a0, $a0, 8
/* 0A107C 802E187C AFA4000C */ sw $a0, 0xc($sp)
/* 0A1080 802E1880 8FAF000C */ lw $t7, 0xc($sp)
/* 0A1084 802E1884 3C0E0600 */ lui $t6, 0x600
/* 0A1088 802E1888 3C098000 */ lui $t1, (0x80000090 >> 16) # lui $t1, 0x8000
/* 0A108C 802E188C ADEE0000 */ sw $t6, ($t7)
/* 0A1090 802E1890 8E18000C */ lw $t8, 0xc($s0)
/* 0A1094 802E1894 35290090 */ ori $t1, (0x80000090 & 0xFFFF) # ori $t1, $t1, 0x90
/* 0A1098 802E1898 00E67021 */ addu $t6, $a3, $a2
/* 0A109C 802E189C 0309C821 */ addu $t9, $t8, $t1
/* 0A10A0 802E18A0 0007C3C0 */ sll $t8, $a3, 0xf
/* 0A10A4 802E18A4 01C51823 */ subu $v1, $t6, $a1
/* 0A10A8 802E18A8 ADF90004 */ sw $t9, 4($t7)
/* 0A10AC 802E18AC 24790008 */ addiu $t9, $v1, 8
/* 0A10B0 802E18B0 0319001A */ div $zero, $t8, $t9
/* 0A10B4 802E18B4 24840008 */ addiu $a0, $a0, 8
/* 0A10B8 802E18B8 17200002 */ bnez $t9, .L80202274
/* 0A10BC 802E18BC 00000000 */ nop
/* 0A10C0 802E18C0 0007000D */ break 7
.L80202274:
/* 0A10C4 802E18C4 2401FFFF */ li $at, -1
/* 0A10C8 802E18C8 17210004 */ bne $t9, $at, .L8020228C
/* 0A10CC 802E18CC 3C018000 */ lui $at, 0x8000
/* 0A10D0 802E18D0 17010002 */ bne $t8, $at, .L8020228C
/* 0A10D4 802E18D4 00000000 */ nop
/* 0A10D8 802E18D8 0006000D */ break 6
.L8020228C:
/* 0A10DC 802E18DC 00005812 */ mflo $t3
/* 0A10E0 802E18E0 00806025 */ move $t4, $a0
/* 0A10E4 802E18E4 316FFFFF */ andi $t7, $t3, 0xffff
/* 0A10E8 802E18E8 3C0E0800 */ lui $t6, (0x08000208 >> 16) # lui $t6, 0x800
/* 0A10EC 802E18EC 35CE0208 */ ori $t6, (0x08000208 & 0xFFFF) # ori $t6, $t6, 0x208
/* 0A10F0 802E18F0 24840008 */ addiu $a0, $a0, 8
/* 0A10F4 802E18F4 3062FFFF */ andi $v0, $v1, 0xffff
/* 0A10F8 802E18F8 31F8FFFF */ andi $t8, $t7, 0xffff
/* 0A10FC 802E18FC 3C010500 */ lui $at, 0x500
/* 0A1100 802E1900 AD820004 */ sw $v0, 4($t4)
/* 0A1104 802E1904 AD8E0000 */ sw $t6, ($t4)
/* 0A1108 802E1908 0301C825 */ or $t9, $t8, $at
/* 0A110C 802E190C 00806825 */ move $t5, $a0
/* 0A1110 802E1910 01E05825 */ move $t3, $t7
/* 0A1114 802E1914 ADB90000 */ sw $t9, ($t5)
/* 0A1118 802E1918 8E0F000C */ lw $t7, 0xc($s0)
/* 0A111C 802E191C 24840008 */ addiu $a0, $a0, 8
/* 0A1120 802E1920 01E97021 */ addu $t6, $t7, $t1
/* 0A1124 802E1924 10000038 */ b .L802023B8
/* 0A1128 802E1928 ADAE0004 */ sw $t6, 4($t5)
.L802022DC:
/* 0A112C 802E192C 14C00014 */ bnez $a2, .L80202330
/* 0A1130 802E1930 00C01025 */ move $v0, $a2
/* 0A1134 802E1934 00E5C823 */ subu $t9, $a3, $a1
/* 0A1138 802E1938 272FFFFC */ addiu $t7, $t9, -4
/* 0A113C 802E193C 0007C3C0 */ sll $t8, $a3, 0xf
/* 0A1140 802E1940 030F001A */ div $zero, $t8, $t7
/* 0A1144 802E1944 00005812 */ mflo $t3
/* 0A1148 802E1948 316EFFFF */ andi $t6, $t3, 0xffff
/* 0A114C 802E194C 15E00002 */ bnez $t7, .L80202308
/* 0A1150 802E1950 00000000 */ nop
/* 0A1154 802E1954 0007000D */ break 7
.L80202308:
/* 0A1158 802E1958 2401FFFF */ li $at, -1
/* 0A115C 802E195C 15E10004 */ bne $t7, $at, .L80202320
/* 0A1160 802E1960 3C018000 */ lui $at, 0x8000
/* 0A1164 802E1964 17010002 */ bne $t8, $at, .L80202320
/* 0A1168 802E1968 00000000 */ nop
/* 0A116C 802E196C 0006000D */ break 6
.L80202320:
/* 0A1170 802E1970 00E2C821 */ addu $t9, $a3, $v0
/* 0A1174 802E1974 03251823 */ subu $v1, $t9, $a1
/* 0A1178 802E1978 10000011 */ b .L80202370
/* 0A117C 802E197C 01C05825 */ move $t3, $t6
.L80202330:
/* 0A1180 802E1980 00E2C021 */ addu $t8, $a3, $v0
/* 0A1184 802E1984 03051823 */ subu $v1, $t8, $a1
/* 0A1188 802E1988 00077BC0 */ sll $t7, $a3, 0xf
/* 0A118C 802E198C 01E3001A */ div $zero, $t7, $v1
/* 0A1190 802E1990 00005812 */ mflo $t3
/* 0A1194 802E1994 316EFFFF */ andi $t6, $t3, 0xffff
/* 0A1198 802E1998 01C05825 */ move $t3, $t6
/* 0A119C 802E199C 14600002 */ bnez $v1, .L80202358
/* 0A11A0 802E19A0 00000000 */ nop
/* 0A11A4 802E19A4 0007000D */ break 7
.L80202358:
/* 0A11A8 802E19A8 2401FFFF */ li $at, -1
/* 0A11AC 802E19AC 14610004 */ bne $v1, $at, .L80202370
/* 0A11B0 802E19B0 3C018000 */ lui $at, 0x8000
/* 0A11B4 802E19B4 15E10002 */ bne $t7, $at, .L80202370
/* 0A11B8 802E19B8 00000000 */ nop
/* 0A11BC 802E19BC 0006000D */ break 6
.L80202370:
/* 0A11C0 802E19C0 00806025 */ move $t4, $a0
/* 0A11C4 802E19C4 3C190800 */ lui $t9, (0x08000200 >> 16) # lui $t9, 0x800
/* 0A11C8 802E19C8 37390200 */ ori $t9, (0x08000200 & 0xFFFF) # ori $t9, $t9, 0x200
/* 0A11CC 802E19CC 24840008 */ addiu $a0, $a0, 8
/* 0A11D0 802E19D0 3062FFFF */ andi $v0, $v1, 0xffff
/* 0A11D4 802E19D4 3178FFFF */ andi $t8, $t3, 0xffff
/* 0A11D8 802E19D8 3C010500 */ lui $at, 0x500
/* 0A11DC 802E19DC AD820004 */ sw $v0, 4($t4)
/* 0A11E0 802E19E0 AD990000 */ sw $t9, ($t4)
/* 0A11E4 802E19E4 03017825 */ or $t7, $t8, $at
/* 0A11E8 802E19E8 00806825 */ move $t5, $a0
/* 0A11EC 802E19EC ADAF0000 */ sw $t7, ($t5)
/* 0A11F0 802E19F0 8E0E000C */ lw $t6, 0xc($s0)
/* 0A11F4 802E19F4 3C098000 */ lui $t1, %hi(0x80000004) # $t1, 0x8000
/* 0A11F8 802E19F8 35290090 */ ori $t1, (0x80000090 & 0xFFFF) # ori $t1, $t1, 0x90
/* 0A11FC 802E19FC 01C9C821 */ addu $t9, $t6, $t1
/* 0A1200 802E1A00 ADB90004 */ sw $t9, 4($t5)
/* 0A1204 802E1A04 24840008 */ addiu $a0, $a0, 8
.L802023B8:
/* 0A1208 802E1A08 10A0001B */ beqz $a1, .L80202428
/* 0A120C 802E1A0C 00801825 */ move $v1, $a0
/* 0A1210 802E1A10 00801825 */ move $v1, $a0
/* 0A1214 802E1A14 3C180800 */ lui $t8, (0x08000200 >> 16) # lui $t8, 0x800
/* 0A1218 802E1A18 37180200 */ ori $t8, (0x08000200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 0A121C 802E1A1C 24840008 */ addiu $a0, $a0, 8
/* 0A1220 802E1A20 310FFFFF */ andi $t7, $t0, 0xffff
/* 0A1224 802E1A24 AC6F0004 */ sw $t7, 4($v1)
/* 0A1228 802E1A28 AC780000 */ sw $t8, ($v1)
/* 0A122C 802E1A2C 00804825 */ move $t1, $a0
/* 0A1230 802E1A30 3C0E0400 */ lui $t6, 0x400
/* 0A1234 802E1A34 AD2E0000 */ sw $t6, ($t1)
/* 0A1238 802E1A38 8E19000C */ lw $t9, 0xc($s0)
/* 0A123C 802E1A3C 3C018000 */ lui $at, (0x800000B0 >> 16) # lui $at, 0x8000
/* 0A1240 802E1A40 342100B0 */ ori $at, (0x800000B0 & 0xFFFF) # ori $at, $at, 0xb0
/* 0A1244 802E1A44 0321C021 */ addu $t8, $t9, $at
/* 0A1248 802E1A48 AD380004 */ sw $t8, %lo(0x80000004)($t1)
/* 0A124C 802E1A4C 24840008 */ addiu $a0, $a0, 8
/* 0A1250 802E1A50 00805825 */ move $t3, $a0
/* 0A1254 802E1A54 24B90200 */ addiu $t9, $a1, 0x200
/* 0A1258 802E1A58 3C0F0A00 */ lui $t7, 0xa00
/* 0A125C 802E1A5C AD6F0000 */ sw $t7, ($t3)
/* 0A1260 802E1A60 0019C400 */ sll $t8, $t9, 0x10
/* 0A1264 802E1A64 03027825 */ or $t7, $t8, $v0
/* 0A1268 802E1A68 AD6F0004 */ sw $t7, 4($t3)
/* 0A126C 802E1A6C 24840008 */ addiu $a0, $a0, 8
/* 0A1270 802E1A70 1000001C */ b .L80202494
/* 0A1274 802E1A74 30E5FFFF */ andi $a1, $a3, 0xffff
.L80202428:
/* 0A1278 802E1A78 3C010200 */ lui $at, 0x200
/* 0A127C 802E1A7C 0041C825 */ or $t9, $v0, $at
/* 0A1280 802E1A80 3C0E0A00 */ lui $t6, 0xa00
/* 0A1284 802E1A84 AC6E0000 */ sw $t6, ($v1)
/* 0A1288 802E1A88 AC790004 */ sw $t9, 4($v1)
/* 0A128C 802E1A8C 24840008 */ addiu $a0, $a0, 8
/* 0A1290 802E1A90 10000014 */ b .L80202494
/* 0A1294 802E1A94 30E5FFFF */ andi $a1, $a3, 0xffff
/* 0A1298 802E1A98 00801825 */ move $v1, $a0
.L8020244C:
/* 0A129C 802E1A9C 3C020A00 */ lui $v0, %hi(0x0A000004) # $v0, 0xa00
/* 0A12A0 802E1AA0 24840008 */ addiu $a0, $a0, 8
/* 0A12A4 802E1AA4 34420200 */ ori $v0, (0x0A000200 & 0xFFFF) # ori $v0, $v0, 0x200
/* 0A12A8 802E1AA8 00804025 */ move $t0, $a0
/* 0A12AC 802E1AAC AC620000 */ sw $v0, ($v1)
/* 0A12B0 802E1AB0 AC650004 */ sw $a1, 4($v1)
/* 0A12B4 802E1AB4 24CE0200 */ addiu $t6, $a2, 0x200
/* 0A12B8 802E1AB8 000ECC00 */ sll $t9, $t6, 0x10
/* 0A12BC 802E1ABC AD180000 */ sw $t8, ($t0)
/* 0A12C0 802E1AC0 24840008 */ addiu $a0, $a0, 8
/* 0A12C4 802E1AC4 0325C025 */ or $t8, $t9, $a1
/* 0A12C8 802E1AC8 00804825 */ move $t1, $a0
/* 0A12CC 802E1ACC AD180004 */ sw $t8, 4($t0)
/* 0A12D0 802E1AD0 3C0F0200 */ lui $t7, (0x02000200 >> 16) # lui $t7, 0x200
/* 0A12D4 802E1AD4 35EF0200 */ ori $t7, (0x02000200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 0A12D8 802E1AD8 AD2F0000 */ sw $t7, ($t1)
/* 0A12DC 802E1ADC AD260004 */ sw $a2, %lo(0x80000004)($t1)
/* 0A12E0 802E1AE0 24840008 */ addiu $a0, $a0, 8
.L80202494:
/* 0A12E4 802E1AE4 10C00012 */ beqz $a2, .L802024E0
/* 0A12E8 802E1AE8 00801025 */ move $v0, $a0
/* 0A12EC 802E1AEC 3C0E0800 */ lui $t6, 0x800
/* 0A12F0 802E1AF0 AC4E0000 */ sw $t6, ($v0)
/* 0A12F4 802E1AF4 24F80200 */ addiu $t8, $a3, 0x200
/* 0A12F8 802E1AF8 00187C00 */ sll $t7, $t8, 0x10
/* 0A12FC 802E1AFC 30CEFFFF */ andi $t6, $a2, 0xffff
/* 0A1300 802E1B00 01EEC825 */ or $t9, $t7, $t6
/* 0A1304 802E1B04 24840008 */ addiu $a0, $a0, 8
/* 0A1308 802E1B08 AC590004 */ sw $t9, %lo(0x0A000004)($v0)
/* 0A130C 802E1B0C 00801825 */ move $v1, $a0
/* 0A1310 802E1B10 3C180600 */ lui $t8, 0x600
/* 0A1314 802E1B14 AC780000 */ sw $t8, ($v1)
/* 0A1318 802E1B18 8E0F000C */ lw $t7, 0xc($s0)
/* 0A131C 802E1B1C 3C018000 */ lui $at, (0x800000B0 >> 16) # lui $at, 0x8000
/* 0A1320 802E1B20 342100B0 */ ori $at, (0x800000B0 & 0xFFFF) # ori $at, $at, 0xb0
/* 0A1324 802E1B24 01E17021 */ addu $t6, $t7, $at
/* 0A1328 802E1B28 AC6E0004 */ sw $t6, 4($v1)
/* 0A132C 802E1B2C 24840008 */ addiu $a0, $a0, 8
.L802024E0:
/* 0A1330 802E1B30 24860008 */ addiu $a2, $a0, 8
/* 0A1334 802E1B34 3C190800 */ lui $t9, 0x800
/* 0A1338 802E1B38 AC990000 */ sw $t9, ($a0)
/* 0A133C 802E1B3C AC850004 */ sw $a1, 4($a0)
/* 0A1340 802E1B40 3C180C00 */ lui $t8, (0x0C007FFF >> 16) # lui $t8, 0xc00
/* 0A1344 802E1B44 314FFFFF */ andi $t7, $t2, 0xffff
/* 0A1348 802E1B48 3C010200 */ lui $at, 0x200
/* 0A134C 802E1B4C 01E17025 */ or $t6, $t7, $at
/* 0A1350 802E1B50 37187FFF */ ori $t8, (0x0C007FFF & 0xFFFF) # ori $t8, $t8, 0x7fff
/* 0A1354 802E1B54 ACD80000 */ sw $t8, ($a2)
/* 0A1358 802E1B58 ACCE0004 */ sw $t6, 4($a2)
/* 0A135C 802E1B5C 24C20008 */ addiu $v0, $a2, 8
.L80202510:
/* 0A1360 802E1B60 8FB00004 */ lw $s0, 4($sp)
/* 0A1364 802E1B64 03E00008 */ jr $ra
/* 0A1368 802E1B68 27BD0028 */ addiu $sp, $sp, 0x28

View file

@ -1,179 +0,0 @@
glabel prepare_reverb_ring_buffer
/* 09EE50 802DF650 00067140 */ sll $t6, $a2, 5
/* 09EE54 802DF654 01C67021 */ addu $t6, $t6, $a2
/* 09EE58 802DF658 3C0F8022 */ lui $t7, %hi(gSynthesisReverbs) # $t7, 0x8022
/* 09EE5C 802DF65C 25EFC1B0 */ addiu $t7, %lo(gSynthesisReverbs) # addiu $t7, $t7, -0x3e50
/* 09EE60 802DF660 000E70C0 */ sll $t6, $t6, 3
/* 09EE64 802DF664 01CF3821 */ addu $a3, $t6, $t7
/* 09EE68 802DF668 90F80004 */ lbu $t8, 4($a3)
/* 09EE6C 802DF66C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 09EE70 802DF670 24010001 */ li $at, 1
/* 09EE74 802DF674 AFBF0014 */ sw $ra, 0x14($sp)
/* 09EE78 802DF678 AFA40040 */ sw $a0, 0x40($sp)
/* 09EE7C 802DF67C 13010062 */ beq $t8, $at, .L802001B8
/* 09EE80 802DF680 AFA50044 */ sw $a1, 0x44($sp)
/* 09EE84 802DF684 90F90002 */ lbu $t9, 2($a3)
/* 09EE88 802DF688 00056080 */ sll $t4, $a1, 2
/* 09EE8C 802DF68C 01856021 */ addu $t4, $t4, $a1
/* 09EE90 802DF690 5720005E */ bnezl $t9, .L802001BC
/* 09EE94 802DF694 90E90004 */ lbu $t1, 4($a3)
/* 09EE98 802DF698 90E80003 */ lbu $t0, 3($a3)
/* 09EE9C 802DF69C 000C6080 */ sll $t4, $t4, 2
/* 09EEA0 802DF6A0 24050280 */ li $a1, 640
/* 09EEA4 802DF6A4 00084880 */ sll $t1, $t0, 2
/* 09EEA8 802DF6A8 01284823 */ subu $t1, $t1, $t0
/* 09EEAC 802DF6AC 000948C0 */ sll $t1, $t1, 3
/* 09EEB0 802DF6B0 01284821 */ addu $t1, $t1, $t0
/* 09EEB4 802DF6B4 00094880 */ sll $t1, $t1, 2
/* 09EEB8 802DF6B8 00E95021 */ addu $t2, $a3, $t1
/* 09EEBC 802DF6BC 014C3021 */ addu $a2, $t2, $t4
/* 09EEC0 802DF6C0 24C60030 */ addiu $a2, $a2, 0x30
/* 09EEC4 802DF6C4 8CC40004 */ lw $a0, 4($a2)
/* 09EEC8 802DF6C8 AFA70018 */ sw $a3, 0x18($sp)
/* 09EECC 802DF6CC 0C0BC448 */ jal osInvalDCache
/* 09EED0 802DF6D0 AFA6003C */ sw $a2, 0x3c($sp)
/* 09EED4 802DF6D4 8FA6003C */ lw $a2, 0x3c($sp)
/* 09EED8 802DF6D8 8FA70018 */ lw $a3, 0x18($sp)
/* 09EEDC 802DF6DC 00002825 */ move $a1, $zero
/* 09EEE0 802DF6E0 84CD0010 */ lh $t5, 0x10($a2)
/* 09EEE4 802DF6E4 00002025 */ move $a0, $zero
/* 09EEE8 802DF6E8 05A10003 */ bgez $t5, .L802000A8
/* 09EEEC 802DF6EC 000D7043 */ sra $t6, $t5, 1
/* 09EEF0 802DF6F0 25A10001 */ addiu $at, $t5, 1
/* 09EEF4 802DF6F4 00017043 */ sra $t6, $at, 1
.L802000A8:
/* 09EEF8 802DF6F8 59C00023 */ blezl $t6, .L80200138
/* 09EEFC 802DF6FC 84CE0012 */ lh $t6, 0x12($a2)
/* 09EF00 802DF700 00001025 */ move $v0, $zero
/* 09EF04 802DF704 8CCF0004 */ lw $t7, 4($a2)
.L802000B8:
/* 09EF08 802DF708 8CC9000C */ lw $t1, 0xc($a2)
/* 09EF0C 802DF70C 8CE80018 */ lw $t0, 0x18($a3)
/* 09EF10 802DF710 00051840 */ sll $v1, $a1, 1
/* 09EF14 802DF714 01E3C021 */ addu $t8, $t7, $v1
/* 09EF18 802DF718 87190000 */ lh $t9, ($t8)
/* 09EF1C 802DF71C 00095840 */ sll $t3, $t1, 1
/* 09EF20 802DF720 010B5021 */ addu $t2, $t0, $t3
/* 09EF24 802DF724 01426021 */ addu $t4, $t2, $v0
/* 09EF28 802DF728 A5990000 */ sh $t9, ($t4)
/* 09EF2C 802DF72C 8CCD0008 */ lw $t5, 8($a2)
/* 09EF30 802DF730 8CC9000C */ lw $t1, 0xc($a2)
/* 09EF34 802DF734 8CF8001C */ lw $t8, 0x1c($a3)
/* 09EF38 802DF738 01A37021 */ addu $t6, $t5, $v1
/* 09EF3C 802DF73C 85CF0000 */ lh $t7, ($t6)
/* 09EF40 802DF740 00094040 */ sll $t0, $t1, 1
/* 09EF44 802DF744 03085821 */ addu $t3, $t8, $t0
/* 09EF48 802DF748 01625021 */ addu $t2, $t3, $v0
/* 09EF4C 802DF74C A54F0000 */ sh $t7, ($t2)
/* 09EF50 802DF750 84CC0010 */ lh $t4, 0x10($a2)
/* 09EF54 802DF754 90F90004 */ lbu $t9, 4($a3)
/* 09EF58 802DF758 24840001 */ addiu $a0, $a0, 1
/* 09EF5C 802DF75C 24420002 */ addiu $v0, $v0, 2
/* 09EF60 802DF760 00B92821 */ addu $a1, $a1, $t9
/* 09EF64 802DF764 05810003 */ bgez $t4, .L80200124
/* 09EF68 802DF768 000C6843 */ sra $t5, $t4, 1
/* 09EF6C 802DF76C 25810001 */ addiu $at, $t4, 1
/* 09EF70 802DF770 00016843 */ sra $t5, $at, 1
.L80200124:
/* 09EF74 802DF774 008D082A */ slt $at, $a0, $t5
/* 09EF78 802DF778 5420FFE3 */ bnezl $at, .L802000B8
/* 09EF7C 802DF77C 8CCF0004 */ lw $t7, 4($a2)
/* 09EF80 802DF780 00002025 */ move $a0, $zero
/* 09EF84 802DF784 84CE0012 */ lh $t6, 0x12($a2)
.L80200138:
/* 09EF88 802DF788 05C10003 */ bgez $t6, .L80200148
/* 09EF8C 802DF78C 000E4843 */ sra $t1, $t6, 1
/* 09EF90 802DF790 25C10001 */ addiu $at, $t6, 1
/* 09EF94 802DF794 00014843 */ sra $t1, $at, 1
.L80200148:
/* 09EF98 802DF798 5920001C */ blezl $t1, .L802001BC
/* 09EF9C 802DF79C 90E90004 */ lbu $t1, 4($a3)
/* 09EFA0 802DF7A0 00001025 */ move $v0, $zero
/* 09EFA4 802DF7A4 8CD80004 */ lw $t8, 4($a2)
.L80200158:
/* 09EFA8 802DF7A8 00051840 */ sll $v1, $a1, 1
/* 09EFAC 802DF7AC 8CEF0018 */ lw $t7, 0x18($a3)
/* 09EFB0 802DF7B0 03034021 */ addu $t0, $t8, $v1
/* 09EFB4 802DF7B4 850B0000 */ lh $t3, ($t0)
/* 09EFB8 802DF7B8 01E25021 */ addu $t2, $t7, $v0
/* 09EFBC 802DF7BC 24840001 */ addiu $a0, $a0, 1
/* 09EFC0 802DF7C0 A54B0000 */ sh $t3, ($t2)
/* 09EFC4 802DF7C4 8CD90008 */ lw $t9, 8($a2)
/* 09EFC8 802DF7C8 8CEE001C */ lw $t6, 0x1c($a3)
/* 09EFCC 802DF7CC 03236021 */ addu $t4, $t9, $v1
/* 09EFD0 802DF7D0 858D0000 */ lh $t5, ($t4)
/* 09EFD4 802DF7D4 01C24821 */ addu $t1, $t6, $v0
/* 09EFD8 802DF7D8 24420002 */ addiu $v0, $v0, 2
/* 09EFDC 802DF7DC A52D0000 */ sh $t5, ($t1)
/* 09EFE0 802DF7E0 84C80012 */ lh $t0, 0x12($a2)
/* 09EFE4 802DF7E4 90F80004 */ lbu $t8, 4($a3)
/* 09EFE8 802DF7E8 00B82821 */ addu $a1, $a1, $t8
/* 09EFEC 802DF7EC 05010003 */ bgez $t0, .L802001AC
/* 09EFF0 802DF7F0 00087843 */ sra $t7, $t0, 1
/* 09EFF4 802DF7F4 25010001 */ addiu $at, $t0, 1
/* 09EFF8 802DF7F8 00017843 */ sra $t7, $at, 1
.L802001AC:
/* 09EFFC 802DF7FC 008F082A */ slt $at, $a0, $t7
/* 09F000 802DF800 5420FFE9 */ bnezl $at, .L80200158
/* 09F004 802DF804 8CD80004 */ lw $t8, 4($a2)
.L802001B8:
/* 09F008 802DF808 90E90004 */ lbu $t1, 4($a3)
.L802001BC:
/* 09F00C 802DF80C 8FAD0040 */ lw $t5, 0x40($sp)
/* 09F010 802DF810 90EB0003 */ lbu $t3, 3($a3)
/* 09F014 802DF814 8FAC0044 */ lw $t4, 0x44($sp)
/* 09F018 802DF818 01A9001A */ div $zero, $t5, $t1
/* 09F01C 802DF81C 000B5080 */ sll $t2, $t3, 2
/* 09F020 802DF820 8CF8000C */ lw $t8, 0xc($a3)
/* 09F024 802DF824 014B5023 */ subu $t2, $t2, $t3
/* 09F028 802DF828 8CEF0014 */ lw $t7, 0x14($a3)
/* 09F02C 802DF82C 000A50C0 */ sll $t2, $t2, 3
/* 09F030 802DF830 00001012 */ mflo $v0
/* 09F034 802DF834 014B5021 */ addu $t2, $t2, $t3
/* 09F038 802DF838 000C7080 */ sll $t6, $t4, 2
/* 09F03C 802DF83C 000A5080 */ sll $t2, $t2, 2
/* 09F040 802DF840 01CC7021 */ addu $t6, $t6, $t4
/* 09F044 802DF844 03024021 */ addu $t0, $t8, $v0
/* 09F048 802DF848 000E7080 */ sll $t6, $t6, 2
/* 09F04C 802DF84C 00EAC821 */ addu $t9, $a3, $t2
/* 09F050 802DF850 010F1823 */ subu $v1, $t0, $t7
/* 09F054 802DF854 032E3021 */ addu $a2, $t9, $t6
/* 09F058 802DF858 24C60030 */ addiu $a2, $a2, 0x30
/* 09F05C 802DF85C 15200002 */ bnez $t1, .L80200218
/* 09F060 802DF860 00000000 */ nop
/* 09F064 802DF864 0007000D */ break 7
.L80200218:
/* 09F068 802DF868 2401FFFF */ li $at, -1
/* 09F06C 802DF86C 15210004 */ bne $t1, $at, .L80200230
/* 09F070 802DF870 3C018000 */ lui $at, 0x8000
/* 09F074 802DF874 15A10002 */ bne $t5, $at, .L80200230
/* 09F078 802DF878 00000000 */ nop
/* 09F07C 802DF87C 0006000D */ break 6
.L80200230:
/* 09F080 802DF880 00437023 */ subu $t6, $v0, $v1
/* 09F084 802DF884 0461000A */ bgez $v1, .L80200260
/* 09F088 802DF888 00034840 */ sll $t1, $v1, 1
/* 09F08C 802DF88C 00025840 */ sll $t3, $v0, 1
/* 09F090 802DF890 A4CB0010 */ sh $t3, 0x10($a2)
/* 09F094 802DF894 A4C00012 */ sh $zero, 0x12($a2)
/* 09F098 802DF898 8CEA000C */ lw $t2, 0xc($a3)
/* 09F09C 802DF89C ACCA000C */ sw $t2, 0xc($a2)
/* 09F0A0 802DF8A0 8CEC000C */ lw $t4, 0xc($a3)
/* 09F0A4 802DF8A4 0182C821 */ addu $t9, $t4, $v0
/* 09F0A8 802DF8A8 10000007 */ b .L80200278
/* 09F0AC 802DF8AC ACF9000C */ sw $t9, 0xc($a3)
.L80200260:
/* 09F0B0 802DF8B0 000E6840 */ sll $t5, $t6, 1
/* 09F0B4 802DF8B4 A4CD0010 */ sh $t5, 0x10($a2)
/* 09F0B8 802DF8B8 A4C90012 */ sh $t1, 0x12($a2)
/* 09F0BC 802DF8BC 8CF8000C */ lw $t8, 0xc($a3)
/* 09F0C0 802DF8C0 ACD8000C */ sw $t8, 0xc($a2)
/* 09F0C4 802DF8C4 ACE3000C */ sw $v1, 0xc($a3)
.L80200278:
/* 09F0C8 802DF8C8 A4C20000 */ sh $v0, ($a2)
/* 09F0CC 802DF8CC 8FA80040 */ lw $t0, 0x40($sp)
/* 09F0D0 802DF8D0 A4C80002 */ sh $t0, 2($a2)
/* 09F0D4 802DF8D4 8FBF0014 */ lw $ra, 0x14($sp)
/* 09F0D8 802DF8D8 27BD0040 */ addiu $sp, $sp, 0x40
/* 09F0DC 802DF8DC 03E00008 */ jr $ra
/* 09F0E0 802DF8E0 00000000 */ nop

View file

@ -516,7 +516,7 @@ glabel L_EU_802E7B6C
/* 0A75E4 802E7DE4 91E40006 */ lbu $a0, 6($t7)
/* 0A75E8 802E7DE8 02584821 */ addu $t1, $s2, $t8
/* 0A75EC 802E7DEC 01289021 */ addu $s2, $t1, $t0
/* 0A75F0 802E7DF0 0C0B93EE */ jal func_eu_802e4fb8
/* 0A75F0 802E7DF0 0C0B93EE */ jal get_drum
/* 0A75F4 802E7DF4 324500FF */ andi $a1, $s2, 0xff
/* 0A75F8 802E7DF8 14400005 */ bnez $v0, .L80201E20
/* 0A75FC 802E7DFC 24430004 */ addiu $v1, $v0, 4
@ -575,7 +575,7 @@ glabel L_EU_802E7B6C
.L80201EC8:
/* 0A76B8 802E7EB8 1080000A */ beqz $a0, .L80201EF4
/* 0A76BC 802E7EBC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0A76C0 802E7EC0 0C0B9397 */ jal func_eu_802e4e5c
/* 0A76C0 802E7EC0 0C0B9397 */ jal instrument_get_audio_bank_sound
/* 0A76C4 802E7EC4 00C02825 */ move $a1, $a2
/* 0A76C8 802E7EC8 8E2B0048 */ lw $t3, 0x48($s1)
/* 0A76CC 802E7ECC 004B6826 */ xor $t5, $v0, $t3
@ -674,7 +674,7 @@ glabel L_EU_802E7F50
.L80202030:
/* 0A7820 802E8020 10800011 */ beqz $a0, .L80202078
/* 0A7824 802E8024 3C038030 */ lui $v1, %hi(gNoteFrequencies)
/* 0A7828 802E8028 0C0B9397 */ jal func_eu_802e4e5c
/* 0A7828 802E8028 0C0B9397 */ jal instrument_get_audio_bank_sound
/* 0A782C 802E802C 00000000 */ nop
/* 0A7830 802E8030 8E2C0048 */ lw $t4, 0x48($s1)
/* 0A7834 802E8034 3C038030 */ lui $v1, %hi(gNoteFrequencies) # $v1, 0x8030

View file

@ -1,56 +0,0 @@
glabel sequence_channel_enable
/* 0A6BE8 802E73E8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0A6BEC 802E73EC 30AE00FF */ andi $t6, $a1, 0xff
/* 0A6BF0 802E73F0 000E7880 */ sll $t7, $t6, 2
/* 0A6BF4 802E73F4 AFBF0024 */ sw $ra, 0x24($sp)
/* 0A6BF8 802E73F8 AFB30020 */ sw $s3, 0x20($sp)
/* 0A6BFC 802E73FC AFB2001C */ sw $s2, 0x1c($sp)
/* 0A6C00 802E7400 AFB10018 */ sw $s1, 0x18($sp)
/* 0A6C04 802E7404 AFB00014 */ sw $s0, 0x14($sp)
/* 0A6C08 802E7408 AFA5002C */ sw $a1, 0x2c($sp)
/* 0A6C0C 802E740C 008FC021 */ addu $t8, $a0, $t7
/* 0A6C10 802E7410 8F120030 */ lw $s2, 0x30($t8)
/* 0A6C14 802E7414 3C198023 */ lui $t9, %hi(gSequenceChannelNone) # $t9, 0x8023
/* 0A6C18 802E7418 27398748 */ addiu $t9, %lo(gSequenceChannelNone) # addiu $t9, $t9, -0x78b8
/* 0A6C1C 802E741C 1659000A */ bne $s2, $t9, .L80201458
/* 0A6C20 802E7420 00008025 */ move $s0, $zero
/* 0A6C24 802E7424 3C098022 */ lui $t1, %hi(gSequencePlayers) # $t1, 0x8022
/* 0A6C28 802E7428 25293D68 */ addiu $t1, %lo(gSequencePlayers) # addiu $t1, $t1, 0x3d68
/* 0A6C2C 802E742C 10890019 */ beq $a0, $t1, .L802014A4
/* 0A6C30 802E7430 3C0A8022 */ lui $t2, %hi(gSequencePlayers + 0x148) # $t2, 0x8022
/* 0A6C34 802E7434 254A3EB0 */ addiu $t2, %lo(gSequencePlayers + 0x148) # addiu $t2, $t2, 0x3eb0
/* 0A6C38 802E7438 548A0017 */ bnel $a0, $t2, .L802014A8
/* 0A6C3C 802E743C 8FBF0024 */ lw $ra, 0x24($sp)
/* 0A6C40 802E7440 10000015 */ b .L802014A8
/* 0A6C44 802E7444 8FBF0024 */ lw $ra, 0x24($sp)
.L80201458:
/* 0A6C48 802E7448 924C0000 */ lbu $t4, ($s2)
/* 0A6C4C 802E744C A2400078 */ sb $zero, 0x78($s2)
/* 0A6C50 802E7450 AE460060 */ sw $a2, 0x60($s2)
/* 0A6C54 802E7454 358E0080 */ ori $t6, $t4, 0x80
/* 0A6C58 802E7458 A24E0000 */ sb $t6, ($s2)
/* 0A6C5C 802E745C 31CF00BF */ andi $t7, $t6, 0xbf
/* 0A6C60 802E7460 A24F0000 */ sb $t7, ($s2)
/* 0A6C64 802E7464 A640001A */ sh $zero, 0x1a($s2)
/* 0A6C68 802E7468 02408825 */ move $s1, $s2
/* 0A6C6C 802E746C 24130004 */ li $s3, 4
.L80201480:
/* 0A6C70 802E7470 8E380048 */ lw $t8, 0x48($s1)
/* 0A6C74 802E7474 02402025 */ move $a0, $s2
/* 0A6C78 802E7478 53000004 */ beql $t8, $zero, .L8020149C
/* 0A6C7C 802E747C 26100001 */ addiu $s0, $s0, 1
/* 0A6C80 802E7480 0C0B9C2D */ jal seq_channel_layer_free
/* 0A6C84 802E7484 02002825 */ move $a1, $s0
/* 0A6C88 802E7488 26100001 */ addiu $s0, $s0, 1
.L8020149C:
/* 0A6C8C 802E748C 1613FFF8 */ bne $s0, $s3, .L80201480
/* 0A6C90 802E7490 26310004 */ addiu $s1, $s1, 4
.L802014A4:
/* 0A6C94 802E7494 8FBF0024 */ lw $ra, 0x24($sp)
.L802014A8:
/* 0A6C98 802E7498 8FB00014 */ lw $s0, 0x14($sp)
/* 0A6C9C 802E749C 8FB10018 */ lw $s1, 0x18($sp)
/* 0A6CA0 802E74A0 8FB2001C */ lw $s2, 0x1c($sp)
/* 0A6CA4 802E74A4 8FB30020 */ lw $s3, 0x20($sp)
/* 0A6CA8 802E74A8 03E00008 */ jr $ra
/* 0A6CAC 802E74AC 27BD0028 */ addiu $sp, $sp, 0x28

View file

@ -1,698 +0,0 @@
.late_rodata
.late_rodata_alignment 4
glabel jtbl_EU_80306AD4
.word L_EU_802E9530
.word L_EU_802E9520, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9510
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9500
.word L_EU_802E94D4, L_EU_802E94D4
.word L_EU_802E94C4, L_EU_802E94B4
.word L_EU_802E9488, L_EU_802E946C
.word L_EU_802E9450, L_EU_802E9024
.word L_EU_802E9424, L_EU_802E9310
.word L_EU_802E938C, L_EU_802E928C
.word L_EU_802E928C, L_EU_802E926C
.word L_EU_802E9268, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9258
.word L_EU_802E9230, L_EU_802E91E8
.word L_EU_802E91E8, L_EU_802E91E8
.word L_EU_802E9190, L_EU_802E9024
.word L_EU_802E9148, L_EU_802E9110
.word L_EU_802E9190, L_EU_802E9190
.word L_EU_802E9190, L_EU_802E90CC
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024
glabel jtbl_EU_80306BB4
.word L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E95C0
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E95CC
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E95D4
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E95DC
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.word L_EU_802E9024, L_EU_802E9024
.text
glabel sequence_player_process_sequence
/* 0A85E4 802E8DE4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0A85E8 802E8DE8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0A85EC 802E8DEC AFB30028 */ sw $s3, 0x28($sp)
/* 0A85F0 802E8DF0 AFB20024 */ sw $s2, 0x24($sp)
/* 0A85F4 802E8DF4 AFB10020 */ sw $s1, 0x20($sp)
/* 0A85F8 802E8DF8 AFB0001C */ sw $s0, 0x1c($sp)
/* 0A85FC 802E8DFC 8C820000 */ lw $v0, ($a0)
/* 0A8600 802E8E00 00808825 */ move $s1, $a0
/* 0A8604 802E8E04 24010001 */ li $at, 1
/* 0A8608 802E8E08 000277C2 */ srl $t6, $v0, 0x1f
/* 0A860C 802E8E0C 11C00212 */ beqz $t6, .L080201458
/* 0A8610 802E8E10 00027900 */ sll $t7, $v0, 4
/* 0A8614 802E8E14 000FC7C2 */ srl $t8, $t7, 0x1f
/* 0A8618 802E8E18 17010039 */ bne $t8, $at, .L080200D00
/* 0A861C 802E8E1C 000268C0 */ sll $t5, $v0, 3
/* 0A8620 802E8E20 24900108 */ addiu $s0, $a0, 0x108
/* 0A8624 802E8E24 02002025 */ move $a0, $s0
/* 0A8628 802E8E28 00002825 */ move $a1, $zero
/* 0A862C 802E8E2C 0C0BBDE0 */ jal osRecvMesg
/* 0A8630 802E8E30 00003025 */ move $a2, $zero
/* 0A8634 802E8E34 2401FFFF */ li $at, -1
/* 0A8638 802E8E38 50410208 */ beql $v0, $at, .L08020145C
/* 0A863C 802E8E3C 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A8640 802E8E40 8E390144 */ lw $t9, 0x144($s1)
/* 0A8644 802E8E44 3C128023 */ lui $s2, %hi(gCtlEntries) # $s2, 0x8023
/* 0A8648 802E8E48 265297D8 */ addiu $s2, %lo(gCtlEntries) # addiu $s2, $s2, -0x6828
/* 0A864C 802E8E4C 57200024 */ bnezl $t9, .L080200CE0
/* 0A8650 802E8E50 262C0124 */ addiu $t4, $s1, 0x124
/* 0A8654 802E8E54 92220006 */ lbu $v0, 6($s1)
/* 0A8658 802E8E58 2413000C */ li $s3, 12
/* 0A865C 802E8E5C 92280000 */ lbu $t0, ($s1)
/* 0A8660 802E8E60 00530019 */ multu $v0, $s3
/* 0A8664 802E8E64 3C0C8023 */ lui $t4, %hi(gAlTbl) # $t4, 0x8023
/* 0A8668 802E8E68 3109FFF7 */ andi $t1, $t0, 0xfff7
/* 0A866C 802E8E6C A2290000 */ sb $t1, ($s1)
/* 0A8670 802E8E70 8E4A0000 */ lw $t2, ($s2)
/* 0A8674 802E8E74 8D8C97CC */ lw $t4, %lo(gAlTbl)($t4)
/* 0A8678 802E8E78 000268C0 */ sll $t5, $v0, 3
/* 0A867C 802E8E7C 018D7021 */ addu $t6, $t4, $t5
/* 0A8680 802E8E80 8DC50004 */ lw $a1, 4($t6)
/* 0A8684 802E8E84 00005812 */ mflo $t3
/* 0A8688 802E8E88 014B8021 */ addu $s0, $t2, $t3
/* 0A868C 802E8E8C 8E040004 */ lw $a0, 4($s0)
/* 0A8690 802E8E90 92060001 */ lbu $a2, 1($s0)
/* 0A8694 802E8E94 92070002 */ lbu $a3, 2($s0)
/* 0A8698 802E8E98 0C0B8F0E */ jal patch_audio_bank
/* 0A869C 802E8E9C 2484FFFC */ addiu $a0, $a0, -4
/* 0A86A0 802E8EA0 92380006 */ lbu $t8, 6($s1)
/* 0A86A4 802E8EA4 8E4F0000 */ lw $t7, ($s2)
/* 0A86A8 802E8EA8 3C038022 */ lui $v1, %hi(gBankLoadStatus) # $v1, 0x8022
/* 0A86AC 802E8EAC 03130019 */ multu $t8, $s3
/* 0A86B0 802E8EB0 24632C18 */ addiu $v1, %lo(gBankLoadStatus) # addiu $v1, $v1, 0x2c18
/* 0A86B4 802E8EB4 24040002 */ li $a0, 2
/* 0A86B8 802E8EB8 0000C812 */ mflo $t9
/* 0A86BC 802E8EBC 01F98021 */ addu $s0, $t7, $t9
/* 0A86C0 802E8EC0 8E080004 */ lw $t0, 4($s0)
/* 0A86C4 802E8EC4 8D09FFFC */ lw $t1, -4($t0)
/* 0A86C8 802E8EC8 AE090008 */ sw $t1, 8($s0)
/* 0A86CC 802E8ECC 922A0006 */ lbu $t2, 6($s1)
/* 0A86D0 802E8ED0 006A5821 */ addu $t3, $v1, $t2
/* 0A86D4 802E8ED4 100001E0 */ b .L080201458
/* 0A86D8 802E8ED8 A1640000 */ sb $a0, ($t3)
/* 0A86DC 802E8EDC 262C0124 */ addiu $t4, $s1, 0x124
.L080200CE0:
/* 0A86E0 802E8EE0 AFAC0010 */ sw $t4, 0x10($sp)
/* 0A86E4 802E8EE4 26240140 */ addiu $a0, $s1, 0x140
/* 0A86E8 802E8EE8 2625013C */ addiu $a1, $s1, 0x13c
/* 0A86EC 802E8EEC 26260144 */ addiu $a2, $s1, 0x144
/* 0A86F0 802E8EF0 0C0B8CEA */ jal audio_dma_partial_copy_async
/* 0A86F4 802E8EF4 02003825 */ move $a3, $s0
/* 0A86F8 802E8EF8 100001D8 */ b .L08020145C
/* 0A86FC 802E8EFC 8FBF002C */ lw $ra, 0x2c($sp)
.L080200D00:
/* 0A8700 802E8F00 000D77C2 */ srl $t6, $t5, 0x1f
/* 0A8704 802E8F04 24010001 */ li $at, 1
/* 0A8708 802E8F08 15C1000E */ bne $t6, $at, .L080200D44
/* 0A870C 802E8F0C 262400D4 */ addiu $a0, $s1, 0xd4
/* 0A8710 802E8F10 00002825 */ move $a1, $zero
/* 0A8714 802E8F14 0C0BBDE0 */ jal osRecvMesg
/* 0A8718 802E8F18 00003025 */ move $a2, $zero
/* 0A871C 802E8F1C 2401FFFF */ li $at, -1
/* 0A8720 802E8F20 104101CD */ beq $v0, $at, .L080201458
/* 0A8724 802E8F24 24040002 */ li $a0, 2
/* 0A8728 802E8F28 92380000 */ lbu $t8, ($s1)
/* 0A872C 802E8F2C 92390004 */ lbu $t9, 4($s1)
/* 0A8730 802E8F30 3C018022 */ lui $at, %hi(gSeqLoadStatus)
/* 0A8734 802E8F34 330FFFEF */ andi $t7, $t8, 0xffef
/* 0A8738 802E8F38 A22F0000 */ sb $t7, ($s1)
/* 0A873C 802E8F3C 00390821 */ addu $at, $at, $t9
/* 0A8740 802E8F40 A0242C58 */ sb $a0, %lo(gSeqLoadStatus)($at)
.L080200D44:
/* 0A8744 802E8F44 92280004 */ lbu $t0, 4($s1)
/* 0A8748 802E8F48 3C098022 */ lui $t1, %hi(gSeqLoadStatus) # $t1, 0x8022
/* 0A874C 802E8F4C 25292C58 */ addiu $t1, %lo(gSeqLoadStatus) # addiu $t1, $t1, 0x2c58
/* 0A8750 802E8F50 01091021 */ addu $v0, $t0, $t1
/* 0A8754 802E8F54 904A0000 */ lbu $t2, ($v0)
/* 0A8758 802E8F58 24040002 */ li $a0, 2
/* 0A875C 802E8F5C 294B0002 */ slti $t3, $t2, 2
/* 0A8760 802E8F60 15600009 */ bnez $t3, .L080200D88
/* 0A8764 802E8F64 00000000 */ nop
/* 0A8768 802E8F68 922C0005 */ lbu $t4, 5($s1)
/* 0A876C 802E8F6C 3C038022 */ lui $v1, %hi(gBankLoadStatus) # $v1, 0x8022
/* 0A8770 802E8F70 24632C18 */ addiu $v1, %lo(gBankLoadStatus) # addiu $v1, $v1, 0x2c18
/* 0A8774 802E8F74 006C6821 */ addu $t5, $v1, $t4
/* 0A8778 802E8F78 91AE0000 */ lbu $t6, ($t5)
/* 0A877C 802E8F7C 29D80002 */ slti $t8, $t6, 2
/* 0A8780 802E8F80 53000006 */ beql $t8, $zero, .L080200D9C
/* 0A8784 802E8F84 A0440000 */ sb $a0, ($v0)
.L080200D88:
/* 0A8788 802E8F88 0C0B9D2C */ jal sequence_player_disable
/* 0A878C 802E8F8C 02202025 */ move $a0, $s1
/* 0A8790 802E8F90 100001B2 */ b .L08020145C
/* 0A8794 802E8F94 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A8798 802E8F98 A0440000 */ sb $a0, ($v0)
.L080200D9C:
/* 0A879C 802E8F9C 922F0005 */ lbu $t7, 5($s1)
/* 0A87A0 802E8FA0 006FC821 */ addu $t9, $v1, $t7
/* 0A87A4 802E8FA4 A3240000 */ sb $a0, ($t9)
/* 0A87A8 802E8FA8 8E280000 */ lw $t0, ($s1)
/* 0A87AC 802E8FAC 00085080 */ sll $t2, $t0, 2
/* 0A87B0 802E8FB0 05430006 */ bgezl $t2, .L080200DCC
/* 0A87B4 802E8FB4 962D000A */ lhu $t5, 0xa($s1)
/* 0A87B8 802E8FB8 922B0003 */ lbu $t3, 3($s1)
/* 0A87BC 802E8FBC 316C0080 */ andi $t4, $t3, 0x80
/* 0A87C0 802E8FC0 558001A6 */ bnezl $t4, .L08020145C
/* 0A87C4 802E8FC4 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A87C8 802E8FC8 962D000A */ lhu $t5, 0xa($s1)
.L080200DCC:
/* 0A87CC 802E8FCC 962E0008 */ lhu $t6, 8($s1)
/* 0A87D0 802E8FD0 3C038023 */ lui $v1, %hi(gTempoInternalToExternal) # $v1, 0x8023
/* 0A87D4 802E8FD4 01AEC021 */ addu $t8, $t5, $t6
/* 0A87D8 802E8FD8 A638000A */ sh $t8, 0xa($s1)
/* 0A87DC 802E8FDC 8463980C */ lh $v1, %lo(gTempoInternalToExternal)($v1)
/* 0A87E0 802E8FE0 3302FFFF */ andi $v0, $t8, 0xffff
/* 0A87E4 802E8FE4 0043082A */ slt $at, $v0, $v1
/* 0A87E8 802E8FE8 5420019C */ bnezl $at, .L08020145C
/* 0A87EC 802E8FEC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A87F0 802E8FF0 9624000E */ lhu $a0, 0xe($s1)
/* 0A87F4 802E8FF4 0043C823 */ subu $t9, $v0, $v1
/* 0A87F8 802E8FF8 A639000A */ sh $t9, 0xa($s1)
/* 0A87FC 802E8FFC 28810002 */ slti $at, $a0, 2
/* 0A8800 802E9000 14200003 */ bnez $at, .L080200E10
/* 0A8804 802E9004 2488FFFF */ addiu $t0, $a0, -1
/* 0A8808 802E9008 10000180 */ b .L08020140C
/* 0A880C 802E900C A628000E */ sh $t0, 0xe($s1)
.L080200E10:
/* 0A8810 802E9010 922A0000 */ lbu $t2, ($s1)
/* 0A8814 802E9014 26300070 */ addiu $s0, $s1, 0x70
/* 0A8818 802E9018 354B0004 */ ori $t3, $t2, 4
/* 0A881C 802E901C A22B0000 */ sb $t3, ($s1)
/* 0A8820 802E9020 8FB30058 */ lw $s3, 0x58($sp)
glabel L_EU_802E9024
.L_EU_802E9024:
/* 0A8824 802E9024 0C0B9DA0 */ jal m64_read_u8
/* 0A8828 802E9028 02002025 */ move $a0, $s0
/* 0A882C 802E902C 240100FF */ li $at, 255
/* 0A8830 802E9030 1441000E */ bne $v0, $at, .L080200E6C
/* 0A8834 802E9034 305200FF */ andi $s2, $v0, 0xff
/* 0A8838 802E9038 92040018 */ lbu $a0, 0x18($s0)
/* 0A883C 802E903C 14800005 */ bnez $a0, .L080200E54
/* 0A8840 802E9040 2483FFFF */ addiu $v1, $a0, -1
/* 0A8844 802E9044 0C0B9D2C */ jal sequence_player_disable
/* 0A8848 802E9048 02202025 */ move $a0, $s1
/* 0A884C 802E904C 1000016F */ b .L08020140C
/* 0A8850 802E9050 00000000 */ nop
.L080200E54:
/* 0A8854 802E9054 306C00FF */ andi $t4, $v1, 0xff
/* 0A8858 802E9058 000C6880 */ sll $t5, $t4, 2
/* 0A885C 802E905C 020D7021 */ addu $t6, $s0, $t5
/* 0A8860 802E9060 A20C0018 */ sb $t4, 0x18($s0)
/* 0A8864 802E9064 8DD80004 */ lw $t8, 4($t6)
/* 0A8868 802E9068 AE180000 */ sw $t8, ($s0)
.L080200E6C:
/* 0A886C 802E906C 304300FF */ andi $v1, $v0, 0xff
/* 0A8870 802E9070 240100FD */ li $at, 253
/* 0A8874 802E9074 14610005 */ bne $v1, $at, .L080200E8C
/* 0A8878 802E9078 306200F0 */ andi $v0, $v1, 0xf0
/* 0A887C 802E907C 0C0B9DB1 */ jal m64_read_compressed_u16
/* 0A8880 802E9080 02002025 */ move $a0, $s0
/* 0A8884 802E9084 10000161 */ b .L08020140C
/* 0A8888 802E9088 A622000E */ sh $v0, 0xe($s1)
.L080200E8C:
/* 0A888C 802E908C 240100FE */ li $at, 254
/* 0A8890 802E9090 14610004 */ bne $v1, $at, .L080200EA4
/* 0A8894 802E9094 2479FF38 */ addiu $t9, $v1, -0xc8
/* 0A8898 802E9098 240F0001 */ li $t7, 1
/* 0A889C 802E909C 1000015B */ b .L08020140C
/* 0A88A0 802E90A0 A62F000E */ sh $t7, 0xe($s1)
.L080200EA4:
/* 0A88A4 802E90A4 286100C0 */ slti $at, $v1, 0xc0
/* 0A88A8 802E90A8 14200125 */ bnez $at, .L080201340
/* 0A88AC 802E90AC 2F210038 */ sltiu $at, $t9, 0x38
/* 0A88B0 802E90B0 1020FFDC */ beqz $at, .L_EU_802E9024
/* 0A88B4 802E90B4 0019C880 */ sll $t9, $t9, 2
/* 0A88B8 802E90B8 3C018030 */ lui $at, %hi(jtbl_EU_80306AD4)
/* 0A88BC 802E90BC 00390821 */ addu $at, $at, $t9
/* 0A88C0 802E90C0 8C396AD4 */ lw $t9, %lo(jtbl_EU_80306AD4)($at)
/* 0A88C4 802E90C4 03200008 */ jr $t9
/* 0A88C8 802E90C8 00000000 */ nop
glabel L_EU_802E90CC
/* 0A88CC 802E90CC 0C0B9DA5 */ jal m64_read_s16
/* 0A88D0 802E90D0 02002025 */ move $a0, $s0
/* 0A88D4 802E90D4 92090018 */ lbu $t1, 0x18($s0)
/* 0A88D8 802E90D8 8E080000 */ lw $t0, ($s0)
/* 0A88DC 802E90DC 3058FFFF */ andi $t8, $v0, 0xffff
/* 0A88E0 802E90E0 00095080 */ sll $t2, $t1, 2
/* 0A88E4 802E90E4 020A5821 */ addu $t3, $s0, $t2
/* 0A88E8 802E90E8 AD680004 */ sw $t0, 4($t3)
/* 0A88EC 802E90EC 920C0018 */ lbu $t4, 0x18($s0)
/* 0A88F0 802E90F0 258D0001 */ addiu $t5, $t4, 1
/* 0A88F4 802E90F4 A20D0018 */ sb $t5, 0x18($s0)
/* 0A88F8 802E90F8 8E2E0014 */ lw $t6, 0x14($s1)
/* 0A88FC 802E90FC 01D87821 */ addu $t7, $t6, $t8
/* 0A8900 802E9100 1000FFC8 */ b .L_EU_802E9024
/* 0A8904 802E9104 AE0F0000 */ sw $t7, ($s0)
/* 0A8908 802E9108 1000FFC6 */ b .L_EU_802E9024
/* 0A890C 802E910C 00000000 */ nop
glabel L_EU_802E9110
/* 0A8910 802E9110 0C0B9DA0 */ jal m64_read_u8
/* 0A8914 802E9114 02002025 */ move $a0, $s0
/* 0A8918 802E9118 92190018 */ lbu $t9, 0x18($s0)
/* 0A891C 802E911C 02194821 */ addu $t1, $s0, $t9
/* 0A8920 802E9120 A1220014 */ sb $v0, 0x14($t1)
/* 0A8924 802E9124 92080018 */ lbu $t0, 0x18($s0)
/* 0A8928 802E9128 8E0A0000 */ lw $t2, ($s0)
/* 0A892C 802E912C 00085880 */ sll $t3, $t0, 2
/* 0A8930 802E9130 020B6021 */ addu $t4, $s0, $t3
/* 0A8934 802E9134 AD8A0004 */ sw $t2, 4($t4)
/* 0A8938 802E9138 920D0018 */ lbu $t5, 0x18($s0)
/* 0A893C 802E913C 25AE0001 */ addiu $t6, $t5, 1
/* 0A8940 802E9140 1000FFB8 */ b .L_EU_802E9024
/* 0A8944 802E9144 A20E0018 */ sb $t6, 0x18($s0)
glabel L_EU_802E9148
/* 0A8948 802E9148 92180018 */ lbu $t8, 0x18($s0)
/* 0A894C 802E914C 02181021 */ addu $v0, $s0, $t8
/* 0A8950 802E9150 904F0013 */ lbu $t7, 0x13($v0)
/* 0A8954 802E9154 25F9FFFF */ addiu $t9, $t7, -1
/* 0A8958 802E9158 A0590013 */ sb $t9, 0x13($v0)
/* 0A895C 802E915C 92040018 */ lbu $a0, 0x18($s0)
/* 0A8960 802E9160 02044821 */ addu $t1, $s0, $a0
/* 0A8964 802E9164 91280013 */ lbu $t0, 0x13($t1)
/* 0A8968 802E9168 00801825 */ move $v1, $a0
/* 0A896C 802E916C 00035880 */ sll $t3, $v1, 2
/* 0A8970 802E9170 11000005 */ beqz $t0, .L080200F88
/* 0A8974 802E9174 248DFFFF */ addiu $t5, $a0, -1
/* 0A8978 802E9178 020B5021 */ addu $t2, $s0, $t3
/* 0A897C 802E917C 8D4C0000 */ lw $t4, ($t2)
/* 0A8980 802E9180 1000FFA8 */ b .L_EU_802E9024
/* 0A8984 802E9184 AE0C0000 */ sw $t4, ($s0)
.L080200F88:
/* 0A8988 802E9188 1000FFA6 */ b .L_EU_802E9024
/* 0A898C 802E918C A20D0018 */ sb $t5, 0x18($s0)
glabel L_EU_802E9190
/* 0A8990 802E9190 0C0B9DA5 */ jal m64_read_s16
/* 0A8994 802E9194 02002025 */ move $a0, $s0
/* 0A8998 802E9198 240100FA */ li $at, 250
/* 0A899C 802E919C 16410003 */ bne $s2, $at, .L080200FAC
/* 0A89A0 802E91A0 02401825 */ move $v1, $s2
/* 0A89A4 802E91A4 1660FF9F */ bnez $s3, .L_EU_802E9024
/* 0A89A8 802E91A8 00000000 */ nop
.L080200FAC:
/* 0A89AC 802E91AC 240100F9 */ li $at, 249
/* 0A89B0 802E91B0 54610004 */ bnel $v1, $at, .L080200FC4
/* 0A89B4 802E91B4 240100F5 */ li $at, 245
/* 0A89B8 802E91B8 0661FF9A */ bgez $s3, .L_EU_802E9024
/* 0A89BC 802E91BC 00000000 */ nop
/* 0A89C0 802E91C0 240100F5 */ li $at, 245
.L080200FC4:
/* 0A89C4 802E91C4 54610004 */ bnel $v1, $at, .L080200FD8
/* 0A89C8 802E91C8 8E2E0014 */ lw $t6, 0x14($s1)
/* 0A89CC 802E91CC 0660FF95 */ bltz $s3, .L_EU_802E9024
/* 0A89D0 802E91D0 00000000 */ nop
/* 0A89D4 802E91D4 8E2E0014 */ lw $t6, 0x14($s1)
.L080200FD8:
/* 0A89D8 802E91D8 3058FFFF */ andi $t8, $v0, 0xffff
/* 0A89DC 802E91DC 01D87821 */ addu $t7, $t6, $t8
/* 0A89E0 802E91E0 1000FF90 */ b .L_EU_802E9024
/* 0A89E4 802E91E4 AE0F0000 */ sw $t7, ($s0)
glabel L_EU_802E91E8
/* 0A89E8 802E91E8 0C0B9DA0 */ jal m64_read_u8
/* 0A89EC 802E91EC 02002025 */ move $a0, $s0
/* 0A89F0 802E91F0 240100F3 */ li $at, 243
/* 0A89F4 802E91F4 16410003 */ bne $s2, $at, .L080201004
/* 0A89F8 802E91F8 02401825 */ move $v1, $s2
/* 0A89FC 802E91FC 1660FF89 */ bnez $s3, .L_EU_802E9024
/* 0A8A00 802E9200 00000000 */ nop
.L080201004:
/* 0A8A04 802E9204 240100F2 */ li $at, 242
/* 0A8A08 802E9208 54610004 */ bnel $v1, $at, .L08020101C
/* 0A8A0C 802E920C 8E190000 */ lw $t9, ($s0)
/* 0A8A10 802E9210 0661FF84 */ bgez $s3, .L_EU_802E9024
/* 0A8A14 802E9214 00000000 */ nop
/* 0A8A18 802E9218 8E190000 */ lw $t9, ($s0)
.L08020101C:
/* 0A8A1C 802E921C 00024E00 */ sll $t1, $v0, 0x18
/* 0A8A20 802E9220 00094603 */ sra $t0, $t1, 0x18
/* 0A8A24 802E9224 03285821 */ addu $t3, $t9, $t0
/* 0A8A28 802E9228 1000FF7E */ b .L_EU_802E9024
/* 0A8A2C 802E922C AE0B0000 */ sw $t3, ($s0)
glabel L_EU_802E9230
/* 0A8A30 802E9230 26240094 */ addiu $a0, $s1, 0x94
/* 0A8A34 802E9234 0C0B9671 */ jal note_pool_clear
/* 0A8A38 802E9238 AFA40038 */ sw $a0, 0x38($sp)
/* 0A8A3C 802E923C 0C0B9DA0 */ jal m64_read_u8
/* 0A8A40 802E9240 02002025 */ move $a0, $s0
/* 0A8A44 802E9244 8FA40038 */ lw $a0, 0x38($sp)
/* 0A8A48 802E9248 0C0B96C9 */ jal note_pool_fill
/* 0A8A4C 802E924C 00402825 */ move $a1, $v0
/* 0A8A50 802E9250 1000FF74 */ b .L_EU_802E9024
/* 0A8A54 802E9254 00000000 */ nop
glabel L_EU_802E9258
/* 0A8A58 802E9258 0C0B9671 */ jal note_pool_clear
/* 0A8A5C 802E925C 26240094 */ addiu $a0, $s1, 0x94
/* 0A8A60 802E9260 1000FF70 */ b .L_EU_802E9024
/* 0A8A64 802E9264 00000000 */ nop
glabel L_EU_802E9268
/* 0A8A68 802E9268 A620000C */ sh $zero, 0xc($s1)
glabel L_EU_802E926C
/* 0A8A6C 802E926C 0C0B9DA0 */ jal m64_read_u8
/* 0A8A70 802E9270 02002025 */ move $a0, $s0
/* 0A8A74 802E9274 862A000C */ lh $t2, 0xc($s1)
/* 0A8A78 802E9278 00026600 */ sll $t4, $v0, 0x18
/* 0A8A7C 802E927C 000C6E03 */ sra $t5, $t4, 0x18
/* 0A8A80 802E9280 014D7021 */ addu $t6, $t2, $t5
/* 0A8A84 802E9284 1000FF67 */ b .L_EU_802E9024
/* 0A8A88 802E9288 A62E000C */ sh $t6, 0xc($s1)
glabel L_EU_802E928C
/* 0A8A8C 802E928C 0C0B9DA0 */ jal m64_read_u8
/* 0A8A90 802E9290 02002025 */ move $a0, $s0
/* 0A8A94 802E9294 240100DD */ li $at, 221
/* 0A8A98 802E9298 16410007 */ bne $s2, $at, .L0802010B8
/* 0A8A9C 802E929C 3C038023 */ lui $v1, %hi(gTempoInternalToExternal) # $v1, 0x8023
/* 0A8AA0 802E92A0 305800FF */ andi $t8, $v0, 0xff
/* 0A8AA4 802E92A4 00187880 */ sll $t7, $t8, 2
/* 0A8AA8 802E92A8 01F87823 */ subu $t7, $t7, $t8
/* 0A8AAC 802E92AC 000F7900 */ sll $t7, $t7, 4
/* 0A8AB0 802E92B0 10000009 */ b .L0802010D8
/* 0A8AB4 802E92B4 A62F0008 */ sh $t7, 8($s1)
.L0802010B8:
/* 0A8AB8 802E92B8 0002CE00 */ sll $t9, $v0, 0x18
/* 0A8ABC 802E92BC 00194603 */ sra $t0, $t9, 0x18
/* 0A8AC0 802E92C0 96290008 */ lhu $t1, 8($s1)
/* 0A8AC4 802E92C4 00085880 */ sll $t3, $t0, 2
/* 0A8AC8 802E92C8 01685823 */ subu $t3, $t3, $t0
/* 0A8ACC 802E92CC 000B5900 */ sll $t3, $t3, 4
/* 0A8AD0 802E92D0 012B6021 */ addu $t4, $t1, $t3
/* 0A8AD4 802E92D4 A62C0008 */ sh $t4, 8($s1)
.L0802010D8:
/* 0A8AD8 802E92D8 8463980C */ lh $v1, %lo(gTempoInternalToExternal)($v1)
/* 0A8ADC 802E92DC 96220008 */ lhu $v0, 8($s1)
/* 0A8AE0 802E92E0 240E0001 */ li $t6, 1
/* 0A8AE4 802E92E4 0062082A */ slt $at, $v1, $v0
/* 0A8AE8 802E92E8 50200004 */ beql $at, $zero, .L0802010FC
/* 0A8AEC 802E92EC 00025400 */ sll $t2, $v0, 0x10
/* 0A8AF0 802E92F0 A6230008 */ sh $v1, 8($s1)
/* 0A8AF4 802E92F4 3062FFFF */ andi $v0, $v1, 0xffff
/* 0A8AF8 802E92F8 00025400 */ sll $t2, $v0, 0x10
.L0802010FC:
/* 0A8AFC 802E92FC 000A6C03 */ sra $t5, $t2, 0x10
/* 0A8B00 802E9300 1DA0FF48 */ bgtz $t5, .L_EU_802E9024
/* 0A8B04 802E9304 00000000 */ nop
/* 0A8B08 802E9308 1000FF46 */ b .L_EU_802E9024
/* 0A8B0C 802E930C A62E0008 */ sh $t6, 8($s1)
glabel L_EU_802E9310
/* 0A8B10 802E9310 0C0B9DA0 */ jal m64_read_u8
/* 0A8B14 802E9314 02002025 */ move $a0, $s0
/* 0A8B18 802E9318 305200FF */ andi $s2, $v0, 0xff
/* 0A8B1C 802E931C 0C0B9DA5 */ jal m64_read_s16
/* 0A8B20 802E9320 02002025 */ move $a0, $s0
/* 0A8B24 802E9324 12400008 */ beqz $s2, .L080201148
/* 0A8B28 802E9328 02401825 */ move $v1, $s2
/* 0A8B2C 802E932C 24010001 */ li $at, 1
/* 0A8B30 802E9330 10610005 */ beq $v1, $at, .L080201148
/* 0A8B34 802E9334 24010002 */ li $at, 2
/* 0A8B38 802E9338 1061000A */ beq $v1, $at, .L080201164
/* 0A8B3C 802E933C 304FFFFF */ andi $t7, $v0, 0xffff
/* 0A8B40 802E9340 1000FF38 */ b .L_EU_802E9024
/* 0A8B44 802E9344 00000000 */ nop
.L080201148:
/* 0A8B48 802E9348 92380001 */ lbu $t8, 1($s1)
/* 0A8B4C 802E934C 24010002 */ li $at, 2
/* 0A8B50 802E9350 1301FF34 */ beq $t8, $at, .L_EU_802E9024
/* 0A8B54 802E9354 00000000 */ nop
/* 0A8B58 802E9358 A6220012 */ sh $v0, 0x12($s1)
/* 0A8B5C 802E935C 1000FF31 */ b .L_EU_802E9024
/* 0A8B60 802E9360 A2320001 */ sb $s2, 1($s1)
.L080201164:
/* 0A8B64 802E9364 448F5000 */ mtc1 $t7, $f10
/* 0A8B68 802E9368 44802000 */ mtc1 $zero, $f4
/* 0A8B6C 802E936C C6260018 */ lwc1 $f6, 0x18($s1)
/* 0A8B70 802E9370 46805420 */ cvt.s.w $f16, $f10
/* 0A8B74 802E9374 A6220010 */ sh $v0, 0x10($s1)
/* 0A8B78 802E9378 A2320001 */ sb $s2, 1($s1)
/* 0A8B7C 802E937C 46062201 */ sub.s $f8, $f4, $f6
/* 0A8B80 802E9380 46104483 */ div.s $f18, $f8, $f16
/* 0A8B84 802E9384 1000FF27 */ b .L_EU_802E9024
/* 0A8B88 802E9388 E632001C */ swc1 $f18, 0x1c($s1)
glabel L_EU_802E938C
/* 0A8B8C 802E938C 0C0B9DA0 */ jal m64_read_u8
/* 0A8B90 802E9390 02002025 */ move $a0, $s0
/* 0A8B94 802E9394 92230001 */ lbu $v1, 1($s1)
/* 0A8B98 802E9398 24010001 */ li $at, 1
/* 0A8B9C 802E939C 5060000B */ beql $v1, $zero, .L0802011CC
/* 0A8BA0 802E93A0 96230012 */ lhu $v1, 0x12($s1)
/* 0A8BA4 802E93A4 10610005 */ beq $v1, $at, .L0802011BC
/* 0A8BA8 802E93A8 24010002 */ li $at, 2
/* 0A8BAC 802E93AC 1061FF1D */ beq $v1, $at, .L_EU_802E9024
/* 0A8BB0 802E93B0 00000000 */ nop
/* 0A8BB4 802E93B4 1000FF1B */ b .L_EU_802E9024
/* 0A8BB8 802E93B8 00000000 */ nop
.L0802011BC:
/* 0A8BBC 802E93BC 44802000 */ mtc1 $zero, $f4
/* 0A8BC0 802E93C0 A2200001 */ sb $zero, 1($s1)
/* 0A8BC4 802E93C4 E6240018 */ swc1 $f4, 0x18($s1)
/* 0A8BC8 802E93C8 96230012 */ lhu $v1, 0x12($s1)
.L0802011CC:
/* 0A8BCC 802E93CC 1060000E */ beqz $v1, .L080201208
/* 0A8BD0 802E93D0 A6230010 */ sh $v1, 0x10($s1)
/* 0A8BD4 802E93D4 44823000 */ mtc1 $v0, $f6
/* 0A8BD8 802E93D8 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0A8BDC 802E93DC 44814000 */ mtc1 $at, $f8
/* 0A8BE0 802E93E0 468032A0 */ cvt.s.w $f10, $f6
/* 0A8BE4 802E93E4 3079FFFF */ andi $t9, $v1, 0xffff
/* 0A8BE8 802E93E8 44993000 */ mtc1 $t9, $f6
/* 0A8BEC 802E93EC C6320018 */ lwc1 $f18, 0x18($s1)
/* 0A8BF0 802E93F0 46085403 */ div.s $f16, $f10, $f8
/* 0A8BF4 802E93F4 468032A0 */ cvt.s.w $f10, $f6
/* 0A8BF8 802E93F8 46128101 */ sub.s $f4, $f16, $f18
/* 0A8BFC 802E93FC 460A2203 */ div.s $f8, $f4, $f10
/* 0A8C00 802E9400 1000FF08 */ b .L_EU_802E9024
/* 0A8C04 802E9404 E628001C */ swc1 $f8, 0x1c($s1)
.L080201208:
/* 0A8C08 802E9408 44828000 */ mtc1 $v0, $f16
/* 0A8C0C 802E940C 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0A8C10 802E9410 44813000 */ mtc1 $at, $f6
/* 0A8C14 802E9414 468084A0 */ cvt.s.w $f18, $f16
/* 0A8C18 802E9418 46069103 */ div.s $f4, $f18, $f6
/* 0A8C1C 802E941C 1000FF01 */ b .L_EU_802E9024
/* 0A8C20 802E9420 E6240018 */ swc1 $f4, 0x18($s1)
glabel L_EU_802E9424
/* 0A8C24 802E9424 0C0B9DA0 */ jal m64_read_u8
/* 0A8C28 802E9428 02002025 */ move $a0, $s0
/* 0A8C2C 802E942C 00024600 */ sll $t0, $v0, 0x18
/* 0A8C30 802E9430 00084E03 */ sra $t1, $t0, 0x18
/* 0A8C34 802E9434 44895000 */ mtc1 $t1, $f10
/* 0A8C38 802E9438 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0A8C3C 802E943C 44818000 */ mtc1 $at, $f16
/* 0A8C40 802E9440 46805220 */ cvt.s.w $f8, $f10
/* 0A8C44 802E9444 46104483 */ div.s $f18, $f8, $f16
/* 0A8C48 802E9448 1000FEF6 */ b .L_EU_802E9024
/* 0A8C4C 802E944C E6320028 */ swc1 $f18, 0x28($s1)
glabel L_EU_802E9450
/* 0A8C50 802E9450 0C0B9DA5 */ jal m64_read_s16
/* 0A8C54 802E9454 02002025 */ move $a0, $s0
/* 0A8C58 802E9458 02202025 */ move $a0, $s1
/* 0A8C5C 802E945C 0C0B9C7B */ jal sequence_player_init_channels
/* 0A8C60 802E9460 3045FFFF */ andi $a1, $v0, 0xffff
/* 0A8C64 802E9464 1000FEEF */ b .L_EU_802E9024
/* 0A8C68 802E9468 00000000 */ nop
glabel L_EU_802E946C
/* 0A8C6C 802E946C 0C0B9DA5 */ jal m64_read_s16
/* 0A8C70 802E9470 02002025 */ move $a0, $s0
/* 0A8C74 802E9474 02202025 */ move $a0, $s1
/* 0A8C78 802E9478 0C0B9CC6 */ jal sequence_player_disable_channels
/* 0A8C7C 802E947C 3045FFFF */ andi $a1, $v0, 0xffff
/* 0A8C80 802E9480 1000FEE8 */ b .L_EU_802E9024
/* 0A8C84 802E9484 00000000 */ nop
glabel L_EU_802E9488
/* 0A8C88 802E9488 0C0B9DA0 */ jal m64_read_u8
/* 0A8C8C 802E948C 02002025 */ move $a0, $s0
/* 0A8C90 802E9490 00025E00 */ sll $t3, $v0, 0x18
/* 0A8C94 802E9494 000B6603 */ sra $t4, $t3, 0x18
/* 0A8C98 802E9498 448C3000 */ mtc1 $t4, $f6
/* 0A8C9C 802E949C 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0A8CA0 802E94A0 44815000 */ mtc1 $at, $f10
/* 0A8CA4 802E94A4 46803120 */ cvt.s.w $f4, $f6
/* 0A8CA8 802E94A8 460A2203 */ div.s $f8, $f4, $f10
/* 0A8CAC 802E94AC 1000FEDD */ b .L_EU_802E9024
/* 0A8CB0 802E94B0 E6280024 */ swc1 $f8, 0x24($s1)
glabel L_EU_802E94B4
/* 0A8CB4 802E94B4 922D0000 */ lbu $t5, ($s1)
/* 0A8CB8 802E94B8 35AE0020 */ ori $t6, $t5, 0x20
/* 0A8CBC 802E94BC 1000FED9 */ b .L_EU_802E9024
/* 0A8CC0 802E94C0 A22E0000 */ sb $t6, ($s1)
glabel L_EU_802E94C4
/* 0A8CC4 802E94C4 0C0B9DA0 */ jal m64_read_u8
/* 0A8CC8 802E94C8 02002025 */ move $a0, $s0
/* 0A8CCC 802E94CC 1000FED5 */ b .L_EU_802E9024
/* 0A8CD0 802E94D0 A2220003 */ sb $v0, 3($s1)
glabel L_EU_802E94D4
/* 0A8CD4 802E94D4 0C0B9DA5 */ jal m64_read_s16
/* 0A8CD8 802E94D8 02002025 */ move $a0, $s0
/* 0A8CDC 802E94DC 8E380014 */ lw $t8, 0x14($s1)
/* 0A8CE0 802E94E0 304FFFFF */ andi $t7, $v0, 0xffff
/* 0A8CE4 802E94E4 240100D2 */ li $at, 210
/* 0A8CE8 802E94E8 16410003 */ bne $s2, $at, .L0802012F8
/* 0A8CEC 802E94EC 030F1821 */ addu $v1, $t8, $t7
/* 0A8CF0 802E94F0 1000FECC */ b .L_EU_802E9024
/* 0A8CF4 802E94F4 AE23008C */ sw $v1, 0x8c($s1)
.L0802012F8:
/* 0A8CF8 802E94F8 1000FECA */ b .L_EU_802E9024
/* 0A8CFC 802E94FC AE230090 */ sw $v1, 0x90($s1)
glabel L_EU_802E9500
/* 0A8D00 802E9500 0C0B9DA0 */ jal m64_read_u8
/* 0A8D04 802E9504 02002025 */ move $a0, $s0
/* 0A8D08 802E9508 1000FEC6 */ b .L_EU_802E9024
/* 0A8D0C 802E950C A2220002 */ sb $v0, 2($s1)
glabel L_EU_802E9510
/* 0A8D10 802E9510 0C0B9DA0 */ jal m64_read_u8
/* 0A8D14 802E9514 02002025 */ move $a0, $s0
/* 0A8D18 802E9518 1000FEC2 */ b .L_EU_802E9024
/* 0A8D1C 802E951C 00409825 */ move $s3, $v0
glabel L_EU_802E9520
/* 0A8D20 802E9520 0C0B9DA0 */ jal m64_read_u8
/* 0A8D24 802E9524 02002025 */ move $a0, $s0
/* 0A8D28 802E9528 1000FEBE */ b .L_EU_802E9024
/* 0A8D2C 802E952C 02629824 */ and $s3, $s3, $v0
glabel L_EU_802E9530
/* 0A8D30 802E9530 0C0B9DA0 */ jal m64_read_u8
/* 0A8D34 802E9534 02002025 */ move $a0, $s0
/* 0A8D38 802E9538 1000FEBA */ b .L_EU_802E9024
/* 0A8D3C 802E953C 02629823 */ subu $s3, $s3, $v0
.L080201340:
/* 0A8D40 802E9540 28410011 */ slti $at, $v0, 0x11
/* 0A8D44 802E9544 14200010 */ bnez $at, .L080201388
/* 0A8D48 802E9548 28410021 */ slti $at, $v0, 0x21
/* 0A8D4C 802E954C 14200009 */ bnez $at, .L080201374
/* 0A8D50 802E9550 2459FFC0 */ addiu $t9, $v0, -0x40
/* 0A8D54 802E9554 2F210061 */ sltiu $at, $t9, 0x61
/* 0A8D58 802E9558 1020FEB2 */ beqz $at, .L_EU_802E9024
/* 0A8D5C 802E955C 0019C880 */ sll $t9, $t9, 2
/* 0A8D60 802E9560 3C018030 */ lui $at, %hi(jtbl_EU_80306BB4)
/* 0A8D64 802E9564 00390821 */ addu $at, $at, $t9
/* 0A8D68 802E9568 8C396BB4 */ lw $t9, %lo(jtbl_EU_80306BB4)($at)
/* 0A8D6C 802E956C 03200008 */ jr $t9
/* 0A8D70 802E9570 00000000 */ nop
.L080201374:
/* 0A8D74 802E9574 24010020 */ li $at, 32
/* 0A8D78 802E9578 1041FEAA */ beq $v0, $at, .L_EU_802E9024
/* 0A8D7C 802E957C 00000000 */ nop
/* 0A8D80 802E9580 1000FEA8 */ b .L_EU_802E9024
/* 0A8D84 802E9584 00000000 */ nop
.L080201388:
/* 0A8D88 802E9588 10400006 */ beqz $v0, .L0802013A4
/* 0A8D8C 802E958C 3069000F */ andi $t1, $v1, 0xf
/* 0A8D90 802E9590 24010010 */ li $at, 16
/* 0A8D94 802E9594 1041FEA3 */ beq $v0, $at, .L_EU_802E9024
/* 0A8D98 802E9598 00000000 */ nop
/* 0A8D9C 802E959C 1000FEA1 */ b .L_EU_802E9024
/* 0A8DA0 802E95A0 00000000 */ nop
.L0802013A4:
/* 0A8DA4 802E95A4 00095880 */ sll $t3, $t1, 2
/* 0A8DA8 802E95A8 022B6021 */ addu $t4, $s1, $t3
/* 0A8DAC 802E95AC 8D8A0030 */ lw $t2, 0x30($t4)
/* 0A8DB0 802E95B0 8D530000 */ lw $s3, ($t2)
/* 0A8DB4 802E95B4 00136840 */ sll $t5, $s3, 1
/* 0A8DB8 802E95B8 1000FE9A */ b .L_EU_802E9024
/* 0A8DBC 802E95BC 000D9FC2 */ srl $s3, $t5, 0x1f
glabel L_EU_802E95C0
/* 0A8DC0 802E95C0 82380007 */ lb $t8, 7($s1)
/* 0A8DC4 802E95C4 1000FE97 */ b .L_EU_802E9024
/* 0A8DC8 802E95C8 02789823 */ subu $s3, $s3, $t8
glabel L_EU_802E95CC
/* 0A8DCC 802E95CC 1000FE95 */ b .L_EU_802E9024
/* 0A8DD0 802E95D0 A2330007 */ sb $s3, 7($s1)
glabel L_EU_802E95D4
/* 0A8DD4 802E95D4 1000FE93 */ b .L_EU_802E9024
/* 0A8DD8 802E95D8 82330007 */ lb $s3, 7($s1)
glabel L_EU_802E95DC
/* 0A8DDC 802E95DC 0C0B9DA5 */ jal m64_read_s16
/* 0A8DE0 802E95E0 02002025 */ move $a0, $s0
/* 0A8DE4 802E95E4 8E390014 */ lw $t9, 0x14($s1)
/* 0A8DE8 802E95E8 02402825 */ move $a1, $s2
/* 0A8DEC 802E95EC 30AF000F */ andi $t7, $a1, 0xf
/* 0A8DF0 802E95F0 3048FFFF */ andi $t0, $v0, 0xffff
/* 0A8DF4 802E95F4 01E02825 */ move $a1, $t7
/* 0A8DF8 802E95F8 02202025 */ move $a0, $s1
/* 0A8DFC 802E95FC 0C0B9CFA */ jal sequence_channel_enable
/* 0A8E00 802E9600 03283021 */ addu $a2, $t9, $t0
/* 0A8E04 802E9604 1000FE87 */ b .L_EU_802E9024
/* 0A8E08 802E9608 00000000 */ nop
.L08020140C:
/* 0A8E0C 802E960C 3C108023 */ lui $s0, %hi(gSequenceChannelNone) # $s0, 0x8023
/* 0A8E10 802E9610 02201825 */ move $v1, $s1
/* 0A8E14 802E9614 24110040 */ li $s1, 64
/* 0A8E18 802E9618 26108748 */ addiu $s0, %lo(gSequenceChannelNone) # addiu $s0, $s0, -0x78b8
/* 0A8E1C 802E961C 00001025 */ move $v0, $zero
.L080201420:
/* 0A8E20 802E9620 8C640030 */ lw $a0, 0x30($v1)
/* 0A8E24 802E9624 24010001 */ li $at, 1
/* 0A8E28 802E9628 02044826 */ xor $t1, $s0, $a0
/* 0A8E2C 802E962C 0009482B */ sltu $t1, $zero, $t1
/* 0A8E30 802E9630 55210007 */ bnel $t1, $at, .L080201450
/* 0A8E34 802E9634 24420004 */ addiu $v0, $v0, 4
/* 0A8E38 802E9638 AFA20034 */ sw $v0, 0x34($sp)
/* 0A8E3C 802E963C 0C0BA0AE */ jal sequence_channel_process_script
/* 0A8E40 802E9640 AFA30030 */ sw $v1, 0x30($sp)
/* 0A8E44 802E9644 8FA20034 */ lw $v0, 0x34($sp)
/* 0A8E48 802E9648 8FA30030 */ lw $v1, 0x30($sp)
/* 0A8E4C 802E964C 24420004 */ addiu $v0, $v0, 4
.L080201450:
/* 0A8E50 802E9650 1451FFF3 */ bne $v0, $s1, .L080201420
/* 0A8E54 802E9654 24630004 */ addiu $v1, $v1, 4
.L080201458:
/* 0A8E58 802E9658 8FBF002C */ lw $ra, 0x2c($sp)
.L08020145C:
/* 0A8E5C 802E965C 8FB0001C */ lw $s0, 0x1c($sp)
/* 0A8E60 802E9660 8FB10020 */ lw $s1, 0x20($sp)
/* 0A8E64 802E9664 8FB20024 */ lw $s2, 0x24($sp)
/* 0A8E68 802E9668 8FB30028 */ lw $s3, 0x28($sp)
/* 0A8E6C 802E966C 03E00008 */ jr $ra
/* 0A8E70 802E9670 27BD0060 */ addiu $sp, $sp, 0x60

View file

@ -1,331 +0,0 @@
glabel synthesis_do_one_audio_update
/* 09FA28 802E0228 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 09FA2C 802E022C 3C0A8022 */ lui $t2, %hi(gNumSynthesisReverbs) # $t2, 0x8022
/* 09FA30 802E0230 254AC5E3 */ addiu $t2, %lo(gNumSynthesisReverbs) # addiu $t2, $t2, -0x3a1d
/* 09FA34 802E0234 81480000 */ lb $t0, ($t2)
/* 09FA38 802E0238 AFBE0040 */ sw $fp, 0x40($sp)
/* 09FA3C 802E023C AFB40030 */ sw $s4, 0x30($sp)
/* 09FA40 802E0240 AFB20028 */ sw $s2, 0x28($sp)
/* 09FA44 802E0244 00C0A025 */ move $s4, $a2
/* 09FA48 802E0248 00E0F025 */ move $fp, $a3
/* 09FA4C 802E024C AFBF0044 */ sw $ra, 0x44($sp)
/* 09FA50 802E0250 AFB7003C */ sw $s7, 0x3c($sp)
/* 09FA54 802E0254 AFB60038 */ sw $s6, 0x38($sp)
/* 09FA58 802E0258 AFB50034 */ sw $s5, 0x34($sp)
/* 09FA5C 802E025C AFB3002C */ sw $s3, 0x2c($sp)
/* 09FA60 802E0260 AFB10024 */ sw $s1, 0x24($sp)
/* 09FA64 802E0264 AFB00020 */ sw $s0, 0x20($sp)
/* 09FA68 802E0268 AFA400C0 */ sw $a0, 0xc0($sp)
/* 09FA6C 802E026C AFA500C4 */ sw $a1, 0xc4($sp)
/* 09FA70 802E0270 1500001D */ bnez $t0, .L80200C98
/* 09FA74 802E0274 00009025 */ move $s2, $zero
/* 09FA78 802E0278 3C048023 */ lui $a0, %hi(gMaxSimultaneousNotes) # $a0, 0x8023
/* 09FA7C 802E027C 8C849808 */ lw $a0, %lo(gMaxSimultaneousNotes)($a0)
/* 09FA80 802E0280 00008825 */ move $s1, $zero
/* 09FA84 802E0284 18800016 */ blez $a0, .L80200C90
/* 09FA88 802E0288 00000000 */ nop
/* 09FA8C 802E028C 00870019 */ multu $a0, $a3
/* 09FA90 802E0290 3C0E8022 */ lui $t6, %hi(gNoteSubsEu) # $t6, 0x8022
/* 09FA94 802E0294 8DCEC5E4 */ lw $t6, %lo(gNoteSubsEu)($t6)
/* 09FA98 802E0298 27A50084 */ addiu $a1, $sp, 0x84
/* 09FA9C 802E029C 00007812 */ mflo $t7
/* 09FAA0 802E02A0 000FC100 */ sll $t8, $t7, 4
/* 09FAA4 802E02A4 01D81021 */ addu $v0, $t6, $t8
.L80200C58:
/* 09FAA8 802E02A8 8C590000 */ lw $t9, ($v0)
/* 09FAAC 802E02AC 00B26021 */ addu $t4, $a1, $s2
/* 09FAB0 802E02B0 00195FC2 */ srl $t3, $t9, 0x1f
/* 09FAB4 802E02B4 51600006 */ beql $t3, $zero, .L80200C80
/* 09FAB8 802E02B8 26310001 */ addiu $s1, $s1, 1
/* 09FABC 802E02BC 26520001 */ addiu $s2, $s2, 1
/* 09FAC0 802E02C0 00126C00 */ sll $t5, $s2, 0x10
/* 09FAC4 802E02C4 000D9403 */ sra $s2, $t5, 0x10
/* 09FAC8 802E02C8 A1910000 */ sb $s1, ($t4)
/* 09FACC 802E02CC 26310001 */ addiu $s1, $s1, 1
.L80200C80:
/* 09FAD0 802E02D0 0224082A */ slt $at, $s1, $a0
/* 09FAD4 802E02D4 1420FFF4 */ bnez $at, .L80200C58
/* 09FAD8 802E02D8 24420010 */ addiu $v0, $v0, 0x10
/* 09FADC 802E02DC 00008825 */ move $s1, $zero
.L80200C90:
/* 09FAE0 802E02E0 10000049 */ b .L80200DB8
/* 09FAE4 802E02E4 00009825 */ move $s3, $zero
.L80200C98:
/* 09FAE8 802E02E8 19000026 */ blez $t0, .L80200D34
/* 09FAEC 802E02EC 00009825 */ move $s3, $zero
/* 09FAF0 802E02F0 3C048023 */ lui $a0, %hi(gMaxSimultaneousNotes) # $a0, 0x8023
/* 09FAF4 802E02F4 8C849808 */ lw $a0, %lo(gMaxSimultaneousNotes)($a0)
/* 09FAF8 802E02F8 27A50084 */ addiu $a1, $sp, 0x84
.L80200CAC:
/* 09FAFC 802E02FC 1880001A */ blez $a0, .L80200D18
/* 09FB00 802E0300 00008825 */ move $s1, $zero
/* 09FB04 802E0304 009E0019 */ multu $a0, $fp
/* 09FB08 802E0308 3C098022 */ lui $t1, %hi(gNoteSubsEu) # $t1, 0x8022
/* 09FB0C 802E030C 8D29C5E4 */ lw $t1, %lo(gNoteSubsEu)($t1)
/* 09FB10 802E0310 00001812 */ mflo $v1
/* 09FB14 802E0314 00000000 */ nop
/* 09FB18 802E0318 00000000 */ nop
.L80200CCC:
/* 09FB1C 802E031C 00037100 */ sll $t6, $v1, 4
/* 09FB20 802E0320 01C91021 */ addu $v0, $t6, $t1
/* 09FB24 802E0324 8C580000 */ lw $t8, ($v0)
/* 09FB28 802E0328 0018CFC2 */ srl $t9, $t8, 0x1f
/* 09FB2C 802E032C 5320000B */ beql $t9, $zero, .L80200D0C
/* 09FB30 802E0330 26310001 */ addiu $s1, $s1, 1
/* 09FB34 802E0334 904B0001 */ lbu $t3, 1($v0)
/* 09FB38 802E0338 00B26821 */ addu $t5, $a1, $s2
/* 09FB3C 802E033C 000B6142 */ srl $t4, $t3, 5
/* 09FB40 802E0340 566C0006 */ bnel $s3, $t4, .L80200D0C
/* 09FB44 802E0344 26310001 */ addiu $s1, $s1, 1
/* 09FB48 802E0348 26520001 */ addiu $s2, $s2, 1
/* 09FB4C 802E034C 00127C00 */ sll $t7, $s2, 0x10
/* 09FB50 802E0350 000F9403 */ sra $s2, $t7, 0x10
/* 09FB54 802E0354 A1B10000 */ sb $s1, ($t5)
/* 09FB58 802E0358 26310001 */ addiu $s1, $s1, 1
.L80200D0C:
/* 09FB5C 802E035C 0224082A */ slt $at, $s1, $a0
/* 09FB60 802E0360 1420FFEE */ bnez $at, .L80200CCC
/* 09FB64 802E0364 24630001 */ addiu $v1, $v1, 1
.L80200D18:
/* 09FB68 802E0368 26730001 */ addiu $s3, $s3, 1
/* 09FB6C 802E036C 0013C400 */ sll $t8, $s3, 0x10
/* 09FB70 802E0370 00189C03 */ sra $s3, $t8, 0x10
/* 09FB74 802E0374 0268082A */ slt $at, $s3, $t0
/* 09FB78 802E0378 1420FFE0 */ bnez $at, .L80200CAC
/* 09FB7C 802E037C 00000000 */ nop
/* 09FB80 802E0380 00009825 */ move $s3, $zero
.L80200D34:
/* 09FB84 802E0384 3C048023 */ lui $a0, %hi(gMaxSimultaneousNotes) # $a0, 0x8023
/* 09FB88 802E0388 8C849808 */ lw $a0, %lo(gMaxSimultaneousNotes)($a0)
/* 09FB8C 802E038C 27A50084 */ addiu $a1, $sp, 0x84
/* 09FB90 802E0390 00008825 */ move $s1, $zero
/* 09FB94 802E0394 5880001D */ blezl $a0, .L80200DBC
/* 09FB98 802E0398 02801025 */ move $v0, $s4
/* 09FB9C 802E039C 009E0019 */ multu $a0, $fp
/* 09FBA0 802E03A0 3C098022 */ lui $t1, %hi(gNoteSubsEu) # $t1, 0x8022
/* 09FBA4 802E03A4 8D29C5E4 */ lw $t1, %lo(gNoteSubsEu)($t1)
/* 09FBA8 802E03A8 00001812 */ mflo $v1
/* 09FBAC 802E03AC 00000000 */ nop
/* 09FBB0 802E03B0 00000000 */ nop
.L80200D64:
/* 09FBB4 802E03B4 00035900 */ sll $t3, $v1, 4
/* 09FBB8 802E03B8 01691021 */ addu $v0, $t3, $t1
/* 09FBBC 802E03BC 8C4C0000 */ lw $t4, ($v0)
/* 09FBC0 802E03C0 000C6FC2 */ srl $t5, $t4, 0x1f
/* 09FBC4 802E03C4 51A0000C */ beql $t5, $zero, .L80200DA8
/* 09FBC8 802E03C8 26310001 */ addiu $s1, $s1, 1
/* 09FBCC 802E03CC 904F0001 */ lbu $t7, 1($v0)
/* 09FBD0 802E03D0 00B2C021 */ addu $t8, $a1, $s2
/* 09FBD4 802E03D4 000F7142 */ srl $t6, $t7, 5
/* 09FBD8 802E03D8 01C8082A */ slt $at, $t6, $t0
/* 09FBDC 802E03DC 54200006 */ bnezl $at, .L80200DA8
/* 09FBE0 802E03E0 26310001 */ addiu $s1, $s1, 1
/* 09FBE4 802E03E4 26520001 */ addiu $s2, $s2, 1
/* 09FBE8 802E03E8 0012CC00 */ sll $t9, $s2, 0x10
/* 09FBEC 802E03EC 00199403 */ sra $s2, $t9, 0x10
/* 09FBF0 802E03F0 A3110000 */ sb $s1, ($t8)
/* 09FBF4 802E03F4 26310001 */ addiu $s1, $s1, 1
.L80200DA8:
/* 09FBF8 802E03F8 0224082A */ slt $at, $s1, $a0
/* 09FBFC 802E03FC 1420FFED */ bnez $at, .L80200D64
/* 09FC00 802E0400 24630001 */ addiu $v1, $v1, 1
/* 09FC04 802E0404 00008825 */ move $s1, $zero
.L80200DB8:
/* 09FC08 802E0408 02801025 */ move $v0, $s4
.L80200DBC:
/* 09FC0C 802E040C 3C0C0200 */ lui $t4, (0x020004C0 >> 16) # lui $t4, 0x200
/* 09FC10 802E0410 358C04C0 */ ori $t4, (0x020004C0 & 0xFFFF) # ori $t4, $t4, 0x4c0
/* 09FC14 802E0414 240D0280 */ li $t5, 640
/* 09FC18 802E0418 AC4D0004 */ sw $t5, 4($v0)
/* 09FC1C 802E041C AC4C0000 */ sw $t4, ($v0)
/* 09FC20 802E0420 814F0000 */ lb $t7, ($t2)
/* 09FC24 802E0424 3C178022 */ lui $s7, %hi(gNotes) # $s7, 0x8022
/* 09FC28 802E0428 26940008 */ addiu $s4, $s4, 8
/* 09FC2C 802E042C 19E00053 */ blez $t7, .L80200F2C
/* 09FC30 802E0430 26F73D60 */ addiu $s7, %lo(gNotes) # addiu $s7, $s7, 0x3d60
/* 09FC34 802E0434 3C158022 */ lui $s5, %hi(gNoteSubsEu) # $s5, 0x8022
/* 09FC38 802E0438 26B5C5E4 */ addiu $s5, %lo(gNoteSubsEu) # addiu $s5, $s5, -0x3a1c
/* 09FC3C 802E043C 241600C0 */ li $s6, 192
/* 09FC40 802E0440 00137140 */ sll $t6, $s3, 5
.L80200DF4:
/* 09FC44 802E0444 01D37021 */ addu $t6, $t6, $s3
/* 09FC48 802E0448 3C188022 */ lui $t8, %hi(gSynthesisReverbs) # $t8, 0x8022
/* 09FC4C 802E044C 2718C1B0 */ addiu $t8, %lo(gSynthesisReverbs) # addiu $t8, $t8, -0x3e50
/* 09FC50 802E0450 000E70C0 */ sll $t6, $t6, 3
/* 09FC54 802E0454 01D8C821 */ addu $t9, $t6, $t8
/* 09FC58 802E0458 AFB90060 */ sw $t9, 0x60($sp)
/* 09FC5C 802E045C 932B0001 */ lbu $t3, 1($t9)
/* 09FC60 802E0460 3C018022 */ lui $at, %hi(gUseReverb) # $at, 0x8022
/* 09FC64 802E0464 02802025 */ move $a0, $s4
/* 09FC68 802E0468 000B6600 */ sll $t4, $t3, 0x18
/* 09FC6C 802E046C 000C6E03 */ sra $t5, $t4, 0x18
/* 09FC70 802E0470 11A0000A */ beqz $t5, .L80200E4C
/* 09FC74 802E0474 A02BC5E2 */ sb $t3, %lo(gUseReverb)($at)
/* 09FC78 802E0478 00133400 */ sll $a2, $s3, 0x10
/* 09FC7C 802E047C 001E3C00 */ sll $a3, $fp, 0x10
/* 09FC80 802E0480 00077403 */ sra $t6, $a3, 0x10
/* 09FC84 802E0484 00067C03 */ sra $t7, $a2, 0x10
/* 09FC88 802E0488 01E03025 */ move $a2, $t7
/* 09FC8C 802E048C 01C03825 */ move $a3, $t6
/* 09FC90 802E0490 0C0B7F60 */ jal synthesis_resample_and_mix_reverb
/* 09FC94 802E0494 8FA500C4 */ lw $a1, 0xc4($sp)
/* 09FC98 802E0498 0040A025 */ move $s4, $v0
.L80200E4C:
/* 09FC9C 802E049C 0232082A */ slt $at, $s1, $s2
/* 09FCA0 802E04A0 10200022 */ beqz $at, .L80200EDC
/* 09FCA4 802E04A4 27B80084 */ addiu $t8, $sp, 0x84
/* 09FCA8 802E04A8 02388021 */ addu $s0, $s1, $t8
.L80200E5C:
/* 09FCAC 802E04AC 3C198023 */ lui $t9, %hi(gMaxSimultaneousNotes) # $t9, 0x8023
/* 09FCB0 802E04B0 8F399808 */ lw $t9, %lo(gMaxSimultaneousNotes)($t9)
/* 09FCB4 802E04B4 92030000 */ lbu $v1, ($s0)
/* 09FCB8 802E04B8 8EA90000 */ lw $t1, ($s5)
/* 09FCBC 802E04BC 03D90019 */ multu $fp, $t9
/* 09FCC0 802E04C0 00035900 */ sll $t3, $v1, 4
/* 09FCC4 802E04C4 012B6021 */ addu $t4, $t1, $t3
/* 09FCC8 802E04C8 00001012 */ mflo $v0
/* 09FCCC 802E04CC 00026900 */ sll $t5, $v0, 4
/* 09FCD0 802E04D0 018D7821 */ addu $t7, $t4, $t5
/* 09FCD4 802E04D4 91EE0001 */ lbu $t6, 1($t7)
/* 09FCD8 802E04D8 000EC142 */ srl $t8, $t6, 5
/* 09FCDC 802E04DC 56780014 */ bnel $s3, $t8, .L80200EE0
/* 09FCE0 802E04E0 8FAE0060 */ lw $t6, 0x60($sp)
/* 09FCE4 802E04E4 00760019 */ multu $v1, $s6
/* 09FCE8 802E04E8 8EEB0000 */ lw $t3, ($s7)
/* 09FCEC 802E04EC 8FAF00C4 */ lw $t7, 0xc4($sp)
/* 09FCF0 802E04F0 00626021 */ addu $t4, $v1, $v0
/* 09FCF4 802E04F4 000C6900 */ sll $t5, $t4, 4
/* 09FCF8 802E04F8 01A92821 */ addu $a1, $t5, $t1
/* 09FCFC 802E04FC 8FA700C0 */ lw $a3, 0xc0($sp)
/* 09FD00 802E0500 AFB40014 */ sw $s4, 0x14($sp)
/* 09FD04 802E0504 AFAF0010 */ sw $t7, 0x10($sp)
/* 09FD08 802E0508 0000C812 */ mflo $t9
/* 09FD0C 802E050C 032B2021 */ addu $a0, $t9, $t3
/* 09FD10 802E0510 0C0B81BC */ jal synthesis_process_note
/* 09FD14 802E0514 24860010 */ addiu $a2, $a0, 0x10
/* 09FD18 802E0518 26310001 */ addiu $s1, $s1, 1
/* 09FD1C 802E051C 0232082A */ slt $at, $s1, $s2
/* 09FD20 802E0520 0040A025 */ move $s4, $v0
/* 09FD24 802E0524 1420FFE1 */ bnez $at, .L80200E5C
/* 09FD28 802E0528 26100001 */ addiu $s0, $s0, 1
.L80200EDC:
/* 09FD2C 802E052C 8FAE0060 */ lw $t6, 0x60($sp)
.L80200EE0:
/* 09FD30 802E0530 00132C00 */ sll $a1, $s3, 0x10
/* 09FD34 802E0534 0005CC03 */ sra $t9, $a1, 0x10
/* 09FD38 802E0538 91D80001 */ lbu $t8, 1($t6)
/* 09FD3C 802E053C 03202825 */ move $a1, $t9
/* 09FD40 802E0540 02802025 */ move $a0, $s4
/* 09FD44 802E0544 13000005 */ beqz $t8, .L80200F0C
/* 09FD48 802E0548 001E3400 */ sll $a2, $fp, 0x10
/* 09FD4C 802E054C 00065C03 */ sra $t3, $a2, 0x10
/* 09FD50 802E0550 0C0B8036 */ jal func_eu_802e00d8
/* 09FD54 802E0554 01603025 */ move $a2, $t3
/* 09FD58 802E0558 0040A025 */ move $s4, $v0
.L80200F0C:
/* 09FD5C 802E055C 3C0F8022 */ lui $t7, %hi(gNumSynthesisReverbs) # $t7, 0x8022
/* 09FD60 802E0560 81EFC5E3 */ lb $t7, %lo(gNumSynthesisReverbs)($t7)
/* 09FD64 802E0564 26730001 */ addiu $s3, $s3, 1
/* 09FD68 802E0568 00136400 */ sll $t4, $s3, 0x10
/* 09FD6C 802E056C 000C9C03 */ sra $s3, $t4, 0x10
/* 09FD70 802E0570 026F082A */ slt $at, $s3, $t7
/* 09FD74 802E0574 5420FFB3 */ bnezl $at, .L80200DF4
/* 09FD78 802E0578 00137140 */ sll $t6, $s3, 5
.L80200F2C:
/* 09FD7C 802E057C 3C158022 */ lui $s5, %hi(gNoteSubsEu) # $s5, 0x8022
/* 09FD80 802E0580 3C178022 */ lui $s7, %hi(gNotes) # $s7, 0x8022
/* 09FD84 802E0584 0232082A */ slt $at, $s1, $s2
/* 09FD88 802E0588 26F73D60 */ addiu $s7, %lo(gNotes) # addiu $s7, $s7, 0x3d60
/* 09FD8C 802E058C 26B5C5E4 */ addiu $s5, %lo(gNoteSubsEu) # addiu $s5, $s5, -0x3a1c
/* 09FD90 802E0590 1020002E */ beqz $at, .L80200FFC
/* 09FD94 802E0594 241600C0 */ li $s6, 192
/* 09FD98 802E0598 27AE0084 */ addiu $t6, $sp, 0x84
/* 09FD9C 802E059C 022E8021 */ addu $s0, $s1, $t6
/* 09FDA0 802E05A0 24130001 */ li $s3, 1
.L80200F54:
/* 09FDA4 802E05A4 3C188023 */ lui $t8, %hi(gMaxSimultaneousNotes) # $t8, 0x8023
/* 09FDA8 802E05A8 8F189808 */ lw $t8, %lo(gMaxSimultaneousNotes)($t8)
/* 09FDAC 802E05AC 92030000 */ lbu $v1, ($s0)
/* 09FDB0 802E05B0 8EA90000 */ lw $t1, ($s5)
/* 09FDB4 802E05B4 03D80019 */ multu $fp, $t8
/* 09FDB8 802E05B8 0003C900 */ sll $t9, $v1, 4
/* 09FDBC 802E05BC 01395821 */ addu $t3, $t1, $t9
/* 09FDC0 802E05C0 3C0F8022 */ lui $t7, %hi(gBankLoadStatus)
/* 09FDC4 802E05C4 3C011000 */ lui $at, 0x1000
/* 09FDC8 802E05C8 00001012 */ mflo $v0
/* 09FDCC 802E05CC 00026100 */ sll $t4, $v0, 4
/* 09FDD0 802E05D0 016C6821 */ addu $t5, $t3, $t4
/* 09FDD4 802E05D4 91A40002 */ lbu $a0, 2($t5)
/* 09FDD8 802E05D8 01E47821 */ addu $t7, $t7, $a0
/* 09FDDC 802E05DC 91EF2C18 */ lbu $t7, %lo(gBankLoadStatus)($t7)
/* 09FDE0 802E05E0 29EE0002 */ slti $t6, $t7, 2
/* 09FDE4 802E05E4 39CE0001 */ xori $t6, $t6, 1
/* 09FDE8 802E05E8 166E0010 */ bne $s3, $t6, .L80200FDC
/* 09FDEC 802E05EC 00117A00 */ sll $t7, $s1, 8
/* 09FDF0 802E05F0 00760019 */ multu $v1, $s6
/* 09FDF4 802E05F4 8EF90000 */ lw $t9, ($s7)
/* 09FDF8 802E05F8 8FAD00C4 */ lw $t5, 0xc4($sp)
/* 09FDFC 802E05FC 00625821 */ addu $t3, $v1, $v0
/* 09FE00 802E0600 000B6100 */ sll $t4, $t3, 4
/* 09FE04 802E0604 01892821 */ addu $a1, $t4, $t1
/* 09FE08 802E0608 8FA700C0 */ lw $a3, 0xc0($sp)
/* 09FE0C 802E060C AFB40014 */ sw $s4, 0x14($sp)
/* 09FE10 802E0610 AFAD0010 */ sw $t5, 0x10($sp)
/* 09FE14 802E0614 0000C012 */ mflo $t8
/* 09FE18 802E0618 03192021 */ addu $a0, $t8, $t9
/* 09FE1C 802E061C 0C0B81BC */ jal synthesis_process_note
/* 09FE20 802E0620 24860010 */ addiu $a2, $a0, 0x10
/* 09FE24 802E0624 10000005 */ b .L80200FEC
/* 09FE28 802E0628 0040A025 */ move $s4, $v0
.L80200FDC:
/* 09FE2C 802E062C 008F7021 */ addu $t6, $a0, $t7
/* 09FE30 802E0630 01C1C021 */ addu $t8, $t6, $at
/* 09FE34 802E0634 3C018023 */ lui $at, %hi(gAudioErrorFlags) # $at, 0x8023
/* 09FE38 802E0638 AC3898F0 */ sw $t8, %lo(gAudioErrorFlags)($at)
.L80200FEC:
/* 09FE3C 802E063C 26310001 */ addiu $s1, $s1, 1
/* 09FE40 802E0640 0232082A */ slt $at, $s1, $s2
/* 09FE44 802E0644 1420FFD7 */ bnez $at, .L80200F54
/* 09FE48 802E0648 26100001 */ addiu $s0, $s0, 1
.L80200FFC:
/* 09FE4C 802E064C 3C080800 */ lui $t0, 0x800
/* 09FE50 802E0650 02802025 */ move $a0, $s4
/* 09FE54 802E0654 AC880000 */ sw $t0, ($a0)
/* 09FE58 802E0658 8FA300C4 */ lw $v1, 0xc4($sp)
/* 09FE5C 802E065C 26940008 */ addiu $s4, $s4, 8
/* 09FE60 802E0660 02802825 */ move $a1, $s4
/* 09FE64 802E0664 0003C840 */ sll $t9, $v1, 1
/* 09FE68 802E0668 332BFFFF */ andi $t3, $t9, 0xffff
/* 09FE6C 802E066C AC8B0004 */ sw $t3, 4($a0)
/* 09FE70 802E0670 26940008 */ addiu $s4, $s4, 8
/* 09FE74 802E0674 3C0D04C0 */ lui $t5, (0x04C00600 >> 16) # lui $t5, 0x4c0
/* 09FE78 802E0678 35AD0600 */ ori $t5, (0x04C00600 & 0xFFFF) # ori $t5, $t5, 0x600
/* 09FE7C 802E067C 3C0C0D00 */ lui $t4, 0xd00
/* 09FE80 802E0680 02803025 */ move $a2, $s4
/* 09FE84 802E0684 ACAC0000 */ sw $t4, ($a1)
/* 09FE88 802E0688 ACAD0004 */ sw $t5, 4($a1)
/* 09FE8C 802E068C 00197840 */ sll $t7, $t9, 1
/* 09FE90 802E0690 31EEFFFF */ andi $t6, $t7, 0xffff
/* 09FE94 802E0694 26940008 */ addiu $s4, $s4, 8
/* 09FE98 802E0698 ACCE0004 */ sw $t6, 4($a2)
/* 09FE9C 802E069C ACC80000 */ sw $t0, ($a2)
/* 09FEA0 802E06A0 02803825 */ move $a3, $s4
/* 09FEA4 802E06A4 3C180600 */ lui $t8, 0x600
/* 09FEA8 802E06A8 ACF80000 */ sw $t8, ($a3)
/* 09FEAC 802E06AC 8FB900C0 */ lw $t9, 0xc0($sp)
/* 09FEB0 802E06B0 3C018000 */ lui $at, 0x8000
/* 09FEB4 802E06B4 26820008 */ addiu $v0, $s4, 8
/* 09FEB8 802E06B8 03215821 */ addu $t3, $t9, $at
/* 09FEBC 802E06BC ACEB0004 */ sw $t3, 4($a3)
/* 09FEC0 802E06C0 8FBF0044 */ lw $ra, 0x44($sp)
/* 09FEC4 802E06C4 8FBE0040 */ lw $fp, 0x40($sp)
/* 09FEC8 802E06C8 8FB7003C */ lw $s7, 0x3c($sp)
/* 09FECC 802E06CC 8FB60038 */ lw $s6, 0x38($sp)
/* 09FED0 802E06D0 8FB50034 */ lw $s5, 0x34($sp)
/* 09FED4 802E06D4 8FB40030 */ lw $s4, 0x30($sp)
/* 09FED8 802E06D8 8FB3002C */ lw $s3, 0x2c($sp)
/* 09FEDC 802E06DC 8FB20028 */ lw $s2, 0x28($sp)
/* 09FEE0 802E06E0 8FB10024 */ lw $s1, 0x24($sp)
/* 09FEE4 802E06E4 8FB00020 */ lw $s0, 0x20($sp)
/* 09FEE8 802E06E8 03E00008 */ jr $ra
/* 09FEEC 802E06EC 27BD00C0 */ addiu $sp, $sp, 0xc0

View file

@ -1,178 +0,0 @@
glabel synthesis_execute
/* 09F2FC 802DFAFC 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 09F300 802DFB00 AFB60030 */ sw $s6, 0x30($sp)
/* 09F304 802DFB04 3C168023 */ lui $s6, %hi(gAudioBufferParameters) # $s6, 0x8023
/* 09F308 802DFB08 26D697E0 */ addiu $s6, %lo(gAudioBufferParameters) # addiu $s6, $s6, -0x6820
/* 09F30C 802DFB0C AFB40028 */ sw $s4, 0x28($sp)
/* 09F310 802DFB10 86D4000C */ lh $s4, 0xc($s6)
/* 09F314 802DFB14 AFB70034 */ sw $s7, 0x34($sp)
/* 09F318 802DFB18 AFB1001C */ sw $s1, 0x1c($sp)
/* 09F31C 802DFB1C 00C08825 */ move $s1, $a2
/* 09F320 802DFB20 00E0B825 */ move $s7, $a3
/* 09F324 802DFB24 AFBF003C */ sw $ra, 0x3c($sp)
/* 09F328 802DFB28 AFBE0038 */ sw $fp, 0x38($sp)
/* 09F32C 802DFB2C AFB5002C */ sw $s5, 0x2c($sp)
/* 09F330 802DFB30 AFB30024 */ sw $s3, 0x24($sp)
/* 09F334 802DFB34 AFB20020 */ sw $s2, 0x20($sp)
/* 09F338 802DFB38 AFB00018 */ sw $s0, 0x18($sp)
/* 09F33C 802DFB3C AFA40060 */ sw $a0, 0x60($sp)
/* 09F340 802DFB40 1A800009 */ blez $s4, .L80200518
/* 09F344 802DFB44 AFA50064 */ sw $a1, 0x64($sp)
.L802004F8:
/* 09F348 802DFB48 2690FFFF */ addiu $s0, $s4, -1
/* 09F34C 802DFB4C 0C0BA59D */ jal process_sequences
/* 09F350 802DFB50 02002025 */ move $a0, $s0
/* 09F354 802DFB54 86CE000C */ lh $t6, 0xc($s6)
/* 09F358 802DFB58 0C0B7E91 */ jal synthesis_load_note_subs_eu
/* 09F35C 802DFB5C 01D42023 */ subu $a0, $t6, $s4
/* 09F360 802DFB60 1E00FFF9 */ bgtz $s0, .L802004F8
/* 09F364 802DFB64 0200A025 */ move $s4, $s0
.L80200518:
/* 09F368 802DFB68 8FAF0060 */ lw $t7, 0x60($sp)
/* 09F36C 802DFB6C 3C190700 */ lui $t9, 0x700
/* 09F370 802DFB70 0220F025 */ move $fp, $s1
/* 09F374 802DFB74 25F80008 */ addiu $t8, $t7, 8
/* 09F378 802DFB78 AFB80048 */ sw $t8, 0x48($sp)
/* 09F37C 802DFB7C ADE00004 */ sw $zero, 4($t7)
/* 09F380 802DFB80 ADF90000 */ sw $t9, ($t7)
/* 09F384 802DFB84 86D4000C */ lh $s4, 0xc($s6)
/* 09F388 802DFB88 8FB50040 */ lw $s5, 0x40($sp)
/* 09F38C 802DFB8C 01E01025 */ move $v0, $t7
/* 09F390 802DFB90 1A800056 */ blez $s4, .L8020069C
.L80200544:
/* 09F394 802DFB94 24010001 */ li $at, 1
/* 09F398 802DFB98 86D2000C */ lh $s2, 0xc($s6)
/* 09F39C 802DFB9C 1681000B */ bne $s4, $at, .L8020057C
/* 09F3A0 802DFBA0 00008825 */ move $s1, $zero
/* 09F3A4 802DFBA4 3C098022 */ lui $t1, %hi(gLeftVolRampings) # $t1, 0x8022
/* 09F3A8 802DFBA8 3C0B8022 */ lui $t3, %hi(gRightVolRampings) # $t3, 0x8022
/* 09F3AC 802DFBAC 256BF5E8 */ addiu $t3, %lo(gRightVolRampings) # addiu $t3, $t3, -0xa18
/* 09F3B0 802DFBB0 2529C5E8 */ addiu $t1, %lo(gLeftVolRampings) # addiu $t1, $t1, -0x3a18
/* 09F3B4 802DFBB4 00154300 */ sll $t0, $s5, 0xc
/* 09F3B8 802DFBB8 00155300 */ sll $t2, $s5, 0xc
/* 09F3BC 802DFBBC 014B2021 */ addu $a0, $t2, $t3
/* 09F3C0 802DFBC0 01091821 */ addu $v1, $t0, $t1
/* 09F3C4 802DFBC4 10000026 */ b .L80200610
/* 09F3C8 802DFBC8 02E09825 */ move $s3, $s7
.L8020057C:
/* 09F3CC 802DFBCC 02F4001A */ div $zero, $s7, $s4
/* 09F3D0 802DFBD0 16800002 */ bnez $s4, .L8020058C
/* 09F3D4 802DFBD4 00000000 */ nop
/* 09F3D8 802DFBD8 0007000D */ break 7
.L8020058C:
/* 09F3DC 802DFBDC 2401FFFF */ li $at, -1
/* 09F3E0 802DFBE0 16810004 */ bne $s4, $at, .L802005A4
/* 09F3E4 802DFBE4 3C018000 */ lui $at, 0x8000
/* 09F3E8 802DFBE8 16E10002 */ bne $s7, $at, .L802005A4
/* 09F3EC 802DFBEC 00000000 */ nop
/* 09F3F0 802DFBF0 0006000D */ break 6
.L802005A4:
/* 09F3F4 802DFBF4 86C50010 */ lh $a1, 0x10($s6)
/* 09F3F8 802DFBF8 00001012 */ mflo $v0
/* 09F3FC 802DFBFC 24150002 */ li $s5, 2
/* 09F400 802DFC00 0045082A */ slt $at, $v0, $a1
/* 09F404 802DFC04 14200006 */ bnez $at, .L802005D0
/* 09F408 802DFC08 00A09825 */ move $s3, $a1
/* 09F40C 802DFC0C 3C038022 */ lui $v1, %hi(gLeftVolRampings + 0x2000) # $v1, 0x8022
/* 09F410 802DFC10 3C048022 */ lui $a0, %hi(gRightVolRampings + 0x2000) # $a0, 0x8022
/* 09F414 802DFC14 248415E8 */ addiu $a0, %lo(gRightVolRampings + 0x2000) # addiu $a0, $a0, 0x15e8
/* 09F418 802DFC18 10000011 */ b .L80200610
/* 09F41C 802DFC1C 2463E5E8 */ addiu $v1, %lo(gLeftVolRampings + 0x2000) # addiu $v1, $v1, -0x1a18
.L802005D0:
/* 09F420 802DFC20 86C50012 */ lh $a1, 0x12($s6)
/* 09F424 802DFC24 3C038022 */ lui $v1, %hi(gLeftVolRampings + 0x1000) # $v1, 0x8022
/* 09F428 802DFC28 2463D5E8 */ addiu $v1, %lo(gLeftVolRampings + 0x1000) # addiu $v1, $v1, -0x2a18
/* 09F42C 802DFC2C 00A2082A */ slt $at, $a1, $v0
/* 09F430 802DFC30 14200008 */ bnez $at, .L80200604
/* 09F434 802DFC34 24150001 */ li $s5, 1
/* 09F438 802DFC38 3C038022 */ lui $v1, %hi(gLeftVolRampings) # $v1, 0x8022
/* 09F43C 802DFC3C 3C048022 */ lui $a0, %hi(gRightVolRampings) # $a0, 0x8022
/* 09F440 802DFC40 2484F5E8 */ addiu $a0, %lo(gRightVolRampings) # addiu $a0, $a0, -0xa18
/* 09F444 802DFC44 2463C5E8 */ addiu $v1, %lo(gLeftVolRampings) # addiu $v1, $v1, -0x3a18
/* 09F448 802DFC48 00A09825 */ move $s3, $a1
/* 09F44C 802DFC4C 10000004 */ b .L80200610
/* 09F450 802DFC50 0000A825 */ move $s5, $zero
.L80200604:
/* 09F454 802DFC54 3C048022 */ lui $a0, %hi(gRightVolRampings + 0x1000) # $a0, 0x8022
/* 09F458 802DFC58 248405E8 */ addiu $a0, %lo(gRightVolRampings + 0x1000) # addiu $a0, $a0, 0x5e8
/* 09F45C 802DFC5C 86D3000E */ lh $s3, 0xe($s6)
.L80200610:
/* 09F460 802DFC60 3C028022 */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x8022
/* 09F464 802DFC64 8042C5E3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0)
/* 09F468 802DFC68 3C018022 */ lui $at, %hi(gCurrentLeftVolRamping) # $at, 0x8022
/* 09F46C 802DFC6C AC2325E8 */ sw $v1, %lo(gCurrentLeftVolRamping)($at)
/* 09F470 802DFC70 3C018022 */ lui $at, %hi(gCurrentRightVolRamping) # $at, 0x8022
/* 09F474 802DFC74 18400011 */ blez $v0, .L8020066C
/* 09F478 802DFC78 AC2425EC */ sw $a0, %lo(gCurrentRightVolRamping)($at)
/* 09F47C 802DFC7C 3C108022 */ lui $s0, %hi(gSynthesisReverbs) # $s0, 0x8022
/* 09F480 802DFC80 2610C1B0 */ addiu $s0, %lo(gSynthesisReverbs) # addiu $s0, $s0, -0x3e50
.L80200634:
/* 09F484 802DFC84 920C0001 */ lbu $t4, 1($s0)
/* 09F488 802DFC88 02602025 */ move $a0, $s3
/* 09F48C 802DFC8C 02542823 */ subu $a1, $s2, $s4
/* 09F490 802DFC90 51800007 */ beql $t4, $zero, .L80200660
/* 09F494 802DFC94 26310001 */ addiu $s1, $s1, 1
/* 09F498 802DFC98 0C0B7D94 */ jal prepare_reverb_ring_buffer
/* 09F49C 802DFC9C 02203025 */ move $a2, $s1
/* 09F4A0 802DFCA0 3C028022 */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x8022
/* 09F4A4 802DFCA4 8042C5E3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0)
/* 09F4A8 802DFCA8 86D2000C */ lh $s2, 0xc($s6)
/* 09F4AC 802DFCAC 26310001 */ addiu $s1, $s1, 1
.L80200660:
/* 09F4B0 802DFCB0 0222082A */ slt $at, $s1, $v0
/* 09F4B4 802DFCB4 1420FFF3 */ bnez $at, .L80200634
/* 09F4B8 802DFCB8 26100108 */ addiu $s0, $s0, 0x108
.L8020066C:
/* 09F4BC 802DFCBC 03C02025 */ move $a0, $fp
/* 09F4C0 802DFCC0 02602825 */ move $a1, $s3
/* 09F4C4 802DFCC4 8FA60048 */ lw $a2, 0x48($sp)
/* 09F4C8 802DFCC8 0C0B808A */ jal synthesis_do_one_audio_update
/* 09F4CC 802DFCCC 02543823 */ subu $a3, $s2, $s4
/* 09F4D0 802DFCD0 2694FFFF */ addiu $s4, $s4, -1
/* 09F4D4 802DFCD4 00136880 */ sll $t5, $s3, 2
/* 09F4D8 802DFCD8 AFA20048 */ sw $v0, 0x48($sp)
/* 09F4DC 802DFCDC 02F3B823 */ subu $s7, $s7, $s3
/* 09F4E0 802DFCE0 1E80FFAC */ bgtz $s4, .L80200544
/* 09F4E4 802DFCE4 03CDF021 */ addu $fp, $fp, $t5
/* 09F4E8 802DFCE8 AFB50040 */ sw $s5, 0x40($sp)
.L8020069C:
/* 09F4EC 802DFCEC 3C028022 */ lui $v0, %hi(gNumSynthesisReverbs) # $v0, 0x8022
/* 09F4F0 802DFCF0 8042C5E3 */ lb $v0, %lo(gNumSynthesisReverbs)($v0)
/* 09F4F4 802DFCF4 3C0E8022 */ lui $t6, %hi(gSynthesisReverbs)
/* 09F4F8 802DFCF8 25D0C1B0 */ addiu $s0, $t6, %lo(gSynthesisReverbs)
/* 09F4FC 802DFCFC 1840000E */ blez $v0, .L802006E8
/* 09F500 802DFD00 00027940 */ sll $t7, $v0, 5
/* 09F504 802DFD04 01E27821 */ addu $t7, $t7, $v0
/* 09F508 802DFD08 000F78C0 */ sll $t7, $t7, 3
/* 09F50C 802DFD0C 01F01821 */ addu $v1, $t7, $s0
.L802006C0:
/* 09F510 802DFD10 92020002 */ lbu $v0, 2($s0)
/* 09F514 802DFD14 10400002 */ beqz $v0, .L802006D0
/* 09F518 802DFD18 2458FFFF */ addiu $t8, $v0, -1
/* 09F51C 802DFD1C A2180002 */ sb $t8, 2($s0)
.L802006D0:
/* 09F520 802DFD20 92190003 */ lbu $t9, 3($s0)
/* 09F524 802DFD24 26100108 */ addiu $s0, $s0, 0x108
/* 09F528 802DFD28 0203082B */ sltu $at, $s0, $v1
/* 09F52C 802DFD2C 3B280001 */ xori $t0, $t9, 1
/* 09F530 802DFD30 1420FFF7 */ bnez $at, .L802006C0
/* 09F534 802DFD34 A208FEFB */ sb $t0, -0x105($s0)
.L802006E8:
/* 09F538 802DFD38 8FA20048 */ lw $v0, 0x48($sp)
/* 09F53C 802DFD3C 8FAA0060 */ lw $t2, 0x60($sp)
/* 09F540 802DFD40 8FAD0064 */ lw $t5, 0x64($sp)
/* 09F544 802DFD44 004A5823 */ subu $t3, $v0, $t2
/* 09F548 802DFD48 000B60C3 */ sra $t4, $t3, 3
/* 09F54C 802DFD4C ADAC0000 */ sw $t4, ($t5)
/* 09F550 802DFD50 8FBF003C */ lw $ra, 0x3c($sp)
/* 09F554 802DFD54 8FBE0038 */ lw $fp, 0x38($sp)
/* 09F558 802DFD58 8FB70034 */ lw $s7, 0x34($sp)
/* 09F55C 802DFD5C 8FB60030 */ lw $s6, 0x30($sp)
/* 09F560 802DFD60 8FB5002C */ lw $s5, 0x2c($sp)
/* 09F564 802DFD64 8FB40028 */ lw $s4, 0x28($sp)
/* 09F568 802DFD68 8FB30024 */ lw $s3, 0x24($sp)
/* 09F56C 802DFD6C 8FB20020 */ lw $s2, 0x20($sp)
/* 09F570 802DFD70 8FB1001C */ lw $s1, 0x1c($sp)
/* 09F574 802DFD74 8FB00018 */ lw $s0, 0x18($sp)
/* 09F578 802DFD78 03E00008 */ jr $ra
/* 09F57C 802DFD7C 27BD0060 */ addiu $sp, $sp, 0x60

View file

@ -1,220 +0,0 @@
glabel synthesis_resample_and_mix_reverb
/* 09F580 802DFD80 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 09F584 802DFD84 AFB10020 */ sw $s1, 0x20($sp)
/* 09F588 802DFD88 00068C00 */ sll $s1, $a2, 0x10
/* 09F58C 802DFD8C 00117403 */ sra $t6, $s1, 0x10
/* 09F590 802DFD90 000EC940 */ sll $t9, $t6, 5
/* 09F594 802DFD94 032EC821 */ addu $t9, $t9, $t6
/* 09F598 802DFD98 3C0D8022 */ lui $t5, %hi(gSynthesisReverbs) # $t5, 0x8022
/* 09F59C 802DFD9C 25ADC1B0 */ addiu $t5, %lo(gSynthesisReverbs) # addiu $t5, $t5, -0x3e50
/* 09F5A0 802DFDA0 0019C8C0 */ sll $t9, $t9, 3
/* 09F5A4 802DFDA4 01C08825 */ move $s1, $t6
/* 09F5A8 802DFDA8 032D1821 */ addu $v1, $t9, $t5
/* 09F5AC 802DFDAC 906E0003 */ lbu $t6, 3($v1)
/* 09F5B0 802DFDB0 AFA7006C */ sw $a3, 0x6c($sp)
/* 09F5B4 802DFDB4 00077C00 */ sll $t7, $a3, 0x10
/* 09F5B8 802DFDB8 000F3C03 */ sra $a3, $t7, 0x10
/* 09F5BC 802DFDBC 000E7880 */ sll $t7, $t6, 2
/* 09F5C0 802DFDC0 01EE7823 */ subu $t7, $t7, $t6
/* 09F5C4 802DFDC4 000F78C0 */ sll $t7, $t7, 3
/* 09F5C8 802DFDC8 01EE7821 */ addu $t7, $t7, $t6
/* 09F5CC 802DFDCC AFBF0024 */ sw $ra, 0x24($sp)
/* 09F5D0 802DFDD0 AFB0001C */ sw $s0, 0x1c($sp)
/* 09F5D4 802DFDD4 AFA50064 */ sw $a1, 0x64($sp)
/* 09F5D8 802DFDD8 AFA60068 */ sw $a2, 0x68($sp)
/* 09F5DC 802DFDDC 3C0D0200 */ lui $t5, (0x02000740 >> 16) # lui $t5, 0x200
/* 09F5E0 802DFDE0 000F7880 */ sll $t7, $t7, 2
/* 09F5E4 802DFDE4 35AD0740 */ ori $t5, (0x02000740 & 0xFFFF) # ori $t5, $t5, 0x740
/* 09F5E8 802DFDE8 240E0280 */ li $t6, 640
/* 09F5EC 802DFDEC 006FC021 */ addu $t8, $v1, $t7
/* 09F5F0 802DFDF0 0007C880 */ sll $t9, $a3, 2
/* 09F5F4 802DFDF4 AC8E0004 */ sw $t6, 4($a0)
/* 09F5F8 802DFDF8 AC8D0000 */ sw $t5, ($a0)
/* 09F5FC 802DFDFC 906F0004 */ lbu $t7, 4($v1)
/* 09F600 802DFE00 0327C821 */ addu $t9, $t9, $a3
/* 09F604 802DFE04 0019C880 */ sll $t9, $t9, 2
/* 09F608 802DFE08 03194021 */ addu $t0, $t8, $t9
/* 09F60C 802DFE0C 24010001 */ li $at, 1
/* 09F610 802DFE10 25080030 */ addiu $t0, $t0, 0x30
/* 09F614 802DFE14 15E10033 */ bne $t7, $at, .L80200894
/* 09F618 802DFE18 24900008 */ addiu $s0, $a0, 8
/* 09F61C 802DFE1C 9506000E */ lhu $a2, 0xe($t0)
/* 09F620 802DFE20 85070010 */ lh $a3, 0x10($t0)
/* 09F624 802DFE24 AFA8005C */ sw $t0, 0x5c($sp)
/* 09F628 802DFE28 AFA30028 */ sw $v1, 0x28($sp)
/* 09F62C 802DFE2C AFB10010 */ sw $s1, 0x10($sp)
/* 09F630 802DFE30 02002025 */ move $a0, $s0
/* 09F634 802DFE34 0C0B7E39 */ jal synthesis_load_reverb_ring_buffer
/* 09F638 802DFE38 24050740 */ li $a1, 1856
/* 09F63C 802DFE3C 8FA8005C */ lw $t0, 0x5c($sp)
/* 09F640 802DFE40 00408025 */ move $s0, $v0
/* 09F644 802DFE44 8FA30028 */ lw $v1, 0x28($sp)
/* 09F648 802DFE48 85070012 */ lh $a3, 0x12($t0)
/* 09F64C 802DFE4C 02002025 */ move $a0, $s0
/* 09F650 802DFE50 00003025 */ move $a2, $zero
/* 09F654 802DFE54 50E0000A */ beql $a3, $zero, .L80200830
/* 09F658 802DFE58 3C0A0800 */ lui $t2, 0x800
/* 09F65C 802DFE5C 85050010 */ lh $a1, 0x10($t0)
/* 09F660 802DFE60 AFA30028 */ sw $v1, 0x28($sp)
/* 09F664 802DFE64 AFB10010 */ sw $s1, 0x10($sp)
/* 09F668 802DFE68 24A50740 */ addiu $a1, $a1, 0x740
/* 09F66C 802DFE6C 30B8FFFF */ andi $t8, $a1, 0xffff
/* 09F670 802DFE70 0C0B7E39 */ jal synthesis_load_reverb_ring_buffer
/* 09F674 802DFE74 03002825 */ move $a1, $t8
/* 09F678 802DFE78 8FA30028 */ lw $v1, 0x28($sp)
/* 09F67C 802DFE7C 3C0A0800 */ lui $t2, 0x800
.L80200830:
/* 09F680 802DFE80 24500008 */ addiu $s0, $v0, 8
/* 09F684 802DFE84 24190280 */ li $t9, 640
/* 09F688 802DFE88 AC590004 */ sw $t9, 4($v0)
/* 09F68C 802DFE8C AC4A0000 */ sw $t2, ($v0)
/* 09F690 802DFE90 02002825 */ move $a1, $s0
/* 09F694 802DFE94 3C0D0C00 */ lui $t5, (0x0C007FFF >> 16) # lui $t5, 0xc00
/* 09F698 802DFE98 3C0E0740 */ lui $t6, (0x074004C0 >> 16) # lui $t6, 0x740
/* 09F69C 802DFE9C 35CE04C0 */ ori $t6, (0x074004C0 & 0xFFFF) # ori $t6, $t6, 0x4c0
/* 09F6A0 802DFEA0 35AD7FFF */ ori $t5, (0x0C007FFF & 0xFFFF) # ori $t5, $t5, 0x7fff
/* 09F6A4 802DFEA4 ACAD0000 */ sw $t5, ($a1)
/* 09F6A8 802DFEA8 ACAE0004 */ sw $t6, 4($a1)
/* 09F6AC 802DFEAC 946F0008 */ lhu $t7, 8($v1)
/* 09F6B0 802DFEB0 34018000 */ li $at, 32768
/* 09F6B4 802DFEB4 26100008 */ addiu $s0, $s0, 8
/* 09F6B8 802DFEB8 01E1C021 */ addu $t8, $t7, $at
/* 09F6BC 802DFEBC 3319FFFF */ andi $t9, $t8, 0xffff
/* 09F6C0 802DFEC0 3C010C00 */ lui $at, 0xc00
/* 09F6C4 802DFEC4 02003025 */ move $a2, $s0
/* 09F6C8 802DFEC8 3C0E0740 */ lui $t6, (0x07400740 >> 16) # lui $t6, 0x740
/* 09F6CC 802DFECC 35CE0740 */ ori $t6, (0x07400740 & 0xFFFF) # ori $t6, $t6, 0x740
/* 09F6D0 802DFED0 03216825 */ or $t5, $t9, $at
/* 09F6D4 802DFED4 ACCD0000 */ sw $t5, ($a2)
/* 09F6D8 802DFED8 ACCE0004 */ sw $t6, 4($a2)
/* 09F6DC 802DFEDC 10000078 */ b .L80200A70
/* 09F6E0 802DFEE0 26100008 */ addiu $s0, $s0, 8
.L80200894:
/* 09F6E4 802DFEE4 8D02000C */ lw $v0, 0xc($t0)
/* 09F6E8 802DFEE8 850D0010 */ lh $t5, 0x10($t0)
/* 09F6EC 802DFEEC 2401FFF0 */ li $at, -16
/* 09F6F0 802DFEF0 304F0007 */ andi $t7, $v0, 7
/* 09F6F4 802DFEF4 000FC440 */ sll $t8, $t7, 0x11
/* 09F6F8 802DFEF8 0018CC03 */ sra $t9, $t8, 0x10
/* 09F6FC 802DFEFC 032D5021 */ addu $t2, $t9, $t5
/* 09F700 802DFF00 254A000F */ addiu $t2, $t2, 0xf
/* 09F704 802DFF04 03204825 */ move $t1, $t9
/* 09F708 802DFF08 314EFFF0 */ andi $t6, $t2, 0xfff0
/* 09F70C 802DFF0C 000E7C00 */ sll $t7, $t6, 0x10
/* 09F710 802DFF10 000FC403 */ sra $t8, $t7, 0x10
/* 09F714 802DFF14 03005025 */ move $t2, $t8
/* 09F718 802DFF18 A7AA0058 */ sh $t2, 0x58($sp)
/* 09F71C 802DFF1C A7A9005A */ sh $t1, 0x5a($sp)
/* 09F720 802DFF20 AFA8005C */ sw $t0, 0x5c($sp)
/* 09F724 802DFF24 AFA30028 */ sw $v1, 0x28($sp)
/* 09F728 802DFF28 AFB10010 */ sw $s1, 0x10($sp)
/* 09F72C 802DFF2C 02002025 */ move $a0, $s0
/* 09F730 802DFF30 24050020 */ li $a1, 32
/* 09F734 802DFF34 05210003 */ bgez $t1, .L802008F4
/* 09F738 802DFF38 0009C843 */ sra $t9, $t1, 1
/* 09F73C 802DFF3C 25210001 */ addiu $at, $t1, 1
/* 09F740 802DFF40 0001C843 */ sra $t9, $at, 1
.L802008F4:
/* 09F744 802DFF44 00593023 */ subu $a2, $v0, $t9
/* 09F748 802DFF48 30CDFFFF */ andi $t5, $a2, 0xffff
/* 09F74C 802DFF4C 01A03025 */ move $a2, $t5
/* 09F750 802DFF50 0C0B7E39 */ jal synthesis_load_reverb_ring_buffer
/* 09F754 802DFF54 24070140 */ li $a3, 320
/* 09F758 802DFF58 8FA8005C */ lw $t0, 0x5c($sp)
/* 09F75C 802DFF5C 00408025 */ move $s0, $v0
/* 09F760 802DFF60 8FA30028 */ lw $v1, 0x28($sp)
/* 09F764 802DFF64 850E0012 */ lh $t6, 0x12($t0)
/* 09F768 802DFF68 87A9005A */ lh $t1, 0x5a($sp)
/* 09F76C 802DFF6C 87AA0058 */ lh $t2, 0x58($sp)
/* 09F770 802DFF70 11C0000D */ beqz $t6, .L80200958
/* 09F774 802DFF74 02002025 */ move $a0, $s0
/* 09F778 802DFF78 25450020 */ addiu $a1, $t2, 0x20
/* 09F77C 802DFF7C 30AFFFFF */ andi $t7, $a1, 0xffff
/* 09F780 802DFF80 24180140 */ li $t8, 320
/* 09F784 802DFF84 030A3823 */ subu $a3, $t8, $t2
/* 09F788 802DFF88 01E02825 */ move $a1, $t7
/* 09F78C 802DFF8C 00003025 */ move $a2, $zero
/* 09F790 802DFF90 AFB10010 */ sw $s1, 0x10($sp)
/* 09F794 802DFF94 AFA30028 */ sw $v1, 0x28($sp)
/* 09F798 802DFF98 0C0B7E39 */ jal synthesis_load_reverb_ring_buffer
/* 09F79C 802DFF9C A7A9005A */ sh $t1, 0x5a($sp)
/* 09F7A0 802DFFA0 8FA30028 */ lw $v1, 0x28($sp)
/* 09F7A4 802DFFA4 87A9005A */ lh $t1, 0x5a($sp)
.L80200958:
/* 09F7A8 802DFFA8 25390020 */ addiu $t9, $t1, 0x20
/* 09F7AC 802DFFAC 3C0A0800 */ lui $t2, 0x800
/* 09F7B0 802DFFB0 332DFFFF */ andi $t5, $t9, 0xffff
/* 09F7B4 802DFFB4 01AA7025 */ or $t6, $t5, $t2
/* 09F7B8 802DFFB8 AC4E0000 */ sw $t6, ($v0)
/* 09F7BC 802DFFBC 8FA50064 */ lw $a1, 0x64($sp)
/* 09F7C0 802DFFC0 3C010740 */ lui $at, 0x740
/* 09F7C4 802DFFC4 3C0B0500 */ lui $t3, 0x500
/* 09F7C8 802DFFC8 00057840 */ sll $t7, $a1, 1
/* 09F7CC 802DFFCC 31E5FFFF */ andi $a1, $t7, 0xffff
/* 09F7D0 802DFFD0 00A1C825 */ or $t9, $a1, $at
/* 09F7D4 802DFFD4 AC590004 */ sw $t9, 4($v0)
/* 09F7D8 802DFFD8 90790000 */ lbu $t9, ($v1)
/* 09F7DC 802DFFDC 946E000A */ lhu $t6, 0xa($v1)
/* 09F7E0 802DFFE0 24500008 */ addiu $s0, $v0, 8
/* 09F7E4 802DFFE4 00196C00 */ sll $t5, $t9, 0x10
/* 09F7E8 802DFFE8 01CB7825 */ or $t7, $t6, $t3
/* 09F7EC 802DFFEC 01ED7025 */ or $t6, $t7, $t5
/* 09F7F0 802DFFF0 02003025 */ move $a2, $s0
/* 09F7F4 802DFFF4 ACCE0000 */ sw $t6, ($a2)
/* 09F7F8 802DFFF8 8C780020 */ lw $t8, 0x20($v1)
/* 09F7FC 802DFFFC 3C0C8000 */ lui $t4, 0x8000
/* 09F800 802E0000 26100008 */ addiu $s0, $s0, 8
/* 09F804 802E0004 252F0160 */ addiu $t7, $t1, 0x160
/* 09F808 802E0008 030CC821 */ addu $t9, $t8, $t4
/* 09F80C 802E000C ACD90004 */ sw $t9, 4($a2)
/* 09F810 802E0010 31EDFFFF */ andi $t5, $t7, 0xffff
/* 09F814 802E0014 02003825 */ move $a3, $s0
/* 09F818 802E0018 3C010880 */ lui $at, 0x880
/* 09F81C 802E001C 00A1C025 */ or $t8, $a1, $at
/* 09F820 802E0020 01AA7025 */ or $t6, $t5, $t2
/* 09F824 802E0024 ACEE0000 */ sw $t6, ($a3)
/* 09F828 802E0028 ACF80004 */ sw $t8, 4($a3)
/* 09F82C 802E002C 90780000 */ lbu $t8, ($v1)
/* 09F830 802E0030 946F000A */ lhu $t7, 0xa($v1)
/* 09F834 802E0034 26100008 */ addiu $s0, $s0, 8
/* 09F838 802E0038 0018CC00 */ sll $t9, $t8, 0x10
/* 09F83C 802E003C 01EB6825 */ or $t5, $t7, $t3
/* 09F840 802E0040 01B97825 */ or $t7, $t5, $t9
/* 09F844 802E0044 02004025 */ move $t0, $s0
/* 09F848 802E0048 AD0F0000 */ sw $t7, ($t0)
/* 09F84C 802E004C 8C6E0024 */ lw $t6, 0x24($v1)
/* 09F850 802E0050 26100008 */ addiu $s0, $s0, 8
/* 09F854 802E0054 02001025 */ move $v0, $s0
/* 09F858 802E0058 01CCC021 */ addu $t8, $t6, $t4
/* 09F85C 802E005C AD180004 */ sw $t8, 4($t0)
/* 09F860 802E0060 26100008 */ addiu $s0, $s0, 8
/* 09F864 802E0064 240D0280 */ li $t5, 640
/* 09F868 802E0068 AC4D0004 */ sw $t5, 4($v0)
/* 09F86C 802E006C AC4A0000 */ sw $t2, ($v0)
/* 09F870 802E0070 02002025 */ move $a0, $s0
/* 09F874 802E0074 3C0F0740 */ lui $t7, (0x074004C0 >> 16) # lui $t7, 0x740
/* 09F878 802E0078 3C190C00 */ lui $t9, (0x0C007FFF >> 16) # lui $t9, 0xc00
/* 09F87C 802E007C 37397FFF */ ori $t9, (0x0C007FFF & 0xFFFF) # ori $t9, $t9, 0x7fff
/* 09F880 802E0080 35EF04C0 */ ori $t7, (0x074004C0 & 0xFFFF) # ori $t7, $t7, 0x4c0
/* 09F884 802E0084 AC8F0004 */ sw $t7, 4($a0)
/* 09F888 802E0088 AC990000 */ sw $t9, ($a0)
/* 09F88C 802E008C 946E0008 */ lhu $t6, 8($v1)
/* 09F890 802E0090 34018000 */ li $at, 32768
/* 09F894 802E0094 26100008 */ addiu $s0, $s0, 8
/* 09F898 802E0098 01C1C021 */ addu $t8, $t6, $at
/* 09F89C 802E009C 02002825 */ move $a1, $s0
/* 09F8A0 802E00A0 330DFFFF */ andi $t5, $t8, 0xffff
/* 09F8A4 802E00A4 3C010C00 */ lui $at, 0xc00
/* 09F8A8 802E00A8 3C0F0740 */ lui $t7, (0x07400740 >> 16) # lui $t7, 0x740
/* 09F8AC 802E00AC 35EF0740 */ ori $t7, (0x07400740 & 0xFFFF) # ori $t7, $t7, 0x740
/* 09F8B0 802E00B0 01A1C825 */ or $t9, $t5, $at
/* 09F8B4 802E00B4 ACB90000 */ sw $t9, ($a1)
/* 09F8B8 802E00B8 ACAF0004 */ sw $t7, 4($a1)
/* 09F8BC 802E00BC 26100008 */ addiu $s0, $s0, 8
.L80200A70:
/* 09F8C0 802E00C0 8FBF0024 */ lw $ra, 0x24($sp)
/* 09F8C4 802E00C4 02001025 */ move $v0, $s0
/* 09F8C8 802E00C8 8FB0001C */ lw $s0, 0x1c($sp)
/* 09F8CC 802E00CC 8FB10020 */ lw $s1, 0x20($sp)
/* 09F8D0 802E00D0 03E00008 */ jr $ra
/* 09F8D4 802E00D4 27BD0060 */ addiu $sp, $sp, 0x60

View file

@ -1,370 +0,0 @@
.late_rodata
.late_rodata_alignment 8
glabel jtbl_803059A0
.word L_EU_802AFB00, L_EU_802AFB18, L_EU_802AFB50, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFB88, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFB9C, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AF99C, L_EU_802AF990
glabel jtbl_80305A60
.word L_EU_802AF9CC, L_EU_802AF9CC, L_EU_802AF9CC, L_EU_802AFBD0
.word L_EU_802AF9EC, L_EU_802AF9EC, L_EU_802AF9EC, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFA0C, L_EU_802AFA0C, L_EU_802AFA0C, L_EU_802AFA0C
.word L_EU_802AFA2C, L_EU_802AFA2C, L_EU_802AFA2C, L_EU_802AFA2C
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFA4C, L_EU_802AFA4C, L_EU_802AFA4C, L_EU_802AFBD0
.word L_EU_802AFA6C, L_EU_802AFA6C, L_EU_802AFA6C, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFA8C, L_EU_802AFA8C, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFAAC, L_EU_802AFAAC, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFBD0, L_EU_802AFAEC, L_EU_802AFBD0
.word L_EU_802AFBD0, L_EU_802AFACC, L_EU_802AFACC
.text
glabel handle_dialog_text_and_pages # EU: func_802AF808
/* 06F008 802AF808 27BDFF90 */ addiu $sp, $sp, -0x70
/* 06F00C 802AF80C AFB50034 */ sw $s5, 0x34($sp)
/* 06F010 802AF810 0006AE00 */ sll $s5, $a2, 0x18
/* 06F014 802AF814 00157603 */ sra $t6, $s5, 0x18
/* 06F018 802AF818 AFBF0044 */ sw $ra, 0x44($sp)
/* 06F01C 802AF81C AFBE0040 */ sw $fp, 0x40($sp)
/* 06F020 802AF820 AFB7003C */ sw $s7, 0x3c($sp)
/* 06F024 802AF824 AFB60038 */ sw $s6, 0x38($sp)
/* 06F028 802AF828 AFB40030 */ sw $s4, 0x30($sp)
/* 06F02C 802AF82C AFB3002C */ sw $s3, 0x2c($sp)
/* 06F030 802AF830 AFB20028 */ sw $s2, 0x28($sp)
/* 06F034 802AF834 AFB10024 */ sw $s1, 0x24($sp)
/* 06F038 802AF838 AFB00020 */ sw $s0, 0x20($sp)
/* 06F03C 802AF83C AFA40070 */ sw $a0, 0x70($sp)
/* 06F040 802AF840 AFA60078 */ sw $a2, 0x78($sp)
/* 06F044 802AF844 00A08825 */ move $s1, $a1
/* 06F048 802AF848 01C0A825 */ move $s5, $t6
/* 06F04C 802AF84C 0C09A4BC */ jal segmented_to_virtual
/* 06F050 802AF850 8CA4000C */ lw $a0, 0xc($a1)
/* 06F054 802AF854 3C088030 */ lui $t0, %hi(gDialogBoxState) # $t0, 0x8030
/* 06F058 802AF858 2508D630 */ addiu $t0, %lo(gDialogBoxState) # addiu $t0, $t0, -0x29d0
/* 06F05C 802AF85C 81180000 */ lb $t8, ($t0)
/* 06F060 802AF860 240F0001 */ li $t7, 1
/* 06F064 802AF864 24070002 */ li $a3, 2
/* 06F068 802AF868 AFA20060 */ sw $v0, 0x60($sp)
/* 06F06C 802AF86C A3A0005D */ sb $zero, 0x5d($sp)
/* 06F070 802AF870 A3AF005B */ sb $t7, 0x5b($sp)
/* 06F074 802AF874 24130001 */ li $s3, 1
/* 06F078 802AF878 14F80005 */ bne $a3, $t8, .L802AF890
/* 06F07C 802AF87C 82360004 */ lb $s6, 4($s1)
/* 06F080 802AF880 0016C840 */ sll $t9, $s6, 1
/* 06F084 802AF884 27290001 */ addiu $t1, $t9, 1
/* 06F088 802AF888 10000003 */ b .L802AF898
/* 06F08C 802AF88C A3A9005E */ sb $t1, 0x5e($sp)
.L802AF890:
/* 06F090 802AF890 26CA0001 */ addiu $t2, $s6, 1
/* 06F094 802AF894 A3AA005E */ sb $t2, 0x5e($sp)
.L802AF898:
/* 06F098 802AF898 3C068031 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8031
/* 06F09C 802AF89C 24C692A8 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, -0x6d58
/* 06F0A0 802AF8A0 8CC30000 */ lw $v1, ($a2)
/* 06F0A4 802AF8A4 3C0D0200 */ lui $t5, %hi(dl_ia_text_begin) # $t5, 0x200
/* 06F0A8 802AF8A8 25AD73B0 */ addiu $t5, %lo(dl_ia_text_begin) # addiu $t5, $t5, 0x73b0
/* 06F0AC 802AF8AC 246B0008 */ addiu $t3, $v1, 8
/* 06F0B0 802AF8B0 ACCB0000 */ sw $t3, ($a2)
/* 06F0B4 802AF8B4 3C0C0600 */ lui $t4, 0x600
/* 06F0B8 802AF8B8 3C128033 */ lui $s2, %hi(gDialogX) # $s2, 0x8033
/* 06F0BC 802AF8BC 3C178030 */ lui $s7, %hi(gDialogTextPos) # $s7, 0x8030
/* 06F0C0 802AF8C0 AC6C0000 */ sw $t4, ($v1)
/* 06F0C4 802AF8C4 AC6D0004 */ sw $t5, 4($v1)
/* 06F0C8 802AF8C8 2652F69A */ addiu $s2, %lo(gDialogX) # addiu $s2, $s2, -0x966
/* 06F0CC 802AF8CC 86F7D64C */ lh $s7, %lo(gDialogTextPos)($s7)
/* 06F0D0 802AF8D0 A6400000 */ sh $zero, ($s2)
/* 06F0D4 802AF8D4 240E000E */ li $t6, 14
/* 06F0D8 802AF8D8 3C018033 */ lui $at, %hi(gDialogY) # $at, 0x8033
/* 06F0DC 802AF8DC A42EF69C */ sh $t6, %lo(gDialogY)($at)
/* 06F0E0 802AF8E0 810F0000 */ lb $t7, ($t0)
/* 06F0E4 802AF8E4 3C1E8033 */ lui $fp, %hi(gDialogY) # $fp, 0x8033
/* 06F0E8 802AF8E8 27DEF69C */ addiu $fp, %lo(gDialogY) # addiu $fp, $fp, -0x964
/* 06F0EC 802AF8EC 14EF0005 */ bne $a3, $t7, .L802AF904
/* 06F0F0 802AF8F0 3C198030 */ lui $t9, %hi(gDialogScrollOffsetY) # $t9, 0x8030
/* 06F0F4 802AF8F4 87D80000 */ lh $t8, ($fp)
/* 06F0F8 802AF8F8 8739D63C */ lh $t9, %lo(gDialogScrollOffsetY)($t9)
/* 06F0FC 802AF8FC 03194823 */ subu $t1, $t8, $t9
/* 06F100 802AF900 A7C90000 */ sh $t1, ($fp)
.L802AF904:
/* 06F104 802AF904 83AA005D */ lb $t2, 0x5d($sp)
/* 06F108 802AF908 3C1E8033 */ lui $fp, %hi(gDialogY) # $fp, 0x8033
/* 06F10C 802AF90C 27DEF69C */ addiu $fp, %lo(gDialogY) # addiu $fp, $fp, -0x964
/* 06F110 802AF910 154000C8 */ bnez $t2, .L802AFC34
/* 06F114 802AF914 3C148030 */ lui $s4, %hi(gDialogCharWidths) # $s4, 0x8030
/* 06F118 802AF918 2694D530 */ addiu $s4, %lo(gDialogCharWidths) # addiu $s4, $s4, -0x2ad0
.L802AF91C:
/* 06F11C 802AF91C 00132E00 */ sll $a1, $s3, 0x18
/* 06F120 802AF920 00055E03 */ sra $t3, $a1, 0x18
/* 06F124 802AF924 01602825 */ move $a1, $t3
/* 06F128 802AF928 0C0ABBFE */ jal change_and_flash_dialog_text_color_lines # func_802AEFF8
/* 06F12C 802AF92C 83A40073 */ lb $a0, 0x73($sp)
/* 06F130 802AF930 8FAC0060 */ lw $t4, 0x60($sp)
/* 06F134 802AF934 02EC6821 */ addu $t5, $s7, $t4
/* 06F138 802AF938 91B00000 */ lbu $s0, ($t5)
/* 06F13C 802AF93C 2A0100A3 */ slti $at, $s0, 0xa3
/* 06F140 802AF940 1420000A */ bnez $at, .L802AF96C
/* 06F144 802AF944 02001025 */ move $v0, $s0
/* 06F148 802AF948 244EFF30 */ addiu $t6, $v0, -0xd0
/* 06F14C 802AF94C 2DC10030 */ sltiu $at, $t6, 0x30
/* 06F150 802AF950 1020009F */ beqz $at, .L802AFBD0
/* 06F154 802AF954 000E7080 */ sll $t6, $t6, 2
/* 06F158 802AF958 3C018030 */ lui $at, %hi(jtbl_803059A0) # 0x8030
/* 06F15C 802AF95C 002E0821 */ addu $at, $at, $t6
/* 06F160 802AF960 8C2E59A0 */ lw $t6, %lo(jtbl_803059A0)($at) # 0x59a0($at)
/* 06F164 802AF964 01C00008 */ jr $t6
/* 06F168 802AF968 00000000 */ nop
.L802AF96C:
/* 06F16C 802AF96C 244FFFA0 */ addiu $t7, $v0, -0x60
/* 06F170 802AF970 2DE10043 */ sltiu $at, $t7, 0x43
/* 06F174 802AF974 10200096 */ beqz $at, .L802AFBD0
/* 06F178 802AF978 000F7880 */ sll $t7, $t7, 2
/* 06F17C 802AF97C 3C018030 */ lui $at, %hi(jtbl_80305A60) # 0x8030
/* 06F180 802AF980 002F0821 */ addu $at, $at, $t7
/* 06F184 802AF984 8C2F5A60 */ lw $t7, %lo(jtbl_80305A60)($at) # 0x5a60($at)
/* 06F188 802AF988 01E00008 */ jr $t7
/* 06F18C 802AF98C 00000000 */ nop
glabel L_EU_802AF990
/* 06F190 802AF990 24180002 */ li $t8, 2
/* 06F194 802AF994 1000009D */ b .L802AFC0C
/* 06F198 802AF998 A3B8005D */ sb $t8, 0x5d($sp)
glabel L_EU_802AF99C
/* 06F19C 802AF99C 26730001 */ addiu $s3, $s3, 1
/* 06F1A0 802AF9A0 0013CE00 */ sll $t9, $s3, 0x18
/* 06F1A4 802AF9A4 00199E03 */ sra $s3, $t9, 0x18
/* 06F1A8 802AF9A8 00132600 */ sll $a0, $s3, 0x18
/* 06F1AC 802AF9AC 00045603 */ sra $t2, $a0, 0x18
/* 06F1B0 802AF9B0 01402025 */ move $a0, $t2
/* 06F1B4 802AF9B4 83A5005E */ lb $a1, 0x5e($sp)
/* 06F1B8 802AF9B8 27A6005D */ addiu $a2, $sp, 0x5d
/* 06F1BC 802AF9BC 0C0ABD0B */ jal handle_dialog_scroll_page_state # func_802AF42C
/* 06F1C0 802AF9C0 27A7005B */ addiu $a3, $sp, 0x5b
/* 06F1C4 802AF9C4 10000091 */ b .L802AFC0C
/* 06F1C8 802AF9C8 A6400000 */ sh $zero, ($s2)
glabel L_EU_802AF9CC
/* 06F1CC 802AF9CC 00403025 */ move $a2, $v0
/* 06F1D0 802AF9D0 30CB000F */ andi $t3, $a2, 0xf
/* 06F1D4 802AF9D4 01603025 */ move $a2, $t3
/* 06F1D8 802AF9D8 02202025 */ move $a0, $s1
/* 06F1DC 802AF9DC 0C0ABDB5 */ jal render_dialog_lowercase_diacritic
/* 06F1E0 802AF9E0 24050024 */ li $a1, 36
/* 06F1E4 802AF9E4 1000008A */ b .L802AFC10
/* 06F1E8 802AF9E8 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AF9EC
/* 06F1EC 802AF9EC 00403025 */ move $a2, $v0
/* 06F1F0 802AF9F0 30CC000F */ andi $t4, $a2, 0xf
/* 06F1F4 802AF9F4 01803025 */ move $a2, $t4
/* 06F1F8 802AF9F8 02202025 */ move $a0, $s1
/* 06F1FC 802AF9FC 0C0ABDD6 */ jal render_dialog_uppercase_diacritic
/* 06F200 802AFA00 2405000A */ li $a1, 10
/* 06F204 802AFA04 10000082 */ b .L802AFC10
/* 06F208 802AFA08 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFA0C
/* 06F20C 802AFA0C 00403025 */ move $a2, $v0
/* 06F210 802AFA10 30CD000F */ andi $t5, $a2, 0xf
/* 06F214 802AFA14 01A03025 */ move $a2, $t5
/* 06F218 802AFA18 02202025 */ move $a0, $s1
/* 06F21C 802AFA1C 0C0ABDB5 */ jal render_dialog_lowercase_diacritic
/* 06F220 802AFA20 24050028 */ li $a1, 40
/* 06F224 802AFA24 1000007A */ b .L802AFC10
/* 06F228 802AFA28 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFA2C
/* 06F22C 802AFA2C 00403025 */ move $a2, $v0
/* 06F230 802AFA30 30CE000F */ andi $t6, $a2, 0xf
/* 06F234 802AFA34 01C03025 */ move $a2, $t6
/* 06F238 802AFA38 02202025 */ move $a0, $s1
/* 06F23C 802AFA3C 0C0ABDD6 */ jal render_dialog_uppercase_diacritic
/* 06F240 802AFA40 2405000E */ li $a1, 14
/* 06F244 802AFA44 10000072 */ b .L802AFC10
/* 06F248 802AFA48 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFA4C
/* 06F24C 802AFA4C 00403025 */ move $a2, $v0
/* 06F250 802AFA50 30CF000F */ andi $t7, $a2, 0xf
/* 06F254 802AFA54 01E03025 */ move $a2, $t7
/* 06F258 802AFA58 02202025 */ move $a0, $s1
/* 06F25C 802AFA5C 0C0ABDB5 */ jal render_dialog_lowercase_diacritic
/* 06F260 802AFA60 24050038 */ li $a1, 56
/* 06F264 802AFA64 1000006A */ b .L802AFC10
/* 06F268 802AFA68 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFA6C
/* 06F26C 802AFA6C 00403025 */ move $a2, $v0
/* 06F270 802AFA70 30D8000F */ andi $t8, $a2, 0xf
/* 06F274 802AFA74 03003025 */ move $a2, $t8
/* 06F278 802AFA78 02202025 */ move $a0, $s1
/* 06F27C 802AFA7C 0C0ABDD6 */ jal render_dialog_uppercase_diacritic
/* 06F280 802AFA80 2405001E */ li $a1, 30
/* 06F284 802AFA84 10000062 */ b .L802AFC10
/* 06F288 802AFA88 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFA8C
/* 06F28C 802AFA8C 00403025 */ move $a2, $v0
/* 06F290 802AFA90 30D9000F */ andi $t9, $a2, 0xf
/* 06F294 802AFA94 03203025 */ move $a2, $t9
/* 06F298 802AFA98 02202025 */ move $a0, $s1
/* 06F29C 802AFA9C 0C0ABDB5 */ jal render_dialog_lowercase_diacritic
/* 06F2A0 802AFAA0 24050032 */ li $a1, 50
/* 06F2A4 802AFAA4 1000005A */ b .L802AFC10
/* 06F2A8 802AFAA8 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFAAC
/* 06F2AC 802AFAAC 00403025 */ move $a2, $v0
/* 06F2B0 802AFAB0 30C9000F */ andi $t1, $a2, 0xf
/* 06F2B4 802AFAB4 01203025 */ move $a2, $t1
/* 06F2B8 802AFAB8 02202025 */ move $a0, $s1
/* 06F2BC 802AFABC 0C0ABDD6 */ jal render_dialog_uppercase_diacritic
/* 06F2C0 802AFAC0 24050018 */ li $a1, 24
/* 06F2C4 802AFAC4 10000052 */ b .L802AFC10
/* 06F2C8 802AFAC8 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFACC
/* 06F2CC 802AFACC 00403025 */ move $a2, $v0
/* 06F2D0 802AFAD0 30CA000F */ andi $t2, $a2, 0xf
/* 06F2D4 802AFAD4 01403025 */ move $a2, $t2
/* 06F2D8 802AFAD8 02202025 */ move $a0, $s1
/* 06F2DC 802AFADC 0C0ABDB5 */ jal render_dialog_lowercase_diacritic
/* 06F2E0 802AFAE0 240500EB */ li $a1, 235
/* 06F2E4 802AFAE4 1000004A */ b .L802AFC10
/* 06F2E8 802AFAE8 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFAEC
/* 06F2EC 802AFAEC 864B0000 */ lh $t3, ($s2)
/* 06F2F0 802AFAF0 928C009E */ lbu $t4, 0x9e($s4)
/* 06F2F4 802AFAF4 016C6821 */ addu $t5, $t3, $t4
/* 06F2F8 802AFAF8 10000044 */ b .L802AFC0C
/* 06F2FC 802AFAFC A64D0000 */ sh $t5, ($s2)
glabel L_EU_802AFB00
/* 06F300 802AFB00 928F009E */ lbu $t7, 0x9e($s4)
/* 06F304 802AFB04 864E0000 */ lh $t6, ($s2)
/* 06F308 802AFB08 000FC040 */ sll $t8, $t7, 1
/* 06F30C 802AFB0C 01D8C821 */ addu $t9, $t6, $t8
/* 06F310 802AFB10 1000003E */ b .L802AFC0C
/* 06F314 802AFB14 A6590000 */ sh $t9, ($s2)
glabel L_EU_802AFB18
/* 06F318 802AFB18 00132E00 */ sll $a1, $s3, 0x18
/* 06F31C 802AFB1C 00163600 */ sll $a2, $s6, 0x18
/* 06F320 802AFB20 00065603 */ sra $t2, $a2, 0x18
/* 06F324 802AFB24 00054E03 */ sra $t1, $a1, 0x18
/* 06F328 802AFB28 01202825 */ move $a1, $t1
/* 06F32C 802AFB2C 01403025 */ move $a2, $t2
/* 06F330 802AFB30 00002025 */ move $a0, $zero
/* 06F334 802AFB34 83A7005B */ lb $a3, 0x5b($sp)
/* 06F338 802AFB38 AFB50010 */ sw $s5, 0x10($sp)
/* 06F33C 802AFB3C 0C0ABD64 */ jal render_multi_text_string_lines
/* 06F340 802AFB40 AFB10014 */ sw $s1, 0x14($sp)
/* 06F344 802AFB44 240B0001 */ li $t3, 1
/* 06F348 802AFB48 10000030 */ b .L802AFC0C
/* 06F34C 802AFB4C A3AB005B */ sb $t3, 0x5b($sp)
glabel L_EU_802AFB50
/* 06F350 802AFB50 00132E00 */ sll $a1, $s3, 0x18
/* 06F354 802AFB54 00163600 */ sll $a2, $s6, 0x18
/* 06F358 802AFB58 00066E03 */ sra $t5, $a2, 0x18
/* 06F35C 802AFB5C 00056603 */ sra $t4, $a1, 0x18
/* 06F360 802AFB60 01802825 */ move $a1, $t4
/* 06F364 802AFB64 01A03025 */ move $a2, $t5
/* 06F368 802AFB68 24040001 */ li $a0, 1
/* 06F36C 802AFB6C 83A7005B */ lb $a3, 0x5b($sp)
/* 06F370 802AFB70 AFB50010 */ sw $s5, 0x10($sp)
/* 06F374 802AFB74 0C0ABD64 */ jal render_multi_text_string_lines
/* 06F378 802AFB78 AFB10014 */ sw $s1, 0x14($sp)
/* 06F37C 802AFB7C 240F0001 */ li $t7, 1
/* 06F380 802AFB80 10000022 */ b .L802AFC0C
/* 06F384 802AFB84 A3AF005B */ sb $t7, 0x5b($sp)
glabel L_EU_802AFB88
/* 06F388 802AFB88 02202025 */ move $a0, $s1
/* 06F38C 802AFB8C 0C0ABD1E */ jal render_star_count_dialog_text
/* 06F390 802AFB90 27A5005B */ addiu $a1, $sp, 0x5b
/* 06F394 802AFB94 1000001E */ b .L802AFC10
/* 06F398 802AFB98 83A9005D */ lb $t1, 0x5d($sp)
glabel L_EU_802AFB9C
/* 06F39C 802AFB9C 87C60000 */ lh $a2, ($fp)
/* 06F3A0 802AFBA0 02202025 */ move $a0, $s1
/* 06F3A4 802AFBA4 86450000 */ lh $a1, ($s2)
/* 06F3A8 802AFBA8 24C60008 */ addiu $a2, $a2, 8
/* 06F3AC 802AFBAC 00067400 */ sll $t6, $a2, 0x10
/* 06F3B0 802AFBB0 000E3403 */ sra $a2, $t6, 0x10
/* 06F3B4 802AFBB4 0C0ABC6E */ jal render_generic_dialog_char_at_pos
/* 06F3B8 802AFBB8 240700F6 */ li $a3, 246
/* 06F3BC 802AFBBC 86590000 */ lh $t9, ($s2)
/* 06F3C0 802AFBC0 928900F6 */ lbu $t1, 0xf6($s4)
/* 06F3C4 802AFBC4 03295021 */ addu $t2, $t9, $t1
/* 06F3C8 802AFBC8 10000010 */ b .L802AFC0C
/* 06F3CC 802AFBCC A64A0000 */ sh $t2, ($s2)
glabel L_EU_802AFBD0
.L802AFBD0:
/* 06F3D0 802AFBD0 0275082A */ slt $at, $s3, $s5
/* 06F3D4 802AFBD4 14200008 */ bnez $at, .L802AFBF8
/* 06F3D8 802AFBD8 02B65821 */ addu $t3, $s5, $s6
/* 06F3DC 802AFBDC 0173082A */ slt $at, $t3, $s3
/* 06F3E0 802AFBE0 14200005 */ bnez $at, .L802AFBF8
/* 06F3E4 802AFBE4 02202025 */ move $a0, $s1
/* 06F3E8 802AFBE8 86450000 */ lh $a1, ($s2)
/* 06F3EC 802AFBEC 87C60000 */ lh $a2, ($fp)
/* 06F3F0 802AFBF0 0C0ABC6E */ jal render_generic_dialog_char_at_pos
/* 06F3F4 802AFBF4 320700FF */ andi $a3, $s0, 0xff
.L802AFBF8:
/* 06F3F8 802AFBF8 02906821 */ addu $t5, $s4, $s0
/* 06F3FC 802AFBFC 91AF0000 */ lbu $t7, ($t5)
/* 06F400 802AFC00 864C0000 */ lh $t4, ($s2)
/* 06F404 802AFC04 018F7021 */ addu $t6, $t4, $t7
/* 06F408 802AFC08 A64E0000 */ sh $t6, ($s2)
.L802AFC0C:
/* 06F40C 802AFC0C 83A9005D */ lb $t1, 0x5d($sp)
.L802AFC10:
/* 06F410 802AFC10 26F70001 */ addiu $s7, $s7, 1
/* 06F414 802AFC14 0017C400 */ sll $t8, $s7, 0x10
/* 06F418 802AFC18 1120FF40 */ beqz $t1, .L802AF91C
/* 06F41C 802AFC1C 0018BC03 */ sra $s7, $t8, 0x10
/* 06F420 802AFC20 3C088030 */ lui $t0, %hi(gDialogBoxState) # $t0, 0x8030
/* 06F424 802AFC24 3C068031 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8031
/* 06F428 802AFC28 24C692A8 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, -0x6d58
/* 06F42C 802AFC2C 2508D630 */ addiu $t0, %lo(gDialogBoxState) # addiu $t0, $t0, -0x29d0
/* 06F430 802AFC30 24070002 */ li $a3, 2
.L802AFC34:
/* 06F434 802AFC34 8CC30000 */ lw $v1, ($a2)
/* 06F438 802AFC38 3C0D0200 */ lui $t5, %hi(dl_ia_text_end) # $t5, 0x200
/* 06F43C 802AFC3C 25AD7418 */ addiu $t5, %lo(dl_ia_text_end) # addiu $t5, $t5, 0x7418
/* 06F440 802AFC40 246A0008 */ addiu $t2, $v1, 8
/* 06F444 802AFC44 ACCA0000 */ sw $t2, ($a2)
/* 06F448 802AFC48 3C0B0600 */ lui $t3, 0x600
/* 06F44C 802AFC4C AC6B0000 */ sw $t3, ($v1)
/* 06F450 802AFC50 AC6D0004 */ sw $t5, 4($v1)
/* 06F454 802AFC54 810C0000 */ lb $t4, ($t0)
/* 06F458 802AFC58 24010001 */ li $at, 1
/* 06F45C 802AFC5C 83AF005D */ lb $t7, 0x5d($sp)
/* 06F460 802AFC60 55810009 */ bnel $t4, $at, .L802AFC88
/* 06F464 802AFC64 8FBF0044 */ lw $ra, 0x44($sp)
/* 06F468 802AFC68 15E70005 */ bne $t7, $a3, .L802AFC80
/* 06F46C 802AFC6C 3C018030 */ lui $at, %hi(gLastDialogPageStrPos)
/* 06F470 802AFC70 240EFFFF */ li $t6, -1
/* 06F474 802AFC74 3C018030 */ lui $at, %hi(gLastDialogPageStrPos) # $at, 0x8030
/* 06F478 802AFC78 10000002 */ b .L802AFC84
/* 06F47C 802AFC7C A42ED648 */ sh $t6, %lo(gLastDialogPageStrPos)($at)
.L802AFC80:
/* 06F480 802AFC80 A437D648 */ sh $s7, %lo(gLastDialogPageStrPos)($at)
.L802AFC84:
/* 06F484 802AFC84 8FBF0044 */ lw $ra, 0x44($sp)
.L802AFC88:
/* 06F488 802AFC88 3C018033 */ lui $at, %hi(gLastDialogLineNum) # $at, 0x8033
/* 06F48C 802AFC8C A033F692 */ sb $s3, %lo(gLastDialogLineNum)($at)
/* 06F490 802AFC90 8FB3002C */ lw $s3, 0x2c($sp)
/* 06F494 802AFC94 8FB00020 */ lw $s0, 0x20($sp)
/* 06F498 802AFC98 8FB10024 */ lw $s1, 0x24($sp)
/* 06F49C 802AFC9C 8FB20028 */ lw $s2, 0x28($sp)
/* 06F4A0 802AFCA0 8FB40030 */ lw $s4, 0x30($sp)
/* 06F4A4 802AFCA4 8FB50034 */ lw $s5, 0x34($sp)
/* 06F4A8 802AFCA8 8FB60038 */ lw $s6, 0x38($sp)
/* 06F4AC 802AFCAC 8FB7003C */ lw $s7, 0x3c($sp)
/* 06F4B0 802AFCB0 8FBE0040 */ lw $fp, 0x40($sp)
/* 06F4B4 802AFCB4 03E00008 */ jr $ra
/* 06F4B8 802AFCB8 27BD0070 */ addiu $sp, $sp, 0x70

View file

@ -1,55 +0,0 @@
glabel func_802aeeb0
/* 0AEEB0 80200000 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0AEEB4 80200004 AFBF0014 */ sw $ra, 0x14($sp)
/* 0AEEB8 80200008 0C0BD400 */ jal __osDisableInt
/* 0AEEBC 8020000C AFA40020 */ sw $a0, 0x20($sp)
/* 0AEEC0 80200010 3C0F8030 */ lui $t7, %hi(D_80334914) # $t7, 0x8030
/* 0AEEC4 80200014 8DEF2EE4 */ lw $t7, %lo(D_80334914)($t7)
/* 0AEEC8 80200018 8FAE0020 */ lw $t6, 0x20($sp)
/* 0AEECC 8020001C AFA2001C */ sw $v0, 0x1c($sp)
/* 0AEED0 80200020 3C188030 */ lui $t8, %hi(D_80334914) # $t8, 0x8030
/* 0AEED4 80200024 ADEE0004 */ sw $t6, 4($t7)
/* 0AEED8 80200028 8F182EE4 */ lw $t8, %lo(D_80334914)($t8)
/* 0AEEDC 8020002C 97190000 */ lhu $t9, ($t8)
/* 0AEEE0 80200030 37280010 */ ori $t0, $t9, 0x10
/* 0AEEE4 80200034 A7080000 */ sh $t0, ($t8)
/* 0AEEE8 80200038 0C0BD408 */ jal __osRestoreInt
/* 0AEEEC 8020003C 8FA4001C */ lw $a0, 0x1c($sp)
/* 0AEEF0 80200040 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AEEF4 80200044 27BD0020 */ addiu $sp, $sp, 0x20
/* 0AEEF8 80200048 03E00008 */ jr $ra
/* 0AEEFC 8020004C 00000000 */ nop
glabel func_802aef00
/* 0AEF00 80200050 3C028030 */ lui $v0, %hi(D_8033489C)
/* 0AEF04 80200054 03E00008 */ jr $ra
/* 0AEF08 80200058 8C422EFC */ lw $v0, %lo(D_8033489C)($v0)
glabel func_802aef0c
/* 0AEF0C 8020005C 00000000 */ nop
/* 0AEF10 80200060 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0AEF14 80200064 AFBF001C */ sw $ra, 0x1c($sp)
/* 0AEF18 80200068 AFA40028 */ sw $a0, 0x28($sp)
/* 0AEF1C 8020006C AFA5002C */ sw $a1, 0x2c($sp)
/* 0AEF20 80200070 AFA60030 */ sw $a2, 0x30($sp)
/* 0AEF24 80200074 0C0BD400 */ jal __osDisableInt
/* 0AEF28 80200078 AFB00018 */ sw $s0, 0x18($sp)
/* 0AEF2C 8020007C 8FAE0028 */ lw $t6, 0x28($sp)
/* 0AEF30 80200080 3C188033 */ lui $t8, %hi(D_80363830) # $t8, 0x8033
/* 0AEF34 80200084 8FA8002C */ lw $t0, 0x2c($sp)
/* 0AEF38 80200088 271836D0 */ addiu $t8, %lo(D_80363830) # addiu $t8, $t8, 0x36d0
/* 0AEF3C 8020008C 000E78C0 */ sll $t7, $t6, 3
/* 0AEF40 80200090 01F8C821 */ addu $t9, $t7, $t8
/* 0AEF44 80200094 AFB90020 */ sw $t9, 0x20($sp)
/* 0AEF48 80200098 AF280000 */ sw $t0, ($t9)
/* 0AEF4C 8020009C 8FAA0020 */ lw $t2, 0x20($sp)
/* 0AEF50 802000A0 8FA90030 */ lw $t1, 0x30($sp)
/* 0AEF54 802000A4 00408025 */ move $s0, $v0
/* 0AEF58 802000A8 02002025 */ move $a0, $s0
/* 0AEF5C 802000AC 0C0BD408 */ jal __osRestoreInt
/* 0AEF60 802000B0 AD490004 */ sw $t1, 4($t2)
/* 0AEF64 802000B4 8FBF001C */ lw $ra, 0x1c($sp)
/* 0AEF68 802000B8 8FB00018 */ lw $s0, 0x18($sp)
/* 0AEF6C 802000BC 27BD0028 */ addiu $sp, $sp, 0x28
/* 0AEF70 802000C0 03E00008 */ jr $ra

View file

@ -1,87 +0,0 @@
glabel func_802aef80
/* 0AEF80 80200000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0AEF84 80200004 AFBF001C */ sw $ra, 0x1c($sp)
/* 0AEF88 80200008 AFA40028 */ sw $a0, 0x28($sp)
/* 0AEF8C 8020000C AFA5002C */ sw $a1, 0x2c($sp)
/* 0AEF90 80200010 AFA60030 */ sw $a2, 0x30($sp)
/* 0AEF94 80200014 AFB10018 */ sw $s1, 0x18($sp)
/* 0AEF98 80200018 0C0BD400 */ jal __osDisableInt
/* 0AEF9C 8020001C AFB00014 */ sw $s0, 0x14($sp)
/* 0AEFA0 80200020 8FAE0028 */ lw $t6, 0x28($sp)
/* 0AEFA4 80200024 00408025 */ move $s0, $v0
/* 0AEFA8 80200028 8DCF0008 */ lw $t7, 8($t6)
/* 0AEFAC 8020002C 15E00012 */ bnez $t7, .L80200078
/* 0AEFB0 80200030 00000000 */ nop
.L80200034:
/* 0AEFB4 80200034 8FB80030 */ lw $t8, 0x30($sp)
/* 0AEFB8 80200038 17000005 */ bnez $t8, .L80200050
/* 0AEFBC 8020003C 00000000 */ nop
/* 0AEFC0 80200040 0C0BD408 */ jal __osRestoreInt
/* 0AEFC4 80200044 02002025 */ move $a0, $s0
/* 0AEFC8 80200048 10000036 */ b .L80200124
/* 0AEFCC 8020004C 2402FFFF */ li $v0, -1
.L80200050:
/* 0AEFD0 80200050 3C088030 */ lui $t0, %hi(D_803348A0) # $t0, 0x8030
/* 0AEFD4 80200054 8D082F00 */ lw $t0, %lo(D_803348A0)($t0)
/* 0AEFD8 80200058 24190008 */ li $t9, 8
/* 0AEFDC 8020005C A5190010 */ sh $t9, 0x10($t0)
/* 0AEFE0 80200060 0C0BCFC3 */ jal __osEnqueueAndYield
/* 0AEFE4 80200064 8FA40028 */ lw $a0, 0x28($sp)
/* 0AEFE8 80200068 8FA90028 */ lw $t1, 0x28($sp)
/* 0AEFEC 8020006C 8D2A0008 */ lw $t2, 8($t1)
/* 0AEFF0 80200070 1140FFF0 */ beqz $t2, .L80200034
/* 0AEFF4 80200074 00000000 */ nop
.L80200078:
/* 0AEFF8 80200078 8FAB002C */ lw $t3, 0x2c($sp)
/* 0AEFFC 8020007C 11600008 */ beqz $t3, .L802000A0
/* 0AF000 80200080 00000000 */ nop
/* 0AF004 80200084 8FAC0028 */ lw $t4, 0x28($sp)
/* 0AF008 80200088 8D8E000C */ lw $t6, 0xc($t4)
/* 0AF00C 8020008C 8D8D0014 */ lw $t5, 0x14($t4)
/* 0AF010 80200090 000E7880 */ sll $t7, $t6, 2
/* 0AF014 80200094 01AFC021 */ addu $t8, $t5, $t7
/* 0AF018 80200098 8F190000 */ lw $t9, ($t8)
/* 0AF01C 8020009C AD790000 */ sw $t9, ($t3)
.L802000A0:
/* 0AF020 802000A0 8FA80028 */ lw $t0, 0x28($sp)
/* 0AF024 802000A4 8D09000C */ lw $t1, 0xc($t0)
/* 0AF028 802000A8 8D0C0010 */ lw $t4, 0x10($t0)
/* 0AF02C 802000AC 252A0001 */ addiu $t2, $t1, 1
/* 0AF030 802000B0 014C001A */ div $zero, $t2, $t4
/* 0AF034 802000B4 00007010 */ mfhi $t6
/* 0AF038 802000B8 AD0E000C */ sw $t6, 0xc($t0)
/* 0AF03C 802000BC 8FAD0028 */ lw $t5, 0x28($sp)
/* 0AF040 802000C0 15800002 */ bnez $t4, .L802000CC
/* 0AF044 802000C4 00000000 */ nop
/* 0AF048 802000C8 0007000D */ break 7
.L802000CC:
/* 0AF04C 802000CC 2401FFFF */ li $at, -1
/* 0AF050 802000D0 15810004 */ bne $t4, $at, .L802000E4
/* 0AF054 802000D4 3C018000 */ lui $at, 0x8000
/* 0AF058 802000D8 15410002 */ bne $t2, $at, .L802000E4
/* 0AF05C 802000DC 00000000 */ nop
/* 0AF060 802000E0 0006000D */ break 6
.L802000E4:
/* 0AF064 802000E4 8DAF0008 */ lw $t7, 8($t5)
/* 0AF068 802000E8 25F8FFFF */ addiu $t8, $t7, -1
/* 0AF06C 802000EC ADB80008 */ sw $t8, 8($t5)
/* 0AF070 802000F0 8FB90028 */ lw $t9, 0x28($sp)
/* 0AF074 802000F4 8F2B0004 */ lw $t3, 4($t9)
/* 0AF078 802000F8 8D690000 */ lw $t1, ($t3)
/* 0AF07C 802000FC 11200006 */ beqz $t1, .L80200118
/* 0AF080 80200100 00000000 */ nop
/* 0AF084 80200104 0C0BD015 */ jal __osPopThread
/* 0AF088 80200108 27240004 */ addiu $a0, $t9, 4
/* 0AF08C 8020010C 00408825 */ move $s1, $v0
/* 0AF090 80200110 0C0BBEA0 */ jal osStartThread
/* 0AF094 80200114 02202025 */ move $a0, $s1
.L80200118:
/* 0AF098 80200118 0C0BD408 */ jal __osRestoreInt
/* 0AF09C 8020011C 02002025 */ move $a0, $s0
/* 0AF0A0 80200120 00001025 */ move $v0, $zero
.L80200124:
/* 0AF0A4 80200124 8FBF001C */ lw $ra, 0x1c($sp)
/* 0AF0A8 80200128 8FB00014 */ lw $s0, 0x14($sp)
/* 0AF0AC 8020012C 8FB10018 */ lw $s1, 0x18($sp)
/* 0AF0B0 80200130 03E00008 */ jr $ra
/* 0AF0B4 80200134 27BD0028 */ addiu $sp, $sp, 0x28

View file

@ -1,86 +0,0 @@
glabel play_sequence
/* 0AB0E8 80200000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0AB0EC 80200004 AFA50034 */ sw $a1, 0x34($sp)
/* 0AB0F0 80200008 308700FF */ andi $a3, $a0, 0xff
/* 0AB0F4 8020000C 30AE00FF */ andi $t6, $a1, 0xff
/* 0AB0F8 80200010 01C02825 */ move $a1, $t6
/* 0AB0FC 80200014 AFBF0014 */ sw $ra, 0x14($sp)
/* 0AB100 80200018 AFA40030 */ sw $a0, 0x30($sp)
/* 0AB104 8020001C AFA60038 */ sw $a2, 0x38($sp)
/* 0AB108 80200020 14E0000C */ bnez $a3, .L480200054
/* 0AB10C 80200024 00E04025 */ move $t0, $a3
/* 0AB110 80200028 31CF007F */ andi $t7, $t6, 0x7f
/* 0AB114 8020002C 3C018030 */ lui $at, %hi(sPlayer0CurSeqId) # $at, 0x8030
/* 0AB118 80200030 A02F04CC */ sb $t7, %lo(sPlayer0CurSeqId)($at)
/* 0AB11C 80200034 240200FF */ li $v0, 255
/* 0AB120 80200038 3C018030 */ lui $at, %hi(sBackgroundMusicForDynamics) # $at, 0x8030
/* 0AB124 8020003C A02202E0 */ sb $v0, %lo(sBackgroundMusicForDynamics)($at)
/* 0AB128 80200040 3C018030 */ lui $at, %hi(sCurrentMusicDynamic) # $at, 0x8030
/* 0AB12C 80200044 A02202DC */ sb $v0, %lo(sCurrentMusicDynamic)($at)
/* 0AB130 80200048 3C018030 */ lui $at, %hi(sMusicDynamicDelay) # $at, 0x8030
/* 0AB134 8020004C 24180002 */ li $t8, 2
/* 0AB138 80200050 A03804D0 */ sb $t8, %lo(sMusicDynamicDelay)($at)
.L480200054:
/* 0AB13C 80200054 3C0A8033 */ lui $t2, %hi(D_80360928) # $t2, 0x8033
/* 0AB140 80200058 254AFF40 */ addiu $t2, %lo(D_80360928) # addiu $t2, $t2, -0xc0
/* 0AB144 8020005C 0007CA00 */ sll $t9, $a3, 8
/* 0AB148 80200060 032A1821 */ addu $v1, $t9, $t2
/* 0AB14C 80200064 00001025 */ move $v0, $zero
/* 0AB150 80200068 00A03025 */ move $a2, $a1
/* 0AB154 8020006C 30A9007F */ andi $t1, $a1, 0x7f
.L480200070:
/* 0AB158 80200070 00025900 */ sll $t3, $v0, 4
/* 0AB15C 80200074 24420001 */ addiu $v0, $v0, 1
/* 0AB160 80200078 304D00FF */ andi $t5, $v0, 0xff
/* 0AB164 8020007C 29A10010 */ slti $at, $t5, 0x10
/* 0AB168 80200080 006B6021 */ addu $t4, $v1, $t3
/* 0AB16C 80200084 01A01025 */ move $v0, $t5
/* 0AB170 80200088 1420FFF9 */ bnez $at, .L480200070
/* 0AB174 8020008C A580000C */ sh $zero, 0xc($t4)
/* 0AB178 80200090 30E200FF */ andi $v0, $a3, 0xff
/* 0AB17C 80200094 00027400 */ sll $t6, $v0, 0x10
/* 0AB180 80200098 30C50080 */ andi $a1, $a2, 0x80
/* 0AB184 8020009C 00057E00 */ sll $t7, $a1, 0x18
/* 0AB188 802000A0 3C014600 */ lui $at, 0x4600
/* 0AB18C 802000A4 01C12025 */ or $a0, $t6, $at
/* 0AB190 802000A8 000F2E03 */ sra $a1, $t7, 0x18
/* 0AB194 802000AC 01C01025 */ move $v0, $t6
/* 0AB198 802000B0 AFAE001C */ sw $t6, 0x1c($sp)
/* 0AB19C 802000B4 AFA80028 */ sw $t0, 0x28($sp)
/* 0AB1A0 802000B8 0C0BB7DC */ jal func_802ad770
/* 0AB1A4 802000BC AFA90020 */ sw $t1, 0x20($sp)
/* 0AB1A8 802000C0 8FA90020 */ lw $t1, 0x20($sp)
/* 0AB1AC 802000C4 8FA2001C */ lw $v0, 0x1c($sp)
/* 0AB1B0 802000C8 3C018200 */ lui $at, 0x8200
/* 0AB1B4 802000CC 312A00FF */ andi $t2, $t1, 0xff
/* 0AB1B8 802000D0 000A5A00 */ sll $t3, $t2, 8
/* 0AB1BC 802000D4 0041C825 */ or $t9, $v0, $at
/* 0AB1C0 802000D8 032B2025 */ or $a0, $t9, $t3
/* 0AB1C4 802000DC 0C0BB7D3 */ jal func_802ad74c
/* 0AB1C8 802000E0 97A5003A */ lhu $a1, 0x3a($sp)
/* 0AB1CC 802000E4 8FA80028 */ lw $t0, 0x28($sp)
/* 0AB1D0 802000E8 55000013 */ bnezl $t0, .L480200138
/* 0AB1D4 802000EC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AB1D8 802000F0 0C0BB0F2 */ jal func_803200E4
/* 0AB1DC 802000F4 00002025 */ move $a0, $zero
/* 0AB1E0 802000F8 240100FF */ li $at, 255
/* 0AB1E4 802000FC 5041000E */ beql $v0, $at, .L480200138
/* 0AB1E8 80200100 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AB1EC 80200104 44822000 */ mtc1 $v0, $f4
/* 0AB1F0 80200108 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0AB1F4 8020010C 04410004 */ bgez $v0, .L480200120
/* 0AB1F8 80200110 468021A0 */ cvt.s.w $f6, $f4
/* 0AB1FC 80200114 44814000 */ mtc1 $at, $f8
/* 0AB200 80200118 00000000 */ nop
/* 0AB204 8020011C 46083180 */ add.s $f6, $f6, $f8
.L480200120:
/* 0AB208 80200120 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0AB20C 80200124 44815000 */ mtc1 $at, $f10
/* 0AB210 80200128 3C018022 */ lui $at, %hi(gSequencePlayers + 0x28) # $at, 0x8022
/* 0AB214 8020012C 460A3403 */ div.s $f16, $f6, $f10
/* 0AB218 80200130 E4303D90 */ swc1 $f16, %lo(gSequencePlayers + 0x28)($at)
/* 0AB21C 80200134 8FBF0014 */ lw $ra, 0x14($sp)
.L480200138:
/* 0AB220 80200138 27BD0030 */ addiu $sp, $sp, 0x30
/* 0AB224 8020013C 03E00008 */ jr $ra
/* 0AB228 80200140 00000000 */ nop

View file

@ -1,36 +0,0 @@
glabel player_performed_grab_escape_action
/* 0D8190 80200000 3C028030 */ lui $v0, %hi(gPlayer1Controller) # $v0, 0x8030
/* 0D8194 80200004 8C429794 */ lw $v0, %lo(gPlayer1Controller)($v0)
/* 0D8198 80200008 3C0141F0 */ li $at, 0x41F00000 # 30.000000
/* 0D819C 8020000C 44812000 */ mtc1 $at, $f4
/* 0D81A0 80200010 C440000C */ lwc1 $f0, 0xc($v0)
/* 0D81A4 80200014 00001825 */ move $v1, $zero
/* 0D81A8 80200018 3C018039 */ lui $at, %hi(sGrabReleaseState) # $at, 0x8039
/* 0D81AC 8020001C 4604003C */ c.lt.s $f0, $f4
/* 0D81B0 80200020 3C0E8039 */ lui $t6, %hi(sGrabReleaseState) # $t6, 0x8039
/* 0D81B4 80200024 45000002 */ bc1f .L81_80200030
/* 0D81B8 80200028 00000000 */ nop
/* 0D81BC 8020002C AC209C70 */ sw $zero, %lo(sGrabReleaseState)($at)
.L81_80200030:
/* 0D81C0 80200030 8DCE9C70 */ lw $t6, %lo(sGrabReleaseState)($t6)
/* 0D81C4 80200034 3C014220 */ li $at, 0x42200000 # 40.000000
/* 0D81C8 80200038 55C0000B */ bnezl $t6, .L81_80200068
/* 0D81CC 8020003C 94580012 */ lhu $t8, 0x12($v0)
/* 0D81D0 80200040 44813000 */ mtc1 $at, $f6
/* 0D81D4 80200044 3C018039 */ lui $at, %hi(sGrabReleaseState) # $at, 0x8039
/* 0D81D8 80200048 240F0001 */ li $t7, 1
/* 0D81DC 8020004C 4600303C */ c.lt.s $f6, $f0
/* 0D81E0 80200050 00000000 */ nop
/* 0D81E4 80200054 45020004 */ bc1fl .L81_80200068
/* 0D81E8 80200058 94580012 */ lhu $t8, 0x12($v0)
/* 0D81EC 8020005C AC2F9C70 */ sw $t7, %lo(sGrabReleaseState)($at)
/* 0D81F0 80200060 24030001 */ li $v1, 1
/* 0D81F4 80200064 94580012 */ lhu $t8, 0x12($v0)
.L81_80200068:
/* 0D81F8 80200068 33198000 */ andi $t9, $t8, 0x8000
/* 0D81FC 8020006C 13200002 */ beqz $t9, .L81_80200078
/* 0D8200 80200070 00000000 */ nop
/* 0D8204 80200074 24030001 */ li $v1, 1
.L81_80200078:
/* 0D8208 80200078 03E00008 */ jr $ra
/* 0D820C 8020007C 00601025 */ move $v0, $v1

View file

@ -5,10 +5,12 @@
.byte 0x80, 0x37, 0x12, 0x40 /* PI BSD Domain 1 register */
.word 0x0000000F /* Clockrate setting*/
.word EntryPoint /* Entrypoint */
.word entry_point /* Entrypoint */
/* Revision */
.if VERSION_EU == 1
.if VERSION_SH == 1
.word 0x00001448
.elseif VERSION_EU == 1
.word 0x00001446
.else /* NTSC-U and NTSC-J 1.0 */
.word 0x00001444
@ -18,7 +20,11 @@
.word 0x74757C24 /* Checksum 2 */
.word 0x00000000 /* Unknown */
.word 0x00000000 /* Unknown */
.if VERSION_SH == 1
.ascii "SUPERMARIO64 " /* Internal ROM name */
.else
.ascii "SUPER MARIO 64 " /* Internal ROM name */
.endif
.word 0x00000000 /* Unknown */
.word 0x0000004E /* Cartridge */
.ascii "SM" /* Cartridge ID */
@ -26,7 +32,7 @@
/* Region */
.if VERSION_US == 1
.ascii "E" /* NTSC-U (North America) */
.elseif VERSION_JP == 1
.elseif (VERSION_JP == 1 || VERSION_SH == 1)
.ascii "J" /* NTSC-J (Japan) */
.else
.ascii "P" /* PAL (Europe) */

View file

@ -436,10 +436,10 @@
"actors/water_splash/water_splash_5.rgba16.png": [32,64,4096,{"jp":[1125200,193992],"us":[1132368,193992],"eu":[1004336,193992]}],
"actors/water_splash/water_splash_6.rgba16.png": [32,64,4096,{"jp":[1125200,198088],"us":[1132368,198088],"eu":[1004336,198088]}],
"actors/water_splash/water_splash_7.rgba16.png": [32,64,4096,{"jp":[1125200,202184],"us":[1132368,202184],"eu":[1004336,202184]}],
"actors/water_waves/water_waves_0.ia16.png": [32,32,2048,{"jp":[1125200,152408],"us":[1132368,152408],"eu":[1004336,152408]}],
"actors/water_waves/water_waves_1.ia16.png": [32,32,2048,{"jp":[1125200,154456],"us":[1132368,154456],"eu":[1004336,154456]}],
"actors/water_waves/water_waves_2.ia16.png": [32,32,2048,{"jp":[1125200,156504],"us":[1132368,156504],"eu":[1004336,156504]}],
"actors/water_waves/water_waves_3.ia16.png": [32,32,2048,{"jp":[1125200,158552],"us":[1132368,158552],"eu":[1004336,158552]}],
"actors/water_wave/water_wave_0.ia16.png": [32,32,2048,{"jp":[1125200,152408],"us":[1132368,152408],"eu":[1004336,152408]}],
"actors/water_wave/water_wave_1.ia16.png": [32,32,2048,{"jp":[1125200,154456],"us":[1132368,154456],"eu":[1004336,154456]}],
"actors/water_wave/water_wave_2.ia16.png": [32,32,2048,{"jp":[1125200,156504],"us":[1132368,156504],"eu":[1004336,156504]}],
"actors/water_wave/water_wave_3.ia16.png": [32,32,2048,{"jp":[1125200,158552],"us":[1132368,158552],"eu":[1004336,158552]}],
"actors/whirlpool/whirlpool.ia16.png": [32,64,4096,{"jp":[1285392,75848],"us":[1292560,75848],"eu":[1164528,75848]}],
"actors/white_particle/snow_particle.rgba16.png": [16,16,512,{"jp":[2094912,181920],"us":[2102288,181920],"eu":[1974256,181920]}],
"actors/white_particle_small/small_snow_particle.rgba16.png": [16,16,512,{"jp":[1125200,206720],"us":[1132368,206720],"eu":[1004336,206720]}],
@ -1730,8 +1730,7 @@
"textures/snow/ccm_textures.09000.ia16.png": [32,32,2048,{"jp":[3405536,36864],"us":[3412288,36864],"eu":[3285888,36864]}],
"textures/snow/ccm_textures.09800.ia16.png": [32,32,2048,{"jp":[3405536,38912],"us":[3412288,38912],"eu":[3285888,38912]}],
"textures/spooky/bbh_textures.00000.rgba16.png": [32,32,2048,{"jp":[3298272,0],"us":[3305024,0],"eu":[3178624,0]}],
"textures/spooky/bbh_textures.00800.rgba16.png": [32,32,2048,{"jp":[3298272,2048],"us":[3305024,2048],"eu":[3178624,2048]}],
"textures/spooky/bbh_textures.01000.rgba16.png": [32,32,2048,{"jp":[3298272,4096],"us":[3305024,4096],"eu":[3178624,4096]}],
"textures/spooky/bbh_textures.00800.rgba16.png": [32,64,4096,{"jp":[3298272,2048],"us":[3305024,2048],"eu":[3178624,2048]}],
"textures/spooky/bbh_textures.01800.rgba16.png": [32,64,4096,{"jp":[3298272,6144],"us":[3305024,6144],"eu":[3178624,6144]}],
"textures/spooky/bbh_textures.02800.rgba16.png": [32,64,4096,{"jp":[3298272,10240],"us":[3305024,10240],"eu":[3178624,10240]}],
"textures/spooky/bbh_textures.03800.rgba16.png": [32,64,4096,{"jp":[3298272,14336],"us":[3305024,14336],"eu":[3178624,14336]}],

View file

@ -82,7 +82,7 @@ ALIGNED8 static const u8 texture_hud_char_I[] = {
#include "textures/segment2/segment2.02400.rgba16.inc.c"
};
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_J[] = {
#include "textures/segment2/segment2.02600.rgba16.inc.c"
};
@ -112,7 +112,7 @@ ALIGNED8 static const u8 texture_hud_char_P[] = {
#include "textures/segment2/segment2.03200.rgba16.inc.c"
};
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_Q[] = {
#include "textures/segment2/segment2.03400.rgba16.inc.c"
};
@ -134,7 +134,7 @@ ALIGNED8 static const u8 texture_hud_char_U[] = {
#include "textures/segment2/segment2.03C00.rgba16.inc.c"
};
#if defined(VERSION_JP) || defined(VERSION_EU)
#if defined(VERSION_JP) || defined(VERSION_EU) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_V[] = {
#include "textures/segment2/segment2.03E00.rgba16.inc.c"
};
@ -144,7 +144,7 @@ ALIGNED8 static const u8 texture_hud_char_W[] = {
#include "textures/segment2/segment2.04000.rgba16.inc.c"
};
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_X[] = {
#include "textures/segment2/segment2.04200.rgba16.inc.c"
};
@ -154,7 +154,7 @@ ALIGNED8 static const u8 texture_hud_char_Y[] = {
#include "textures/segment2/segment2.04400.rgba16.inc.c"
};
#if defined(VERSION_JP) || defined(VERSION_EU)
#if defined(VERSION_JP) || defined(VERSION_EU) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_Z[] = {
#include "textures/segment2/segment2.04600.rgba16.inc.c"
};
@ -174,7 +174,7 @@ ALIGNED8 static const u8 texture_hud_char_umlaut[] = {
};
#endif
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_exclamation[] = {
#include "textures/segment2/segment2.04C00.rgba16.inc.c"// JP !
};
@ -212,13 +212,13 @@ ALIGNED8 static const u8 texture_hud_char_star[] = {
#include "textures/segment2/segment2.05C00.rgba16.inc.c"
};
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_decimal_point[] = {
#include "textures/segment2/segment2.05E00.rgba16.inc.c"
};
#endif
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_hud_char_beta_key[] = {
#include "textures/segment2/segment2.06000.rgba16.inc.c"
};
@ -345,7 +345,7 @@ ALIGNED8 static const u8 texture_credits_char_period[] = {
};
// JP Small Font
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
ALIGNED8 static const u8 texture_font_char_jp_0[] = {
#include "textures/segment2/segment2.07100.ia1.inc.c"
};
@ -1987,7 +1987,7 @@ const u8 *const main_font_lut[] = {
texture_font_char_us_question, texture_font_char_us_double_quote_open, texture_font_char_us_double_quote_close, texture_font_char_us_tilde,
0x0, texture_font_char_us_coin, texture_font_char_us_star_filled, texture_font_char_us_multiply,
texture_font_char_us_interpunct, texture_font_char_us_star_hollow, 0x0, 0x0,
#elif defined(VERSION_JP)
#elif defined(VERSION_JP) || defined(VERSION_SH)
texture_font_char_jp_0, texture_font_char_jp_1, texture_font_char_jp_2, texture_font_char_jp_3,
texture_font_char_jp_4, texture_font_char_jp_5, texture_font_char_jp_6, texture_font_char_jp_7,
texture_font_char_jp_8, texture_font_char_jp_9, texture_font_char_jp_A, texture_font_char_jp_B,
@ -2078,7 +2078,7 @@ const u8 *const main_hud_camera_lut[] = {
// If you change the language here, the following Makefile rule also needs to
// change, to generate the right version of define_text.inc.c:
// $(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/$(VERSION)/define_text.inc.c
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
#include "text/jp/define_text.inc.c"
#elif defined(VERSION_US)
#include "text/us/define_text.inc.c"
@ -2773,11 +2773,12 @@ const Gfx dl_paintings_draw_ripples[] = {
gsSPEndDisplayList(),
};
// 14A60-15BAD: count and triangles?
// 14A60: triangle mesh
// 0x02014A60
const s16 seg2_triangle_mesh[] = {
157,
const s16 seg2_painting_triangle_mesh[] = {
157, // numVtx
// format:
// 2D point (x, y), ripple (0 or 1)
614, 583, 0, // 0
614, 614, 0, // 1
562, 614, 0, // 2
@ -3201,128 +3202,172 @@ const s16 seg2_triangle_mesh[] = {
118, 154, 140, // 261
140, 135, 130, // 262
117, 154, 118, // 263
0, // TODO: alignment?
};
// 0x02015444: TODO
const s16 seg2_mesh_order[] = {
3, 1, 2, 3, 1, 1, 4,
1, 2, 4, 5, 6, 2, 3, 5,
14, 59, 62, 3, 3, 58, 59, 6,
4, 5, 13, 14, 15, 16, 2, 4,
13, 2, 6, 7, 6, 0, 6, 7,
8, 9, 10, 4, 6, 10, 11, 12,
4, 7, 8, 154, 155, 6, 8, 9,
77, 154, 163, 194, 6, 0, 9, 72,
73, 75, 77, 6, 0, 10, 11, 19,
70, 72, 6, 11, 12, 17, 18, 19,
20, 4, 13, 16, 17, 18, 6, 14,
15, 53, 61, 62, 64, 6, 15, 16,
18, 20, 64, 67, 6, 19, 20, 66,
67, 69, 70, 8, 21, 22, 27, 31,
80, 81, 149, 150, 3, 21, 22, 26,
6, 23, 24, 25, 28, 57, 60, 3,
24, 25, 26, 6, 22, 24, 26, 27,
28, 29, 6, 27, 29, 30, 31, 32,
33, 8, 30, 33, 39, 40, 78, 79,
146, 147, 6, 34, 35, 37, 44, 63,
65, 6, 23, 28, 29, 32, 34, 35,
6, 23, 35, 53, 60, 61, 63, 6,
38, 39, 40, 41, 42, 43, 6, 32,
33, 34, 37, 38, 39, 8, 41, 42,
48, 52, 76, 82, 148, 151, 6, 44,
46, 65, 66, 68, 69, 6, 45, 46,
47, 56, 68, 71, 6, 37, 38, 43,
44, 45, 46, 6, 42, 43, 45, 47,
48, 49, 6, 36, 48, 49, 50, 51,
52, 8, 50, 51, 152, 153, 170, 174,
214, 215, 6, 36, 47, 49, 54, 55,
56, 6, 54, 55, 74, 169, 178, 196,
6, 54, 56, 71, 73, 74, 75, 3,
25, 57, 58, 6, 57, 58, 59, 60,
61, 62, 6, 53, 63, 64, 65, 66,
67, 6, 68, 69, 70, 71, 72, 73,
6, 74, 75, 77, 194, 195, 196, 6,
79, 82, 125, 137, 146, 148, 6, 78,
80, 129, 130, 147, 149, 6, 76, 144,
145, 151, 152, 153, 3, 84, 85, 86,
1, 85, 4, 85, 86, 91, 95, 6,
83, 87, 88, 90, 119, 124, 3, 84,
87, 88, 6, 89, 91, 92, 93, 94,
95, 6, 84, 86, 87, 89, 90, 91,
4, 93, 94, 101, 105, 2, 94, 95,
6, 96, 97, 100, 108, 126, 131, 6,
83, 89, 90, 92, 96, 97, 6, 83,
97, 123, 124, 126, 127, 6, 99, 101,
102, 103, 104, 105, 6, 92, 93, 96,
99, 100, 101, 4, 98, 103, 104, 110,
2, 104, 105, 6, 99, 100, 102, 106,
107, 108, 6, 106, 107, 111, 117, 134,
138, 6, 106, 108, 131, 132, 134, 135,
6, 98, 109, 110, 112, 113, 114, 6,
102, 103, 107, 109, 110, 111, 4, 113,
114, 221, 223, 2, 98, 114, 6, 115,
116, 142, 213, 226, 236, 6, 109, 111,
112, 115, 116, 117, 6, 116, 117, 138,
140, 141, 142, 3, 88, 118, 119, 6,
120, 121, 122, 130, 149, 150, 3, 118,
120, 121, 6, 118, 119, 120, 122, 123,
124, 6, 125, 128, 129, 133, 146, 147,
6, 122, 123, 127, 128, 129, 130, 6,
126, 127, 128, 131, 132, 133, 6, 136,
137, 139, 145, 148, 151, 6, 125, 132,
133, 135, 136, 137, 6, 134, 135, 136,
138, 139, 140, 6, 143, 144, 153, 215,
246, 252, 6, 139, 140, 141, 143, 144,
145, 6, 154, 155, 162, 163, 164, 165,
1, 157, 3, 157, 158, 159, 4, 157,
159, 160, 161, 6, 158, 159, 160, 167,
205, 206, 6, 156, 160, 161, 166, 167,
168, 6, 162, 163, 194, 195, 197, 199,
6, 162, 164, 166, 168, 199, 202, 4,
156, 164, 165, 166, 6, 167, 168, 201,
202, 204, 205, 6, 36, 50, 55, 169,
170, 171, 6, 170, 171, 172, 173, 174,
175, 8, 172, 173, 180, 184, 209, 210,
211, 212, 6, 176, 177, 179, 188, 198,
200, 6, 169, 171, 175, 176, 177, 178,
6, 177, 178, 195, 196, 197, 198, 6,
172, 175, 176, 179, 180, 181, 6, 180,
181, 182, 183, 184, 185, 8, 182, 183,
189, 192, 216, 217, 218, 219, 6, 186,
187, 190, 193, 203, 207, 6, 179, 181,
185, 186, 187, 188, 6, 187, 188, 200,
201, 203, 204, 6, 182, 185, 186, 189,
190, 191, 3, 189, 191, 192, 3, 193,
207, 208, 6, 197, 198, 199, 200, 201,
202, 6, 203, 204, 205, 206, 207, 208,
6, 209, 210, 250, 251, 253, 258, 6,
210, 211, 217, 219, 247, 258, 6, 209,
212, 214, 215, 251, 252, 3, 216, 218,
263, 6, 218, 219, 247, 259, 261, 263,
6, 220, 221, 222, 223, 224, 225, 6,
112, 113, 115, 213, 220, 221, 2, 223,
224, 4, 224, 225, 230, 235, 6, 226,
227, 236, 245, 248, 249, 6, 213, 220,
222, 226, 227, 228, 6, 227, 228, 231,
239, 249, 255, 6, 229, 230, 232, 233,
234, 235, 6, 222, 225, 228, 229, 230,
231, 2, 233, 235, 4, 233, 234, 241,
243, 6, 237, 238, 242, 244, 257, 262,
6, 229, 231, 232, 237, 238, 239, 6,
238, 239, 254, 255, 256, 257, 3, 240,
241, 243, 6, 232, 234, 237, 240, 241,
242, 3, 244, 260, 262, 6, 141, 142,
143, 236, 245, 246, 6, 245, 246, 248,
250, 251, 252, 6, 248, 249, 250, 253,
254, 255, 6, 247, 253, 254, 256, 258,
259, 6, 256, 257, 259, 260, 261, 262,
2, 12, 17, 2, 21, 81, 3, 81,
121, 150, 4, 30, 31, 78, 80, 4,
40, 41, 79, 82, 4, 51, 52, 76,
152, 2, 155, 165, 3, 158, 206, 208,
2, 156, 161, 4, 173, 174, 212, 214,
4, 183, 184, 211, 217, 3, 190, 191,
193, 2, 192, 216, 3, 260, 261, 263,
3, 240, 242, 244, 1, 243,
/* 0x02015444: seg2_painting_mesh_neighbor_tris
* Lists the neighboring triangles for each vertex in the mesh.
* Used when applying gouraud shading to the generated ripple mesh
*
* Format:
* num neighbors, neighbor0, neighbor1, ...
* The nth entry corresponds to the nth vertex in seg2_painting_triangle_mesh
*/
const s16 seg2_painting_mesh_neighbor_tris[] = {
3, 1, 2, 3,
1, 1,
4, 1, 2, 4, 5,
6, 2, 3, 5, 14, 59, 62,
3, 3, 58, 59,
6, 4, 5, 13, 14, 15, 16,
2, 4, 13,
2, 6, 7,
6, 0, 6, 7, 8, 9, 10,
4, 6, 10, 11, 12,
4, 7, 8, 154, 155,
6, 8, 9, 77, 154, 163, 194,
6, 0, 9, 72, 73, 75, 77,
6, 0, 10, 11, 19, 70, 72,
6, 11, 12, 17, 18, 19, 20,
4, 13, 16, 17, 18,
6, 14, 15, 53, 61, 62, 64,
6, 15, 16, 18, 20, 64, 67,
6, 19, 20, 66, 67, 69, 70,
8, 21, 22, 27, 31, 80, 81, 149, 150,
3, 21, 22, 26,
6, 23, 24, 25, 28, 57, 60,
3, 24, 25, 26,
6, 22, 24, 26, 27, 28, 29,
6, 27, 29, 30, 31, 32, 33,
8, 30, 33, 39, 40, 78, 79, 146, 147,
6, 34, 35, 37, 44, 63, 65,
6, 23, 28, 29, 32, 34, 35,
6, 23, 35, 53, 60, 61, 63,
6, 38, 39, 40, 41, 42, 43,
6, 32, 33, 34, 37, 38, 39,
8, 41, 42, 48, 52, 76, 82, 148, 151,
6, 44, 46, 65, 66, 68, 69,
6, 45, 46, 47, 56, 68, 71,
6, 37, 38, 43, 44, 45, 46,
6, 42, 43, 45, 47, 48, 49,
6, 36, 48, 49, 50, 51, 52,
8, 50, 51, 152, 153, 170, 174, 214, 215,
6, 36, 47, 49, 54, 55, 56,
6, 54, 55, 74, 169, 178, 196,
6, 54, 56, 71, 73, 74, 75,
3, 25, 57, 58,
6, 57, 58, 59, 60, 61, 62,
6, 53, 63, 64, 65, 66, 67,
6, 68, 69, 70, 71, 72, 73,
6, 74, 75, 77, 194, 195, 196,
6, 79, 82, 125, 137, 146, 148,
6, 78, 80, 129, 130, 147, 149,
6, 76, 144, 145, 151, 152, 153,
3, 84, 85, 86,
1, 85,
4, 85, 86, 91, 95,
6, 83, 87, 88, 90, 119, 124,
3, 84, 87, 88,
6, 89, 91, 92, 93, 94, 95,
6, 84, 86, 87, 89, 90, 91,
4, 93, 94, 101, 105,
2, 94, 95,
6, 96, 97, 100, 108, 126, 131,
6, 83, 89, 90, 92, 96, 97,
6, 83, 97, 123, 124, 126, 127,
6, 99, 101, 102, 103, 104, 105,
6, 92, 93, 96, 99, 100, 101,
4, 98, 103, 104, 110,
2, 104, 105,
6, 99, 100, 102, 106, 107, 108,
6, 106, 107, 111, 117, 134, 138,
6, 106, 108, 131, 132, 134, 135,
6, 98, 109, 110, 112, 113, 114,
6, 102, 103, 107, 109, 110, 111,
4, 113, 114, 221, 223,
2, 98, 114,
6, 115, 116, 142, 213, 226, 236,
6, 109, 111, 112, 115, 116, 117,
6, 116, 117, 138, 140, 141, 142,
3, 88, 118, 119,
6, 120, 121, 122, 130, 149, 150,
3, 118, 120, 121,
6, 118, 119, 120, 122, 123, 124,
6, 125, 128, 129, 133, 146, 147,
6, 122, 123, 127, 128, 129, 130,
6, 126, 127, 128, 131, 132, 133,
6, 136, 137, 139, 145, 148, 151,
6, 125, 132, 133, 135, 136, 137,
6, 134, 135, 136, 138, 139, 140,
6, 143, 144, 153, 215, 246, 252,
6, 139, 140, 141, 143, 144, 145,
6, 154, 155, 162, 163, 164, 165,
1, 157,
3, 157, 158, 159,
4, 157, 159, 160, 161,
6, 158, 159, 160, 167, 205, 206,
6, 156, 160, 161, 166, 167, 168,
6, 162, 163, 194, 195, 197, 199,
6, 162, 164, 166, 168, 199, 202,
4, 156, 164, 165, 166,
6, 167, 168, 201, 202, 204, 205,
6, 36, 50, 55, 169, 170, 171,
6, 170, 171, 172, 173, 174, 175,
8, 172, 173, 180, 184, 209, 210, 211, 212,
6, 176, 177, 179, 188, 198, 200,
6, 169, 171, 175, 176, 177, 178,
6, 177, 178, 195, 196, 197, 198,
6, 172, 175, 176, 179, 180, 181,
6, 180, 181, 182, 183, 184, 185,
8, 182, 183, 189, 192, 216, 217, 218, 219,
6, 186, 187, 190, 193, 203, 207,
6, 179, 181, 185, 186, 187, 188,
6, 187, 188, 200, 201, 203, 204,
6, 182, 185, 186, 189, 190, 191,
3, 189, 191, 192,
3, 193, 207, 208,
6, 197, 198, 199, 200, 201, 202,
6, 203, 204, 205, 206, 207, 208,
6, 209, 210, 250, 251, 253, 258,
6, 210, 211, 217, 219, 247, 258,
6, 209, 212, 214, 215, 251, 252,
3, 216, 218, 263,
6, 218, 219, 247, 259, 261, 263,
6, 220, 221, 222, 223, 224, 225,
6, 112, 113, 115, 213, 220, 221,
2, 223, 224,
4, 224, 225, 230, 235,
6, 226, 227, 236, 245, 248, 249,
6, 213, 220, 222, 226, 227, 228,
6, 227, 228, 231, 239, 249, 255,
6, 229, 230, 232, 233, 234, 235,
6, 222, 225, 228, 229, 230, 231,
2, 233, 235,
4, 233, 234, 241, 243,
6, 237, 238, 242, 244, 257, 262,
6, 229, 231, 232, 237, 238, 239,
6, 238, 239, 254, 255, 256, 257,
3, 240, 241, 243,
6, 232, 234, 237, 240, 241, 242,
3, 244, 260, 262,
6, 141, 142, 143, 236, 245, 246,
6, 245, 246, 248, 250, 251, 252,
6, 248, 249, 250, 253, 254, 255,
6, 247, 253, 254, 256, 258, 259,
6, 256, 257, 259, 260, 261, 262,
2, 12, 17,
2, 21, 81,
3, 81, 121, 150,
4, 30, 31, 78, 80,
4, 40, 41, 79, 82,
4, 51, 52, 76, 152,
2, 155, 165,
3, 158, 206, 208,
2, 156, 161,
4, 173, 174, 212, 214,
4, 183, 184, 211, 217,
3, 190, 191, 193,
2, 192, 216,
3, 260, 261, 263,
3, 240, 242, 244,
1, 243,
};

View file

@ -12,11 +12,6 @@ ALIGNED8 const u8 spooky_09000800[] = {
#include "textures/spooky/bbh_textures.00800.rgba16.inc.c"
};
// 0x09001000
ALIGNED8 const u8 spooky_09001000[] = {
#include "textures/spooky/bbh_textures.01000.rgba16.inc.c"
};
// 0x09001800
ALIGNED8 const u8 spooky_09001800[] = {
#include "textures/spooky/bbh_textures.01800.rgba16.inc.c"

View file

@ -288,8 +288,8 @@
#define DISABLE_RENDERING() \
BC_B(0x35)
// Spawns a water splash with the given parameters.
#define SPAWN_WATER_SPLASH(params) \
// Spawns a water droplet with the given parameters.
#define SPAWN_WATER_DROPLET(params) \
BC_B(0x37), \
BC_PTR(params)
@ -379,7 +379,7 @@ const BehaviorScript bhvPoleGrabbing[] = {
CALL_NATIVE(bhv_pole_init),
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(BehClimbDetectLoop),
CALL_NATIVE(bhv_pole_base_loop),
END_LOOP(),
};
@ -778,7 +778,7 @@ const BehaviorScript bhvFadingWarp[] = {
SET_INT(oInteractType, INTERACT_WARP),
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(BehFadingWarpLoop),
CALL_NATIVE(bhv_fading_warp_loop),
END_LOOP(),
};
@ -1209,8 +1209,8 @@ const BehaviorScript bhvBreakBoxTriangle[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BEGIN_REPEAT(18),
CALL_NATIVE(obj_rotate_face_angle_using_vel),
CALL_NATIVE(obj_move_using_fvel_and_gravity),
CALL_NATIVE(cur_obj_rotate_face_angle_using_vel),
CALL_NATIVE(cur_obj_move_using_fvel_and_gravity),
END_REPEAT(),
DEACTIVATE(),
};
@ -1251,7 +1251,7 @@ const BehaviorScript bhvGroundSand[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
CALL_NATIVE(bhv_unused_0e40_init),
CALL_NATIVE(bhv_ground_sand_init),
DELAY(1),
DEACTIVATE(),
};
@ -1278,7 +1278,7 @@ const BehaviorScript bhvEndToad[] = {
LOAD_ANIMATIONS(oAnimations, toad_seg6_anims_0600FB58),
ANIMATE(0),
BEGIN_LOOP(),
CALL_NATIVE(BehEndToadLoop),
CALL_NATIVE(bhv_end_toad_loop),
END_LOOP(),
};
@ -1288,7 +1288,7 @@ const BehaviorScript bhvEndPeach[] = {
LOAD_ANIMATIONS(oAnimations, peach_seg5_anims_0501C41C),
ANIMATE(0),
BEGIN_LOOP(),
CALL_NATIVE(BehEndPeachLoop),
CALL_NATIVE(bhv_end_peach_loop),
END_LOOP(),
};
@ -1371,7 +1371,7 @@ const BehaviorScript bhvDddMovingPole[] = {
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(bhv_ddd_moving_pole_loop),
CALL_NATIVE(BehClimbDetectLoop),
CALL_NATIVE(bhv_pole_base_loop),
END_LOOP(),
};
@ -1971,7 +1971,7 @@ const BehaviorScript bhvTiltingBowserLavaPlatform[] = {
SET_INT(oFaceAngleYaw, 0),
SET_HOME(),
BEGIN_LOOP(),
CALL_NATIVE(obj_rotate_face_angle_using_vel),
CALL_NATIVE(cur_obj_rotate_face_angle_using_vel),
CALL_NATIVE(load_object_collision_model),
END_LOOP(),
};
@ -2082,7 +2082,7 @@ const BehaviorScript bhvBlueFish[] = {
LOAD_ANIMATIONS(oAnimations, blue_fish_seg3_anims_0301C2B0),
ANIMATE(0),
BEGIN_LOOP(),
CALL_NATIVE(bhv_blue_fish_loop),
CALL_NATIVE(bhv_blue_fish_movement_loop),
END_LOOP(),
};
@ -2503,16 +2503,16 @@ const BehaviorScript bhvLargeFishGroup[] = {
DISABLE_RENDERING(),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
BEGIN_LOOP(),
CALL_NATIVE(bhv_fish_loop),
CALL_NATIVE(bhv_large_fish_group_loop),
END_LOOP(),
};
const BehaviorScript bhvFishGroup2[] = {
const BehaviorScript bhvFish[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
SET_HOME(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_fish_group_2_loop),
CALL_NATIVE(bhv_fish_loop),
END_LOOP(),
};
@ -2547,7 +2547,7 @@ const BehaviorScript bhvChirpChirpUnused[] = {
DISABLE_RENDERING(),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
BEGIN_LOOP(),
CALL_NATIVE(bhv_bird_chirp_chirp_loop),
CALL_NATIVE(bhv_bub_spawner_loop),
END_LOOP(),
};
@ -2562,7 +2562,7 @@ const BehaviorScript bhvBub[] = {
SET_HOME(),
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(bhv_cheep_cheep_loop),
CALL_NATIVE(bhv_bub_loop),
END_LOOP(),
};
@ -2583,7 +2583,7 @@ const BehaviorScript bhvRotatingExclamationMark[] = {
OR_INT(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
SCALE(200),
BEGIN_LOOP(),
CALL_NATIVE(bhv_rotatin_exclamation_box_loop),
CALL_NATIVE(bhv_rotating_exclamation_box_loop),
ADD_INT(oMoveAngleYaw, 0x800),
END_LOOP(),
};
@ -2771,7 +2771,7 @@ const BehaviorScript bhvWhitePuffSmoke2[] = {
SET_INT(oAnimState, -1),
BEGIN_REPEAT(7),
CALL_NATIVE(bhv_white_puff_2_loop),
CALL_NATIVE(obj_move_using_fvel_and_gravity),
CALL_NATIVE(cur_obj_move_using_fvel_and_gravity),
ADD_INT(oAnimState, 1),
END_REPEAT(),
DEACTIVATE(),
@ -3151,7 +3151,7 @@ const BehaviorScript bhvTree[] = {
SET_HITBOX(/*Radius*/ 80, /*Height*/ 500),
SET_INT(oIntangibleTimer, 0),
BEGIN_LOOP(),
CALL_NATIVE(BehClimbDetectLoop),
CALL_NATIVE(bhv_pole_base_loop),
END_LOOP(),
};
@ -3237,6 +3237,7 @@ const BehaviorScript bhvSmallWhomp[] = {
END_LOOP(),
};
// The large splash Mario makes when he jumps into a pool of water.
const BehaviorScript bhvWaterSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@ -3244,9 +3245,9 @@ const BehaviorScript bhvWaterSplash[] = {
SET_INT(oAnimState, -1),
BEGIN_REPEAT(3),
ADD_INT(oAnimState, 1),
CALL_NATIVE(bhv_water_splash_loop),
CALL_NATIVE(bhv_water_splash_spawn_droplets),
DELAY(1),
CALL_NATIVE(bhv_water_splash_loop),
CALL_NATIVE(bhv_water_splash_spawn_droplets),
END_REPEAT(),
BEGIN_REPEAT(5),
ADD_INT(oAnimState, 1),
@ -3256,16 +3257,18 @@ const BehaviorScript bhvWaterSplash[] = {
DEACTIVATE(),
};
const BehaviorScript bhvWaterDrops[] = {
// Droplets of water that spawn as a result of various water splashes.
const BehaviorScript bhvWaterDroplet[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
BILLBOARD(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_water_drops_loop),
CALL_NATIVE(bhv_water_droplet_loop),
END_LOOP(),
};
const BehaviorScript bhvWaterSurfaceWhiteWave[] = {
// Small splashes that are seen when a water droplet lands back into the water.
const BehaviorScript bhvWaterDropletSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
#ifndef VERSION_JP
@ -3273,7 +3276,7 @@ const BehaviorScript bhvWaterSurfaceWhiteWave[] = {
SET_INT(oFaceAngleYaw, 0),
SET_INT(oFaceAngleRoll, 0),
#endif
CALL_NATIVE(bhv_water_surface_white_wave_init),
CALL_NATIVE(bhv_water_droplet_splash_init),
ADD_FLOAT(oPosY, 5),
SET_INT(oAnimState, -1),
BEGIN_REPEAT(6),
@ -3282,7 +3285,8 @@ const BehaviorScript bhvWaterSurfaceWhiteWave[] = {
DEACTIVATE(),
};
const BehaviorScript bhvObjectBubbleRipples[] = {
// The splash created when an air bubble hits the surface of the water.
const BehaviorScript bhvBubbleSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
#ifdef VERSION_JP
@ -3296,14 +3300,15 @@ const BehaviorScript bhvObjectBubbleRipples[] = {
SET_INT(oFaceAngleRoll, 0),
#endif
SET_INT(oAnimState, -1),
CALL_NATIVE(bhv_object_bubble_ripples_init),
CALL_NATIVE(bhv_bubble_splash_init),
BEGIN_REPEAT(6),
ADD_INT(oAnimState, 1),
END_REPEAT(),
DEACTIVATE(),
};
const BehaviorScript bhvSurfaceWaves[] = {
// The water wave surrounding Mario when he is idle in a pool of water.
const BehaviorScript bhvIdleWaterWave[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
#ifdef VERSION_JP
@ -3319,16 +3324,18 @@ const BehaviorScript bhvSurfaceWaves[] = {
SET_INT(oAnimState, -1),
ADD_INT(oAnimState, 1),
BEGIN_LOOP(),
CALL_NATIVE(bhv_surface_waves_loop),
CALL_NATIVE(bhv_idle_water_wave_loop),
ADD_INT(oAnimState, 1),
BEGIN_REPEAT(6),
CALL_NATIVE(bhv_surface_waves_loop),
CALL_NATIVE(bhv_idle_water_wave_loop),
END_REPEAT(),
CALL_NATIVE(bhv_surface_waves_loop),
CALL_NATIVE(bhv_idle_water_wave_loop),
END_LOOP(),
};
const BehaviorScript bhvWaterSurfaceWhiteWave2[] = {
// Water splashes similar to the splashes created by water droplets, but are created by other objects.
// Unlike water droplet splashes, they are unimportant objects.
const BehaviorScript bhvObjectWaterSplash[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
#ifdef VERSION_JP
@ -3348,41 +3355,48 @@ const BehaviorScript bhvWaterSurfaceWhiteWave2[] = {
DEACTIVATE(),
};
const BehaviorScript bhvWavesGenerator[] = {
// Waves that are generated when running in shallow water.
const BehaviorScript bhvShallowWaterWave[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
DISABLE_RENDERING(),
BEGIN_REPEAT(5),
SPAWN_WATER_SPLASH(&D_8032FE18),
SPAWN_WATER_DROPLET(&sShallowWaterWaveDropletParams),
END_REPEAT_CONTINUE(),
DELAY(1),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_8),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_SHALLOW_WATER_WAVE),
DEACTIVATE(),
};
const BehaviorScript bhvSurfaceWaveShrinking[] = {
// A small water splash that occurs when jumping in and out of shallow water.
// Unlike the larger water splash it has no visible model of its own.
// It has a 1 in 256 chance of spawning the fish particle easter egg.
const BehaviorScript bhvShallowWaterSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
DISABLE_RENDERING(),
BEGIN_REPEAT(18),
SPAWN_WATER_SPLASH(&D_8032FDD0),
SPAWN_WATER_DROPLET(&sShallowWaterSplashDropletParams),
END_REPEAT_CONTINUE(),
CALL_NATIVE(bhv_surface_wave_shrinking_init),
CALL_NATIVE(bhv_shallow_water_splash_init),
DELAY(1),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_12),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH),
DEACTIVATE(),
};
const BehaviorScript bhvWaterType[] = {
// Waves created by other objects along the water's surface, specifically the koopa shell and Sushi.
// Unlike Mario's waves, they are unimportant objects.
const BehaviorScript bhvObjectWaveTrail[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
GOTO(bhvWaveTrailOnSurface + 1 + 1 + 2),
GOTO(bhvWaveTrail + 1 + 1 + 2), // Wave trail - common
};
const BehaviorScript bhvWaveTrailOnSurface[] = {
// The waves created by Mario while he is swimming.
const BehaviorScript bhvWaveTrail[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_10),
BIT_CLEAR_INT32(oActiveParticleFlags, ACTIVE_PARTICLE_WAVE_TRAIL),
// Wave trail - common:
SET_FLOAT(oFaceAnglePitch, 0),
SET_FLOAT(oFaceAngleYaw, 0),
@ -3390,41 +3404,47 @@ const BehaviorScript bhvWaveTrailOnSurface[] = {
SET_INT(oAnimState, -1),
BEGIN_REPEAT(8),
ADD_INT(oAnimState, 1),
CALL_NATIVE(bhv_wave_trail_loop),
CALL_NATIVE(bhv_wave_trail_shrink),
DELAY(1),
CALL_NATIVE(bhv_wave_trail_loop),
CALL_NATIVE(bhv_wave_trail_shrink),
END_REPEAT(),
DEACTIVATE(),
};
const BehaviorScript bhvTinyWhiteWindParticle[] = {
// Tiny wind particles that provide aesthetics to the strong winds generated by the Snowman and Fwoosh.
// As they are unimportant objects, they don't have collision with Mario.
const BehaviorScript bhvTinyStrongWindParticle[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_white_wind_particle_loop),
CALL_NATIVE(bhv_strong_wind_particle_loop),
END_LOOP(),
};
const BehaviorScript bhvWindParticle[] = {
// Strong wind particles generated by the Snowman and Fwoosh that blow Mario back and knock his cap off.
const BehaviorScript bhvStrongWindParticle[] = {
BEGIN(OBJ_LIST_POLELIKE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_white_wind_particle_loop),
CALL_NATIVE(bhv_strong_wind_particle_loop),
END_LOOP(),
};
const BehaviorScript bhvSnowmanWindBlowing[] = {
// The handler for the strong wind blown by the Snowman in SL. Triggers dialog and then aims towards Mario.
const BehaviorScript bhvSLSnowmanWind[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
SET_HOME(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_snowman_wind_blowing_loop),
CALL_NATIVE(bhv_sl_snowman_wind_loop),
END_LOOP(),
};
const BehaviorScript bhvWalkingPenguin[] = {
// The penguin that walks erratically along the ice bridge in front of the Snowman in SL.
// Blocks strong wind particles, allowing Mario to walk behind it.
const BehaviorScript bhvSLWalkingPenguin[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
LOAD_COLLISION_DATA(penguin_seg5_collision_05008B88),
@ -3434,7 +3454,7 @@ const BehaviorScript bhvWalkingPenguin[] = {
SCALE(600),
SET_HOME(),
BEGIN_LOOP(),
CALL_NATIVE(bhv_walking_penguin_loop),
CALL_NATIVE(bhv_sl_walking_penguin_loop),
CALL_NATIVE(load_object_collision_model),
END_LOOP(),
};
@ -3469,18 +3489,18 @@ const BehaviorScript bhvToadMessage[] = {
SET_HITBOX(/*Radius*/ 80, /*Height*/ 100),
SET_INT(oIntangibleTimer, 0),
CALL_NATIVE(bhv_init_room),
CALL_NATIVE(bhvToadMessage_init),
CALL_NATIVE(bhv_toad_message_init),
BEGIN_LOOP(),
CALL_NATIVE(bhvToadMessage_loop),
CALL_NATIVE(bhv_toad_message_loop),
END_LOOP(),
};
const BehaviorScript bhvUnlockDoorStar[] = {
BEGIN(OBJ_LIST_LEVEL),
OR_INT(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
CALL_NATIVE(bhvUnlockDoorStar_init),
CALL_NATIVE(bhv_unlock_door_star_init),
BEGIN_LOOP(),
CALL_NATIVE(bhvUnlockDoorStar_loop),
CALL_NATIVE(bhv_unlock_door_star_loop),
END_LOOP(),
};
@ -3695,7 +3715,7 @@ const BehaviorScript bhvBobombFuseSmoke[] = {
CALL_NATIVE(bhv_bobomb_fuse_smoke_init),
DELAY(1),
BEGIN_LOOP(),
CALL_NATIVE(BehDustSmokeLoop),
CALL_NATIVE(bhv_dust_smoke_loop),
ADD_INT(oAnimState, 1),
END_LOOP(),
};
@ -3944,7 +3964,7 @@ const BehaviorScript bhvBobombBullyDeathSmoke[] = {
CALL_NATIVE(bhv_bobomb_bully_death_smoke_init),
DELAY(1),
BEGIN_LOOP(),
CALL_NATIVE(BehDustSmokeLoop),
CALL_NATIVE(bhv_dust_smoke_loop),
ADD_INT(oAnimState, 1),
END_LOOP(),
};
@ -3956,7 +3976,7 @@ const BehaviorScript bhvSmoke[] = {
SET_INT(oAnimState, -1),
DELAY(1),
BEGIN_LOOP(),
CALL_NATIVE(BehDustSmokeLoop),
CALL_NATIVE(bhv_dust_smoke_loop),
ADD_INT(oAnimState, 1),
END_LOOP(),
};
@ -4634,7 +4654,7 @@ const BehaviorScript bhvLllVolcanoFallingTrap[] = {
LOAD_COLLISION_DATA(lll_seg7_collision_falling_wall),
SET_HOME(),
BEGIN_LOOP(),
CALL_NATIVE(bhvLllVolcanoFallingTrap_loop),
CALL_NATIVE(bhv_volcano_trap_loop),
CALL_NATIVE(load_object_collision_model),
END_LOOP(),
};
@ -5016,7 +5036,7 @@ const BehaviorScript bhvYoshi[] = {
CALL_NATIVE(bhv_yoshi_init),
BEGIN_LOOP(),
SET_INT(oIntangibleTimer, 0),
CALL_NATIVE(BehYoshiLoop),
CALL_NATIVE(bhv_yoshi_loop),
END_LOOP(),
};
@ -5056,7 +5076,7 @@ const BehaviorScript bhvKoopaFlag[] = {
LOAD_ANIMATIONS(oAnimations, koopa_flag_seg6_anims_06001028),
ANIMATE(0),
BEGIN_LOOP(),
CALL_NATIVE(BehClimbDetectLoop),
CALL_NATIVE(bhv_pole_base_loop),
END_LOOP(),
};
@ -5422,7 +5442,7 @@ const BehaviorScript bhvTTCTreadmill[] = {
DELAY(1),
BEGIN_LOOP(),
CALL_NATIVE(bhv_ttc_treadmill_update),
CALL_NATIVE(obj_compute_vel_xz),
CALL_NATIVE(cur_obj_compute_vel_xz),
CALL_NATIVE(load_object_collision_model),
END_LOOP(),
};
@ -5759,7 +5779,7 @@ const BehaviorScript bhvSnufit[] = {
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 30, /*Gravity*/ 0, /*Bounciness*/ -50, /*Drag*/ 0, /*Friction*/ 0, /*Buoyancy*/ 0, /*Unused*/ 0, 0),
CALL_NATIVE(bhv_init_room),
BEGIN_LOOP(),
SET_INT(oSnufitUnkF4, 0),
SET_INT(oSnufitRecoil, 0),
CALL_NATIVE(bhv_snufit_loop),
END_LOOP(),
};
@ -5787,7 +5807,7 @@ const BehaviorScript bhvHorizontalGrindel[] = {
SCALE(90),
CALL_NATIVE(bhv_horizontal_grindel_init),
BEGIN_LOOP(),
CALL_NATIVE(obj_update_floor_and_walls),
CALL_NATIVE(cur_obj_update_floor_and_walls),
CALL_NATIVE(bhv_horizontal_grindel_update),
CALL_NATIVE(load_object_collision_model),
END_LOOP(),
@ -5960,7 +5980,7 @@ const BehaviorScript bhvDDDPole[] = {
SET_FLOAT(oDDDPoleVel, 10),
BEGIN_LOOP(),
CALL_NATIVE(bhv_ddd_pole_update),
CALL_NATIVE(BehClimbDetectLoop),
CALL_NATIVE(bhv_pole_base_loop),
END_LOOP(),
};

0
diff.py Normal file → Executable file
View file

View file

@ -37,7 +37,7 @@ index 2fda11d7..8ba0a1c9 100644
+#define TEXT_PJ64 _("If you are using PJ64 1.6, go to:\nOptions > Settings > Rom Settings Tab > Memory Size\nthen select 8 MB from the drop-down box.")
+#define TEXT_PJ64_2 _("If you are using PJ64 2.X, go to:\nOptions > Settings > Config: > Memory Size, select 8 MB")
+
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
/**
diff --git a/levels/entry.c b/levels/entry.c
@ -274,10 +274,10 @@ index 00000000..20eeef8f
+
+ addr = segmented_to_virtual(level_script_entry_error_screen);
+
+ func_80247ED8();
+ rendering_init();
+
+ while (1) {
+ func_80247FAC();
+ config_gfx_pool();
+ addr = level_script_execute(addr);
+ display_and_vsync();
+ }

View file

@ -20,6 +20,8 @@ def read_local_asset_list(f):
def asset_needs_update(asset, version):
if version <= 5 and asset == "textures/spooky/bbh_textures.00800.rgba16.png":
return True
if version <= 4 and asset in ["textures/mountain/ttm_textures.01800.rgba16.png", "textures/mountain/ttm_textures.05800.rgba16.png"]:
return True
if version <= 3 and asset == "textures/cave/hmc_textures.01800.rgba16.png":
@ -57,7 +59,7 @@ def clean_assets(local_asset_file):
def main():
# In case we ever need to change formats of generated files, we keep a
# revision ID in the local asset file.
new_version = 5
new_version = 6
try:
local_asset_file = open(".assets-local.txt")

View file

@ -6,7 +6,7 @@
/* Types */
typedef struct {
#ifndef VERSION_EU
#if !defined(VERSION_EU) && !defined(VERSION_SH)
u32 errStatus;
#endif
void *dramAddr;
@ -22,7 +22,7 @@ typedef struct {
u16 blockNum; // 6
s32 sectorNum; // 8
uintptr_t devAddr; // c
#ifdef VERSION_EU
#if defined(VERSION_EU) || defined(VERSION_SH)
u32 unk10; //error status added moved to blockinfo
#endif
u32 bmCtlShadow; // 10
@ -60,7 +60,7 @@ typedef struct {
/*0x08*/ void *dramAddr;
/*0x0C*/ uintptr_t devAddr;
/*0x10*/ size_t size;
#ifdef VERSION_EU
#if defined(VERSION_EU) || defined(VERSION_SH)
OSPiHandle *piHandle; // from the official definition
#endif
} OSIoMesg;

View file

@ -211,7 +211,7 @@ extern const BehaviorScript bhvFish2[];
extern const BehaviorScript bhvFish3[];
extern const BehaviorScript bhvLargeFishGroup[];
extern const BehaviorScript bhvFishCommon[];
extern const BehaviorScript bhvFishGroup2[];
extern const BehaviorScript bhvFish[];
extern const BehaviorScript bhvWdwExpressElevator[];
extern const BehaviorScript bhvWdwExpressElevatorPlatform[];
extern const BehaviorScript bhvChirpChirp[];
@ -285,19 +285,19 @@ extern const BehaviorScript bhvScuttlebugSpawn[];
extern const BehaviorScript bhvWhompKingBoss[];
extern const BehaviorScript bhvSmallWhomp[];
extern const BehaviorScript bhvWaterSplash[];
extern const BehaviorScript bhvWaterDrops[];
extern const BehaviorScript bhvWaterSurfaceWhiteWave[];
extern const BehaviorScript bhvObjectBubbleRipples[];
extern const BehaviorScript bhvSurfaceWaves[];
extern const BehaviorScript bhvWaterSurfaceWhiteWave2[];
extern const BehaviorScript bhvWavesGenerator[];
extern const BehaviorScript bhvSurfaceWaveShrinking[];
extern const BehaviorScript bhvWaterType[];
extern const BehaviorScript bhvWaveTrailOnSurface[];
extern const BehaviorScript bhvTinyWhiteWindParticle[];
extern const BehaviorScript bhvWindParticle[];
extern const BehaviorScript bhvSnowmanWindBlowing[];
extern const BehaviorScript bhvWalkingPenguin[];
extern const BehaviorScript bhvWaterDroplet[];
extern const BehaviorScript bhvWaterDropletSplash[];
extern const BehaviorScript bhvBubbleSplash[];
extern const BehaviorScript bhvIdleWaterWave[];
extern const BehaviorScript bhvObjectWaterSplash[];
extern const BehaviorScript bhvShallowWaterWave[];
extern const BehaviorScript bhvShallowWaterSplash[];
extern const BehaviorScript bhvObjectWaveTrail[];
extern const BehaviorScript bhvWaveTrail[];
extern const BehaviorScript bhvTinyStrongWindParticle[];
extern const BehaviorScript bhvStrongWindParticle[];
extern const BehaviorScript bhvSLSnowmanWind[];
extern const BehaviorScript bhvSLWalkingPenguin[];
extern const BehaviorScript bhvYellowBall[];
extern const BehaviorScript bhvMario[];
extern const BehaviorScript bhvToadMessage[];

View file

@ -3,6 +3,14 @@
#include "types.h"
// PAL changes most text to arrays for each language. This define allows these
// differences to be combined.
#ifdef VERSION_EU
#define LANGUAGE_ARRAY(cmd) cmd[LANGUAGE_FUNCTION]
#else
#define LANGUAGE_ARRAY(cmd) cmd
#endif
// EU translations are contained in three segment 0x19 compressed data blocks
extern u8 _translation_en_mio0SegmentRomStart[];
extern u8 _translation_en_mio0SegmentRomEnd[];

View file

@ -498,10 +498,10 @@
#define MODEL_WHITE_PARTICLE 0xA0 // white_particle_dl
#define MODEL_PEBBLE 0xA1 // pebble_seg3_dl_0301CB00
#define MODEL_LEAVES 0xA2 // leaves_geo
#define MODEL_WATER_WAVES 0xA3 // water_waves_geo
#define MODEL_WAVE_TRAIL 0xA3 // wave_trail_geo
#define MODEL_WHITE_PARTICLE_SMALL 0xA4 // white_particle_small_dl
#define MODEL_SPOT_ON_GROUND 0xA5 // spot_on_ground_geo
#define MODEL_WATER_WAVES_SURF 0xA6 // water_waves_surface_geo
#define MODEL_SMALL_WATER_SPLASH 0xA5 // small_water_splash_geo
#define MODEL_IDLE_WATER_WAVE 0xA6 // idle_water_wave_geo
#define MODEL_WATER_SPLASH 0xA7 // water_splash_geo
#define MODEL_BUBBLE 0xA8 // bubble_geo
// find me

View file

@ -106,24 +106,26 @@
OBJ_MOVE_UNDERWATER_ON_GROUND)
/* oActiveParticleFlags */
#define ACTIVE_PARTICLE_0 0x00000001
#define ACTIVE_PARTICLE_3 0x00000008
#define ACTIVE_PARTICLE_4 0x00000010
#define ACTIVE_PARTICLE_5 0x00000020
#define ACTIVE_PARTICLE_6 0x00000040
#define ACTIVE_PARTICLE_7 0x00000080
#define ACTIVE_PARTICLE_8 0x00000100
#define ACTIVE_PARTICLE_9 0x00000200
#define ACTIVE_PARTICLE_10 0x00000400
#define ACTIVE_PARTICLE_11 0x00000800
#define ACTIVE_PARTICLE_12 0x00001000
#define ACTIVE_PARTICLE_13 0x00002000
#define ACTIVE_PARTICLE_14 0x00004000
#define ACTIVE_PARTICLE_15 0x00008000
#define ACTIVE_PARTICLE_16 0x00010000
#define ACTIVE_PARTICLE_17 0x00020000
#define ACTIVE_PARTICLE_18 0x00040000
#define ACTIVE_PARTICLE_19 0x00080000
#define ACTIVE_PARTICLE_0 (1 << 0) // 0x00000001
#define ACTIVE_PARTICLE_UNUSED_1 (1 << 1) // 0x00000002
#define ACTIVE_PARTICLE_UNUSED_2 (1 << 2) // 0x00000004
#define ACTIVE_PARTICLE_3 (1 << 3) // 0x00000008
#define ACTIVE_PARTICLE_4 (1 << 4) // 0x00000010
#define ACTIVE_PARTICLE_5 (1 << 5) // 0x00000020
#define ACTIVE_PARTICLE_6 (1 << 6) // 0x00000040
#define ACTIVE_PARTICLE_IDLE_WATER_WAVE (1 << 7) // 0x00000080
#define ACTIVE_PARTICLE_SHALLOW_WATER_WAVE (1 << 8) // 0x00000100
#define ACTIVE_PARTICLE_9 (1 << 9) // 0x00000200
#define ACTIVE_PARTICLE_WAVE_TRAIL (1 << 10) // 0x00000400
#define ACTIVE_PARTICLE_11 (1 << 11) // 0x00000800
#define ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH (1 << 12) // 0x00001000
#define ACTIVE_PARTICLE_13 (1 << 13) // 0x00002000
#define ACTIVE_PARTICLE_14 (1 << 14) // 0x00004000
#define ACTIVE_PARTICLE_15 (1 << 15) // 0x00008000
#define ACTIVE_PARTICLE_16 (1 << 16) // 0x00010000
#define ACTIVE_PARTICLE_17 (1 << 17) // 0x00020000
#define ACTIVE_PARTICLE_18 (1 << 18) // 0x00040000
#define ACTIVE_PARTICLE_19 (1 << 19) // 0x00080000
/* oAction */
#define OBJ_ACT_LAVA_DEATH 100
@ -197,6 +199,24 @@
#define BOBOMB_BUDDY_HAS_NOT_TALKED 0
#define BOBOMB_BUDDY_HAS_TALKED 2
/* Fish */
/* oAction */
#define FISH_ACT_INIT 0
#define FISH_ACT_ACTIVE 1
#define FISH_ACT_RESPAWN 2
/* Blue_Fish */
/* oAction */
#define BLUE_FISH_ACT_DIVE 0
#define BLUE_FISH_ACT_TURN 1
#define BLUE_FISH_ACT_ASCEND 2
#define BLUE_FISH_ACT_TURN_BACK 3
/* oAction: bhv_blue_fish_spawn_loop */
#define BLUE_FISH_ACT_SPAWN 0
#define BLUE_FISH_ACT_ROOM 1
#define BLUE_FISH_ACT_DUPLICATE 2
/* Cannon Trap Door */
/* oAction */
#define CANNON_TRAP_DOOR_ACT_CLOSED 0
@ -733,10 +753,37 @@
#define PYRAMID_WALL_BP_POSITION_MIDDLE 1
#define PYRAMID_WALL_BP_POSITION_LOW 2
/* Tuxie */
/* Penguins (general) */
/* Walking sounds */
#define PENGUIN_WALK_BABY 0
#define PENGUIN_WALK_BIG 1
/* Animations */
#define PENGUIN_ANIM_WALK 0
#define PENGUIN_ANIM_IDLE 3
/* Racing penguin */
/* oAction */
#define RACING_PENGUIN_ACT_WAIT_FOR_MARIO 0
#define RACING_PENGUIN_ACT_SHOW_INIT_TEXT 1
#define RACING_PENGUIN_ACT_PREPARE_FOR_RACE 2
#define RACING_PENGUIN_ACT_RACE 3
#define RACING_PENGUIN_ACT_FINISH_RACE 4
#define RACING_PENGUIN_ACT_SHOW_FINAL_TEXT 5
/* SL walking penguin */
/* oAction */
#define SL_WALKING_PENGUIN_ACT_MOVING_FORWARDS 0
#define SL_WALKING_PENGUIN_ACT_TURNING_BACK 1
#define SL_WALKING_PENGUIN_ACT_RETURNING 2
#define SL_WALKING_PENGUIN_ACT_TURNING_FORWARDS 3
/* Snowman wind */
/* oSubAction */
#define SL_SNOWMAN_WIND_ACT_IDLE 0
#define SL_SNOWMAN_WIND_ACT_TALKING 1
#define SL_SNOWMAN_WIND_ACT_BLOWING 2
/* Water bomb */
/* oAction */
@ -850,21 +897,17 @@
#define BIRD_BP_SPAWNED 0
#define BIRD_BP_SPAWNER 1
/* Racing penguin */
/* oAction */
#define RACING_PENGUIN_ACT_WAIT_FOR_MARIO 0
#define RACING_PENGUIN_ACT_SHOW_INIT_TEXT 1
#define RACING_PENGUIN_ACT_PREPARE_FOR_RACE 2
#define RACING_PENGUIN_ACT_RACE 3
#define RACING_PENGUIN_ACT_FINISH_RACE 4
#define RACING_PENGUIN_ACT_SHOW_FINAL_TEXT 5
/* Skeeter */
/* oAction */
#define SKEETER_ACT_IDLE 0
#define SKEETER_ACT_LUNGE 1
#define SKEETER_ACT_WALK 2
/* Snufit */
/* oAction */
#define SNUFIT_ACT_IDLE 0
#define SNUFIT_ACT_SHOOT 1
/* Tweester */
/* oAction */
#define TWEESTER_ACT_IDLE 0

View file

@ -483,19 +483,19 @@
#define /*0x0F4*/ oFireSpitterScaleVel OBJECT_FIELD_F32(0x1B)
/* Blue Fish */
#define /*0x0F4*/ oBlueFishUnkF4 OBJECT_FIELD_F32(0x1B)
#define /*0x0F8*/ oBlueFishUnkF8 OBJECT_FIELD_S32(0x1C)
#define /*0x100*/ oBlueFishUnk100 OBJECT_FIELD_F32(0x1E)
#define /*0x0F4*/ oBlueFishRandomVel OBJECT_FIELD_F32(0x1B)
#define /*0x0F8*/ oBlueFishRandomTime OBJECT_FIELD_S32(0x1C)
#define /*0x100*/ oBlueFishRandomAngle OBJECT_FIELD_F32(0x1E)
/* Fish Group */
#define /*0x0F4*/ oFishGroupUnkF4 OBJECT_FIELD_F32(0x1B)
#define /*0x0F8*/ oFishGroupUnkF8 OBJECT_FIELD_F32(0x1C)
#define /*0x0FC*/ oFishGroupUnkFC OBJECT_FIELD_F32(0x1D)
#define /*0x100*/ oFishGroupUnk100 OBJECT_FIELD_S32(0x1E)
#define /*0x104*/ oFishGroupUnk104 OBJECT_FIELD_F32(0x1F)
#define /*0x108*/ oFishGroupUnk108 OBJECT_FIELD_F32(0x20)
#define /*0x10C*/ oFishGroupUnk10C OBJECT_FIELD_F32(0x21)
#define /*0x110*/ oFishGroupUnk110 OBJECT_FIELD_F32(0x22)
#define /*0x0F4*/ oFishWaterLevel OBJECT_FIELD_F32(0x1B)
#define /*0x0F8*/ oFishPosY OBJECT_FIELD_F32(0x1C)
#define /*0x0FC*/ oFishRandomOffset OBJECT_FIELD_F32(0x1D)
#define /*0x100*/ oFishRandomSpeed OBJECT_FIELD_S32(0x1E)
#define /*0x104*/ oFishRespawnDistance OBJECT_FIELD_F32(0x1F)
#define /*0x108*/ oFishRandomVel OBJECT_FIELD_F32(0x20)
#define /*0x10C*/ oFishDepthDistance OBJECT_FIELD_F32(0x21)
#define /*0x110*/ oFishActiveDistance OBJECT_FIELD_F32(0x22)
/* Flame */
#define /*0x0F4*/ oFlameUnkF4 OBJECT_FIELD_F32(0x1B)
@ -752,11 +752,11 @@
#define /*0x108*/ oSmallPenguinUnk108 OBJECT_FIELD_F32(0x20)
#define /*0x110*/ oSmallPenguinUnk110 OBJECT_FIELD_S32(0x22)
/* Walking Penguin */
#define /*0x100*/ oWalkingPenguinUnk100 OBJECT_FIELD_F32(0x1E)
#define /*0x104*/ oWalkingPenguinUnk104 OBJECT_FIELD_F32(0x1F)
#define /*0x10C*/ oWalkingPenguinUnk10C OBJECT_FIELD_S32(0x21)
#define /*0x110*/ oWalkingPenguinUnk110 OBJECT_FIELD_S32(0x22)
/* SL Walking Penguin */
#define /*0x100*/ oSLWalkingPenguinWindCollisionXPos OBJECT_FIELD_F32(0x1E)
#define /*0x104*/ oSLWalkingPenguinWindCollisionZPos OBJECT_FIELD_F32(0x1F)
#define /*0x10C*/ oSLWalkingPenguinCurStep OBJECT_FIELD_S32(0x21)
#define /*0x110*/ oSLWalkingPenguinCurStepTimer OBJECT_FIELD_S32(0x22)
/* Piranha Plant */
#define /*0x0F4*/ oPiranhaPlantSleepMusicState OBJECT_FIELD_S32(0x1B)
@ -884,19 +884,19 @@
#define /*0x0F4*/ oSnowmansHeadUnkF4 OBJECT_FIELD_S32(0x1B)
/* Snowman Wind Blowing */
#define /*0x0F4*/ oSnowmanWindBlowingUnkF4 OBJECT_FIELD_S32(0x1B)
#define /*0x0F4*/ oSLSnowmanWindOriginalYaw OBJECT_FIELD_S32(0x1B)
/* Snufit */
#define /*0x0F4*/ oSnufitUnkF4 OBJECT_FIELD_S32(0x1B)
#define /*0x0F8*/ oSnufitUnkF8 OBJECT_FIELD_F32(0x1C)
#define /*0x100*/ oSnufitUnk100 OBJECT_FIELD_S32(0x1E)
#define /*0x104*/ oSnufitUnk104 OBJECT_FIELD_S32(0x1F)
#define /*0x108*/ oSnufitUnk108 OBJECT_FIELD_S32(0x20)
#define /*0x10C*/ oSnufitUnk10C OBJECT_FIELD_S32(0x21)
#define /*0x1AC*/ oSnufitUnk1AC OBJECT_FIELD_S16(0x49, 0)
#define /*0x1AE*/ oSnufitUnk1AE OBJECT_FIELD_S16(0x49, + 1)
#define /*0x1B0*/ oSnufitUnk1B0 OBJECT_FIELD_S16(0x4A, 0)
#define /*0x1B2*/ oSnufitUnk1B2 OBJECT_FIELD_S16(0x4A, + 1)
#define /*0x0F4*/ oSnufitRecoil OBJECT_FIELD_S32(0x1B)
#define /*0x0F8*/ oSnufitScale OBJECT_FIELD_F32(0x1C)
#define /*0x100*/ oSnufitCircularPeriod OBJECT_FIELD_S32(0x1E)
#define /*0x104*/ oSnufitBodyScalePeriod OBJECT_FIELD_S32(0x1F)
#define /*0x108*/ oSnufitBodyBaseScale OBJECT_FIELD_S32(0x20)
#define /*0x10C*/ oSnufitBullets OBJECT_FIELD_S32(0x21)
#define /*0x1AC*/ oSnufitXOffset OBJECT_FIELD_S16(0x49, 0)
#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, + 1)
#define /*0x1B0*/ oSnufitZOffset OBJECT_FIELD_S16(0x4A, 0)
#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, + 1)
/* Spindel */
#define /*0x0F4*/ oSpindelUnkF4 OBJECT_FIELD_S32(0x1B)
@ -1118,7 +1118,7 @@
#define /*0x0F8*/ oWaterRingMgrLastRingCollected OBJECT_FIELD_S32(0x1C)
/* Wave Trail */
#define /*0x0F8*/ oWaveTrailUnkF8 OBJECT_FIELD_F32(0x1C)
#define /*0x0F8*/ oWaveTrailSize OBJECT_FIELD_F32(0x1C)
/* Whirlpool */
#define /*0x0F4*/ oWhirlpoolInitFacePitch OBJECT_FIELD_S32(0x1B)
@ -1130,7 +1130,7 @@
#define /*0x0FC*/ oWhitePuffUnkFC OBJECT_FIELD_S32(0x1D)
/* White Wind Particle */
#define /*0x0F4*/ oWhiteWindParticleUnkF4 OBJECT_FIELD_OBJ(0x1B)
#define /*0x0F4*/ oStrongWindParticlePenguinObj OBJECT_FIELD_OBJ(0x1B)
/* Whomp */
#define /*0x0F8*/ oWhompUnkF8 OBJECT_FIELD_S32(0x1C)

View file

@ -22,6 +22,8 @@
#ifdef VERSION_EU
#define SEG_MAIN 0x80241800 // TODO: Investigate why it's different?
#elif defined(VERSION_SH)
#define SEG_MAIN 0x80249000
#else
#define SEG_MAIN 0x80246000
#endif

View file

@ -88,26 +88,26 @@
#define WATER_STEP_CANCELLED 3
#define WATER_STEP_HIT_WALL 4
#define PARTICLE_DUST /* 0x00000001 */ (1 << 0)
#define PARTICLE_1 /* 0x00000002 */ (1 << 1)
#define PARTICLE_2 /* 0x00000004 */ (1 << 2)
#define PARTICLE_SPARKLES /* 0x00000008 */ (1 << 3)
#define PARTICLE_4 /* 0x00000010 */ (1 << 4)
#define PARTICLE_5 /* 0x00000020 */ (1 << 5)
#define PARTICLE_6 /* 0x00000040 */ (1 << 6)
#define PARTICLE_7 /* 0x00000080 */ (1 << 7)
#define PARTICLE_8 /* 0x00000100 */ (1 << 8)
#define PARTICLE_9 /* 0x00000200 */ (1 << 9)
#define PARTICLE_10 /* 0x00000400 */ (1 << 10)
#define PARTICLE_11 /* 0x00000800 */ (1 << 11)
#define PARTICLE_12 /* 0x00001000 */ (1 << 12)
#define PARTICLE_LEAVES /* 0x00002000 */ (1 << 13)
#define PARTICLE_14 /* 0x00004000 */ (1 << 14)
#define PARTICLE_15 /* 0x00008000 */ (1 << 15)
#define PARTICLE_16 /* 0x00010000 */ (1 << 16)
#define PARTICLE_17 /* 0x00020000 */ (1 << 17)
#define PARTICLE_18 /* 0x00040000 */ (1 << 18)
#define PARTICLE_19 /* 0x00080000 */ (1 << 19)
#define PARTICLE_DUST /* 0x00000001 */ (1 << 0)
#define PARTICLE_1 /* 0x00000002 */ (1 << 1)
#define PARTICLE_2 /* 0x00000004 */ (1 << 2)
#define PARTICLE_SPARKLES /* 0x00000008 */ (1 << 3)
#define PARTICLE_4 /* 0x00000010 */ (1 << 4)
#define PARTICLE_5 /* 0x00000020 */ (1 << 5)
#define PARTICLE_WATER_SPLASH /* 0x00000040 */ (1 << 6)
#define PARTICLE_IDLE_WATER_WAVE /* 0x00000080 */ (1 << 7)
#define PARTICLE_SHALLOW_WATER_WAVE /* 0x00000100 */ (1 << 8)
#define PARTICLE_9 /* 0x00000200 */ (1 << 9)
#define PARTICLE_WAVE_TRAIL /* 0x00000400 */ (1 << 10)
#define PARTICLE_11 /* 0x00000800 */ (1 << 11)
#define PARTICLE_SHALLOW_WATER_SPLASH /* 0x00001000 */ (1 << 12)
#define PARTICLE_LEAVES /* 0x00002000 */ (1 << 13)
#define PARTICLE_14 /* 0x00004000 */ (1 << 14)
#define PARTICLE_15 /* 0x00008000 */ (1 << 15)
#define PARTICLE_16 /* 0x00010000 */ (1 << 16)
#define PARTICLE_17 /* 0x00020000 */ (1 << 17)
#define PARTICLE_18 /* 0x00040000 */ (1 << 18)
#define PARTICLE_19 /* 0x00080000 */ (1 << 19)
#define MODEL_STATE_NOISE_ALPHA 0x180
#define MODEL_STATE_METAL 0x200

View file

@ -25,7 +25,7 @@
#define TEXT_PAUSE _("PAUSE") // Pause text, Castle Courses
#define TEXT_HUD_CONGRATULATIONS _("CONGRATULATIONS") // Course Complete Text, Bowser Courses
#ifdef VERSION_JP
#if defined(VERSION_JP) || defined(VERSION_SH)
/**
* File Select Text

View file

@ -517,7 +517,7 @@ const GeoLayout geo_bbh_000F00[] = {
GEO_BRANCH(1, geo_bbh_000EB0), // 0x0E000EB0
GEO_CLOSE_NODE(),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -17,7 +17,7 @@ const GeoLayout geo_bitdw_000618[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bitdw_seg7_dl_070020C8),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -21,7 +21,7 @@ const GeoLayout bitfs_geo_0007A0[] = {
GEO_ASM(0x1902, geo_movtex_draw_nocolor),
GEO_ASM(0x1903, geo_movtex_draw_nocolor),
GEO_RENDER_OBJ(),
GEO_ASM( 12, geo_enfvx_main),
GEO_ASM( 12, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -17,7 +17,7 @@ const GeoLayout bits_geo_000718[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bits_seg7_dl_07002918),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -22,7 +22,7 @@ const GeoLayout bob_geo_000488[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, bob_seg7_dl_0700DD18),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bob_seg7_dl_0700E338),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -17,7 +17,7 @@ const GeoLayout bowser_1_geo_0000D0[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_1_seg7_dl_07002768),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -17,7 +17,7 @@ const GeoLayout bowser_2_geo_000188[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_2_seg7_dl_07001930),
GEO_RENDER_OBJ(),
GEO_ASM(12, geo_enfvx_main),
GEO_ASM(12, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -17,7 +17,7 @@ const GeoLayout bowser_3_geo_000398[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_070046B0),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -21,7 +21,7 @@ const GeoLayout castle_courtyard_geo_000218[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x2601, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -26,7 +26,7 @@ const GeoLayout castle_grounds_geo_00073C[] = {
GEO_ASM(0x1601, geo_movtex_draw_nocolor),
GEO_ASM(0x1601, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -48,8 +48,8 @@ const GeoLayout castle_geo_000FD0[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07032FC0),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07033158),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(256, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(0, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -61,8 +61,8 @@ const GeoLayout castle_geo_001000[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07034D88),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035178),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035288),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(258, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(2, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -77,8 +77,8 @@ const GeoLayout castle_geo_001038[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07037DE8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, dl_castle_aquarium_light),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07038350),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(259, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(3, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -91,8 +91,8 @@ const GeoLayout castle_geo_001088[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_0703A808),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070234C0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07023520),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(257, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(1, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -172,8 +172,8 @@ const GeoLayout castle_geo_001200[] = {
GEO_ASM( 0, geo_exec_inside_castle_light),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07032FC0),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07033158),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(256, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(256, geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -191,8 +191,8 @@ const GeoLayout castle_geo_001260[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07034D88),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035178),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035288),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(258, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(258, geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -213,8 +213,8 @@ const GeoLayout castle_geo_0012C8[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07037DE8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, dl_castle_aquarium_light),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07038350),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(259, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(3, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -233,8 +233,8 @@ const GeoLayout castle_geo_001348[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_0703A808),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070234C0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07023520),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(257, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(1, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -292,7 +292,7 @@ const GeoLayout castle_geo_001400[] = {
GEO_BRANCH(1, castle_geo_0013B8), // 0x0E0013B8
GEO_CLOSE_NODE(),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -14,9 +14,9 @@ const GeoLayout castle_geo_001578[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043028),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(264, Geo18_802D5B98),
GEO_ASM(266, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -28,8 +28,8 @@ const GeoLayout castle_geo_0015B8[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704A0E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0704A2E0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704AA98),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(268, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(12, 1), geo_painting_draw),
GEO_ASM( 0, geo_render_mirror_mario),
GEO_CLOSE_NODE(),
GEO_RETURN(),
@ -40,9 +40,9 @@ const GeoLayout castle_geo_0015F8[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704C7D8),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(265, Geo18_802D5B98),
GEO_ASM(269, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(9, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(13, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -55,8 +55,8 @@ const GeoLayout castle_geo_001628[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07051678),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_070519C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07051B60),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(267, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -80,9 +80,9 @@ const GeoLayout castle_geo_001690[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043028),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(264, Geo18_802D5B98),
GEO_ASM(266, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -97,10 +97,10 @@ const GeoLayout castle_geo_0016D8[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704A0E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0704A2E0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704AA98),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(264, Geo18_802D5B98),
GEO_ASM(266, Geo18_802D5B98),
GEO_ASM(268, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(12, 1), geo_painting_draw),
GEO_ASM( 0, geo_render_mirror_mario),
GEO_CLOSE_NODE(),
GEO_RETURN(),
@ -114,11 +114,11 @@ const GeoLayout castle_geo_001740[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704C7D8),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(264, Geo18_802D5B98),
GEO_ASM(265, Geo18_802D5B98),
GEO_ASM(266, Geo18_802D5B98),
GEO_ASM(269, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(9, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(13, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -134,10 +134,10 @@ const GeoLayout castle_geo_001798[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07051678),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_070519C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07051B60),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(264, Geo18_802D5B98),
GEO_ASM(266, Geo18_802D5B98),
GEO_ASM(267, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -153,8 +153,8 @@ const GeoLayout castle_geo_001800[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070558D0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070572A0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07057F00),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(267, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -191,7 +191,7 @@ const GeoLayout castle_geo_001858[] = {
GEO_BRANCH(1, castle_geo_001800), // 0x0E001800
GEO_CLOSE_NODE(),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -15,9 +15,9 @@ const GeoLayout castle_geo_001980[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070616E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07061C20),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM( 260, Geo18_802D5B98),
GEO_ASM( 261, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM( PAINTING_ID(4, 1), geo_painting_draw),
GEO_ASM( PAINTING_ID(5, 1), geo_painting_draw),
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0600, geo_movtex_draw_water_regions),
GEO_CLOSE_NODE(),
@ -30,8 +30,8 @@ const GeoLayout castle_geo_0019C8[] = {
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07064B78),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07064D58),
GEO_ASM(0, Geo18_802D5D0C),
GEO_ASM(262, Geo18_802D5B98),
GEO_ASM(0, geo_painting_update),
GEO_ASM(PAINTING_ID(6, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -54,8 +54,8 @@ const GeoLayout castle_geo_001A30[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07068850),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(263, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(7, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -69,9 +69,9 @@ const GeoLayout castle_geo_001A58[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0705E450),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070616E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07061C20),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM( 260, Geo18_802D5B98),
GEO_ASM( 261, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM( PAINTING_ID(4, 1), geo_painting_draw),
GEO_ASM( PAINTING_ID(5, 1), geo_painting_draw),
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0600, geo_movtex_draw_water_regions),
GEO_CLOSE_NODE(),
@ -86,8 +86,8 @@ const GeoLayout castle_geo_001AB8[] = {
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_0705E2A0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0705E450),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07068850),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM(263, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM(PAINTING_ID(7, 1), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -117,9 +117,9 @@ const GeoLayout castle_geo_001B48[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07066CE0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07066E90),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07066FA0),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM( 260, Geo18_802D5B98),
GEO_ASM( 261, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM( PAINTING_ID(4, 1), geo_painting_draw),
GEO_ASM( PAINTING_ID(5, 1), geo_painting_draw),
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0600, geo_movtex_draw_water_regions),
GEO_ASM(0x0612, geo_movtex_draw_water_regions),
@ -135,10 +135,10 @@ const GeoLayout castle_geo_001BB0[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07061C20),
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07064B78),
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07064D58),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM( 260, Geo18_802D5B98),
GEO_ASM( 261, Geo18_802D5B98),
GEO_ASM( 262, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM( PAINTING_ID(4, 1), geo_painting_draw),
GEO_ASM( PAINTING_ID(5, 1), geo_painting_draw),
GEO_ASM( PAINTING_ID(6, 1), geo_painting_draw),
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0600, geo_movtex_draw_water_regions),
GEO_CLOSE_NODE(),
@ -176,7 +176,7 @@ const GeoLayout castle_geo_001C10[] = {
GEO_BRANCH(1, castle_geo_001BB0), // 0x0E001BB0
GEO_CLOSE_NODE(),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -98,8 +98,10 @@ static const Gfx inside_castle_seg7_painting_dl_07021AC0[] = {
};
// 0x07021AE0 - 0x07021FFA
static const PaintingData inside_castle_seg7_painting_points_07021AE0[] = {
85,
static const PaintingData inside_castle_seg7_painting_texture_map_bottom_07021AE0[] = {
85, // num mappings
// Format:
// mesh vtx ID, texture X, texture Y
49, 2016, 889,
53, 2016, 685,
55, 1843, 787,
@ -186,8 +188,9 @@ static const PaintingData inside_castle_seg7_painting_points_07021AE0[] = {
150, 649, 0,
153, -32, 0,
// inside_castle_seg7_painting_triangles_07021CE0:
132,
132, // num groups
// Grouped by 5 + one remainder group,
// = 15 vertices per group + a few extra triangles
13, 8, 5,
0, 1, 2,
3, 0, 4,
@ -324,8 +327,10 @@ static const PaintingData inside_castle_seg7_painting_points_07021AE0[] = {
// 0x07021FFC - 0x07022516
static const PaintingData inside_castle_seg7_painting_points_07021FFC[] = {
85,
static const PaintingData inside_castle_seg7_painting_texture_map_top_07021FFC[] = {
85, // num mappings
// Format:
// mesh vtx ID, texture X, texture Y
0, 2016, 72,
1, 2016, 0,
2, 1843, 0,
@ -412,8 +417,9 @@ static const PaintingData inside_castle_seg7_painting_points_07021FFC[] = {
152, -32, 685,
153, -32, 992,
// inside_castle_seg7_painting_triangles_070221FC:
132,
132, // num groups
// Grouped by 5 + one remainder group,
// = 15 vertices per group + a few extra triangles
10, 7, 13,
0, 1, 2,
3, 0, 2,
@ -550,9 +556,9 @@ static const PaintingData inside_castle_seg7_painting_points_07021FFC[] = {
// 0x07022518
static const PaintingData *const inside_castle_seg7_painting_data_07022518[] = {
inside_castle_seg7_painting_points_07021AE0,
inside_castle_seg7_painting_points_07021FFC,
static const PaintingData *const inside_castle_seg7_painting_texture_maps_07022518[] = {
inside_castle_seg7_painting_texture_map_bottom_07021AE0,
inside_castle_seg7_painting_texture_map_top_07021FFC,
};
UNUSED static const u64 castle_inside_unused_0 = 0x0;
@ -619,8 +625,10 @@ static const Gfx inside_castle_seg7_painting_dl_07022640[] = {
};
// 0x07022660 - 0x07023042
static const PaintingData inside_castle_seg7_painting_points_07022660[] = {
157,
static const PaintingData inside_castle_seg7_painting_env_map_texture_map_07022660[] = {
157, // num mappings
// Format:
// mesh vtx ID, texture X, texture Y
0, 6100, -4832,
1, 6100, -5142,
2, 5582, -5142,
@ -780,7 +788,9 @@ static const PaintingData inside_castle_seg7_painting_points_07022660[] = {
156, 0, 990,
// inside_castle_seg7_painting_triangles_07022A10:
264,
264, // num groups
// Grouped by 5 + one remainder group,
// = 15 vertices per group + a few extra triangles
8, 12, 13,
0, 1, 2,
3, 0, 2,
@ -1049,8 +1059,8 @@ static const PaintingData inside_castle_seg7_painting_points_07022660[] = {
// 0x07023044 - 0x07023048
static const PaintingData *const inside_castle_seg7_painting_data_07023044[] = {
inside_castle_seg7_painting_points_07022660,
static const PaintingData *const inside_castle_seg7_painting_env_map_texture_maps_07023044[] = {
inside_castle_seg7_painting_env_map_texture_map_07022660,
};
UNUSED static const u64 castle_inside_unused_1 = 0x0;
@ -1345,335 +1355,377 @@ static const u8 *const inside_castle_seg7_painting_textures_07023618[] = {
// 0x07023620 - 0x07023698
struct Painting bob_painting = {
/* id */ 0x0000,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 90.0f,
/* Position */ -5222.4f, 409.6f, -153.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023050,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235C0,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023050,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235C0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023698 - 0x07023710
struct Painting ccm_painting = {
/* id */ 0x0001,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -2611.2f, -307.2f, -4352.0f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070230B0,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235C8,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070230B0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235C8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023710 - 0x07023788
struct Painting wf_painting = {
/* id */ 0x0002,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -51.2f, -204.8f, -4505.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023110,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235D0,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023110,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235D0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023788 - 0x07023800
struct Painting jrb_painting = {
/* id */ 0x0003,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 270.0f,
/* Position */ 4300.8f, 409.6f, -537.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023170,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235D8,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023170,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235D8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023800 - 0x07023878
struct Painting lll_painting = {
/* id */ 0x0004,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -1689.6f, -1126.4f, -3942.4f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070231D0,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235E0,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070231D0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235E0,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023878 - 0x070238F0
struct Painting ssl_painting = {
/* id */ 0x0005,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -2611.2f, -1177.6f, -1075.2f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023230,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235E8,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023230,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235E8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x070238F0 - 0x07023968
struct Painting hmc_painting = {
/* id */ 0x000E,
/* Face Count */ 0x01,
/* Ripple Shape */ RIPPLE_SHAPE_CONCENTRIC,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 270.0f, 0.0f,
/* Position */ 2099.2f, -1484.8f, -2278.4f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
1.0f, 1.0f, 0.98f,
0.0f, 0.05f, 0.05f,
0.0f, 15.0f, 15.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023580,
inside_castle_seg7_painting_data_07023044,
inside_castle_seg7_painting_textures_070235F0,
32, 32,
inside_castle_seg7_painting_dl_07022640,
RIPPLE_TRIGGER_CONTINUOUS, 0xFF, 0x00, 0x00, 0x00,
768.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023580,
/* Texture Maps */ inside_castle_seg7_painting_env_map_texture_maps_07023044,
/* Textures */ inside_castle_seg7_painting_textures_070235F0,
/* Texture w, h */ 32, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07022640,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 768.0f,
};
// 0x07023968 - 0x070239E0
struct Painting ddd_painting = {
/* id */ 0x0007,
/* Face Count */ 0x01,
/* Ripple Shape */ RIPPLE_SHAPE_CONCENTRIC,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 270.0f,
/* Position */ 3456.0f, -1075.2f, 1587.2f,
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
1.0f, 1.0f, 0.98f,
0.0f, 0.05f, 0.05f,
0.0f, 15.0f, 15.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070235B8,
inside_castle_seg7_painting_data_07023044,
inside_castle_seg7_painting_textures_070235F4,
32, 32,
inside_castle_seg7_painting_dl_07022640,
RIPPLE_TRIGGER_CONTINUOUS, 0xB4, 0x00, 0x00, 0x00,
819.2f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070235B8,
/* Texture Maps */ inside_castle_seg7_painting_env_map_texture_maps_07023044,
/* Textures */ inside_castle_seg7_painting_textures_070235F4,
/* Texture w, h */ 32, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07022640,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xB4,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 819.2f,
};
// 0x070239E0 - 0x07023A58
struct Painting wdw_painting = {
/* id */ 0x0008,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -966.656f, 1305.6f, -143.36f,
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023290,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_070235F8,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
614.0f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023290,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_070235F8,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 614.0f,
};
// 0x07023A58 - 0x07023AD0
struct Painting thi_tiny_painting = {
/* id */ 0x0009,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -4598.7842f, 1354.752f, 3005.44f,
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070232F0,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_07023600,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
393.216f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070232F0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023600,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 393.216f,
};
// 0x07023AD0 - 0x07023B48
struct Painting ttm_painting = {
/* id */ 0x000A,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ -546.816f, 1356.8f, 3813.376f,
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023350,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_07023608,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
256.0f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023350,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023608,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 256.0f,
};
// 0x07023B48 - 0x07023BC0
struct Painting ttc_painting = {
/* id */ 0x000B,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 180.0f,
/* Position */ 0.0f, 2713.6f, 7232.5122f,
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070233B0,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_07023610,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
409.6f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070233B0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023610,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 409.6f,
};
// 0x07023BC0 - 0x07023C38
struct Painting sl_painting = {
/* id */ 0x000C,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ 3179.52f, 1408.0f, -271.36f,
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.24f, 0.14f,
0.0f, 40.0f, 30.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_07023410,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_07023618,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
716.8f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 20.0f, 80.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.24f, 0.14f,
/* Ripple Dispersion */ 0.0f, 40.0f, 30.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_07023410,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023618,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 716.8f,
};
// 0x07023C38 - 0x07023CB0
struct Painting thi_huge_painting = {
/* id */ 0x000D,
/* Face Count */ 0x02,
/* Ripple Shape */ RIPPLE_SHAPE_WAVE,
/* Image Count */ 0x02,
/* Texture Type */ PAINTING_IMAGE,
/* Floor Status */ 0x00, 0x00, 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 0.0f, 0.0f,
/* Position */ -5614.5918f, 1510.4f, -3292.16f,
/* Ripple Magnitude */ 0.0f, 40.0f, 160.0f,
1.0f, 0.9608f, 0.9524f,
0.0f, 0.12f, 0.07f,
0.0f, 80.0f, 60.0f,
0.0f,
0.0f, 0.0f,
inside_castle_seg7_painting_dl_070232F0,
inside_castle_seg7_painting_data_07022518,
inside_castle_seg7_painting_textures_07023600,
64, 32,
inside_castle_seg7_painting_dl_07021AC0,
RIPPLE_TRIGGER_PROXIMITY, 0xFF, 0x00, 0x00, 0x00,
1638.4f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 40.0f, 160.0f,
/* Ripple Decay */ 1.0f, 0.9608f, 0.9524f,
/* Ripple Rate */ 0.0f, 0.12f, 0.07f,
/* Ripple Dispersion */ 0.0f, 80.0f, 60.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ inside_castle_seg7_painting_dl_070232F0,
/* Texture Maps */ inside_castle_seg7_painting_texture_maps_07022518,
/* Textures */ inside_castle_seg7_painting_textures_07023600,
/* Texture w, h */ 64, 32,
/* Ripple DList */ inside_castle_seg7_painting_dl_07021AC0,
/* Ripple Trigger */ RIPPLE_TRIGGER_PROXIMITY,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 1638.4f,
};

View file

@ -23,7 +23,7 @@ const GeoLayout ccm_geo_00051C[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0501, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 1, geo_enfvx_main),
GEO_ASM( 1, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -23,7 +23,7 @@ const GeoLayout ccm_geo_0005E8[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ccm_seg7_dl_0701FE60),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ccm_seg7_dl_070207F0),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -21,7 +21,7 @@ const GeoLayout cotmc_geo_0001A0[] = {
GEO_ASM(0x2801, geo_movtex_draw_nocolor),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, cotmc_seg7_dl_0700A4B8),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -22,7 +22,7 @@ const GeoLayout ddd_geo_0004C0[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x2301, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 13, geo_enfvx_main),
GEO_ASM( 13, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -24,7 +24,7 @@ const GeoLayout ddd_geo_000570[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x2302, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 14, geo_enfvx_main),
GEO_ASM( 14, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -83,8 +83,8 @@ const GeoLayout hmc_geo_000748[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07020FD0),
GEO_ASM(0, Geo18_802D5D0C),
GEO_ASM(0, Geo18_802D5B98),
GEO_ASM(0, geo_painting_update),
GEO_ASM(PAINTING_ID(0, 0), geo_painting_draw),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
@ -246,8 +246,8 @@ const GeoLayout hmc_geo_000A88[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, hmc_seg7_dl_0701F818),
GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_0701FD58),
GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07020FD0),
GEO_ASM( 0, Geo18_802D5D0C),
GEO_ASM( 0, Geo18_802D5B98),
GEO_ASM( 0, geo_painting_update),
GEO_ASM( PAINTING_ID(0, 0), geo_painting_draw),
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x0701, geo_movtex_draw_water_regions),
GEO_CLOSE_NODE(),
@ -326,7 +326,7 @@ const GeoLayout hmc_geo_000B90[] = {
GEO_BRANCH(1, hmc_geo_000B48), // 0x0E000B48
GEO_CLOSE_NODE(),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -61,8 +61,10 @@ static const Gfx hmc_seg7_painting_dl_070242D0[] = {
};
// 0x070242F0 - 0x07024CD2
static const PaintingData hmc_seg7_pool_points_070242F0[] = {
157,
static const PaintingData hmc_seg7_pool_texture_map_070242F0[] = {
157, // num mappings
// Format:
// mesh vtx ID, texture X, texture Y
0, 6100, -4832,
1, 6100, -5142,
2, 5582, -5142,
@ -221,8 +223,9 @@ static const PaintingData hmc_seg7_pool_points_070242F0[] = {
155, 0, 70,
156, 0, 990,
// hmc_seg7_triangles_070246A0:
264,
264, // num groups
// Grouped by 5 + one remainder group,
// = 15 vertices per group + a few extra triangles
8, 12, 13,
0, 1, 2,
3, 0, 2,
@ -490,8 +493,8 @@ static const PaintingData hmc_seg7_pool_points_070242F0[] = {
};
// 0x07024CD4
static const PaintingData *const hmc_seg7_painting_data_07024CD4[] = {
hmc_seg7_pool_points_070242F0,
static const PaintingData *const hmc_seg7_painting_texture_maps_07024CD4[] = {
hmc_seg7_pool_texture_map_070242F0,
};
UNUSED static const u64 hmc_unused_0 = 0;
@ -520,23 +523,26 @@ const u8 *const hmc_seg7_painting_textures_07025518[] = {
// 0x0702551C (PaintingData)
struct Painting cotmc_painting = {
/* id */ 0x000E,
/* Face Count */ 0x01,
/* Ripple Shape */ RIPPLE_SHAPE_CONCENTRIC,
/* Image Count */ 0x01,
/* Texture Type */ PAINTING_ENV_MAP,
/* Floor Status */ 0x00, 0x00 , 0x00 /* which of the painting's nearby special floors Mario's on */,
/* Ripple Status */ 0x00,
/* Rotation */ 270.0f, 0.0f,
/* Position */ 2989.055908f, -4485.120117f, 5135.359863f,
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
1.0f, 1.0f, 0.98f,
0.0f, 0.05f, 0.05f,
0.0f, 15.0f, 15.0f,
0.0f,
0.0f, 0.0f,
hmc_seg7_painting_dl_070254E0,
hmc_seg7_painting_data_07024CD4,
hmc_seg7_painting_textures_07025518,
32, 32,
hmc_seg7_painting_dl_070242D0,
RIPPLE_TRIGGER_CONTINUOUS, 0xFF, 0x00, 0x00, 0x00,
723.968018f,
/* curr passive entry */
/* Ripple Magnitude */ 0.0f, 10.0f, 30.0f,
/* Ripple Decay */ 1.0f, 1.0f, 0.98f,
/* Ripple Rate */ 0.0f, 0.05f, 0.05f,
/* Ripple Dispersion */ 0.0f, 15.0f, 15.0f,
/* Curr Ripple Timer */ 0.0f,
/* Curr Ripple x, y */ 0.0f, 0.0f,
/* Normal DList */ hmc_seg7_painting_dl_070254E0,
/* Texture Maps */ hmc_seg7_painting_texture_maps_07024CD4,
/* Textures */ hmc_seg7_painting_textures_07025518,
/* Texture w, h */ 32, 32,
/* Ripple DList */ hmc_seg7_painting_dl_070242D0,
/* Ripple Trigger */ RIPPLE_TRIGGER_CONTINUOUS,
/* Alpha */ 0xFF,
/* Mario Below */ 0x00, 0x00, 0x00, /* Whether or not Mario is below the painting */
/* Size */ 723.968018f,
};

View file

@ -26,7 +26,7 @@ const GeoLayout jrb_geo_000A18[] = {
GEO_ASM(0x1201, geo_movtex_draw_water_regions),
GEO_ASM(0x1205, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 14, geo_enfvx_main),
GEO_ASM( 14, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -21,7 +21,7 @@ const GeoLayout jrb_geo_000AFC[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x1202, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 2, geo_enfvx_main),
GEO_ASM( 2, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -11,7 +11,7 @@ const GeoLayout jrb_geo_000978[] = {
const GeoLayout jrb_geo_000990[] = {
GEO_CULLING_RADIUS(5000),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, jrb_seg7_dl_070090B0),
GEO_CLOSE_NODE(),
GEO_END(),
@ -30,7 +30,7 @@ const GeoLayout jrb_geo_0009B0[] = {
const GeoLayout jrb_geo_0009C8[] = {
GEO_CULLING_RADIUS(5000),
GEO_OPEN_NODE(),
GEO_ASM(0, Geo18_8029D924),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, jrb_seg7_dl_07009B30),
GEO_CLOSE_NODE(),
GEO_END(),

View file

@ -21,7 +21,7 @@ const GeoLayout lll_geo_000E00[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x2201, geo_movtex_draw_nocolor),
GEO_RENDER_OBJ(),
GEO_ASM( 12, geo_enfvx_main),
GEO_ASM( 12, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -24,7 +24,7 @@ const GeoLayout lll_geo_000EC0[] = {
GEO_ASM(0x2202, geo_movtex_draw_nocolor),
GEO_ASM(0x2202, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 0, geo_enfvx_main),
GEO_ASM( 0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -23,7 +23,7 @@ const GeoLayout pss_geo_000100[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, pss_seg7_dl_0700E2B0),
GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, pss_seg7_dl_0700E3E8),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -18,7 +18,7 @@ const GeoLayout rr_geo_0009D0[] = {
GEO_ASM(0, geo_exec_flying_carpet_timer_update),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_cruiser_metal_holes),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -18,7 +18,7 @@ const GeoLayout sa_geo_000170[] = {
GEO_DISPLAY_LIST(LAYER_OPAQUE, sa_seg7_dl_07002DE8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sa_seg7_dl_07002FD0),
GEO_RENDER_OBJ(),
GEO_ASM(2, geo_enfvx_main),
GEO_ASM(2, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -67,10 +67,10 @@ const LevelScript level_main_scripts_entry[] = {
LOAD_MODEL_FROM_GEO(MODEL_SMOKE, smoke_geo),
LOAD_MODEL_FROM_GEO(MODEL_SPARKLES, sparkles_geo),
LOAD_MODEL_FROM_GEO(MODEL_BUBBLE, bubble_geo),
LOAD_MODEL_FROM_GEO(MODEL_SPOT_ON_GROUND, spot_on_ground_geo),
LOAD_MODEL_FROM_GEO(MODEL_WATER_WAVES_SURF, water_waves_surface_geo),
LOAD_MODEL_FROM_GEO(MODEL_SMALL_WATER_SPLASH, small_water_splash_geo),
LOAD_MODEL_FROM_GEO(MODEL_IDLE_WATER_WAVE, idle_water_wave_geo),
LOAD_MODEL_FROM_GEO(MODEL_WATER_SPLASH, water_splash_geo),
LOAD_MODEL_FROM_GEO(MODEL_WATER_WAVES, water_waves_geo),
LOAD_MODEL_FROM_GEO(MODEL_WAVE_TRAIL, wave_trail_geo),
LOAD_MODEL_FROM_GEO(MODEL_YELLOW_COIN, yellow_coin_geo),
LOAD_MODEL_FROM_GEO(MODEL_STAR, star_geo),
LOAD_MODEL_FROM_GEO(MODEL_TRANSPARENT_STAR, transparent_star_geo),

View file

@ -25,7 +25,7 @@ const GeoLayout sl_geo_0003A8[] = {
GEO_ASM( 0, geo_movtex_pause_control),
GEO_ASM(0x1001, geo_movtex_draw_water_regions),
GEO_RENDER_OBJ(),
GEO_ASM( 1, geo_enfvx_main),
GEO_ASM( 1, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View file

@ -20,7 +20,7 @@ const GeoLayout sl_geo_000484[] = {
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sl_seg7_dl_0700C9E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sl_seg7_dl_0700CB58),
GEO_RENDER_OBJ(),
GEO_ASM(0, geo_enfvx_main),
GEO_ASM(0, geo_envfx_main),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

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