Browse Source

Refresh 7

master
n64 1 year ago
parent
commit
06ec56df7f
100 changed files with 1060 additions and 4317 deletions
  1. +40
    -0
      CHANGES
  2. +50
    -1
      Makefile
  3. +1
    -1
      Makefile.split
  4. +3
    -2
      README.md
  5. +1
    -1
      actors/boo/geo.inc.c
  6. +1
    -1
      actors/boo_castle/geo.inc.c
  7. +11
    -11
      actors/bowser/geo.inc.c
  8. +1
    -1
      actors/bowser_key/geo.inc.c
  9. +1
    -1
      actors/chuckya/geo.inc.c
  10. +1
    -1
      actors/group0.c
  11. +10
    -10
      actors/group0.h
  12. +1
    -1
      actors/group0_geo.c
  13. +1
    -1
      actors/impact_ring/geo.inc.c
  14. +1
    -1
      actors/impact_smoke/geo.inc.c
  15. +1
    -1
      actors/king_bobomb/geo.inc.c
  16. +4
    -4
      actors/klepto/geo.inc.c
  17. +1
    -1
      actors/lakitu_enemy/geo.inc.c
  18. +12
    -12
      actors/mario/geo.inc.c
  19. +4
    -4
      actors/mario_cap/geo.inc.c
  20. +2
    -2
      actors/mist/geo.inc.c
  21. +1
    -1
      actors/moneybag/geo.inc.c
  22. +1
    -1
      actors/monty_mole/geo.inc.c
  23. +1
    -1
      actors/peach/geo.inc.c
  24. +1
    -1
      actors/snowman/geo.inc.c
  25. +2
    -2
      actors/snufit/geo.inc.c
  26. +2
    -1
      actors/stomp_smoke/geo.inc.c
  27. +1
    -1
      actors/sushi/geo.inc.c
  28. +1
    -1
      actors/toad/geo.inc.c
  29. +1
    -1
      actors/water_ring/geo.inc.c
  30. +29
    -0
      actors/water_wave/geo.inc.c
  31. +27
    -27
      actors/water_wave/model.inc.c
  32. +0
    -29
      actors/water_waves/geo.inc.c
  33. +3
    -3
      asm/entry.s
  34. +0
    -303
      asm/non_matchings/alloc_bank_or_seq.s
  35. +0
    -151
      asm/non_matchings/eu/append_bubble_vertex_buffer.s
  36. +0
    -156
      asm/non_matchings/eu/append_snowflake_vertex_buffer.s
  37. +0
    -269
      asm/non_matchings/eu/audio/alloc_bank_or_seq.s
  38. +0
    -88
      asm/non_matchings/eu/audio/func_eu_802e00d8.s
  39. +0
    -263
      asm/non_matchings/eu/audio/note_apply_headset_pan_effects.s
  40. +0
    -179
      asm/non_matchings/eu/audio/prepare_reverb_ring_buffer.s
  41. +3
    -3
      asm/non_matchings/eu/audio/seq_channel_layer_process_script.s
  42. +0
    -56
      asm/non_matchings/eu/audio/sequence_channel_enable.s
  43. +0
    -698
      asm/non_matchings/eu/audio/sequence_player_process_sequence.s
  44. +0
    -331
      asm/non_matchings/eu/audio/synthesis_do_one_audio_update.s
  45. +0
    -178
      asm/non_matchings/eu/audio/synthesis_execute.s
  46. +0
    -220
      asm/non_matchings/eu/audio/synthesis_resample_and_mix_reverb.s
  47. +0
    -370
      asm/non_matchings/eu/handle_dialog_text_and_pages.s
  48. +0
    -55
      asm/non_matchings/eu/libultra_unk_802aeeb0.s
  49. +0
    -87
      asm/non_matchings/eu/libultra_unk_802aef80.s
  50. +0
    -86
      asm/non_matchings/eu/play_sequence.s
  51. +0
    -36
      asm/non_matchings/eu/player_performed_grab_escape_action.s
  52. +9
    -3
      asm/rom_header.s
  53. +5
    -6
      assets.json
  54. +183
    -138
      bin/segment2.c
  55. +0
    -5
      bin/spooky.c
  56. +88
    -68
      data/behavior_data.c
  57. +0
    -0
      diff.py
  58. +3
    -3
      enhancements/mem_error_screen.patch
  59. +3
    -1
      extract_assets.py
  60. +3
    -3
      include/PR/os_pi.h
  61. +14
    -14
      include/behavior_data.h
  62. +8
    -0
      include/eu_translation.h
  63. +3
    -3
      include/model_ids.h
  64. +71
    -28
      include/object_constants.h
  65. +29
    -29
      include/object_fields.h
  66. +2
    -0
      include/segments.h
  67. +20
    -20
      include/sm64.h
  68. +1
    -1
      include/text_strings.h.in
  69. +1
    -1
      levels/bbh/areas/1/geo.inc.c
  70. +1
    -1
      levels/bitdw/areas/1/geo.inc.c
  71. +1
    -1
      levels/bitfs/areas/1/geo.inc.c
  72. +1
    -1
      levels/bits/areas/1/geo.inc.c
  73. +1
    -1
      levels/bob/areas/1/geo.inc.c
  74. +1
    -1
      levels/bowser_1/areas/1/geo.inc.c
  75. +1
    -1
      levels/bowser_2/areas/1/geo.inc.c
  76. +1
    -1
      levels/bowser_3/areas/1/geo.inc.c
  77. +1
    -1
      levels/castle_courtyard/areas/1/geo.inc.c
  78. +1
    -1
      levels/castle_grounds/areas/1/geo.inc.c
  79. +17
    -17
      levels/castle_inside/areas/1/geo.inc.c
  80. +29
    -29
      levels/castle_inside/areas/2/geo.inc.c
  81. +20
    -20
      levels/castle_inside/areas/3/geo.inc.c
  82. +271
    -219
      levels/castle_inside/painting.inc.c
  83. +1
    -1
      levels/ccm/areas/1/geo.inc.c
  84. +1
    -1
      levels/ccm/areas/2/geo.inc.c
  85. +1
    -1
      levels/cotmc/areas/1/geo.inc.c
  86. +1
    -1
      levels/ddd/areas/1/geo.inc.c
  87. +1
    -1
      levels/ddd/areas/2/geo.inc.c
  88. +5
    -5
      levels/hmc/areas/1/geo.inc.c
  89. +27
    -21
      levels/hmc/areas/1/painting.inc.c
  90. +1
    -1
      levels/jrb/areas/1/geo.inc.c
  91. +1
    -1
      levels/jrb/areas/2/geo.inc.c
  92. +2
    -2
      levels/jrb/wooden_ship/geo.inc.c
  93. +1
    -1
      levels/lll/areas/1/geo.inc.c
  94. +1
    -1
      levels/lll/areas/2/geo.inc.c
  95. +1
    -1
      levels/pss/areas/1/geo.inc.c
  96. +1
    -1
      levels/rr/areas/1/geo.inc.c
  97. +1
    -1
      levels/sa/areas/1/geo.inc.c
  98. +3
    -3
      levels/scripts.c
  99. +1
    -1
      levels/sl/areas/1/geo.inc.c
  100. +1
    -1
      levels/sl/areas/2/geo.inc.c

+ 40
- 0
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)


+ 50
- 1
Makefile 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)


+ 1
- 1
Makefile.split 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)))


+ 3
- 2
README.md 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.


+ 1
- 1
actors/boo/geo.inc.c 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),


+ 1
- 1
actors/boo_castle/geo.inc.c 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),


+ 11
- 11
actors/bowser/geo.inc.c 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


+ 1
- 1
actors/bowser_key/geo.inc.c 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),


+ 1
- 1
actors/chuckya/geo.inc.c 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(),


+ 1
- 1
actors/group0.c 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"



+ 10
- 10
actors/group0.h 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[];


+ 1
- 1
actors/group0_geo.c 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"


+ 1
- 1
actors/impact_ring/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(),


+ 1
- 1
actors/impact_smoke/geo.inc.c 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),


+ 1
- 1
actors/king_bobomb/geo.inc.c 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(),


+ 4
- 4
actors/klepto/geo.inc.c 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(),


+ 1
- 1
actors/lakitu_enemy/geo.inc.c 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(),


+ 12
- 12
actors/mario/geo.inc.c 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(),


+ 4
- 4
actors/mario_cap/geo.inc.c 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(),


+ 2
- 2
actors/mist/geo.inc.c 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(),


+ 1
- 1
actors/moneybag/geo.inc.c 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),


+ 1
- 1
actors/monty_mole/geo.inc.c 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(),


+ 1
- 1
actors/peach/geo.inc.c 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),


+ 1
- 1
actors/snowman/geo.inc.c 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),


+ 2
- 2
actors/snufit/geo.inc.c 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),


+ 2
- 1
actors/stomp_smoke/geo.inc.c 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),


+ 1
- 1
actors/sushi/geo.inc.c 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),


+ 1
- 1
actors/toad/geo.inc.c 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),


+ 1
- 1
actors/water_ring/geo.inc.c 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(),


+ 29
- 0
actors/water_wave/geo.inc.c 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(),
};

actors/water_waves/model.inc.c → actors/water_wave/model.inc.c 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),
};

+ 0
- 29
actors/water_waves/geo.inc.c 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(),
};

+ 3
- 3
asm/entry.s 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


+ 0
- 303
asm/non_matchings/alloc_bank_or_seq.s 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

+ 0
- 151
asm/non_matchings/eu/append_bubble_vertex_buffer.s 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

+ 0
- 156
asm/non_matchings/eu/append_snowflake_vertex_buffer.s 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


+ 0
- 269
asm/non_matchings/eu/audio/alloc_bank_or_seq.s 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

+ 0
- 88
asm/non_matchings/eu/audio/func_eu_802e00d8.s 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