Map code (#80)

* split all map code

hype

* split area_table.bin properly

* fix coverage.py c_func_pattern to match multiline func signatures

* add src/world/* to makefile

* bump splat

* yikes

* splat maps without vram_lock

Co-authored-by: Alex Bates <hi@imalex.xyz>
This commit is contained in:
Ethan Roseman 2020-10-19 00:42:17 -04:00 committed by GitHub
parent a82d662627
commit 8e47ca56c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6593 changed files with 473025 additions and 7 deletions

View File

@ -5,10 +5,12 @@ SHELL=/bin/bash -o pipefail
# BUILD_DIR is location where all build artifacts are placed
BUILD_DIR = build
SRC_DIRS := src src/os src/os/nusys
WORLD_AREAS := area_dgb area_arn area_dro area_end area_flo area_gv area_hos area_isk area_iwa area_jan area_kgr area_kkj area_kmr area_kpa area_kzn area_mac area_mgm area_mim area_nok area_obk area_omo area_osr area_pra area_sam area_sbk area_tik area_trd area_tst
SRC_DIRS := src src/os src/os/nusys $(foreach area,$(WORLD_AREAS),src/world/$(area))
ASM_DIRS := asm asm/os
INCLUDE_DIRS := include include/PR src
DATA_DIRS := bin
DATA_DIRS := bin bin/world $(foreach area,$(WORLD_AREAS),bin/world/$(area))
YAY0_DIRS := bin/Yay0
ASSETS_FS_DIRS := assets/fs
@ -28,7 +30,7 @@ O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
$(foreach file,$(DATA_FILES),$(BUILD_DIR)/$(file:.bin=.o)) \
$(foreach dir,$(ASSETS_FS_DIRS),$(BUILD_DIR)/$(dir).o) \
YAY0_FILES := $(foreach file,$(YAY0_FILES),$(BUILD_DIR)/$(file:.bin=.bin.Yay0))
YAY0_FILES := $(foreach file,$(YAY0_FILES),$(BUILD_DIR)/$(file:.bin=.Yay0.o))
####################### Other Tools #########################
@ -98,7 +100,7 @@ $(BUILD_DIR)/%.o: %.c $(H_FILES)
$(BUILD_DIR)/%.o: %.bin
$(LD) -r -b binary -o $@ $<
$(BUILD_DIR)/%.bin.Yay0: %.bin
$(BUILD_DIR)/%.Yay0.o: %.bin
mkdir -p build/bin/Yay0
tools/Yay0compress $< $<.Yay0
$(LD) -r -b binary -o $@ $<.Yay0

View File

@ -0,0 +1,96 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_BDD1B0
/* BDD1B0 80240000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BDD1B4 80240004 AFBF001C */ sw $ra, 0x1c($sp)
/* BDD1B8 80240008 AFB20018 */ sw $s2, 0x18($sp)
/* BDD1BC 8024000C AFB10014 */ sw $s1, 0x14($sp)
/* BDD1C0 80240010 AFB00010 */ sw $s0, 0x10($sp)
/* BDD1C4 80240014 F7B40020 */ sdc1 $f20, 0x20($sp)
/* BDD1C8 80240018 8C900148 */ lw $s0, 0x148($a0)
/* BDD1CC 8024001C 86040008 */ lh $a0, 8($s0)
/* BDD1D0 80240020 3C014387 */ lui $at, 0x4387
/* BDD1D4 80240024 4481A000 */ mtc1 $at, $f20
/* BDD1D8 80240028 0C00EABB */ jal get_npc_unsafe
/* BDD1DC 8024002C 00A0882D */ daddu $s1, $a1, $zero
/* BDD1E0 80240030 0200202D */ daddu $a0, $s0, $zero
/* BDD1E4 80240034 8E26000C */ lw $a2, 0xc($s1)
/* BDD1E8 80240038 8E270010 */ lw $a3, 0x10($s1)
/* BDD1EC 8024003C 0040882D */ daddu $s1, $v0, $zero
/* BDD1F0 80240040 3C03800B */ lui $v1, %hi(gCameras)
/* BDD1F4 80240044 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* BDD1F8 80240048 3C02800A */ lui $v0, 0x800a
/* BDD1FC 8024004C 8442A634 */ lh $v0, -0x59cc($v0)
/* BDD200 80240050 0000282D */ daddu $a1, $zero, $zero
/* BDD204 80240054 00028080 */ sll $s0, $v0, 2
/* BDD208 80240058 02028021 */ addu $s0, $s0, $v0
/* BDD20C 8024005C 00108080 */ sll $s0, $s0, 2
/* BDD210 80240060 02028023 */ subu $s0, $s0, $v0
/* BDD214 80240064 001010C0 */ sll $v0, $s0, 3
/* BDD218 80240068 02028021 */ addu $s0, $s0, $v0
/* BDD21C 8024006C 001080C0 */ sll $s0, $s0, 3
/* BDD220 80240070 0C0124FB */ jal func_800493EC
/* BDD224 80240074 02038021 */ addu $s0, $s0, $v1
/* BDD228 80240078 C60C006C */ lwc1 $f12, 0x6c($s0)
/* BDD22C 8024007C C62E000C */ lwc1 $f14, 0xc($s1)
/* BDD230 80240080 0C00A70A */ jal get_clamped_angle_diff
/* BDD234 80240084 0002802B */ sltu $s0, $zero, $v0
/* BDD238 80240088 0C00A6C9 */ jal clamp_angle
/* BDD23C 8024008C 46000306 */ mov.s $f12, $f0
/* BDD240 80240090 3C018024 */ lui $at, 0x8024
/* BDD244 80240094 D4221AE0 */ ldc1 $f2, 0x1ae0($at)
/* BDD248 80240098 46000021 */ cvt.d.s $f0, $f0
/* BDD24C 8024009C 4622003C */ c.lt.d $f0, $f2
/* BDD250 802400A0 00000000 */ nop
/* BDD254 802400A4 45000003 */ bc1f .L802400B4
/* BDD258 802400A8 00000000 */ nop
/* BDD25C 802400AC 3C0142B4 */ lui $at, 0x42b4
/* BDD260 802400B0 4481A000 */ mtc1 $at, $f20
.L802400B4:
/* BDD264 802400B4 3C12800F */ lui $s2, %hi(gPlayerStatusPtr)
/* BDD268 802400B8 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr)
/* BDD26C 802400BC C62C0038 */ lwc1 $f12, 0x38($s1)
/* BDD270 802400C0 8E420000 */ lw $v0, ($s2)
/* BDD274 802400C4 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BDD278 802400C8 8C460028 */ lw $a2, 0x28($v0)
/* BDD27C 802400CC 0C00A720 */ jal atan2
/* BDD280 802400D0 8C470030 */ lw $a3, 0x30($v0)
/* BDD284 802400D4 4600A306 */ mov.s $f12, $f20
/* BDD288 802400D8 0C00A70A */ jal get_clamped_angle_diff
/* BDD28C 802400DC 46000386 */ mov.s $f14, $f0
/* BDD290 802400E0 46000005 */ abs.s $f0, $f0
/* BDD294 802400E4 3C018024 */ lui $at, 0x8024
/* BDD298 802400E8 D4221AE8 */ ldc1 $f2, 0x1ae8($at)
/* BDD29C 802400EC 46000021 */ cvt.d.s $f0, $f0
/* BDD2A0 802400F0 4620103C */ c.lt.d $f2, $f0
/* BDD2A4 802400F4 00000000 */ nop
/* BDD2A8 802400F8 45030001 */ bc1tl .L80240100
/* BDD2AC 802400FC 0000802D */ daddu $s0, $zero, $zero
.L80240100:
/* BDD2B0 80240100 8E420000 */ lw $v0, ($s2)
/* BDD2B4 80240104 C620003C */ lwc1 $f0, 0x3c($s1)
/* BDD2B8 80240108 C442002C */ lwc1 $f2, 0x2c($v0)
/* BDD2BC 8024010C 46020001 */ sub.s $f0, $f0, $f2
/* BDD2C0 80240110 3C014220 */ lui $at, 0x4220
/* BDD2C4 80240114 44811000 */ mtc1 $at, $f2
/* BDD2C8 80240118 46000005 */ abs.s $f0, $f0
/* BDD2CC 8024011C 4600103E */ c.le.s $f2, $f0
/* BDD2D0 80240120 00000000 */ nop
/* BDD2D4 80240124 45030001 */ bc1tl .L8024012C
/* BDD2D8 80240128 0000802D */ daddu $s0, $zero, $zero
.L8024012C:
/* BDD2DC 8024012C 3C038011 */ lui $v1, 0x8011
/* BDD2E0 80240130 8063EBB3 */ lb $v1, -0x144d($v1)
/* BDD2E4 80240134 24020009 */ addiu $v0, $zero, 9
/* BDD2E8 80240138 50620001 */ beql $v1, $v0, .L80240140
/* BDD2EC 8024013C 0000802D */ daddu $s0, $zero, $zero
.L80240140:
/* BDD2F0 80240140 0200102D */ daddu $v0, $s0, $zero
/* BDD2F4 80240144 8FBF001C */ lw $ra, 0x1c($sp)
/* BDD2F8 80240148 8FB20018 */ lw $s2, 0x18($sp)
/* BDD2FC 8024014C 8FB10014 */ lw $s1, 0x14($sp)
/* BDD300 80240150 8FB00010 */ lw $s0, 0x10($sp)
/* BDD304 80240154 D7B40020 */ ldc1 $f20, 0x20($sp)
/* BDD308 80240158 03E00008 */ jr $ra
/* BDD30C 8024015C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240160_BDD310
/* BDD310 80240160 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDD314 80240164 AFB10014 */ sw $s1, 0x14($sp)
/* BDD318 80240168 0080882D */ daddu $s1, $a0, $zero
/* BDD31C 8024016C AFBF001C */ sw $ra, 0x1c($sp)
/* BDD320 80240170 AFB20018 */ sw $s2, 0x18($sp)
/* BDD324 80240174 AFB00010 */ sw $s0, 0x10($sp)
/* BDD328 80240178 8E320148 */ lw $s2, 0x148($s1)
/* BDD32C 8024017C 0C00EABB */ jal get_npc_unsafe
/* BDD330 80240180 86440008 */ lh $a0, 8($s2)
/* BDD334 80240184 0040802D */ daddu $s0, $v0, $zero
/* BDD338 80240188 0C00EAFF */ jal disable_npc_shadow
/* BDD33C 8024018C 0200202D */ daddu $a0, $s0, $zero
/* BDD340 80240190 24020016 */ addiu $v0, $zero, 0x16
/* BDD344 80240194 A60200A8 */ sh $v0, 0xa8($s0)
/* BDD348 80240198 24020018 */ addiu $v0, $zero, 0x18
/* BDD34C 8024019C A60200A6 */ sh $v0, 0xa6($s0)
/* BDD350 802401A0 AE200074 */ sw $zero, 0x74($s1)
/* BDD354 802401A4 A600008E */ sh $zero, 0x8e($s0)
/* BDD358 802401A8 8E4200CC */ lw $v0, 0xcc($s2)
/* BDD35C 802401AC 8C420020 */ lw $v0, 0x20($v0)
/* BDD360 802401B0 AE020028 */ sw $v0, 0x28($s0)
/* BDD364 802401B4 24020001 */ addiu $v0, $zero, 1
/* BDD368 802401B8 AE220070 */ sw $v0, 0x70($s1)
/* BDD36C 802401BC 8FBF001C */ lw $ra, 0x1c($sp)
/* BDD370 802401C0 8FB20018 */ lw $s2, 0x18($sp)
/* BDD374 802401C4 8FB10014 */ lw $s1, 0x14($sp)
/* BDD378 802401C8 8FB00010 */ lw $s0, 0x10($sp)
/* BDD37C 802401CC 03E00008 */ jr $ra
/* BDD380 802401D0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,81 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802401D4_BDD384
/* BDD384 802401D4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDD388 802401D8 AFB3003C */ sw $s3, 0x3c($sp)
/* BDD38C 802401DC 0080982D */ daddu $s3, $a0, $zero
/* BDD390 802401E0 AFBF0044 */ sw $ra, 0x44($sp)
/* BDD394 802401E4 AFB40040 */ sw $s4, 0x40($sp)
/* BDD398 802401E8 AFB20038 */ sw $s2, 0x38($sp)
/* BDD39C 802401EC AFB10034 */ sw $s1, 0x34($sp)
/* BDD3A0 802401F0 AFB00030 */ sw $s0, 0x30($sp)
/* BDD3A4 802401F4 8E700148 */ lw $s0, 0x148($s3)
/* BDD3A8 802401F8 00A0902D */ daddu $s2, $a1, $zero
/* BDD3AC 802401FC 86040008 */ lh $a0, 8($s0)
/* BDD3B0 80240200 0C00EABB */ jal get_npc_unsafe
/* BDD3B4 80240204 00C0A02D */ daddu $s4, $a2, $zero
/* BDD3B8 80240208 8E630074 */ lw $v1, 0x74($s3)
/* BDD3BC 8024020C 1C600032 */ bgtz $v1, .L802402D8
/* BDD3C0 80240210 0040882D */ daddu $s1, $v0, $zero
/* BDD3C4 80240214 8E420014 */ lw $v0, 0x14($s2)
/* BDD3C8 80240218 AE620074 */ sw $v0, 0x74($s3)
/* BDD3CC 8024021C C640000C */ lwc1 $f0, 0xc($s2)
/* BDD3D0 80240220 3C018024 */ lui $at, 0x8024
/* BDD3D4 80240224 D4221AF0 */ ldc1 $f2, 0x1af0($at)
/* BDD3D8 80240228 46000021 */ cvt.d.s $f0, $f0
/* BDD3DC 8024022C 46220002 */ mul.d $f0, $f0, $f2
/* BDD3E0 80240230 00000000 */ nop
/* BDD3E4 80240234 0280202D */ daddu $a0, $s4, $zero
/* BDD3E8 80240238 AFA00010 */ sw $zero, 0x10($sp)
/* BDD3EC 8024023C 8E470010 */ lw $a3, 0x10($s2)
/* BDD3F0 80240240 46200020 */ cvt.s.d $f0, $f0
/* BDD3F4 80240244 44060000 */ mfc1 $a2, $f0
/* BDD3F8 80240248 0C01242D */ jal func_800490B4
/* BDD3FC 8024024C 0200282D */ daddu $a1, $s0, $zero
/* BDD400 80240250 10400021 */ beqz $v0, .L802402D8
/* BDD404 80240254 0000202D */ daddu $a0, $zero, $zero
/* BDD408 80240258 0220282D */ daddu $a1, $s1, $zero
/* BDD40C 8024025C 0000302D */ daddu $a2, $zero, $zero
/* BDD410 80240260 8E0200CC */ lw $v0, 0xcc($s0)
/* BDD414 80240264 3C013F80 */ lui $at, 0x3f80
/* BDD418 80240268 44810000 */ mtc1 $at, $f0
/* BDD41C 8024026C 3C014000 */ lui $at, 0x4000
/* BDD420 80240270 44811000 */ mtc1 $at, $f2
/* BDD424 80240274 8C430024 */ lw $v1, 0x24($v0)
/* BDD428 80240278 862200A8 */ lh $v0, 0xa8($s1)
/* BDD42C 8024027C 3C01C1A0 */ lui $at, 0xc1a0
/* BDD430 80240280 44812000 */ mtc1 $at, $f4
/* BDD434 80240284 44823000 */ mtc1 $v0, $f6
/* BDD438 80240288 00000000 */ nop
/* BDD43C 8024028C 468031A0 */ cvt.s.w $f6, $f6
/* BDD440 80240290 44073000 */ mfc1 $a3, $f6
/* BDD444 80240294 2402000F */ addiu $v0, $zero, 0xf
/* BDD448 80240298 AE230028 */ sw $v1, 0x28($s1)
/* BDD44C 8024029C AFA2001C */ sw $v0, 0x1c($sp)
/* BDD450 802402A0 27A20028 */ addiu $v0, $sp, 0x28
/* BDD454 802402A4 E7A00010 */ swc1 $f0, 0x10($sp)
/* BDD458 802402A8 E7A20014 */ swc1 $f2, 0x14($sp)
/* BDD45C 802402AC E7A40018 */ swc1 $f4, 0x18($sp)
/* BDD460 802402B0 0C01BFA4 */ jal fx_emote
/* BDD464 802402B4 AFA20020 */ sw $v0, 0x20($sp)
/* BDD468 802402B8 0220202D */ daddu $a0, $s1, $zero
/* BDD46C 802402BC 240502F4 */ addiu $a1, $zero, 0x2f4
/* BDD470 802402C0 0C012530 */ jal func_800494C0
/* BDD474 802402C4 3C060020 */ lui $a2, 0x20
/* BDD478 802402C8 2402000C */ addiu $v0, $zero, 0xc
/* BDD47C 802402CC A622008E */ sh $v0, 0x8e($s1)
/* BDD480 802402D0 24020002 */ addiu $v0, $zero, 2
/* BDD484 802402D4 AE620070 */ sw $v0, 0x70($s3)
.L802402D8:
/* BDD488 802402D8 8E620074 */ lw $v0, 0x74($s3)
/* BDD48C 802402DC 2442FFFF */ addiu $v0, $v0, -1
/* BDD490 802402E0 AE620074 */ sw $v0, 0x74($s3)
/* BDD494 802402E4 8FBF0044 */ lw $ra, 0x44($sp)
/* BDD498 802402E8 8FB40040 */ lw $s4, 0x40($sp)
/* BDD49C 802402EC 8FB3003C */ lw $s3, 0x3c($sp)
/* BDD4A0 802402F0 8FB20038 */ lw $s2, 0x38($sp)
/* BDD4A4 802402F4 8FB10034 */ lw $s1, 0x34($sp)
/* BDD4A8 802402F8 8FB00030 */ lw $s0, 0x30($sp)
/* BDD4AC 802402FC 03E00008 */ jr $ra
/* BDD4B0 80240300 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,44 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240304_BDD4B4
/* BDD4B4 80240304 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDD4B8 80240308 AFB20018 */ sw $s2, 0x18($sp)
/* BDD4BC 8024030C 0080902D */ daddu $s2, $a0, $zero
/* BDD4C0 80240310 AFBF001C */ sw $ra, 0x1c($sp)
/* BDD4C4 80240314 AFB10014 */ sw $s1, 0x14($sp)
/* BDD4C8 80240318 AFB00010 */ sw $s0, 0x10($sp)
/* BDD4CC 8024031C 8E510148 */ lw $s1, 0x148($s2)
/* BDD4D0 80240320 0C00EABB */ jal get_npc_unsafe
/* BDD4D4 80240324 86240008 */ lh $a0, 8($s1)
/* BDD4D8 80240328 0040802D */ daddu $s0, $v0, $zero
/* BDD4DC 8024032C 9602008E */ lhu $v0, 0x8e($s0)
/* BDD4E0 80240330 2442FFFF */ addiu $v0, $v0, -1
/* BDD4E4 80240334 A602008E */ sh $v0, 0x8e($s0)
/* BDD4E8 80240338 00021400 */ sll $v0, $v0, 0x10
/* BDD4EC 8024033C 1C400012 */ bgtz $v0, .L80240388
/* BDD4F0 80240340 00000000 */ nop
/* BDD4F4 80240344 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDD4F8 80240348 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDD4FC 8024034C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDD500 80240350 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDD504 80240354 8C460028 */ lw $a2, 0x28($v0)
/* BDD508 80240358 0C00A720 */ jal atan2
/* BDD50C 8024035C 8C470030 */ lw $a3, 0x30($v0)
/* BDD510 80240360 0200202D */ daddu $a0, $s0, $zero
/* BDD514 80240364 0C00EAE8 */ jal enable_npc_shadow
/* BDD518 80240368 E600000C */ swc1 $f0, 0xc($s0)
/* BDD51C 8024036C 8E2200CC */ lw $v0, 0xcc($s1)
/* BDD520 80240370 8C430028 */ lw $v1, 0x28($v0)
/* BDD524 80240374 24020008 */ addiu $v0, $zero, 8
/* BDD528 80240378 A602008E */ sh $v0, 0x8e($s0)
/* BDD52C 8024037C 24020003 */ addiu $v0, $zero, 3
/* BDD530 80240380 AE030028 */ sw $v1, 0x28($s0)
/* BDD534 80240384 AE420070 */ sw $v0, 0x70($s2)
.L80240388:
/* BDD538 80240388 8FBF001C */ lw $ra, 0x1c($sp)
/* BDD53C 8024038C 8FB20018 */ lw $s2, 0x18($sp)
/* BDD540 80240390 8FB10014 */ lw $s1, 0x14($sp)
/* BDD544 80240394 8FB00010 */ lw $s0, 0x10($sp)
/* BDD548 80240398 03E00008 */ jr $ra
/* BDD54C 8024039C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,39 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802403A0_BDD550
/* BDD550 802403A0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDD554 802403A4 AFB10014 */ sw $s1, 0x14($sp)
/* BDD558 802403A8 0080882D */ daddu $s1, $a0, $zero
/* BDD55C 802403AC AFBF0018 */ sw $ra, 0x18($sp)
/* BDD560 802403B0 AFB00010 */ sw $s0, 0x10($sp)
/* BDD564 802403B4 8E220148 */ lw $v0, 0x148($s1)
/* BDD568 802403B8 0C00EABB */ jal get_npc_unsafe
/* BDD56C 802403BC 84440008 */ lh $a0, 8($v0)
/* BDD570 802403C0 0040802D */ daddu $s0, $v0, $zero
/* BDD574 802403C4 9602008E */ lhu $v0, 0x8e($s0)
/* BDD578 802403C8 2442FFFF */ addiu $v0, $v0, -1
/* BDD57C 802403CC A602008E */ sh $v0, 0x8e($s0)
/* BDD580 802403D0 00021400 */ sll $v0, $v0, 0x10
/* BDD584 802403D4 1C40000F */ bgtz $v0, .L80240414
/* BDD588 802403D8 00000000 */ nop
/* BDD58C 802403DC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDD590 802403E0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDD594 802403E4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDD598 802403E8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDD59C 802403EC 8C460028 */ lw $a2, 0x28($v0)
/* BDD5A0 802403F0 0C00A720 */ jal atan2
/* BDD5A4 802403F4 8C470030 */ lw $a3, 0x30($v0)
/* BDD5A8 802403F8 2402001A */ addiu $v0, $zero, 0x1a
/* BDD5AC 802403FC A60200A8 */ sh $v0, 0xa8($s0)
/* BDD5B0 80240400 24020018 */ addiu $v0, $zero, 0x18
/* BDD5B4 80240404 A60200A6 */ sh $v0, 0xa6($s0)
/* BDD5B8 80240408 24020004 */ addiu $v0, $zero, 4
/* BDD5BC 8024040C E600000C */ swc1 $f0, 0xc($s0)
/* BDD5C0 80240410 AE220070 */ sw $v0, 0x70($s1)
.L80240414:
/* BDD5C4 80240414 8FBF0018 */ lw $ra, 0x18($sp)
/* BDD5C8 80240418 8FB10014 */ lw $s1, 0x14($sp)
/* BDD5CC 8024041C 8FB00010 */ lw $s0, 0x10($sp)
/* BDD5D0 80240420 03E00008 */ jr $ra
/* BDD5D4 80240424 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,46 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240428_BDD5D8
/* BDD5D8 80240428 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDD5DC 8024042C AFB10014 */ sw $s1, 0x14($sp)
/* BDD5E0 80240430 0080882D */ daddu $s1, $a0, $zero
/* BDD5E4 80240434 AFBF001C */ sw $ra, 0x1c($sp)
/* BDD5E8 80240438 AFB20018 */ sw $s2, 0x18($sp)
/* BDD5EC 8024043C AFB00010 */ sw $s0, 0x10($sp)
/* BDD5F0 80240440 8E320148 */ lw $s2, 0x148($s1)
/* BDD5F4 80240444 0C00EABB */ jal get_npc_unsafe
/* BDD5F8 80240448 86440008 */ lh $a0, 8($s2)
/* BDD5FC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4
/* BDD600 80240450 0C00A67F */ jal rand_int
/* BDD604 80240454 0040802D */ daddu $s0, $v0, $zero
/* BDD608 80240458 C60C000C */ lwc1 $f12, 0xc($s0)
/* BDD60C 8024045C 44820000 */ mtc1 $v0, $f0
/* BDD610 80240460 00000000 */ nop
/* BDD614 80240464 46800020 */ cvt.s.w $f0, $f0
/* BDD618 80240468 46006300 */ add.s $f12, $f12, $f0
/* BDD61C 8024046C 3C0142B4 */ lui $at, 0x42b4
/* BDD620 80240470 44810000 */ mtc1 $at, $f0
/* BDD624 80240474 0C00A6C9 */ jal clamp_angle
/* BDD628 80240478 46006301 */ sub.s $f12, $f12, $f0
/* BDD62C 8024047C E600000C */ swc1 $f0, 0xc($s0)
/* BDD630 80240480 8E4200CC */ lw $v0, 0xcc($s2)
/* BDD634 80240484 8C420000 */ lw $v0, ($v0)
/* BDD638 80240488 240403E8 */ addiu $a0, $zero, 0x3e8
/* BDD63C 8024048C 0C00A67F */ jal rand_int
/* BDD640 80240490 AE020028 */ sw $v0, 0x28($s0)
/* BDD644 80240494 00021FC2 */ srl $v1, $v0, 0x1f
/* BDD648 80240498 00431821 */ addu $v1, $v0, $v1
/* BDD64C 8024049C 00031843 */ sra $v1, $v1, 1
/* BDD650 802404A0 00031840 */ sll $v1, $v1, 1
/* BDD654 802404A4 00431023 */ subu $v0, $v0, $v1
/* BDD658 802404A8 24420002 */ addiu $v0, $v0, 2
/* BDD65C 802404AC AE220074 */ sw $v0, 0x74($s1)
/* BDD660 802404B0 24020005 */ addiu $v0, $zero, 5
/* BDD664 802404B4 AE220070 */ sw $v0, 0x70($s1)
/* BDD668 802404B8 8FBF001C */ lw $ra, 0x1c($sp)
/* BDD66C 802404BC 8FB20018 */ lw $s2, 0x18($sp)
/* BDD670 802404C0 8FB10014 */ lw $s1, 0x14($sp)
/* BDD674 802404C4 8FB00010 */ lw $s0, 0x10($sp)
/* BDD678 802404C8 03E00008 */ jr $ra
/* BDD67C 802404CC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,101 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802404D0_BDD680
/* BDD680 802404D0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDD684 802404D4 AFB3003C */ sw $s3, 0x3c($sp)
/* BDD688 802404D8 0080982D */ daddu $s3, $a0, $zero
/* BDD68C 802404DC AFBF0040 */ sw $ra, 0x40($sp)
/* BDD690 802404E0 AFB20038 */ sw $s2, 0x38($sp)
/* BDD694 802404E4 AFB10034 */ sw $s1, 0x34($sp)
/* BDD698 802404E8 AFB00030 */ sw $s0, 0x30($sp)
/* BDD69C 802404EC 8E700148 */ lw $s0, 0x148($s3)
/* BDD6A0 802404F0 00A0902D */ daddu $s2, $a1, $zero
/* BDD6A4 802404F4 86040008 */ lh $a0, 8($s0)
/* BDD6A8 802404F8 0C00EABB */ jal get_npc_unsafe
/* BDD6AC 802404FC 00C0882D */ daddu $s1, $a2, $zero
/* BDD6B0 80240500 0220202D */ daddu $a0, $s1, $zero
/* BDD6B4 80240504 0200282D */ daddu $a1, $s0, $zero
/* BDD6B8 80240508 AFA00010 */ sw $zero, 0x10($sp)
/* BDD6BC 8024050C 8E460024 */ lw $a2, 0x24($s2)
/* BDD6C0 80240510 8E470028 */ lw $a3, 0x28($s2)
/* BDD6C4 80240514 0C01242D */ jal func_800490B4
/* BDD6C8 80240518 0040802D */ daddu $s0, $v0, $zero
/* BDD6CC 8024051C 1040000B */ beqz $v0, .L8024054C
/* BDD6D0 80240520 00000000 */ nop
/* BDD6D4 80240524 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDD6D8 80240528 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDD6DC 8024052C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDD6E0 80240530 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDD6E4 80240534 8C460028 */ lw $a2, 0x28($v0)
/* BDD6E8 80240538 0C00A720 */ jal atan2
/* BDD6EC 8024053C 8C470030 */ lw $a3, 0x30($v0)
/* BDD6F0 80240540 2402000C */ addiu $v0, $zero, 0xc
/* BDD6F4 80240544 08090189 */ j .L80240624
/* BDD6F8 80240548 E600000C */ swc1 $f0, 0xc($s0)
.L8024054C:
/* BDD6FC 8024054C 9602008E */ lhu $v0, 0x8e($s0)
/* BDD700 80240550 2442FFFF */ addiu $v0, $v0, -1
/* BDD704 80240554 A602008E */ sh $v0, 0x8e($s0)
/* BDD708 80240558 00021400 */ sll $v0, $v0, 0x10
/* BDD70C 8024055C 1C400032 */ bgtz $v0, .L80240628
/* BDD710 80240560 00000000 */ nop
/* BDD714 80240564 8E620074 */ lw $v0, 0x74($s3)
/* BDD718 80240568 2442FFFF */ addiu $v0, $v0, -1
/* BDD71C 8024056C 18400014 */ blez $v0, .L802405C0
/* BDD720 80240570 AE620074 */ sw $v0, 0x74($s3)
/* BDD724 80240574 C600000C */ lwc1 $f0, 0xc($s0)
/* BDD728 80240578 3C014334 */ lui $at, 0x4334
/* BDD72C 8024057C 44816000 */ mtc1 $at, $f12
/* BDD730 80240580 0C00A6C9 */ jal clamp_angle
/* BDD734 80240584 460C0300 */ add.s $f12, $f0, $f12
/* BDD738 80240588 E600000C */ swc1 $f0, 0xc($s0)
/* BDD73C 8024058C 8E440008 */ lw $a0, 8($s2)
/* BDD740 80240590 000417C2 */ srl $v0, $a0, 0x1f
/* BDD744 80240594 00822021 */ addu $a0, $a0, $v0
/* BDD748 80240598 00042043 */ sra $a0, $a0, 1
/* BDD74C 8024059C 0C00A67F */ jal rand_int
/* BDD750 802405A0 24840001 */ addiu $a0, $a0, 1
/* BDD754 802405A4 8E430008 */ lw $v1, 8($s2)
/* BDD758 802405A8 000327C2 */ srl $a0, $v1, 0x1f
/* BDD75C 802405AC 00641821 */ addu $v1, $v1, $a0
/* BDD760 802405B0 00031843 */ sra $v1, $v1, 1
/* BDD764 802405B4 00621821 */ addu $v1, $v1, $v0
/* BDD768 802405B8 0809018A */ j .L80240628
/* BDD76C 802405BC A603008E */ sh $v1, 0x8e($s0)
.L802405C0:
/* BDD770 802405C0 24040002 */ addiu $a0, $zero, 2
/* BDD774 802405C4 0200282D */ daddu $a1, $s0, $zero
/* BDD778 802405C8 0000302D */ daddu $a2, $zero, $zero
/* BDD77C 802405CC 860300A8 */ lh $v1, 0xa8($s0)
/* BDD780 802405D0 3C013F80 */ lui $at, 0x3f80
/* BDD784 802405D4 44810000 */ mtc1 $at, $f0
/* BDD788 802405D8 3C014000 */ lui $at, 0x4000
/* BDD78C 802405DC 44811000 */ mtc1 $at, $f2
/* BDD790 802405E0 3C01C1A0 */ lui $at, 0xc1a0
/* BDD794 802405E4 44812000 */ mtc1 $at, $f4
/* BDD798 802405E8 2402000C */ addiu $v0, $zero, 0xc
/* BDD79C 802405EC AFA2001C */ sw $v0, 0x1c($sp)
/* BDD7A0 802405F0 44833000 */ mtc1 $v1, $f6
/* BDD7A4 802405F4 00000000 */ nop
/* BDD7A8 802405F8 468031A0 */ cvt.s.w $f6, $f6
/* BDD7AC 802405FC 44073000 */ mfc1 $a3, $f6
/* BDD7B0 80240600 27A20028 */ addiu $v0, $sp, 0x28
/* BDD7B4 80240604 AFA20020 */ sw $v0, 0x20($sp)
/* BDD7B8 80240608 E7A00010 */ swc1 $f0, 0x10($sp)
/* BDD7BC 8024060C E7A20014 */ swc1 $f2, 0x14($sp)
/* BDD7C0 80240610 0C01BFA4 */ jal fx_emote
/* BDD7C4 80240614 E7A40018 */ swc1 $f4, 0x18($sp)
/* BDD7C8 80240618 2402000F */ addiu $v0, $zero, 0xf
/* BDD7CC 8024061C A602008E */ sh $v0, 0x8e($s0)
/* BDD7D0 80240620 24020028 */ addiu $v0, $zero, 0x28
.L80240624:
/* BDD7D4 80240624 AE620070 */ sw $v0, 0x70($s3)
.L80240628:
/* BDD7D8 80240628 8FBF0040 */ lw $ra, 0x40($sp)
/* BDD7DC 8024062C 8FB3003C */ lw $s3, 0x3c($sp)
/* BDD7E0 80240630 8FB20038 */ lw $s2, 0x38($sp)
/* BDD7E4 80240634 8FB10034 */ lw $s1, 0x34($sp)
/* BDD7E8 80240638 8FB00030 */ lw $s0, 0x30($sp)
/* BDD7EC 8024063C 03E00008 */ jr $ra
/* BDD7F0 80240640 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,24 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240644_BDD7F4
/* BDD7F4 80240644 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDD7F8 80240648 AFB10014 */ sw $s1, 0x14($sp)
/* BDD7FC 8024064C 0080882D */ daddu $s1, $a0, $zero
/* BDD800 80240650 AFBF0018 */ sw $ra, 0x18($sp)
/* BDD804 80240654 AFB00010 */ sw $s0, 0x10($sp)
/* BDD808 80240658 8E300148 */ lw $s0, 0x148($s1)
/* BDD80C 8024065C 0C00EABB */ jal get_npc_unsafe
/* BDD810 80240660 86040008 */ lh $a0, 8($s0)
/* BDD814 80240664 96030096 */ lhu $v1, 0x96($s0)
/* BDD818 80240668 A443008E */ sh $v1, 0x8e($v0)
/* BDD81C 8024066C 8E0300CC */ lw $v1, 0xcc($s0)
/* BDD820 80240670 8C630034 */ lw $v1, 0x34($v1)
/* BDD824 80240674 AC430028 */ sw $v1, 0x28($v0)
/* BDD828 80240678 24020015 */ addiu $v0, $zero, 0x15
/* BDD82C 8024067C AE220070 */ sw $v0, 0x70($s1)
/* BDD830 80240680 8FBF0018 */ lw $ra, 0x18($sp)
/* BDD834 80240684 8FB10014 */ lw $s1, 0x14($sp)
/* BDD838 80240688 8FB00010 */ lw $s0, 0x10($sp)
/* BDD83C 8024068C 03E00008 */ jr $ra
/* BDD840 80240690 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,111 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240694_BDD844
/* BDD844 80240694 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BDD848 80240698 AFB30024 */ sw $s3, 0x24($sp)
/* BDD84C 8024069C 0080982D */ daddu $s3, $a0, $zero
/* BDD850 802406A0 AFBF002C */ sw $ra, 0x2c($sp)
/* BDD854 802406A4 AFB40028 */ sw $s4, 0x28($sp)
/* BDD858 802406A8 AFB20020 */ sw $s2, 0x20($sp)
/* BDD85C 802406AC AFB1001C */ sw $s1, 0x1c($sp)
/* BDD860 802406B0 AFB00018 */ sw $s0, 0x18($sp)
/* BDD864 802406B4 8E710148 */ lw $s1, 0x148($s3)
/* BDD868 802406B8 86240008 */ lh $a0, 8($s1)
/* BDD86C 802406BC 0C00EABB */ jal get_npc_unsafe
/* BDD870 802406C0 00A0A02D */ daddu $s4, $a1, $zero
/* BDD874 802406C4 0040802D */ daddu $s0, $v0, $zero
/* BDD878 802406C8 3C12800F */ lui $s2, %hi(gPlayerStatusPtr)
/* BDD87C 802406CC 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr)
/* BDD880 802406D0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDD884 802406D4 8E420000 */ lw $v0, ($s2)
/* BDD888 802406D8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDD88C 802406DC 8C460028 */ lw $a2, 0x28($v0)
/* BDD890 802406E0 0C00A720 */ jal atan2
/* BDD894 802406E4 8C470030 */ lw $a3, 0x30($v0)
/* BDD898 802406E8 3C025555 */ lui $v0, 0x5555
/* BDD89C 802406EC 9603008E */ lhu $v1, 0x8e($s0)
/* BDD8A0 802406F0 34425556 */ ori $v0, $v0, 0x5556
/* BDD8A4 802406F4 00031C00 */ sll $v1, $v1, 0x10
/* BDD8A8 802406F8 00032403 */ sra $a0, $v1, 0x10
/* BDD8AC 802406FC 00820018 */ mult $a0, $v0
/* BDD8B0 80240700 00031FC3 */ sra $v1, $v1, 0x1f
/* BDD8B4 80240704 00004010 */ mfhi $t0
/* BDD8B8 80240708 01031823 */ subu $v1, $t0, $v1
/* BDD8BC 8024070C 00031040 */ sll $v0, $v1, 1
/* BDD8C0 80240710 00431021 */ addu $v0, $v0, $v1
/* BDD8C4 80240714 00822023 */ subu $a0, $a0, $v0
/* BDD8C8 80240718 00042400 */ sll $a0, $a0, 0x10
/* BDD8CC 8024071C 1480000C */ bnez $a0, .L80240750
/* BDD8D0 80240720 E600000C */ swc1 $f0, 0xc($s0)
/* BDD8D4 80240724 C6020040 */ lwc1 $f2, 0x40($s0)
/* BDD8D8 80240728 3C014000 */ lui $at, 0x4000
/* BDD8DC 8024072C 44810000 */ mtc1 $at, $f0
/* BDD8E0 80240730 AFA00010 */ sw $zero, 0x10($sp)
/* BDD8E4 80240734 AFA00014 */ sw $zero, 0x14($sp)
/* BDD8E8 80240738 46001080 */ add.s $f2, $f2, $f0
/* BDD8EC 8024073C 8E06003C */ lw $a2, 0x3c($s0)
/* BDD8F0 80240740 8E050038 */ lw $a1, 0x38($s0)
/* BDD8F4 80240744 44071000 */ mfc1 $a3, $f2
/* BDD8F8 80240748 0C01BECC */ jal fx_walk_normal
/* BDD8FC 8024074C 24040002 */ addiu $a0, $zero, 2
.L80240750:
/* BDD900 80240750 9602008E */ lhu $v0, 0x8e($s0)
/* BDD904 80240754 2442FFFF */ addiu $v0, $v0, -1
/* BDD908 80240758 A602008E */ sh $v0, 0x8e($s0)
/* BDD90C 8024075C 00021400 */ sll $v0, $v0, 0x10
/* BDD910 80240760 1C40002C */ bgtz $v0, .L80240814
/* BDD914 80240764 00000000 */ nop
/* BDD918 80240768 C6000038 */ lwc1 $f0, 0x38($s0)
/* BDD91C 8024076C 4600010D */ trunc.w.s $f4, $f0
/* BDD920 80240770 44022000 */ mfc1 $v0, $f4
/* BDD924 80240774 00000000 */ nop
/* BDD928 80240778 A6220010 */ sh $v0, 0x10($s1)
/* BDD92C 8024077C C600003C */ lwc1 $f0, 0x3c($s0)
/* BDD930 80240780 4600010D */ trunc.w.s $f4, $f0
/* BDD934 80240784 44022000 */ mfc1 $v0, $f4
/* BDD938 80240788 00000000 */ nop
/* BDD93C 8024078C A6220012 */ sh $v0, 0x12($s1)
/* BDD940 80240790 C6000040 */ lwc1 $f0, 0x40($s0)
/* BDD944 80240794 24020001 */ addiu $v0, $zero, 1
/* BDD948 80240798 A2220007 */ sb $v0, 7($s1)
/* BDD94C 8024079C 4600010D */ trunc.w.s $f4, $f0
/* BDD950 802407A0 44022000 */ mfc1 $v0, $f4
/* BDD954 802407A4 00000000 */ nop
/* BDD958 802407A8 A6220014 */ sh $v0, 0x14($s1)
/* BDD95C 802407AC C6800018 */ lwc1 $f0, 0x18($s4)
/* BDD960 802407B0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDD964 802407B4 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDD968 802407B8 8E420000 */ lw $v0, ($s2)
/* BDD96C 802407BC E6000018 */ swc1 $f0, 0x18($s0)
/* BDD970 802407C0 8C460028 */ lw $a2, 0x28($v0)
/* BDD974 802407C4 0C00A7B5 */ jal dist2D
/* BDD978 802407C8 8C470030 */ lw $a3, 0x30($v0)
/* BDD97C 802407CC C6020018 */ lwc1 $f2, 0x18($s0)
/* BDD980 802407D0 46020003 */ div.s $f0, $f0, $f2
/* BDD984 802407D4 3C018024 */ lui $at, 0x8024
/* BDD988 802407D8 D4221AF8 */ ldc1 $f2, 0x1af8($at)
/* BDD98C 802407DC 46000021 */ cvt.d.s $f0, $f0
/* BDD990 802407E0 46220000 */ add.d $f0, $f0, $f2
/* BDD994 802407E4 4620010D */ trunc.w.d $f4, $f0
/* BDD998 802407E8 44022000 */ mfc1 $v0, $f4
/* BDD99C 802407EC 00000000 */ nop
/* BDD9A0 802407F0 A602008E */ sh $v0, 0x8e($s0)
/* BDD9A4 802407F4 00021400 */ sll $v0, $v0, 0x10
/* BDD9A8 802407F8 00021403 */ sra $v0, $v0, 0x10
/* BDD9AC 802407FC 2842000F */ slti $v0, $v0, 0xf
/* BDD9B0 80240800 10400002 */ beqz $v0, .L8024080C
/* BDD9B4 80240804 2402000F */ addiu $v0, $zero, 0xf
/* BDD9B8 80240808 A602008E */ sh $v0, 0x8e($s0)
.L8024080C:
/* BDD9BC 8024080C 24020016 */ addiu $v0, $zero, 0x16
/* BDD9C0 80240810 AE620070 */ sw $v0, 0x70($s3)
.L80240814:
/* BDD9C4 80240814 8FBF002C */ lw $ra, 0x2c($sp)
/* BDD9C8 80240818 8FB40028 */ lw $s4, 0x28($sp)
/* BDD9CC 8024081C 8FB30024 */ lw $s3, 0x24($sp)
/* BDD9D0 80240820 8FB20020 */ lw $s2, 0x20($sp)
/* BDD9D4 80240824 8FB1001C */ lw $s1, 0x1c($sp)
/* BDD9D8 80240828 8FB00018 */ lw $s0, 0x18($sp)
/* BDD9DC 8024082C 03E00008 */ jr $ra
/* BDD9E0 80240830 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,91 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240834_BDD9E4
/* BDD9E4 80240834 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDD9E8 80240838 AFB3003C */ sw $s3, 0x3c($sp)
/* BDD9EC 8024083C 0080982D */ daddu $s3, $a0, $zero
/* BDD9F0 80240840 AFBF0040 */ sw $ra, 0x40($sp)
/* BDD9F4 80240844 AFB20038 */ sw $s2, 0x38($sp)
/* BDD9F8 80240848 AFB10034 */ sw $s1, 0x34($sp)
/* BDD9FC 8024084C AFB00030 */ sw $s0, 0x30($sp)
/* BDDA00 80240850 8E720148 */ lw $s2, 0x148($s3)
/* BDDA04 80240854 0C00EABB */ jal get_npc_unsafe
/* BDDA08 80240858 86440008 */ lh $a0, 8($s2)
/* BDDA0C 8024085C 0040802D */ daddu $s0, $v0, $zero
/* BDDA10 80240860 0200202D */ daddu $a0, $s0, $zero
/* BDDA14 80240864 0C00F598 */ jal func_8003D660
/* BDDA18 80240868 24050001 */ addiu $a1, $zero, 1
/* BDDA1C 8024086C 8E050018 */ lw $a1, 0x18($s0)
/* BDDA20 80240870 8E06000C */ lw $a2, 0xc($s0)
/* BDDA24 80240874 0C00EA95 */ jal npc_move_heading
/* BDDA28 80240878 0200202D */ daddu $a0, $s0, $zero
/* BDDA2C 8024087C 8E4300D0 */ lw $v1, 0xd0($s2)
/* BDDA30 80240880 C6000040 */ lwc1 $f0, 0x40($s0)
/* BDDA34 80240884 C462001C */ lwc1 $f2, 0x1c($v1)
/* BDDA38 80240888 468010A0 */ cvt.s.w $f2, $f2
/* BDDA3C 8024088C C4640024 */ lwc1 $f4, 0x24($v1)
/* BDDA40 80240890 46802120 */ cvt.s.w $f4, $f4
/* BDDA44 80240894 E7A00010 */ swc1 $f0, 0x10($sp)
/* BDDA48 80240898 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDA4C 8024089C 44051000 */ mfc1 $a1, $f2
/* BDDA50 802408A0 C4400028 */ lwc1 $f0, 0x28($v0)
/* BDDA54 802408A4 46800020 */ cvt.s.w $f0, $f0
/* BDDA58 802408A8 E7A00014 */ swc1 $f0, 0x14($sp)
/* BDDA5C 802408AC 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDA60 802408B0 44062000 */ mfc1 $a2, $f4
/* BDDA64 802408B4 C440002C */ lwc1 $f0, 0x2c($v0)
/* BDDA68 802408B8 46800020 */ cvt.s.w $f0, $f0
/* BDDA6C 802408BC E7A00018 */ swc1 $f0, 0x18($sp)
/* BDDA70 802408C0 8C640030 */ lw $a0, 0x30($v1)
/* BDDA74 802408C4 0C0123F5 */ jal is_point_within_region
/* BDDA78 802408C8 8E070038 */ lw $a3, 0x38($s0)
/* BDDA7C 802408CC C6000038 */ lwc1 $f0, 0x38($s0)
/* BDDA80 802408D0 C602003C */ lwc1 $f2, 0x3c($s0)
/* BDDA84 802408D4 C6040040 */ lwc1 $f4, 0x40($s0)
/* BDDA88 802408D8 3C013F80 */ lui $at, 0x3f80
/* BDDA8C 802408DC 44813000 */ mtc1 $at, $f6
/* BDDA90 802408E0 E7A00020 */ swc1 $f0, 0x20($sp)
/* BDDA94 802408E4 E7A20024 */ swc1 $f2, 0x24($sp)
/* BDDA98 802408E8 E7A40028 */ swc1 $f4, 0x28($sp)
/* BDDA9C 802408EC E7A60010 */ swc1 $f6, 0x10($sp)
/* BDDAA0 802408F0 C600000C */ lwc1 $f0, 0xc($s0)
/* BDDAA4 802408F4 0002882B */ sltu $s1, $zero, $v0
/* BDDAA8 802408F8 E7A00014 */ swc1 $f0, 0x14($sp)
/* BDDAAC 802408FC 860200A8 */ lh $v0, 0xa8($s0)
/* BDDAB0 80240900 27A50020 */ addiu $a1, $sp, 0x20
/* BDDAB4 80240904 44820000 */ mtc1 $v0, $f0
/* BDDAB8 80240908 00000000 */ nop
/* BDDABC 8024090C 46800020 */ cvt.s.w $f0, $f0
/* BDDAC0 80240910 E7A00018 */ swc1 $f0, 0x18($sp)
/* BDDAC4 80240914 860200A6 */ lh $v0, 0xa6($s0)
/* BDDAC8 80240918 27A60024 */ addiu $a2, $sp, 0x24
/* BDDACC 8024091C 44820000 */ mtc1 $v0, $f0
/* BDDAD0 80240920 00000000 */ nop
/* BDDAD4 80240924 46800020 */ cvt.s.w $f0, $f0
/* BDDAD8 80240928 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BDDADC 8024092C 8E040080 */ lw $a0, 0x80($s0)
/* BDDAE0 80240930 0C037711 */ jal func_800DDC44
/* BDDAE4 80240934 27A70028 */ addiu $a3, $sp, 0x28
/* BDDAE8 80240938 54400001 */ bnel $v0, $zero, .L80240940
/* BDDAEC 8024093C 24110001 */ addiu $s1, $zero, 1
.L80240940:
/* BDDAF0 80240940 9602008E */ lhu $v0, 0x8e($s0)
/* BDDAF4 80240944 2442FFFF */ addiu $v0, $v0, -1
/* BDDAF8 80240948 A602008E */ sh $v0, 0x8e($s0)
/* BDDAFC 8024094C 00021400 */ sll $v0, $v0, 0x10
/* BDDB00 80240950 58400001 */ blezl $v0, .L80240958
/* BDDB04 80240954 24110001 */ addiu $s1, $zero, 1
.L80240958:
/* BDDB08 80240958 12200003 */ beqz $s1, .L80240968
/* BDDB0C 8024095C 24020004 */ addiu $v0, $zero, 4
/* BDDB10 80240960 AE620070 */ sw $v0, 0x70($s3)
/* BDDB14 80240964 A2400007 */ sb $zero, 7($s2)
.L80240968:
/* BDDB18 80240968 8FBF0040 */ lw $ra, 0x40($sp)
/* BDDB1C 8024096C 8FB3003C */ lw $s3, 0x3c($sp)
/* BDDB20 80240970 8FB20038 */ lw $s2, 0x38($sp)
/* BDDB24 80240974 8FB10034 */ lw $s1, 0x34($sp)
/* BDDB28 80240978 8FB00030 */ lw $s0, 0x30($sp)
/* BDDB2C 8024097C 03E00008 */ jr $ra
/* BDDB30 80240980 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,50 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240984_BDDB34
/* BDDB34 80240984 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDDB38 80240988 AFB20018 */ sw $s2, 0x18($sp)
/* BDDB3C 8024098C 0080902D */ daddu $s2, $a0, $zero
/* BDDB40 80240990 AFBF001C */ sw $ra, 0x1c($sp)
/* BDDB44 80240994 AFB10014 */ sw $s1, 0x14($sp)
/* BDDB48 80240998 AFB00010 */ sw $s0, 0x10($sp)
/* BDDB4C 8024099C 8E500148 */ lw $s0, 0x148($s2)
/* BDDB50 802409A0 86040008 */ lh $a0, 8($s0)
/* BDDB54 802409A4 0C00EABB */ jal get_npc_unsafe
/* BDDB58 802409A8 00A0882D */ daddu $s1, $a1, $zero
/* BDDB5C 802409AC 0040182D */ daddu $v1, $v0, $zero
/* BDDB60 802409B0 9462008E */ lhu $v0, 0x8e($v1)
/* BDDB64 802409B4 2442FFFF */ addiu $v0, $v0, -1
/* BDDB68 802409B8 A462008E */ sh $v0, 0x8e($v1)
/* BDDB6C 802409BC 00021400 */ sll $v0, $v0, 0x10
/* BDDB70 802409C0 1C400015 */ bgtz $v0, .L80240A18
/* BDDB74 802409C4 00000000 */ nop
/* BDDB78 802409C8 8E0200CC */ lw $v0, 0xcc($s0)
/* BDDB7C 802409CC 8C420004 */ lw $v0, 4($v0)
/* BDDB80 802409D0 AC620028 */ sw $v0, 0x28($v1)
/* BDDB84 802409D4 8E0200D0 */ lw $v0, 0xd0($s0)
/* BDDB88 802409D8 8C420014 */ lw $v0, 0x14($v0)
/* BDDB8C 802409DC 04410004 */ bgez $v0, .L802409F0
/* BDDB90 802409E0 00000000 */ nop
/* BDDB94 802409E4 C6200000 */ lwc1 $f0, ($s1)
/* BDDB98 802409E8 08090284 */ j .L80240A10
/* BDDB9C 802409EC E4600018 */ swc1 $f0, 0x18($v1)
.L802409F0:
/* BDDBA0 802409F0 3C018024 */ lui $at, 0x8024
/* BDDBA4 802409F4 D4221B00 */ ldc1 $f2, 0x1b00($at)
/* BDDBA8 802409F8 44820000 */ mtc1 $v0, $f0
/* BDDBAC 802409FC 00000000 */ nop
/* BDDBB0 80240A00 46800021 */ cvt.d.w $f0, $f0
/* BDDBB4 80240A04 46220003 */ div.d $f0, $f0, $f2
/* BDDBB8 80240A08 46200020 */ cvt.s.d $f0, $f0
/* BDDBBC 80240A0C E4600018 */ swc1 $f0, 0x18($v1)
.L80240A10:
/* BDDBC0 80240A10 24020029 */ addiu $v0, $zero, 0x29
/* BDDBC4 80240A14 AE420070 */ sw $v0, 0x70($s2)
.L80240A18:
/* BDDBC8 80240A18 8FBF001C */ lw $ra, 0x1c($sp)
/* BDDBCC 80240A1C 8FB20018 */ lw $s2, 0x18($sp)
/* BDDBD0 80240A20 8FB10014 */ lw $s1, 0x14($sp)
/* BDDBD4 80240A24 8FB00010 */ lw $s0, 0x10($sp)
/* BDDBD8 80240A28 03E00008 */ jr $ra
/* BDDBDC 80240A2C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,85 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A30_BDDBE0
/* BDDBE0 80240A30 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BDDBE4 80240A34 AFB30024 */ sw $s3, 0x24($sp)
/* BDDBE8 80240A38 0080982D */ daddu $s3, $a0, $zero
/* BDDBEC 80240A3C AFBF0028 */ sw $ra, 0x28($sp)
/* BDDBF0 80240A40 AFB20020 */ sw $s2, 0x20($sp)
/* BDDBF4 80240A44 AFB1001C */ sw $s1, 0x1c($sp)
/* BDDBF8 80240A48 AFB00018 */ sw $s0, 0x18($sp)
/* BDDBFC 80240A4C 8E720148 */ lw $s2, 0x148($s3)
/* BDDC00 80240A50 00A0882D */ daddu $s1, $a1, $zero
/* BDDC04 80240A54 86440008 */ lh $a0, 8($s2)
/* BDDC08 80240A58 0C00EABB */ jal get_npc_unsafe
/* BDDC0C 80240A5C 00C0802D */ daddu $s0, $a2, $zero
/* BDDC10 80240A60 0200202D */ daddu $a0, $s0, $zero
/* BDDC14 80240A64 0240282D */ daddu $a1, $s2, $zero
/* BDDC18 80240A68 AFA00010 */ sw $zero, 0x10($sp)
/* BDDC1C 80240A6C 8E260024 */ lw $a2, 0x24($s1)
/* BDDC20 80240A70 8E270028 */ lw $a3, 0x28($s1)
/* BDDC24 80240A74 0C01242D */ jal func_800490B4
/* BDDC28 80240A78 0040802D */ daddu $s0, $v0, $zero
/* BDDC2C 80240A7C 1040000C */ beqz $v0, .L80240AB0
/* BDDC30 80240A80 00000000 */ nop
/* BDDC34 80240A84 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDDC38 80240A88 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDDC3C 80240A8C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDDC40 80240A90 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDDC44 80240A94 8C460028 */ lw $a2, 0x28($v0)
/* BDDC48 80240A98 0C00A720 */ jal atan2
/* BDDC4C 80240A9C 8C470030 */ lw $a3, 0x30($v0)
/* BDDC50 80240AA0 2402000C */ addiu $v0, $zero, 0xc
/* BDDC54 80240AA4 E600000C */ swc1 $f0, 0xc($s0)
/* BDDC58 80240AA8 080902D3 */ j .L80240B4C
/* BDDC5C 80240AAC AE620070 */ sw $v0, 0x70($s3)
.L80240AB0:
/* BDDC60 80240AB0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDDC64 80240AB4 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDC68 80240AB8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDDC6C 80240ABC C4440000 */ lwc1 $f4, ($v0)
/* BDDC70 80240AC0 46802120 */ cvt.s.w $f4, $f4
/* BDDC74 80240AC4 44062000 */ mfc1 $a2, $f4
/* BDDC78 80240AC8 C4440008 */ lwc1 $f4, 8($v0)
/* BDDC7C 80240ACC 46802120 */ cvt.s.w $f4, $f4
/* BDDC80 80240AD0 44072000 */ mfc1 $a3, $f4
/* BDDC84 80240AD4 0C00A7B5 */ jal dist2D
/* BDDC88 80240AD8 00000000 */ nop
/* BDDC8C 80240ADC C6020018 */ lwc1 $f2, 0x18($s0)
/* BDDC90 80240AE0 4602003E */ c.le.s $f0, $f2
/* BDDC94 80240AE4 00000000 */ nop
/* BDDC98 80240AE8 45000005 */ bc1f .L80240B00
/* BDDC9C 80240AEC 2402000A */ addiu $v0, $zero, 0xa
/* BDDCA0 80240AF0 A602008E */ sh $v0, 0x8e($s0)
/* BDDCA4 80240AF4 24020032 */ addiu $v0, $zero, 0x32
/* BDDCA8 80240AF8 080902D3 */ j .L80240B4C
/* BDDCAC 80240AFC AE620070 */ sw $v0, 0x70($s3)
.L80240B00:
/* BDDCB0 80240B00 8602008C */ lh $v0, 0x8c($s0)
/* BDDCB4 80240B04 14400011 */ bnez $v0, .L80240B4C
/* BDDCB8 80240B08 00000000 */ nop
/* BDDCBC 80240B0C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDDCC0 80240B10 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDCC4 80240B14 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDDCC8 80240B18 C4440000 */ lwc1 $f4, ($v0)
/* BDDCCC 80240B1C 46802120 */ cvt.s.w $f4, $f4
/* BDDCD0 80240B20 44062000 */ mfc1 $a2, $f4
/* BDDCD4 80240B24 C4440008 */ lwc1 $f4, 8($v0)
/* BDDCD8 80240B28 46802120 */ cvt.s.w $f4, $f4
/* BDDCDC 80240B2C 44072000 */ mfc1 $a3, $f4
/* BDDCE0 80240B30 0C00A720 */ jal atan2
/* BDDCE4 80240B34 00000000 */ nop
/* BDDCE8 80240B38 8E050018 */ lw $a1, 0x18($s0)
/* BDDCEC 80240B3C 44060000 */ mfc1 $a2, $f0
/* BDDCF0 80240B40 0200202D */ daddu $a0, $s0, $zero
/* BDDCF4 80240B44 0C00EA95 */ jal npc_move_heading
/* BDDCF8 80240B48 AC86000C */ sw $a2, 0xc($a0)
.L80240B4C:
/* BDDCFC 80240B4C 8FBF0028 */ lw $ra, 0x28($sp)
/* BDDD00 80240B50 8FB30024 */ lw $s3, 0x24($sp)
/* BDDD04 80240B54 8FB20020 */ lw $s2, 0x20($sp)
/* BDDD08 80240B58 8FB1001C */ lw $s1, 0x1c($sp)
/* BDDD0C 80240B5C 8FB00018 */ lw $s0, 0x18($sp)
/* BDDD10 80240B60 03E00008 */ jr $ra
/* BDDD14 80240B64 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,37 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B68_BDDD18
/* BDDD18 80240B68 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDDD1C 80240B6C AFB10014 */ sw $s1, 0x14($sp)
/* BDDD20 80240B70 0080882D */ daddu $s1, $a0, $zero
/* BDDD24 80240B74 AFBF0018 */ sw $ra, 0x18($sp)
/* BDDD28 80240B78 AFB00010 */ sw $s0, 0x10($sp)
/* BDDD2C 80240B7C 8E300148 */ lw $s0, 0x148($s1)
/* BDDD30 80240B80 0C00EABB */ jal get_npc_unsafe
/* BDDD34 80240B84 86040008 */ lh $a0, 8($s0)
/* BDDD38 80240B88 0040202D */ daddu $a0, $v0, $zero
/* BDDD3C 80240B8C 8482008E */ lh $v0, 0x8e($a0)
/* BDDD40 80240B90 9483008E */ lhu $v1, 0x8e($a0)
/* BDDD44 80240B94 18400002 */ blez $v0, .L80240BA0
/* BDDD48 80240B98 2462FFFF */ addiu $v0, $v1, -1
/* BDDD4C 80240B9C A482008E */ sh $v0, 0x8e($a0)
.L80240BA0:
/* BDDD50 80240BA0 8482008C */ lh $v0, 0x8c($a0)
/* BDDD54 80240BA4 1440000A */ bnez $v0, .L80240BD0
/* BDDD58 80240BA8 00000000 */ nop
/* BDDD5C 80240BAC 8482008E */ lh $v0, 0x8e($a0)
/* BDDD60 80240BB0 1C400007 */ bgtz $v0, .L80240BD0
/* BDDD64 80240BB4 24020008 */ addiu $v0, $zero, 8
/* BDDD68 80240BB8 A482008E */ sh $v0, 0x8e($a0)
/* BDDD6C 80240BBC 8E0200CC */ lw $v0, 0xcc($s0)
/* BDDD70 80240BC0 8C42002C */ lw $v0, 0x2c($v0)
/* BDDD74 80240BC4 AC820028 */ sw $v0, 0x28($a0)
/* BDDD78 80240BC8 24020033 */ addiu $v0, $zero, 0x33
/* BDDD7C 80240BCC AE220070 */ sw $v0, 0x70($s1)
.L80240BD0:
/* BDDD80 80240BD0 8FBF0018 */ lw $ra, 0x18($sp)
/* BDDD84 80240BD4 8FB10014 */ lw $s1, 0x14($sp)
/* BDDD88 80240BD8 8FB00010 */ lw $s0, 0x10($sp)
/* BDDD8C 80240BDC 03E00008 */ jr $ra
/* BDDD90 80240BE0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,31 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240BE4_BDDD94
/* BDDD94 80240BE4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDDD98 80240BE8 AFB10014 */ sw $s1, 0x14($sp)
/* BDDD9C 80240BEC 0080882D */ daddu $s1, $a0, $zero
/* BDDDA0 80240BF0 AFBF0018 */ sw $ra, 0x18($sp)
/* BDDDA4 80240BF4 AFB00010 */ sw $s0, 0x10($sp)
/* BDDDA8 80240BF8 8E300148 */ lw $s0, 0x148($s1)
/* BDDDAC 80240BFC 0C00EABB */ jal get_npc_unsafe
/* BDDDB0 80240C00 86040008 */ lh $a0, 8($s0)
/* BDDDB4 80240C04 0040182D */ daddu $v1, $v0, $zero
/* BDDDB8 80240C08 9462008E */ lhu $v0, 0x8e($v1)
/* BDDDBC 80240C0C 2442FFFF */ addiu $v0, $v0, -1
/* BDDDC0 80240C10 A462008E */ sh $v0, 0x8e($v1)
/* BDDDC4 80240C14 00021400 */ sll $v0, $v0, 0x10
/* BDDDC8 80240C18 1C400007 */ bgtz $v0, .L80240C38
/* BDDDCC 80240C1C 24020008 */ addiu $v0, $zero, 8
/* BDDDD0 80240C20 A462008E */ sh $v0, 0x8e($v1)
/* BDDDD4 80240C24 8E0200CC */ lw $v0, 0xcc($s0)
/* BDDDD8 80240C28 8C420038 */ lw $v0, 0x38($v0)
/* BDDDDC 80240C2C AC620028 */ sw $v0, 0x28($v1)
/* BDDDE0 80240C30 24020034 */ addiu $v0, $zero, 0x34
/* BDDDE4 80240C34 AE220070 */ sw $v0, 0x70($s1)
.L80240C38:
/* BDDDE8 80240C38 8FBF0018 */ lw $ra, 0x18($sp)
/* BDDDEC 80240C3C 8FB10014 */ lw $s1, 0x14($sp)
/* BDDDF0 80240C40 8FB00010 */ lw $s0, 0x10($sp)
/* BDDDF4 80240C44 03E00008 */ jr $ra
/* BDDDF8 80240C48 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,22 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240C4C_BDDDFC
/* BDDDFC 80240C4C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BDDE00 80240C50 AFB00010 */ sw $s0, 0x10($sp)
/* BDDE04 80240C54 0080802D */ daddu $s0, $a0, $zero
/* BDDE08 80240C58 AFBF0014 */ sw $ra, 0x14($sp)
/* BDDE0C 80240C5C 8E020148 */ lw $v0, 0x148($s0)
/* BDDE10 80240C60 0C00EABB */ jal get_npc_unsafe
/* BDDE14 80240C64 84440008 */ lh $a0, 8($v0)
/* BDDE18 80240C68 9443008E */ lhu $v1, 0x8e($v0)
/* BDDE1C 80240C6C 2463FFFF */ addiu $v1, $v1, -1
/* BDDE20 80240C70 A443008E */ sh $v1, 0x8e($v0)
/* BDDE24 80240C74 00031C00 */ sll $v1, $v1, 0x10
/* BDDE28 80240C78 58600001 */ blezl $v1, .L80240C80
/* BDDE2C 80240C7C AE000070 */ sw $zero, 0x70($s0)
.L80240C80:
/* BDDE30 80240C80 8FBF0014 */ lw $ra, 0x14($sp)
/* BDDE34 80240C84 8FB00010 */ lw $s0, 0x10($sp)
/* BDDE38 80240C88 03E00008 */ jr $ra
/* BDDE3C 80240C8C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,223 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240C90_BDDE40
/* BDDE40 80240C90 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BDDE44 80240C94 AFB3003C */ sw $s3, 0x3c($sp)
/* BDDE48 80240C98 0080982D */ daddu $s3, $a0, $zero
/* BDDE4C 80240C9C AFBF0048 */ sw $ra, 0x48($sp)
/* BDDE50 80240CA0 AFB50044 */ sw $s5, 0x44($sp)
/* BDDE54 80240CA4 AFB40040 */ sw $s4, 0x40($sp)
/* BDDE58 80240CA8 AFB20038 */ sw $s2, 0x38($sp)
/* BDDE5C 80240CAC AFB10034 */ sw $s1, 0x34($sp)
/* BDDE60 80240CB0 AFB00030 */ sw $s0, 0x30($sp)
/* BDDE64 80240CB4 8E720148 */ lw $s2, 0x148($s3)
/* BDDE68 80240CB8 86440008 */ lh $a0, 8($s2)
/* BDDE6C 80240CBC 0C00EABB */ jal get_npc_unsafe
/* BDDE70 80240CC0 00A0882D */ daddu $s1, $a1, $zero
/* BDDE74 80240CC4 0260202D */ daddu $a0, $s3, $zero
/* BDDE78 80240CC8 8E70000C */ lw $s0, 0xc($s3)
/* BDDE7C 80240CCC 0040A82D */ daddu $s5, $v0, $zero
/* BDDE80 80240CD0 8E050000 */ lw $a1, ($s0)
/* BDDE84 80240CD4 0C0B1EAF */ jal get_variable
/* BDDE88 80240CD8 26100004 */ addiu $s0, $s0, 4
/* BDDE8C 80240CDC 0260202D */ daddu $a0, $s3, $zero
/* BDDE90 80240CE0 8E050000 */ lw $a1, ($s0)
/* BDDE94 80240CE4 0C0B1EAF */ jal get_variable
/* BDDE98 80240CE8 0040A02D */ daddu $s4, $v0, $zero
/* BDDE9C 80240CEC AE420094 */ sw $v0, 0x94($s2)
/* BDDEA0 80240CF0 AFA00010 */ sw $zero, 0x10($sp)
/* BDDEA4 80240CF4 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDEA8 80240CF8 8C420030 */ lw $v0, 0x30($v0)
/* BDDEAC 80240CFC AFA20014 */ sw $v0, 0x14($sp)
/* BDDEB0 80240D00 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDEB4 80240D04 8C42001C */ lw $v0, 0x1c($v0)
/* BDDEB8 80240D08 AFA20018 */ sw $v0, 0x18($sp)
/* BDDEBC 80240D0C 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDEC0 80240D10 8C420024 */ lw $v0, 0x24($v0)
/* BDDEC4 80240D14 AFA2001C */ sw $v0, 0x1c($sp)
/* BDDEC8 80240D18 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDECC 80240D1C 8C420028 */ lw $v0, 0x28($v0)
/* BDDED0 80240D20 AFA20020 */ sw $v0, 0x20($sp)
/* BDDED4 80240D24 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDED8 80240D28 3C014220 */ lui $at, 0x4220
/* BDDEDC 80240D2C 44810000 */ mtc1 $at, $f0
/* BDDEE0 80240D30 8C42002C */ lw $v0, 0x2c($v0)
/* BDDEE4 80240D34 27B00010 */ addiu $s0, $sp, 0x10
/* BDDEE8 80240D38 E7A00028 */ swc1 $f0, 0x28($sp)
/* BDDEEC 80240D3C A7A0002C */ sh $zero, 0x2c($sp)
/* BDDEF0 80240D40 12200012 */ beqz $s1, .L80240D8C
/* BDDEF4 80240D44 AFA20024 */ sw $v0, 0x24($sp)
/* BDDEF8 80240D48 AE600070 */ sw $zero, 0x70($s3)
/* BDDEFC 80240D4C 8EA30000 */ lw $v1, ($s5)
/* BDDF00 80240D50 2402F7FF */ addiu $v0, $zero, -0x801
/* BDDF04 80240D54 A6A0008E */ sh $zero, 0x8e($s5)
/* BDDF08 80240D58 00621824 */ and $v1, $v1, $v0
/* BDDF0C 80240D5C AEA30000 */ sw $v1, ($s5)
/* BDDF10 80240D60 8E4200D0 */ lw $v0, 0xd0($s2)
/* BDDF14 80240D64 8C420034 */ lw $v0, 0x34($v0)
/* BDDF18 80240D68 54400005 */ bnel $v0, $zero, .L80240D80
/* BDDF1C 80240D6C 2402FDFF */ addiu $v0, $zero, -0x201
/* BDDF20 80240D70 34620200 */ ori $v0, $v1, 0x200
/* BDDF24 80240D74 2403FFF7 */ addiu $v1, $zero, -9
/* BDDF28 80240D78 08090362 */ j .L80240D88
/* BDDF2C 80240D7C 00431024 */ and $v0, $v0, $v1
.L80240D80:
/* BDDF30 80240D80 00621024 */ and $v0, $v1, $v0
/* BDDF34 80240D84 34420008 */ ori $v0, $v0, 8
.L80240D88:
/* BDDF38 80240D88 AEA20000 */ sw $v0, ($s5)
.L80240D8C:
/* BDDF3C 80240D8C 8E4300B0 */ lw $v1, 0xb0($s2)
/* BDDF40 80240D90 30620004 */ andi $v0, $v1, 4
/* BDDF44 80240D94 10400007 */ beqz $v0, .L80240DB4
/* BDDF48 80240D98 00000000 */ nop
/* BDDF4C 80240D9C 824200B4 */ lb $v0, 0xb4($s2)
/* BDDF50 80240DA0 14400086 */ bnez $v0, .L80240FBC
/* BDDF54 80240DA4 0000102D */ daddu $v0, $zero, $zero
/* BDDF58 80240DA8 2402FFFB */ addiu $v0, $zero, -5
/* BDDF5C 80240DAC 00621024 */ and $v0, $v1, $v0
/* BDDF60 80240DB0 AE4200B0 */ sw $v0, 0xb0($s2)
.L80240DB4:
/* BDDF64 80240DB4 8E620070 */ lw $v0, 0x70($s3)
/* BDDF68 80240DB8 2442FFF4 */ addiu $v0, $v0, -0xc
/* BDDF6C 80240DBC 2C420003 */ sltiu $v0, $v0, 3
/* BDDF70 80240DC0 10400007 */ beqz $v0, .L80240DE0
/* BDDF74 80240DC4 0260202D */ daddu $a0, $s3, $zero
/* BDDF78 80240DC8 0280282D */ daddu $a1, $s4, $zero
/* BDDF7C 80240DCC 0C090000 */ jal func_80240000
/* BDDF80 80240DD0 0200302D */ daddu $a2, $s0, $zero
/* BDDF84 80240DD4 10400002 */ beqz $v0, .L80240DE0
/* BDDF88 80240DD8 24020014 */ addiu $v0, $zero, 0x14
/* BDDF8C 80240DDC AE620070 */ sw $v0, 0x70($s3)
.L80240DE0:
/* BDDF90 80240DE0 8E630070 */ lw $v1, 0x70($s3)
/* BDDF94 80240DE4 2C620035 */ sltiu $v0, $v1, 0x35
/* BDDF98 80240DE8 10400073 */ beqz $v0, .L80240FB8
/* BDDF9C 80240DEC 00031080 */ sll $v0, $v1, 2
/* BDDFA0 80240DF0 3C018024 */ lui $at, 0x8024
/* BDDFA4 80240DF4 00220821 */ addu $at, $at, $v0
/* BDDFA8 80240DF8 8C221B08 */ lw $v0, 0x1b08($at)
/* BDDFAC 80240DFC 00400008 */ jr $v0
/* BDDFB0 80240E00 00000000 */ nop
/* BDDFB4 80240E04 0260202D */ daddu $a0, $s3, $zero
/* BDDFB8 80240E08 0280282D */ daddu $a1, $s4, $zero
/* BDDFBC 80240E0C 0C090058 */ jal func_80240160
/* BDDFC0 80240E10 0200302D */ daddu $a2, $s0, $zero
/* BDDFC4 80240E14 0260202D */ daddu $a0, $s3, $zero
/* BDDFC8 80240E18 0280282D */ daddu $a1, $s4, $zero
/* BDDFCC 80240E1C 0C090075 */ jal func_802401D4
/* BDDFD0 80240E20 0200302D */ daddu $a2, $s0, $zero
/* BDDFD4 80240E24 8E630070 */ lw $v1, 0x70($s3)
/* BDDFD8 80240E28 24020002 */ addiu $v0, $zero, 2
/* BDDFDC 80240E2C 14620063 */ bne $v1, $v0, .L80240FBC
/* BDDFE0 80240E30 0000102D */ daddu $v0, $zero, $zero
/* BDDFE4 80240E34 0260202D */ daddu $a0, $s3, $zero
/* BDDFE8 80240E38 0280282D */ daddu $a1, $s4, $zero
/* BDDFEC 80240E3C 0C0900C1 */ jal func_80240304
/* BDDFF0 80240E40 0200302D */ daddu $a2, $s0, $zero
/* BDDFF4 80240E44 8E630070 */ lw $v1, 0x70($s3)
/* BDDFF8 80240E48 24020003 */ addiu $v0, $zero, 3
/* BDDFFC 80240E4C 1462005B */ bne $v1, $v0, .L80240FBC
/* BDE000 80240E50 0000102D */ daddu $v0, $zero, $zero
/* BDE004 80240E54 0260202D */ daddu $a0, $s3, $zero
/* BDE008 80240E58 0280282D */ daddu $a1, $s4, $zero
/* BDE00C 80240E5C 0C0900E8 */ jal func_802403A0
/* BDE010 80240E60 0200302D */ daddu $a2, $s0, $zero
/* BDE014 80240E64 8E630070 */ lw $v1, 0x70($s3)
/* BDE018 80240E68 24020004 */ addiu $v0, $zero, 4
/* BDE01C 80240E6C 14620053 */ bne $v1, $v0, .L80240FBC
/* BDE020 80240E70 0000102D */ daddu $v0, $zero, $zero
/* BDE024 80240E74 0260202D */ daddu $a0, $s3, $zero
/* BDE028 80240E78 0280282D */ daddu $a1, $s4, $zero
/* BDE02C 80240E7C 0C09010A */ jal func_80240428
/* BDE030 80240E80 0200302D */ daddu $a2, $s0, $zero
/* BDE034 80240E84 0260202D */ daddu $a0, $s3, $zero
/* BDE038 80240E88 0280282D */ daddu $a1, $s4, $zero
/* BDE03C 80240E8C 0C090134 */ jal func_802404D0
/* BDE040 80240E90 0200302D */ daddu $a2, $s0, $zero
/* BDE044 80240E94 080903EF */ j .L80240FBC
/* BDE048 80240E98 0000102D */ daddu $v0, $zero, $zero
/* BDE04C 80240E9C 0260202D */ daddu $a0, $s3, $zero
/* BDE050 80240EA0 0280282D */ daddu $a1, $s4, $zero
/* BDE054 80240EA4 0C0127DF */ jal func_80049F7C
/* BDE058 80240EA8 0200302D */ daddu $a2, $s0, $zero
/* BDE05C 80240EAC 8E630070 */ lw $v1, 0x70($s3)
/* BDE060 80240EB0 2402000D */ addiu $v0, $zero, 0xd
/* BDE064 80240EB4 14620041 */ bne $v1, $v0, .L80240FBC
/* BDE068 80240EB8 0000102D */ daddu $v0, $zero, $zero
/* BDE06C 80240EBC 0260202D */ daddu $a0, $s3, $zero
/* BDE070 80240EC0 0280282D */ daddu $a1, $s4, $zero
/* BDE074 80240EC4 0C012849 */ jal func_8004A124
/* BDE078 80240EC8 0200302D */ daddu $a2, $s0, $zero
/* BDE07C 80240ECC 8E630070 */ lw $v1, 0x70($s3)
/* BDE080 80240ED0 2402000E */ addiu $v0, $zero, 0xe
/* BDE084 80240ED4 14620039 */ bne $v1, $v0, .L80240FBC
/* BDE088 80240ED8 0000102D */ daddu $v0, $zero, $zero
/* BDE08C 80240EDC 96A2008E */ lhu $v0, 0x8e($s5)
/* BDE090 80240EE0 2442FFFF */ addiu $v0, $v0, -1
/* BDE094 80240EE4 A6A2008E */ sh $v0, 0x8e($s5)
/* BDE098 80240EE8 00021400 */ sll $v0, $v0, 0x10
/* BDE09C 80240EEC 14400033 */ bnez $v0, .L80240FBC
/* BDE0A0 80240EF0 0000102D */ daddu $v0, $zero, $zero
/* BDE0A4 80240EF4 24020028 */ addiu $v0, $zero, 0x28
/* BDE0A8 80240EF8 080903EE */ j .L80240FB8
/* BDE0AC 80240EFC AE620070 */ sw $v0, 0x70($s3)
/* BDE0B0 80240F00 0260202D */ daddu $a0, $s3, $zero
/* BDE0B4 80240F04 0280282D */ daddu $a1, $s4, $zero
/* BDE0B8 80240F08 0C090191 */ jal func_80240644
/* BDE0BC 80240F0C 0200302D */ daddu $a2, $s0, $zero
/* BDE0C0 80240F10 0260202D */ daddu $a0, $s3, $zero
/* BDE0C4 80240F14 0280282D */ daddu $a1, $s4, $zero
/* BDE0C8 80240F18 0C0901A5 */ jal func_80240694
/* BDE0CC 80240F1C 0200302D */ daddu $a2, $s0, $zero
/* BDE0D0 80240F20 080903EF */ j .L80240FBC
/* BDE0D4 80240F24 0000102D */ daddu $v0, $zero, $zero
/* BDE0D8 80240F28 0260202D */ daddu $a0, $s3, $zero
/* BDE0DC 80240F2C 0280282D */ daddu $a1, $s4, $zero
/* BDE0E0 80240F30 0C09020D */ jal func_80240834
/* BDE0E4 80240F34 0200302D */ daddu $a2, $s0, $zero
/* BDE0E8 80240F38 080903EF */ j .L80240FBC
/* BDE0EC 80240F3C 0000102D */ daddu $v0, $zero, $zero
/* BDE0F0 80240F40 0260202D */ daddu $a0, $s3, $zero
/* BDE0F4 80240F44 0280282D */ daddu $a1, $s4, $zero
/* BDE0F8 80240F48 0C090261 */ jal func_80240984
/* BDE0FC 80240F4C 0200302D */ daddu $a2, $s0, $zero
/* BDE100 80240F50 8E630070 */ lw $v1, 0x70($s3)
/* BDE104 80240F54 24020029 */ addiu $v0, $zero, 0x29
/* BDE108 80240F58 14620018 */ bne $v1, $v0, .L80240FBC
/* BDE10C 80240F5C 0000102D */ daddu $v0, $zero, $zero
/* BDE110 80240F60 0260202D */ daddu $a0, $s3, $zero
/* BDE114 80240F64 0280282D */ daddu $a1, $s4, $zero
/* BDE118 80240F68 0C09028C */ jal func_80240A30
/* BDE11C 80240F6C 0200302D */ daddu $a2, $s0, $zero
/* BDE120 80240F70 080903EF */ j .L80240FBC
/* BDE124 80240F74 0000102D */ daddu $v0, $zero, $zero
/* BDE128 80240F78 0260202D */ daddu $a0, $s3, $zero
/* BDE12C 80240F7C 0280282D */ daddu $a1, $s4, $zero
/* BDE130 80240F80 0C0902DA */ jal func_80240B68
/* BDE134 80240F84 0200302D */ daddu $a2, $s0, $zero
/* BDE138 80240F88 0260202D */ daddu $a0, $s3, $zero
/* BDE13C 80240F8C 0280282D */ daddu $a1, $s4, $zero
/* BDE140 80240F90 0C0902F9 */ jal func_80240BE4
/* BDE144 80240F94 0200302D */ daddu $a2, $s0, $zero
/* BDE148 80240F98 8E630070 */ lw $v1, 0x70($s3)
/* BDE14C 80240F9C 24020034 */ addiu $v0, $zero, 0x34
/* BDE150 80240FA0 14620006 */ bne $v1, $v0, .L80240FBC
/* BDE154 80240FA4 0000102D */ daddu $v0, $zero, $zero
/* BDE158 80240FA8 0260202D */ daddu $a0, $s3, $zero
/* BDE15C 80240FAC 0280282D */ daddu $a1, $s4, $zero
/* BDE160 80240FB0 0C090313 */ jal func_80240C4C
/* BDE164 80240FB4 0200302D */ daddu $a2, $s0, $zero
.L80240FB8:
/* BDE168 80240FB8 0000102D */ daddu $v0, $zero, $zero
.L80240FBC:
/* BDE16C 80240FBC 8FBF0048 */ lw $ra, 0x48($sp)
/* BDE170 80240FC0 8FB50044 */ lw $s5, 0x44($sp)
/* BDE174 80240FC4 8FB40040 */ lw $s4, 0x40($sp)
/* BDE178 80240FC8 8FB3003C */ lw $s3, 0x3c($sp)
/* BDE17C 80240FCC 8FB20038 */ lw $s2, 0x38($sp)
/* BDE180 80240FD0 8FB10034 */ lw $s1, 0x34($sp)
/* BDE184 80240FD4 8FB00030 */ lw $s0, 0x30($sp)
/* BDE188 80240FD8 03E00008 */ jr $ra
/* BDE18C 80240FDC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,95 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_BDED90
/* BDED90 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDED94 80240004 AFB50024 */ sw $s5, 0x24($sp)
/* BDED98 80240008 0080A82D */ daddu $s5, $a0, $zero
/* BDED9C 8024000C AFBF002C */ sw $ra, 0x2c($sp)
/* BDEDA0 80240010 AFB60028 */ sw $s6, 0x28($sp)
/* BDEDA4 80240014 AFB40020 */ sw $s4, 0x20($sp)
/* BDEDA8 80240018 AFB3001C */ sw $s3, 0x1c($sp)
/* BDEDAC 8024001C AFB20018 */ sw $s2, 0x18($sp)
/* BDEDB0 80240020 AFB10014 */ sw $s1, 0x14($sp)
/* BDEDB4 80240024 AFB00010 */ sw $s0, 0x10($sp)
/* BDEDB8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp)
/* BDEDBC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp)
/* BDEDC0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp)
/* BDEDC4 80240034 8EB30148 */ lw $s3, 0x148($s5)
/* BDEDC8 80240038 86640008 */ lh $a0, 8($s3)
/* BDEDCC 8024003C 0C00EABB */ jal get_npc_unsafe
/* BDEDD0 80240040 00A0B02D */ daddu $s6, $a1, $zero
/* BDEDD4 80240044 0040A02D */ daddu $s4, $v0, $zero
/* BDEDD8 80240048 AEA00074 */ sw $zero, 0x74($s5)
/* BDEDDC 8024004C C6980038 */ lwc1 $f24, 0x38($s4)
/* BDEDE0 80240050 C6960040 */ lwc1 $f22, 0x40($s4)
/* BDEDE4 80240054 0000902D */ daddu $s2, $zero, $zero
/* BDEDE8 80240058 AEA00078 */ sw $zero, 0x78($s5)
/* BDEDEC 8024005C 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDEDF0 80240060 8C620000 */ lw $v0, ($v1)
/* BDEDF4 80240064 3C0146FF */ lui $at, 0x46ff
/* BDEDF8 80240068 3421FE00 */ ori $at, $at, 0xfe00
/* BDEDFC 8024006C 4481A000 */ mtc1 $at, $f20
/* BDEE00 80240070 18400018 */ blez $v0, .L802400D4
/* BDEE04 80240074 0240802D */ daddu $s0, $s2, $zero
/* BDEE08 80240078 0240882D */ daddu $s1, $s2, $zero
.L8024007C:
/* BDEE0C 8024007C 02231021 */ addu $v0, $s1, $v1
/* BDEE10 80240080 4600C306 */ mov.s $f12, $f24
/* BDEE14 80240084 C4440004 */ lwc1 $f4, 4($v0)
/* BDEE18 80240088 46802120 */ cvt.s.w $f4, $f4
/* BDEE1C 8024008C 44062000 */ mfc1 $a2, $f4
/* BDEE20 80240090 C444000C */ lwc1 $f4, 0xc($v0)
/* BDEE24 80240094 46802120 */ cvt.s.w $f4, $f4
/* BDEE28 80240098 44072000 */ mfc1 $a3, $f4
/* BDEE2C 8024009C 0C00A7B5 */ jal dist2D
/* BDEE30 802400A0 4600B386 */ mov.s $f14, $f22
/* BDEE34 802400A4 4614003C */ c.lt.s $f0, $f20
/* BDEE38 802400A8 00000000 */ nop
/* BDEE3C 802400AC 45000003 */ bc1f .L802400BC
/* BDEE40 802400B0 2631000C */ addiu $s1, $s1, 0xc
/* BDEE44 802400B4 46000506 */ mov.s $f20, $f0
/* BDEE48 802400B8 AEB20078 */ sw $s2, 0x78($s5)
.L802400BC:
/* BDEE4C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDEE50 802400C0 26100001 */ addiu $s0, $s0, 1
/* BDEE54 802400C4 8C620000 */ lw $v0, ($v1)
/* BDEE58 802400C8 0202102A */ slt $v0, $s0, $v0
/* BDEE5C 802400CC 1440FFEB */ bnez $v0, .L8024007C
/* BDEE60 802400D0 26520001 */ addiu $s2, $s2, 1
.L802400D4:
/* BDEE64 802400D4 8E6200CC */ lw $v0, 0xcc($s3)
/* BDEE68 802400D8 8C420004 */ lw $v0, 4($v0)
/* BDEE6C 802400DC AE820028 */ sw $v0, 0x28($s4)
/* BDEE70 802400E0 8E6200D0 */ lw $v0, 0xd0($s3)
/* BDEE74 802400E4 8C42007C */ lw $v0, 0x7c($v0)
/* BDEE78 802400E8 04410004 */ bgez $v0, .L802400FC
/* BDEE7C 802400EC 00000000 */ nop
/* BDEE80 802400F0 C6C00000 */ lwc1 $f0, ($s6)
/* BDEE84 802400F4 08090047 */ j .L8024011C
/* BDEE88 802400F8 E6800018 */ swc1 $f0, 0x18($s4)
.L802400FC:
/* BDEE8C 802400FC 3C018024 */ lui $at, 0x8024
/* BDEE90 80240100 D4224860 */ ldc1 $f2, 0x4860($at)
/* BDEE94 80240104 44820000 */ mtc1 $v0, $f0
/* BDEE98 80240108 00000000 */ nop
/* BDEE9C 8024010C 46800021 */ cvt.d.w $f0, $f0
/* BDEEA0 80240110 46220003 */ div.d $f0, $f0, $f2
/* BDEEA4 80240114 46200020 */ cvt.s.d $f0, $f0
/* BDEEA8 80240118 E6800018 */ swc1 $f0, 0x18($s4)
.L8024011C:
/* BDEEAC 8024011C 24020001 */ addiu $v0, $zero, 1
/* BDEEB0 80240120 AEA20070 */ sw $v0, 0x70($s5)
/* BDEEB4 80240124 8FBF002C */ lw $ra, 0x2c($sp)
/* BDEEB8 80240128 8FB60028 */ lw $s6, 0x28($sp)
/* BDEEBC 8024012C 8FB50024 */ lw $s5, 0x24($sp)
/* BDEEC0 80240130 8FB40020 */ lw $s4, 0x20($sp)
/* BDEEC4 80240134 8FB3001C */ lw $s3, 0x1c($sp)
/* BDEEC8 80240138 8FB20018 */ lw $s2, 0x18($sp)
/* BDEECC 8024013C 8FB10014 */ lw $s1, 0x14($sp)
/* BDEED0 80240140 8FB00010 */ lw $s0, 0x10($sp)
/* BDEED4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp)
/* BDEED8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp)
/* BDEEDC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp)
/* BDEEE0 80240150 03E00008 */ jr $ra
/* BDEEE4 80240154 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,183 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240158_BDEEE8
/* BDEEE8 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58
/* BDEEEC 8024015C AFB20038 */ sw $s2, 0x38($sp)
/* BDEEF0 80240160 0080902D */ daddu $s2, $a0, $zero
/* BDEEF4 80240164 AFBF0044 */ sw $ra, 0x44($sp)
/* BDEEF8 80240168 AFB40040 */ sw $s4, 0x40($sp)
/* BDEEFC 8024016C AFB3003C */ sw $s3, 0x3c($sp)
/* BDEF00 80240170 AFB10034 */ sw $s1, 0x34($sp)
/* BDEF04 80240174 AFB00030 */ sw $s0, 0x30($sp)
/* BDEF08 80240178 F7B60050 */ sdc1 $f22, 0x50($sp)
/* BDEF0C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp)
/* BDEF10 80240180 8E510148 */ lw $s1, 0x148($s2)
/* BDEF14 80240184 00A0982D */ daddu $s3, $a1, $zero
/* BDEF18 80240188 86240008 */ lh $a0, 8($s1)
/* BDEF1C 8024018C 0C00EABB */ jal get_npc_unsafe
/* BDEF20 80240190 00C0A02D */ daddu $s4, $a2, $zero
/* BDEF24 80240194 8E630014 */ lw $v1, 0x14($s3)
/* BDEF28 80240198 04600030 */ bltz $v1, .L8024025C
/* BDEF2C 8024019C 0040802D */ daddu $s0, $v0, $zero
/* BDEF30 802401A0 8E420074 */ lw $v0, 0x74($s2)
/* BDEF34 802401A4 1C40002C */ bgtz $v0, .L80240258
/* BDEF38 802401A8 2442FFFF */ addiu $v0, $v0, -1
/* BDEF3C 802401AC 0280202D */ daddu $a0, $s4, $zero
/* BDEF40 802401B0 AE430074 */ sw $v1, 0x74($s2)
/* BDEF44 802401B4 AFA00010 */ sw $zero, 0x10($sp)
/* BDEF48 802401B8 8E66000C */ lw $a2, 0xc($s3)
/* BDEF4C 802401BC 8E670010 */ lw $a3, 0x10($s3)
/* BDEF50 802401C0 0C01242D */ jal func_800490B4
/* BDEF54 802401C4 0220282D */ daddu $a1, $s1, $zero
/* BDEF58 802401C8 10400021 */ beqz $v0, .L80240250
/* BDEF5C 802401CC 0000202D */ daddu $a0, $zero, $zero
/* BDEF60 802401D0 0200282D */ daddu $a1, $s0, $zero
/* BDEF64 802401D4 0000302D */ daddu $a2, $zero, $zero
/* BDEF68 802401D8 860300A8 */ lh $v1, 0xa8($s0)
/* BDEF6C 802401DC 3C013F80 */ lui $at, 0x3f80
/* BDEF70 802401E0 44810000 */ mtc1 $at, $f0
/* BDEF74 802401E4 3C014000 */ lui $at, 0x4000
/* BDEF78 802401E8 44811000 */ mtc1 $at, $f2
/* BDEF7C 802401EC 3C01C1A0 */ lui $at, 0xc1a0
/* BDEF80 802401F0 44812000 */ mtc1 $at, $f4
/* BDEF84 802401F4 2402000F */ addiu $v0, $zero, 0xf
/* BDEF88 802401F8 AFA2001C */ sw $v0, 0x1c($sp)
/* BDEF8C 802401FC 44833000 */ mtc1 $v1, $f6
/* BDEF90 80240200 00000000 */ nop
/* BDEF94 80240204 468031A0 */ cvt.s.w $f6, $f6
/* BDEF98 80240208 44073000 */ mfc1 $a3, $f6
/* BDEF9C 8024020C 27A20028 */ addiu $v0, $sp, 0x28
/* BDEFA0 80240210 AFA20020 */ sw $v0, 0x20($sp)
/* BDEFA4 80240214 E7A00010 */ swc1 $f0, 0x10($sp)
/* BDEFA8 80240218 E7A20014 */ swc1 $f2, 0x14($sp)
/* BDEFAC 8024021C 0C01BFA4 */ jal fx_emote
/* BDEFB0 80240220 E7A40018 */ swc1 $f4, 0x18($sp)
/* BDEFB4 80240224 0200202D */ daddu $a0, $s0, $zero
/* BDEFB8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4
/* BDEFBC 8024022C 0C012530 */ jal func_800494C0
/* BDEFC0 80240230 3C060020 */ lui $a2, 0x20
/* BDEFC4 80240234 8E220018 */ lw $v0, 0x18($s1)
/* BDEFC8 80240238 9442002A */ lhu $v0, 0x2a($v0)
/* BDEFCC 8024023C 30420001 */ andi $v0, $v0, 1
/* BDEFD0 80240240 14400064 */ bnez $v0, .L802403D4
/* BDEFD4 80240244 2402000A */ addiu $v0, $zero, 0xa
/* BDEFD8 80240248 080900F5 */ j .L802403D4
/* BDEFDC 8024024C 2402000C */ addiu $v0, $zero, 0xc
.L80240250:
/* BDEFE0 80240250 8E420074 */ lw $v0, 0x74($s2)
/* BDEFE4 80240254 2442FFFF */ addiu $v0, $v0, -1
.L80240258:
/* BDEFE8 80240258 AE420074 */ sw $v0, 0x74($s2)
.L8024025C:
/* BDEFEC 8024025C 8602008C */ lh $v0, 0x8c($s0)
/* BDEFF0 80240260 1440005D */ bnez $v0, .L802403D8
/* BDEFF4 80240264 00000000 */ nop
/* BDEFF8 80240268 C6000018 */ lwc1 $f0, 0x18($s0)
/* BDEFFC 8024026C 3C014010 */ lui $at, 0x4010
/* BDF000 80240270 44811800 */ mtc1 $at, $f3
/* BDF004 80240274 44801000 */ mtc1 $zero, $f2
/* BDF008 80240278 46000021 */ cvt.d.s $f0, $f0
/* BDF00C 8024027C 4622003C */ c.lt.d $f0, $f2
/* BDF010 80240280 00000000 */ nop
/* BDF014 80240284 45000003 */ bc1f .L80240294
/* BDF018 80240288 0200202D */ daddu $a0, $s0, $zero
/* BDF01C 8024028C 080900A6 */ j .L80240298
/* BDF020 80240290 0000282D */ daddu $a1, $zero, $zero
.L80240294:
/* BDF024 80240294 24050001 */ addiu $a1, $zero, 1
.L80240298:
/* BDF028 80240298 0C00F598 */ jal func_8003D660
/* BDF02C 8024029C 00000000 */ nop
/* BDF030 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDF034 802402A4 8E430078 */ lw $v1, 0x78($s2)
/* BDF038 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDF03C 802402AC 00031040 */ sll $v0, $v1, 1
/* BDF040 802402B0 00431021 */ addu $v0, $v0, $v1
/* BDF044 802402B4 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF048 802402B8 00021080 */ sll $v0, $v0, 2
/* BDF04C 802402BC 00431021 */ addu $v0, $v0, $v1
/* BDF050 802402C0 C4560004 */ lwc1 $f22, 4($v0)
/* BDF054 802402C4 4680B5A0 */ cvt.s.w $f22, $f22
/* BDF058 802402C8 C454000C */ lwc1 $f20, 0xc($v0)
/* BDF05C 802402CC 4680A520 */ cvt.s.w $f20, $f20
/* BDF060 802402D0 4406B000 */ mfc1 $a2, $f22
/* BDF064 802402D4 4407A000 */ mfc1 $a3, $f20
/* BDF068 802402D8 0C00A720 */ jal atan2
/* BDF06C 802402DC 00000000 */ nop
/* BDF070 802402E0 8E050018 */ lw $a1, 0x18($s0)
/* BDF074 802402E4 44060000 */ mfc1 $a2, $f0
/* BDF078 802402E8 0200202D */ daddu $a0, $s0, $zero
/* BDF07C 802402EC 0C00EA95 */ jal npc_move_heading
/* BDF080 802402F0 AE06000C */ sw $a2, 0xc($s0)
/* BDF084 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDF088 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDF08C 802402FC 4406B000 */ mfc1 $a2, $f22
/* BDF090 80240300 4407A000 */ mfc1 $a3, $f20
/* BDF094 80240304 0C00A7B5 */ jal dist2D
/* BDF098 80240308 00000000 */ nop
/* BDF09C 8024030C C6020018 */ lwc1 $f2, 0x18($s0)
/* BDF0A0 80240310 4602003E */ c.le.s $f0, $f2
/* BDF0A4 80240314 00000000 */ nop
/* BDF0A8 80240318 4500002F */ bc1f .L802403D8
/* BDF0AC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8
/* BDF0B0 80240320 24020002 */ addiu $v0, $zero, 2
/* BDF0B4 80240324 0C00A67F */ jal rand_int
/* BDF0B8 80240328 AE420070 */ sw $v0, 0x70($s2)
/* BDF0BC 8024032C 3C035555 */ lui $v1, 0x5555
/* BDF0C0 80240330 34635556 */ ori $v1, $v1, 0x5556
/* BDF0C4 80240334 00430018 */ mult $v0, $v1
/* BDF0C8 80240338 000227C3 */ sra $a0, $v0, 0x1f
/* BDF0CC 8024033C 00004010 */ mfhi $t0
/* BDF0D0 80240340 01042023 */ subu $a0, $t0, $a0
/* BDF0D4 80240344 00041840 */ sll $v1, $a0, 1
/* BDF0D8 80240348 00641821 */ addu $v1, $v1, $a0
/* BDF0DC 8024034C 00431023 */ subu $v0, $v0, $v1
/* BDF0E0 80240350 24430002 */ addiu $v1, $v0, 2
/* BDF0E4 80240354 AE430074 */ sw $v1, 0x74($s2)
/* BDF0E8 80240358 8E62002C */ lw $v0, 0x2c($s3)
/* BDF0EC 8024035C 18400009 */ blez $v0, .L80240384
/* BDF0F0 80240360 24020004 */ addiu $v0, $zero, 4
/* BDF0F4 80240364 8E620004 */ lw $v0, 4($s3)
/* BDF0F8 80240368 18400006 */ blez $v0, .L80240384
/* BDF0FC 8024036C 24020004 */ addiu $v0, $zero, 4
/* BDF100 80240370 8E620008 */ lw $v0, 8($s3)
/* BDF104 80240374 18400003 */ blez $v0, .L80240384
/* BDF108 80240378 24020004 */ addiu $v0, $zero, 4
/* BDF10C 8024037C 14600002 */ bnez $v1, .L80240388
/* BDF110 80240380 00000000 */ nop
.L80240384:
/* BDF114 80240384 AE420070 */ sw $v0, 0x70($s2)
.L80240388:
/* BDF118 80240388 0C00A67F */ jal rand_int
/* BDF11C 8024038C 24042710 */ addiu $a0, $zero, 0x2710
/* BDF120 80240390 3C0351EB */ lui $v1, 0x51eb
/* BDF124 80240394 3463851F */ ori $v1, $v1, 0x851f
/* BDF128 80240398 00430018 */ mult $v0, $v1
/* BDF12C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f
/* BDF130 802403A0 00004010 */ mfhi $t0
/* BDF134 802403A4 00082143 */ sra $a0, $t0, 5
/* BDF138 802403A8 00832023 */ subu $a0, $a0, $v1
/* BDF13C 802403AC 00041840 */ sll $v1, $a0, 1
/* BDF140 802403B0 00641821 */ addu $v1, $v1, $a0
/* BDF144 802403B4 000318C0 */ sll $v1, $v1, 3
/* BDF148 802403B8 00641821 */ addu $v1, $v1, $a0
/* BDF14C 802403BC 00031880 */ sll $v1, $v1, 2
/* BDF150 802403C0 8E640004 */ lw $a0, 4($s3)
/* BDF154 802403C4 00431023 */ subu $v0, $v0, $v1
/* BDF158 802403C8 0044102A */ slt $v0, $v0, $a0
/* BDF15C 802403CC 10400002 */ beqz $v0, .L802403D8
/* BDF160 802403D0 24020004 */ addiu $v0, $zero, 4
.L802403D4:
/* BDF164 802403D4 AE420070 */ sw $v0, 0x70($s2)
.L802403D8:
/* BDF168 802403D8 8FBF0044 */ lw $ra, 0x44($sp)
/* BDF16C 802403DC 8FB40040 */ lw $s4, 0x40($sp)
/* BDF170 802403E0 8FB3003C */ lw $s3, 0x3c($sp)
/* BDF174 802403E4 8FB20038 */ lw $s2, 0x38($sp)
/* BDF178 802403E8 8FB10034 */ lw $s1, 0x34($sp)
/* BDF17C 802403EC 8FB00030 */ lw $s0, 0x30($sp)
/* BDF180 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp)
/* BDF184 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp)
/* BDF188 802403F8 03E00008 */ jr $ra
/* BDF18C 802403FC 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240400_BDF190
/* BDF190 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BDF194 80240404 AFB3001C */ sw $s3, 0x1c($sp)
/* BDF198 80240408 0080982D */ daddu $s3, $a0, $zero
/* BDF19C 8024040C AFBF0020 */ sw $ra, 0x20($sp)
/* BDF1A0 80240410 AFB20018 */ sw $s2, 0x18($sp)
/* BDF1A4 80240414 AFB10014 */ sw $s1, 0x14($sp)
/* BDF1A8 80240418 AFB00010 */ sw $s0, 0x10($sp)
/* BDF1AC 8024041C 8E720148 */ lw $s2, 0x148($s3)
/* BDF1B0 80240420 86440008 */ lh $a0, 8($s2)
/* BDF1B4 80240424 0C00EABB */ jal get_npc_unsafe
/* BDF1B8 80240428 00A0882D */ daddu $s1, $a1, $zero
/* BDF1BC 8024042C 8E240008 */ lw $a0, 8($s1)
/* BDF1C0 80240430 0040802D */ daddu $s0, $v0, $zero
/* BDF1C4 80240434 00041FC2 */ srl $v1, $a0, 0x1f
/* BDF1C8 80240438 00832021 */ addu $a0, $a0, $v1
/* BDF1CC 8024043C 00042043 */ sra $a0, $a0, 1
/* BDF1D0 80240440 0C00A67F */ jal rand_int
/* BDF1D4 80240444 24840001 */ addiu $a0, $a0, 1
/* BDF1D8 80240448 8E230008 */ lw $v1, 8($s1)
/* BDF1DC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4
/* BDF1E0 80240450 00032FC2 */ srl $a1, $v1, 0x1f
/* BDF1E4 80240454 00651821 */ addu $v1, $v1, $a1
/* BDF1E8 80240458 00031843 */ sra $v1, $v1, 1
/* BDF1EC 8024045C 00621821 */ addu $v1, $v1, $v0
/* BDF1F0 80240460 0C00A67F */ jal rand_int
/* BDF1F4 80240464 A603008E */ sh $v1, 0x8e($s0)
/* BDF1F8 80240468 C60C000C */ lwc1 $f12, 0xc($s0)
/* BDF1FC 8024046C 44820000 */ mtc1 $v0, $f0
/* BDF200 80240470 00000000 */ nop
/* BDF204 80240474 46800020 */ cvt.s.w $f0, $f0
/* BDF208 80240478 46006300 */ add.s $f12, $f12, $f0
/* BDF20C 8024047C 3C0142B4 */ lui $at, 0x42b4
/* BDF210 80240480 44810000 */ mtc1 $at, $f0
/* BDF214 80240484 0C00A6C9 */ jal clamp_angle
/* BDF218 80240488 46006301 */ sub.s $f12, $f12, $f0
/* BDF21C 8024048C E600000C */ swc1 $f0, 0xc($s0)
/* BDF220 80240490 8E4200CC */ lw $v0, 0xcc($s2)
/* BDF224 80240494 8C420000 */ lw $v0, ($v0)
/* BDF228 80240498 AE020028 */ sw $v0, 0x28($s0)
/* BDF22C 8024049C 24020003 */ addiu $v0, $zero, 3
/* BDF230 802404A0 AE620070 */ sw $v0, 0x70($s3)
/* BDF234 802404A4 8FBF0020 */ lw $ra, 0x20($sp)
/* BDF238 802404A8 8FB3001C */ lw $s3, 0x1c($sp)
/* BDF23C 802404AC 8FB20018 */ lw $s2, 0x18($sp)
/* BDF240 802404B0 8FB10014 */ lw $s1, 0x14($sp)
/* BDF244 802404B4 8FB00010 */ lw $s0, 0x10($sp)
/* BDF248 802404B8 03E00008 */ jr $ra
/* BDF24C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,120 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802404C0_BDF250
/* BDF250 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDF254 802404C4 AFB40040 */ sw $s4, 0x40($sp)
/* BDF258 802404C8 0080A02D */ daddu $s4, $a0, $zero
/* BDF25C 802404CC AFBF0044 */ sw $ra, 0x44($sp)
/* BDF260 802404D0 AFB3003C */ sw $s3, 0x3c($sp)
/* BDF264 802404D4 AFB20038 */ sw $s2, 0x38($sp)
/* BDF268 802404D8 AFB10034 */ sw $s1, 0x34($sp)
/* BDF26C 802404DC AFB00030 */ sw $s0, 0x30($sp)
/* BDF270 802404E0 8E910148 */ lw $s1, 0x148($s4)
/* BDF274 802404E4 00A0902D */ daddu $s2, $a1, $zero
/* BDF278 802404E8 86240008 */ lh $a0, 8($s1)
/* BDF27C 802404EC 0C00EABB */ jal get_npc_unsafe
/* BDF280 802404F0 00C0982D */ daddu $s3, $a2, $zero
/* BDF284 802404F4 8E430014 */ lw $v1, 0x14($s2)
/* BDF288 802404F8 04600031 */ bltz $v1, .L802405C0
/* BDF28C 802404FC 0040802D */ daddu $s0, $v0, $zero
/* BDF290 80240500 0260202D */ daddu $a0, $s3, $zero
/* BDF294 80240504 AFA00010 */ sw $zero, 0x10($sp)
/* BDF298 80240508 8E460024 */ lw $a2, 0x24($s2)
/* BDF29C 8024050C 8E470028 */ lw $a3, 0x28($s2)
/* BDF2A0 80240510 0C01242D */ jal func_800490B4
/* BDF2A4 80240514 0220282D */ daddu $a1, $s1, $zero
/* BDF2A8 80240518 10400029 */ beqz $v0, .L802405C0
/* BDF2AC 8024051C 0000202D */ daddu $a0, $zero, $zero
/* BDF2B0 80240520 0200282D */ daddu $a1, $s0, $zero
/* BDF2B4 80240524 0000302D */ daddu $a2, $zero, $zero
/* BDF2B8 80240528 860300A8 */ lh $v1, 0xa8($s0)
/* BDF2BC 8024052C 3C013F80 */ lui $at, 0x3f80
/* BDF2C0 80240530 44810000 */ mtc1 $at, $f0
/* BDF2C4 80240534 3C014000 */ lui $at, 0x4000
/* BDF2C8 80240538 44811000 */ mtc1 $at, $f2
/* BDF2CC 8024053C 3C01C1A0 */ lui $at, 0xc1a0
/* BDF2D0 80240540 44812000 */ mtc1 $at, $f4
/* BDF2D4 80240544 2402000F */ addiu $v0, $zero, 0xf
/* BDF2D8 80240548 AFA2001C */ sw $v0, 0x1c($sp)
/* BDF2DC 8024054C 44833000 */ mtc1 $v1, $f6
/* BDF2E0 80240550 00000000 */ nop
/* BDF2E4 80240554 468031A0 */ cvt.s.w $f6, $f6
/* BDF2E8 80240558 44073000 */ mfc1 $a3, $f6
/* BDF2EC 8024055C 27A20028 */ addiu $v0, $sp, 0x28
/* BDF2F0 80240560 AFA20020 */ sw $v0, 0x20($sp)
/* BDF2F4 80240564 E7A00010 */ swc1 $f0, 0x10($sp)
/* BDF2F8 80240568 E7A20014 */ swc1 $f2, 0x14($sp)
/* BDF2FC 8024056C 0C01BFA4 */ jal fx_emote
/* BDF300 80240570 E7A40018 */ swc1 $f4, 0x18($sp)
/* BDF304 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDF308 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDF30C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BDF310 80240580 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BDF314 80240584 8C460028 */ lw $a2, 0x28($v0)
/* BDF318 80240588 0C00A720 */ jal atan2
/* BDF31C 8024058C 8C470030 */ lw $a3, 0x30($v0)
/* BDF320 80240590 0200202D */ daddu $a0, $s0, $zero
/* BDF324 80240594 240502F4 */ addiu $a1, $zero, 0x2f4
/* BDF328 80240598 3C060020 */ lui $a2, 0x20
/* BDF32C 8024059C 0C012530 */ jal func_800494C0
/* BDF330 802405A0 E480000C */ swc1 $f0, 0xc($a0)
/* BDF334 802405A4 8E220018 */ lw $v0, 0x18($s1)
/* BDF338 802405A8 9442002A */ lhu $v0, 0x2a($v0)
/* BDF33C 802405AC 30420001 */ andi $v0, $v0, 1
/* BDF340 802405B0 14400029 */ bnez $v0, .L80240658
/* BDF344 802405B4 2402000A */ addiu $v0, $zero, 0xa
/* BDF348 802405B8 08090196 */ j .L80240658
/* BDF34C 802405BC 2402000C */ addiu $v0, $zero, 0xc
.L802405C0:
/* BDF350 802405C0 8602008C */ lh $v0, 0x8c($s0)
/* BDF354 802405C4 14400025 */ bnez $v0, .L8024065C
/* BDF358 802405C8 00000000 */ nop
/* BDF35C 802405CC 9602008E */ lhu $v0, 0x8e($s0)
/* BDF360 802405D0 2442FFFF */ addiu $v0, $v0, -1
/* BDF364 802405D4 A602008E */ sh $v0, 0x8e($s0)
/* BDF368 802405D8 00021400 */ sll $v0, $v0, 0x10
/* BDF36C 802405DC 1440001F */ bnez $v0, .L8024065C
/* BDF370 802405E0 00000000 */ nop
/* BDF374 802405E4 8E820074 */ lw $v0, 0x74($s4)
/* BDF378 802405E8 2442FFFF */ addiu $v0, $v0, -1
/* BDF37C 802405EC 10400019 */ beqz $v0, .L80240654
/* BDF380 802405F0 AE820074 */ sw $v0, 0x74($s4)
/* BDF384 802405F4 8E220018 */ lw $v0, 0x18($s1)
/* BDF388 802405F8 9442002A */ lhu $v0, 0x2a($v0)
/* BDF38C 802405FC 30420010 */ andi $v0, $v0, 0x10
/* BDF390 80240600 14400007 */ bnez $v0, .L80240620
/* BDF394 80240604 00000000 */ nop
/* BDF398 80240608 C600000C */ lwc1 $f0, 0xc($s0)
/* BDF39C 8024060C 3C014334 */ lui $at, 0x4334
/* BDF3A0 80240610 44816000 */ mtc1 $at, $f12
/* BDF3A4 80240614 0C00A6C9 */ jal clamp_angle
/* BDF3A8 80240618 460C0300 */ add.s $f12, $f0, $f12
/* BDF3AC 8024061C E600000C */ swc1 $f0, 0xc($s0)
.L80240620:
/* BDF3B0 80240620 8E440008 */ lw $a0, 8($s2)
/* BDF3B4 80240624 000417C2 */ srl $v0, $a0, 0x1f
/* BDF3B8 80240628 00822021 */ addu $a0, $a0, $v0
/* BDF3BC 8024062C 00042043 */ sra $a0, $a0, 1
/* BDF3C0 80240630 0C00A67F */ jal rand_int
/* BDF3C4 80240634 24840001 */ addiu $a0, $a0, 1
/* BDF3C8 80240638 8E430008 */ lw $v1, 8($s2)
/* BDF3CC 8024063C 000327C2 */ srl $a0, $v1, 0x1f
/* BDF3D0 80240640 00641821 */ addu $v1, $v1, $a0
/* BDF3D4 80240644 00031843 */ sra $v1, $v1, 1
/* BDF3D8 80240648 00621821 */ addu $v1, $v1, $v0
/* BDF3DC 8024064C 08090197 */ j .L8024065C
/* BDF3E0 80240650 A603008E */ sh $v1, 0x8e($s0)
.L80240654:
/* BDF3E4 80240654 24020004 */ addiu $v0, $zero, 4
.L80240658:
/* BDF3E8 80240658 AE820070 */ sw $v0, 0x70($s4)
.L8024065C:
/* BDF3EC 8024065C 8FBF0044 */ lw $ra, 0x44($sp)
/* BDF3F0 80240660 8FB40040 */ lw $s4, 0x40($sp)
/* BDF3F4 80240664 8FB3003C */ lw $s3, 0x3c($sp)
/* BDF3F8 80240668 8FB20038 */ lw $s2, 0x38($sp)
/* BDF3FC 8024066C 8FB10034 */ lw $s1, 0x34($sp)
/* BDF400 80240670 8FB00030 */ lw $s0, 0x30($sp)
/* BDF404 80240674 03E00008 */ jr $ra
/* BDF408 80240678 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024067C_BDF40C
/* BDF40C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDF410 80240680 AFB10014 */ sw $s1, 0x14($sp)
/* BDF414 80240684 0080882D */ daddu $s1, $a0, $zero
/* BDF418 80240688 AFBF001C */ sw $ra, 0x1c($sp)
/* BDF41C 8024068C AFB20018 */ sw $s2, 0x18($sp)
/* BDF420 80240690 AFB00010 */ sw $s0, 0x10($sp)
/* BDF424 80240694 8E300148 */ lw $s0, 0x148($s1)
/* BDF428 80240698 86040008 */ lh $a0, 8($s0)
/* BDF42C 8024069C 0C00EABB */ jal get_npc_unsafe
/* BDF430 802406A0 00A0902D */ daddu $s2, $a1, $zero
/* BDF434 802406A4 8E230078 */ lw $v1, 0x78($s1)
/* BDF438 802406A8 24630001 */ addiu $v1, $v1, 1
/* BDF43C 802406AC AE230078 */ sw $v1, 0x78($s1)
/* BDF440 802406B0 8E0400D0 */ lw $a0, 0xd0($s0)
/* BDF444 802406B4 8C840000 */ lw $a0, ($a0)
/* BDF448 802406B8 0064182A */ slt $v1, $v1, $a0
/* BDF44C 802406BC 14600002 */ bnez $v1, .L802406C8
/* BDF450 802406C0 0040282D */ daddu $a1, $v0, $zero
/* BDF454 802406C4 AE200078 */ sw $zero, 0x78($s1)
.L802406C8:
/* BDF458 802406C8 8E0200CC */ lw $v0, 0xcc($s0)
/* BDF45C 802406CC 8C420004 */ lw $v0, 4($v0)
/* BDF460 802406D0 ACA20028 */ sw $v0, 0x28($a1)
/* BDF464 802406D4 8E0200D0 */ lw $v0, 0xd0($s0)
/* BDF468 802406D8 8C42007C */ lw $v0, 0x7c($v0)
/* BDF46C 802406DC 04410004 */ bgez $v0, .L802406F0
/* BDF470 802406E0 00000000 */ nop
/* BDF474 802406E4 C6400000 */ lwc1 $f0, ($s2)
/* BDF478 802406E8 080901C4 */ j .L80240710
/* BDF47C 802406EC E4A00018 */ swc1 $f0, 0x18($a1)
.L802406F0:
/* BDF480 802406F0 3C018024 */ lui $at, 0x8024
/* BDF484 802406F4 D4224868 */ ldc1 $f2, 0x4868($at)
/* BDF488 802406F8 44820000 */ mtc1 $v0, $f0
/* BDF48C 802406FC 00000000 */ nop
/* BDF490 80240700 46800021 */ cvt.d.w $f0, $f0
/* BDF494 80240704 46220003 */ div.d $f0, $f0, $f2
/* BDF498 80240708 46200020 */ cvt.s.d $f0, $f0
/* BDF49C 8024070C E4A00018 */ swc1 $f0, 0x18($a1)
.L80240710:
/* BDF4A0 80240710 24020001 */ addiu $v0, $zero, 1
/* BDF4A4 80240714 AE220070 */ sw $v0, 0x70($s1)
/* BDF4A8 80240718 8FBF001C */ lw $ra, 0x1c($sp)
/* BDF4AC 8024071C 8FB20018 */ lw $s2, 0x18($sp)
/* BDF4B0 80240720 8FB10014 */ lw $s1, 0x14($sp)
/* BDF4B4 80240724 8FB00010 */ lw $s0, 0x10($sp)
/* BDF4B8 80240728 03E00008 */ jr $ra
/* BDF4BC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240730_BDF4C0
/* BDF4C0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDF4C4 80240734 AFB10014 */ sw $s1, 0x14($sp)
/* BDF4C8 80240738 0080882D */ daddu $s1, $a0, $zero
/* BDF4CC 8024073C AFBF0018 */ sw $ra, 0x18($sp)
/* BDF4D0 80240740 AFB00010 */ sw $s0, 0x10($sp)
/* BDF4D4 80240744 8E300148 */ lw $s0, 0x148($s1)
/* BDF4D8 80240748 0C00EABB */ jal get_npc_unsafe
/* BDF4DC 8024074C 86040008 */ lh $a0, 8($s0)
/* BDF4E0 80240750 8E0300CC */ lw $v1, 0xcc($s0)
/* BDF4E4 80240754 3C014120 */ lui $at, 0x4120
/* BDF4E8 80240758 44812000 */ mtc1 $at, $f4
/* BDF4EC 8024075C 3C014000 */ lui $at, 0x4000
/* BDF4F0 80240760 44810000 */ mtc1 $at, $f0
/* BDF4F4 80240764 C442003C */ lwc1 $f2, 0x3c($v0)
/* BDF4F8 80240768 8C640010 */ lw $a0, 0x10($v1)
/* BDF4FC 8024076C 8C430000 */ lw $v1, ($v0)
/* BDF500 80240770 E444001C */ swc1 $f4, 0x1c($v0)
/* BDF504 80240774 E4400014 */ swc1 $f0, 0x14($v0)
/* BDF508 80240778 E4420064 */ swc1 $f2, 0x64($v0)
/* BDF50C 8024077C 34630800 */ ori $v1, $v1, 0x800
/* BDF510 80240780 AC430000 */ sw $v1, ($v0)
/* BDF514 80240784 AC440028 */ sw $a0, 0x28($v0)
/* BDF518 80240788 2402000B */ addiu $v0, $zero, 0xb
/* BDF51C 8024078C AE220070 */ sw $v0, 0x70($s1)
/* BDF520 80240790 8FBF0018 */ lw $ra, 0x18($sp)
/* BDF524 80240794 8FB10014 */ lw $s1, 0x14($sp)
/* BDF528 80240798 8FB00010 */ lw $s0, 0x10($sp)
/* BDF52C 8024079C 03E00008 */ jr $ra
/* BDF530 802407A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,35 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802407A4_BDF534
/* BDF534 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BDF538 802407A8 AFB00010 */ sw $s0, 0x10($sp)
/* BDF53C 802407AC 0080802D */ daddu $s0, $a0, $zero
/* BDF540 802407B0 AFBF0014 */ sw $ra, 0x14($sp)
/* BDF544 802407B4 8E020148 */ lw $v0, 0x148($s0)
/* BDF548 802407B8 0C00EABB */ jal get_npc_unsafe
/* BDF54C 802407BC 84440008 */ lh $a0, 8($v0)
/* BDF550 802407C0 0040202D */ daddu $a0, $v0, $zero
/* BDF554 802407C4 C482003C */ lwc1 $f2, 0x3c($a0)
/* BDF558 802407C8 C480001C */ lwc1 $f0, 0x1c($a0)
/* BDF55C 802407CC 46001080 */ add.s $f2, $f2, $f0
/* BDF560 802407D0 C4840014 */ lwc1 $f4, 0x14($a0)
/* BDF564 802407D4 46040001 */ sub.s $f0, $f0, $f4
/* BDF568 802407D8 C4840064 */ lwc1 $f4, 0x64($a0)
/* BDF56C 802407DC 4602203C */ c.lt.s $f4, $f2
/* BDF570 802407E0 E482003C */ swc1 $f2, 0x3c($a0)
/* BDF574 802407E4 45010009 */ bc1t .L8024080C
/* BDF578 802407E8 E480001C */ swc1 $f0, 0x1c($a0)
/* BDF57C 802407EC 8C820000 */ lw $v0, ($a0)
/* BDF580 802407F0 2403F7FF */ addiu $v1, $zero, -0x801
/* BDF584 802407F4 E484003C */ swc1 $f4, 0x3c($a0)
/* BDF588 802407F8 AC80001C */ sw $zero, 0x1c($a0)
/* BDF58C 802407FC 00431024 */ and $v0, $v0, $v1
/* BDF590 80240800 AC820000 */ sw $v0, ($a0)
/* BDF594 80240804 2402000C */ addiu $v0, $zero, 0xc
/* BDF598 80240808 AE020070 */ sw $v0, 0x70($s0)
.L8024080C:
/* BDF59C 8024080C 8FBF0014 */ lw $ra, 0x14($sp)
/* BDF5A0 80240810 8FB00010 */ lw $s0, 0x10($sp)
/* BDF5A4 80240814 03E00008 */ jr $ra
/* BDF5A8 80240818 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,82 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024081C_BDF5AC
/* BDF5AC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BDF5B0 80240820 AFB3001C */ sw $s3, 0x1c($sp)
/* BDF5B4 80240824 0080982D */ daddu $s3, $a0, $zero
/* BDF5B8 80240828 AFBF0020 */ sw $ra, 0x20($sp)
/* BDF5BC 8024082C AFB20018 */ sw $s2, 0x18($sp)
/* BDF5C0 80240830 AFB10014 */ sw $s1, 0x14($sp)
/* BDF5C4 80240834 AFB00010 */ sw $s0, 0x10($sp)
/* BDF5C8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BDF5CC 8024083C 8E710148 */ lw $s1, 0x148($s3)
/* BDF5D0 80240840 86240008 */ lh $a0, 8($s1)
/* BDF5D4 80240844 0C00EABB */ jal get_npc_unsafe
/* BDF5D8 80240848 00A0802D */ daddu $s0, $a1, $zero
/* BDF5DC 8024084C 8E040020 */ lw $a0, 0x20($s0)
/* BDF5E0 80240850 0040902D */ daddu $s2, $v0, $zero
/* BDF5E4 80240854 00041FC2 */ srl $v1, $a0, 0x1f
/* BDF5E8 80240858 00832021 */ addu $a0, $a0, $v1
/* BDF5EC 8024085C 00042043 */ sra $a0, $a0, 1
/* BDF5F0 80240860 0C00A67F */ jal rand_int
/* BDF5F4 80240864 24840001 */ addiu $a0, $a0, 1
/* BDF5F8 80240868 8E030020 */ lw $v1, 0x20($s0)
/* BDF5FC 8024086C C64C0038 */ lwc1 $f12, 0x38($s2)
/* BDF600 80240870 000327C2 */ srl $a0, $v1, 0x1f
/* BDF604 80240874 00641821 */ addu $v1, $v1, $a0
/* BDF608 80240878 00031843 */ sra $v1, $v1, 1
/* BDF60C 8024087C 00621821 */ addu $v1, $v1, $v0
/* BDF610 80240880 A643008E */ sh $v1, 0x8e($s2)
/* BDF614 80240884 8E2200CC */ lw $v0, 0xcc($s1)
/* BDF618 80240888 C64E0040 */ lwc1 $f14, 0x40($s2)
/* BDF61C 8024088C 8C42000C */ lw $v0, 0xc($v0)
/* BDF620 80240890 AE420028 */ sw $v0, 0x28($s2)
/* BDF624 80240894 C6000018 */ lwc1 $f0, 0x18($s0)
/* BDF628 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BDF62C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BDF630 802408A0 E6400018 */ swc1 $f0, 0x18($s2)
/* BDF634 802408A4 8C460028 */ lw $a2, 0x28($v0)
/* BDF638 802408A8 0C00A720 */ jal atan2
/* BDF63C 802408AC 8C470030 */ lw $a3, 0x30($v0)
/* BDF640 802408B0 46000506 */ mov.s $f20, $f0
/* BDF644 802408B4 C64C000C */ lwc1 $f12, 0xc($s2)
/* BDF648 802408B8 0C00A70A */ jal get_clamped_angle_diff
/* BDF64C 802408BC 4600A386 */ mov.s $f14, $f20
/* BDF650 802408C0 46000086 */ mov.s $f2, $f0
/* BDF654 802408C4 8E02001C */ lw $v0, 0x1c($s0)
/* BDF658 802408C8 46001005 */ abs.s $f0, $f2
/* BDF65C 802408CC 44822000 */ mtc1 $v0, $f4
/* BDF660 802408D0 00000000 */ nop
/* BDF664 802408D4 46802120 */ cvt.s.w $f4, $f4
/* BDF668 802408D8 4600203C */ c.lt.s $f4, $f0
/* BDF66C 802408DC 00000000 */ nop
/* BDF670 802408E0 4500000D */ bc1f .L80240918
/* BDF674 802408E4 00000000 */ nop
/* BDF678 802408E8 44800000 */ mtc1 $zero, $f0
/* BDF67C 802408EC C654000C */ lwc1 $f20, 0xc($s2)
/* BDF680 802408F0 4600103C */ c.lt.s $f2, $f0
/* BDF684 802408F4 00000000 */ nop
/* BDF688 802408F8 45000006 */ bc1f .L80240914
/* BDF68C 802408FC 00021023 */ negu $v0, $v0
/* BDF690 80240900 44820000 */ mtc1 $v0, $f0
/* BDF694 80240904 00000000 */ nop
/* BDF698 80240908 46800020 */ cvt.s.w $f0, $f0
/* BDF69C 8024090C 08090246 */ j .L80240918
/* BDF6A0 80240910 4600A500 */ add.s $f20, $f20, $f0
.L80240914:
/* BDF6A4 80240914 4604A500 */ add.s $f20, $f20, $f4
.L80240918:
/* BDF6A8 80240918 0C00A6C9 */ jal clamp_angle
/* BDF6AC 8024091C 4600A306 */ mov.s $f12, $f20
/* BDF6B0 80240920 2402000D */ addiu $v0, $zero, 0xd
/* BDF6B4 80240924 E640000C */ swc1 $f0, 0xc($s2)
/* BDF6B8 80240928 AE620070 */ sw $v0, 0x70($s3)
/* BDF6BC 8024092C 8FBF0020 */ lw $ra, 0x20($sp)
/* BDF6C0 80240930 8FB3001C */ lw $s3, 0x1c($sp)
/* BDF6C4 80240934 8FB20018 */ lw $s2, 0x18($sp)
/* BDF6C8 80240938 8FB10014 */ lw $s1, 0x14($sp)
/* BDF6CC 8024093C 8FB00010 */ lw $s0, 0x10($sp)
/* BDF6D0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BDF6D4 80240944 03E00008 */ jr $ra
/* BDF6D8 80240948 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,80 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024094C_BDF6DC
/* BDF6DC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDF6E0 80240950 AFB3003C */ sw $s3, 0x3c($sp)
/* BDF6E4 80240954 0080982D */ daddu $s3, $a0, $zero
/* BDF6E8 80240958 AFBF0040 */ sw $ra, 0x40($sp)
/* BDF6EC 8024095C AFB20038 */ sw $s2, 0x38($sp)
/* BDF6F0 80240960 AFB10034 */ sw $s1, 0x34($sp)
/* BDF6F4 80240964 AFB00030 */ sw $s0, 0x30($sp)
/* BDF6F8 80240968 8E720148 */ lw $s2, 0x148($s3)
/* BDF6FC 8024096C 00A0882D */ daddu $s1, $a1, $zero
/* BDF700 80240970 86440008 */ lh $a0, 8($s2)
/* BDF704 80240974 0C00EABB */ jal get_npc_unsafe
/* BDF708 80240978 00C0802D */ daddu $s0, $a2, $zero
/* BDF70C 8024097C 0200202D */ daddu $a0, $s0, $zero
/* BDF710 80240980 0240282D */ daddu $a1, $s2, $zero
/* BDF714 80240984 24030001 */ addiu $v1, $zero, 1
/* BDF718 80240988 AFA30010 */ sw $v1, 0x10($sp)
/* BDF71C 8024098C 8E260024 */ lw $a2, 0x24($s1)
/* BDF720 80240990 8E270028 */ lw $a3, 0x28($s1)
/* BDF724 80240994 0C01242D */ jal func_800490B4
/* BDF728 80240998 0040802D */ daddu $s0, $v0, $zero
/* BDF72C 8024099C 1440001E */ bnez $v0, .L80240A18
/* BDF730 802409A0 0200202D */ daddu $a0, $s0, $zero
/* BDF734 802409A4 24040002 */ addiu $a0, $zero, 2
/* BDF738 802409A8 0200282D */ daddu $a1, $s0, $zero
/* BDF73C 802409AC 0000302D */ daddu $a2, $zero, $zero
/* BDF740 802409B0 860300A8 */ lh $v1, 0xa8($s0)
/* BDF744 802409B4 3C013F80 */ lui $at, 0x3f80
/* BDF748 802409B8 44810000 */ mtc1 $at, $f0
/* BDF74C 802409BC 3C014000 */ lui $at, 0x4000
/* BDF750 802409C0 44811000 */ mtc1 $at, $f2
/* BDF754 802409C4 3C01C1A0 */ lui $at, 0xc1a0
/* BDF758 802409C8 44812000 */ mtc1 $at, $f4
/* BDF75C 802409CC 2402000F */ addiu $v0, $zero, 0xf
/* BDF760 802409D0 AFA2001C */ sw $v0, 0x1c($sp)
/* BDF764 802409D4 44833000 */ mtc1 $v1, $f6
/* BDF768 802409D8 00000000 */ nop
/* BDF76C 802409DC 468031A0 */ cvt.s.w $f6, $f6
/* BDF770 802409E0 44073000 */ mfc1 $a3, $f6
/* BDF774 802409E4 27A20028 */ addiu $v0, $sp, 0x28
/* BDF778 802409E8 AFA20020 */ sw $v0, 0x20($sp)
/* BDF77C 802409EC E7A00010 */ swc1 $f0, 0x10($sp)
/* BDF780 802409F0 E7A20014 */ swc1 $f2, 0x14($sp)
/* BDF784 802409F4 0C01BFA4 */ jal fx_emote
/* BDF788 802409F8 E7A40018 */ swc1 $f4, 0x18($sp)
/* BDF78C 802409FC 8E4200CC */ lw $v0, 0xcc($s2)
/* BDF790 80240A00 8C430000 */ lw $v1, ($v0)
/* BDF794 80240A04 24020019 */ addiu $v0, $zero, 0x19
/* BDF798 80240A08 A602008E */ sh $v0, 0x8e($s0)
/* BDF79C 80240A0C 2402000E */ addiu $v0, $zero, 0xe
/* BDF7A0 80240A10 08090293 */ j .L80240A4C
/* BDF7A4 80240A14 AE030028 */ sw $v1, 0x28($s0)
.L80240A18:
/* BDF7A8 80240A18 0C00F598 */ jal func_8003D660
/* BDF7AC 80240A1C 24050001 */ addiu $a1, $zero, 1
/* BDF7B0 80240A20 8E050018 */ lw $a1, 0x18($s0)
/* BDF7B4 80240A24 8E06000C */ lw $a2, 0xc($s0)
/* BDF7B8 80240A28 0C00EA95 */ jal npc_move_heading
/* BDF7BC 80240A2C 0200202D */ daddu $a0, $s0, $zero
/* BDF7C0 80240A30 8602008E */ lh $v0, 0x8e($s0)
/* BDF7C4 80240A34 9603008E */ lhu $v1, 0x8e($s0)
/* BDF7C8 80240A38 18400003 */ blez $v0, .L80240A48
/* BDF7CC 80240A3C 2462FFFF */ addiu $v0, $v1, -1
/* BDF7D0 80240A40 08090294 */ j .L80240A50
/* BDF7D4 80240A44 A602008E */ sh $v0, 0x8e($s0)
.L80240A48:
/* BDF7D8 80240A48 2402000C */ addiu $v0, $zero, 0xc
.L80240A4C:
/* BDF7DC 80240A4C AE620070 */ sw $v0, 0x70($s3)
.L80240A50:
/* BDF7E0 80240A50 8FBF0040 */ lw $ra, 0x40($sp)
/* BDF7E4 80240A54 8FB3003C */ lw $s3, 0x3c($sp)
/* BDF7E8 80240A58 8FB20038 */ lw $s2, 0x38($sp)
/* BDF7EC 80240A5C 8FB10034 */ lw $s1, 0x34($sp)
/* BDF7F0 80240A60 8FB00030 */ lw $s0, 0x30($sp)
/* BDF7F4 80240A64 03E00008 */ jr $ra
/* BDF7F8 80240A68 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,32 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A6C_BDF7FC
/* BDF7FC 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDF800 80240A70 AFB10014 */ sw $s1, 0x14($sp)
/* BDF804 80240A74 0080882D */ daddu $s1, $a0, $zero
/* BDF808 80240A78 AFBF0018 */ sw $ra, 0x18($sp)
/* BDF80C 80240A7C AFB00010 */ sw $s0, 0x10($sp)
/* BDF810 80240A80 8E300148 */ lw $s0, 0x148($s1)
/* BDF814 80240A84 0C00EABB */ jal get_npc_unsafe
/* BDF818 80240A88 86040008 */ lh $a0, 8($s0)
/* BDF81C 80240A8C 9443008E */ lhu $v1, 0x8e($v0)
/* BDF820 80240A90 2463FFFF */ addiu $v1, $v1, -1
/* BDF824 80240A94 A443008E */ sh $v1, 0x8e($v0)
/* BDF828 80240A98 00031C00 */ sll $v1, $v1, 0x10
/* BDF82C 80240A9C 14600008 */ bnez $v1, .L80240AC0
/* BDF830 80240AA0 00000000 */ nop
/* BDF834 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0)
/* BDF838 80240AA8 30420080 */ andi $v0, $v0, 0x80
/* BDF83C 80240AAC 10400003 */ beqz $v0, .L80240ABC
/* BDF840 80240AB0 2402000F */ addiu $v0, $zero, 0xf
/* BDF844 80240AB4 080902B0 */ j .L80240AC0
/* BDF848 80240AB8 AE220070 */ sw $v0, 0x70($s1)
.L80240ABC:
/* BDF84C 80240ABC AE200070 */ sw $zero, 0x70($s1)
.L80240AC0:
/* BDF850 80240AC0 8FBF0018 */ lw $ra, 0x18($sp)
/* BDF854 80240AC4 8FB10014 */ lw $s1, 0x14($sp)
/* BDF858 80240AC8 8FB00010 */ lw $s0, 0x10($sp)
/* BDF85C 80240ACC 03E00008 */ jr $ra
/* BDF860 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,55 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240AD4_BDF864
/* BDF864 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BDF868 80240AD8 AFB10014 */ sw $s1, 0x14($sp)
/* BDF86C 80240ADC 0080882D */ daddu $s1, $a0, $zero
/* BDF870 80240AE0 AFBF001C */ sw $ra, 0x1c($sp)
/* BDF874 80240AE4 AFB20018 */ sw $s2, 0x18($sp)
/* BDF878 80240AE8 AFB00010 */ sw $s0, 0x10($sp)
/* BDF87C 80240AEC 8E300148 */ lw $s0, 0x148($s1)
/* BDF880 80240AF0 86040008 */ lh $a0, 8($s0)
/* BDF884 80240AF4 0C00EABB */ jal get_npc_unsafe
/* BDF888 80240AF8 00A0902D */ daddu $s2, $a1, $zero
/* BDF88C 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0)
/* BDF890 80240B00 8E240078 */ lw $a0, 0x78($s1)
/* BDF894 80240B04 8C630000 */ lw $v1, ($v1)
/* BDF898 80240B08 0083182A */ slt $v1, $a0, $v1
/* BDF89C 80240B0C 10600013 */ beqz $v1, .L80240B5C
/* BDF8A0 80240B10 0040302D */ daddu $a2, $v0, $zero
/* BDF8A4 80240B14 00041040 */ sll $v0, $a0, 1
/* BDF8A8 80240B18 00441021 */ addu $v0, $v0, $a0
/* BDF8AC 80240B1C 00022880 */ sll $a1, $v0, 2
.L80240B20:
/* BDF8B0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0)
/* BDF8B4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2)
/* BDF8B8 80240B28 00A31021 */ addu $v0, $a1, $v1
/* BDF8BC 80240B2C C4400008 */ lwc1 $f0, 8($v0)
/* BDF8C0 80240B30 46800020 */ cvt.s.w $f0, $f0
/* BDF8C4 80240B34 4602003E */ c.le.s $f0, $f2
/* BDF8C8 80240B38 00000000 */ nop
/* BDF8CC 80240B3C 45020003 */ bc1fl .L80240B4C
/* BDF8D0 80240B40 24840001 */ addiu $a0, $a0, 1
/* BDF8D4 80240B44 080902D7 */ j .L80240B5C
/* BDF8D8 80240B48 AE240078 */ sw $a0, 0x78($s1)
.L80240B4C:
/* BDF8DC 80240B4C 8C620000 */ lw $v0, ($v1)
/* BDF8E0 80240B50 0082102A */ slt $v0, $a0, $v0
/* BDF8E4 80240B54 1440FFF2 */ bnez $v0, .L80240B20
/* BDF8E8 80240B58 24A5000C */ addiu $a1, $a1, 0xc
.L80240B5C:
/* BDF8EC 80240B5C C6400000 */ lwc1 $f0, ($s2)
/* BDF8F0 80240B60 E4C00018 */ swc1 $f0, 0x18($a2)
/* BDF8F4 80240B64 8E0200CC */ lw $v0, 0xcc($s0)
/* BDF8F8 80240B68 8C420004 */ lw $v0, 4($v0)
/* BDF8FC 80240B6C ACC20028 */ sw $v0, 0x28($a2)
/* BDF900 80240B70 24020001 */ addiu $v0, $zero, 1
/* BDF904 80240B74 AE200074 */ sw $zero, 0x74($s1)
/* BDF908 80240B78 AE220070 */ sw $v0, 0x70($s1)
/* BDF90C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp)
/* BDF910 80240B80 8FB20018 */ lw $s2, 0x18($sp)
/* BDF914 80240B84 8FB10014 */ lw $s1, 0x14($sp)
/* BDF918 80240B88 8FB00010 */ lw $s0, 0x10($sp)
/* BDF91C 80240B8C 03E00008 */ jr $ra
/* BDF920 80240B90 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,202 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B94_BDF924
/* BDF924 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68
/* BDF928 80240B98 AFB40058 */ sw $s4, 0x58($sp)
/* BDF92C 80240B9C 0080A02D */ daddu $s4, $a0, $zero
/* BDF930 80240BA0 AFBF0060 */ sw $ra, 0x60($sp)
/* BDF934 80240BA4 AFB5005C */ sw $s5, 0x5c($sp)
/* BDF938 80240BA8 AFB30054 */ sw $s3, 0x54($sp)
/* BDF93C 80240BAC AFB20050 */ sw $s2, 0x50($sp)
/* BDF940 80240BB0 AFB1004C */ sw $s1, 0x4c($sp)
/* BDF944 80240BB4 AFB00048 */ sw $s0, 0x48($sp)
/* BDF948 80240BB8 8E910148 */ lw $s1, 0x148($s4)
/* BDF94C 80240BBC 86240008 */ lh $a0, 8($s1)
/* BDF950 80240BC0 0C00EABB */ jal get_npc_unsafe
/* BDF954 80240BC4 00A0802D */ daddu $s0, $a1, $zero
/* BDF958 80240BC8 8E83000C */ lw $v1, 0xc($s4)
/* BDF95C 80240BCC 0280202D */ daddu $a0, $s4, $zero
/* BDF960 80240BD0 8C650000 */ lw $a1, ($v1)
/* BDF964 80240BD4 0C0B1EAF */ jal get_variable
/* BDF968 80240BD8 0040902D */ daddu $s2, $v0, $zero
/* BDF96C 80240BDC AFA00018 */ sw $zero, 0x18($sp)
/* BDF970 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF974 80240BE4 8C630094 */ lw $v1, 0x94($v1)
/* BDF978 80240BE8 AFA3001C */ sw $v1, 0x1c($sp)
/* BDF97C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF980 80240BF0 8C630080 */ lw $v1, 0x80($v1)
/* BDF984 80240BF4 AFA30020 */ sw $v1, 0x20($sp)
/* BDF988 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF98C 80240BFC 8C630088 */ lw $v1, 0x88($v1)
/* BDF990 80240C00 AFA30024 */ sw $v1, 0x24($sp)
/* BDF994 80240C04 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF998 80240C08 8C63008C */ lw $v1, 0x8c($v1)
/* BDF99C 80240C0C 27B50018 */ addiu $s5, $sp, 0x18
/* BDF9A0 80240C10 AFA30028 */ sw $v1, 0x28($sp)
/* BDF9A4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1)
/* BDF9A8 80240C18 3C014282 */ lui $at, 0x4282
/* BDF9AC 80240C1C 44810000 */ mtc1 $at, $f0
/* BDF9B0 80240C20 8C630090 */ lw $v1, 0x90($v1)
/* BDF9B4 80240C24 0040982D */ daddu $s3, $v0, $zero
/* BDF9B8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp)
/* BDF9BC 80240C2C A7A00034 */ sh $zero, 0x34($sp)
/* BDF9C0 80240C30 16000005 */ bnez $s0, .L80240C48
/* BDF9C4 80240C34 AFA3002C */ sw $v1, 0x2c($sp)
/* BDF9C8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1)
/* BDF9CC 80240C3C 30420004 */ andi $v0, $v0, 4
/* BDF9D0 80240C40 10400044 */ beqz $v0, .L80240D54
/* BDF9D4 80240C44 00000000 */ nop
.L80240C48:
/* BDF9D8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801
/* BDF9DC 80240C4C AE800070 */ sw $zero, 0x70($s4)
/* BDF9E0 80240C50 A640008E */ sh $zero, 0x8e($s2)
/* BDF9E4 80240C54 8E2200CC */ lw $v0, 0xcc($s1)
/* BDF9E8 80240C58 8E430000 */ lw $v1, ($s2)
/* BDF9EC 80240C5C 8C420000 */ lw $v0, ($v0)
/* BDF9F0 80240C60 00641824 */ and $v1, $v1, $a0
/* BDF9F4 80240C64 AE430000 */ sw $v1, ($s2)
/* BDF9F8 80240C68 AE420028 */ sw $v0, 0x28($s2)
/* BDF9FC 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BDFA00 80240C70 8C420098 */ lw $v0, 0x98($v0)
/* BDFA04 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C
/* BDFA08 80240C78 2402FDFF */ addiu $v0, $zero, -0x201
/* BDFA0C 80240C7C 34620200 */ ori $v0, $v1, 0x200
/* BDFA10 80240C80 2403FFF7 */ addiu $v1, $zero, -9
/* BDFA14 80240C84 08090325 */ j .L80240C94
/* BDFA18 80240C88 00431024 */ and $v0, $v0, $v1
.L80240C8C:
/* BDFA1C 80240C8C 00621024 */ and $v0, $v1, $v0
/* BDFA20 80240C90 34420008 */ ori $v0, $v0, 8
.L80240C94:
/* BDFA24 80240C94 AE420000 */ sw $v0, ($s2)
/* BDFA28 80240C98 8E2200B0 */ lw $v0, 0xb0($s1)
/* BDFA2C 80240C9C 30420004 */ andi $v0, $v0, 4
/* BDFA30 80240CA0 10400008 */ beqz $v0, .L80240CC4
/* BDFA34 80240CA4 24020063 */ addiu $v0, $zero, 0x63
/* BDFA38 80240CA8 AE820070 */ sw $v0, 0x70($s4)
/* BDFA3C 80240CAC AE800074 */ sw $zero, 0x74($s4)
/* BDFA40 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1)
/* BDFA44 80240CB4 2403FFFB */ addiu $v1, $zero, -5
/* BDFA48 80240CB8 00431024 */ and $v0, $v0, $v1
/* BDFA4C 80240CBC 0809033C */ j .L80240CF0
/* BDFA50 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240CC4:
/* BDFA54 80240CC4 8E220000 */ lw $v0, ($s1)
/* BDFA58 80240CC8 3C034000 */ lui $v1, 0x4000
/* BDFA5C 80240CCC 00431024 */ and $v0, $v0, $v1
/* BDFA60 80240CD0 10400007 */ beqz $v0, .L80240CF0
/* BDFA64 80240CD4 3C03BFFF */ lui $v1, 0xbfff
/* BDFA68 80240CD8 2402000C */ addiu $v0, $zero, 0xc
/* BDFA6C 80240CDC AE820070 */ sw $v0, 0x70($s4)
/* BDFA70 80240CE0 8E220000 */ lw $v0, ($s1)
/* BDFA74 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff
/* BDFA78 80240CE8 00431024 */ and $v0, $v0, $v1
/* BDFA7C 80240CEC AE220000 */ sw $v0, ($s1)
.L80240CF0:
/* BDFA80 80240CF0 27A50038 */ addiu $a1, $sp, 0x38
/* BDFA84 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c
/* BDFA88 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2)
/* BDFA8C 80240CFC 864200A8 */ lh $v0, 0xa8($s2)
/* BDFA90 80240D00 3C0142C8 */ lui $at, 0x42c8
/* BDFA94 80240D04 44812000 */ mtc1 $at, $f4
/* BDFA98 80240D08 44823000 */ mtc1 $v0, $f6
/* BDFA9C 80240D0C 00000000 */ nop
/* BDFAA0 80240D10 468031A0 */ cvt.s.w $f6, $f6
/* BDFAA4 80240D14 27A20044 */ addiu $v0, $sp, 0x44
/* BDFAA8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp)
/* BDFAAC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2)
/* BDFAB0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2)
/* BDFAB4 80240D24 46060000 */ add.s $f0, $f0, $f6
/* BDFAB8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp)
/* BDFABC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp)
/* BDFAC0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp)
/* BDFAC4 80240D34 AFA20010 */ sw $v0, 0x10($sp)
/* BDFAC8 80240D38 8E440080 */ lw $a0, 0x80($s2)
/* BDFACC 80240D3C 0C0372DF */ jal func_800DCB7C
/* BDFAD0 80240D40 27A70040 */ addiu $a3, $sp, 0x40
/* BDFAD4 80240D44 10400003 */ beqz $v0, .L80240D54
/* BDFAD8 80240D48 00000000 */ nop
/* BDFADC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp)
/* BDFAE0 80240D50 E640003C */ swc1 $f0, 0x3c($s2)
.L80240D54:
/* BDFAE4 80240D54 8E830070 */ lw $v1, 0x70($s4)
/* BDFAE8 80240D58 2C620064 */ sltiu $v0, $v1, 0x64
/* BDFAEC 80240D5C 10400042 */ beqz $v0, .L80240E68
/* BDFAF0 80240D60 00031080 */ sll $v0, $v1, 2
/* BDFAF4 80240D64 3C018024 */ lui $at, 0x8024
/* BDFAF8 80240D68 00220821 */ addu $at, $at, $v0
/* BDFAFC 80240D6C 8C224870 */ lw $v0, 0x4870($at)
/* BDFB00 80240D70 00400008 */ jr $v0
/* BDFB04 80240D74 00000000 */ nop
/* BDFB08 80240D78 0280202D */ daddu $a0, $s4, $zero
/* BDFB0C 80240D7C 0260282D */ daddu $a1, $s3, $zero
/* BDFB10 80240D80 0C090000 */ jal func_80240000
/* BDFB14 80240D84 02A0302D */ daddu $a2, $s5, $zero
/* BDFB18 80240D88 0280202D */ daddu $a0, $s4, $zero
/* BDFB1C 80240D8C 0260282D */ daddu $a1, $s3, $zero
/* BDFB20 80240D90 0C090056 */ jal func_80240158
/* BDFB24 80240D94 02A0302D */ daddu $a2, $s5, $zero
/* BDFB28 80240D98 0809039A */ j .L80240E68
/* BDFB2C 80240D9C 00000000 */ nop
/* BDFB30 80240DA0 0280202D */ daddu $a0, $s4, $zero
/* BDFB34 80240DA4 0260282D */ daddu $a1, $s3, $zero
/* BDFB38 80240DA8 0C090100 */ jal func_80240400
/* BDFB3C 80240DAC 02A0302D */ daddu $a2, $s5, $zero
/* BDFB40 80240DB0 0280202D */ daddu $a0, $s4, $zero
/* BDFB44 80240DB4 0260282D */ daddu $a1, $s3, $zero
/* BDFB48 80240DB8 0C090130 */ jal func_802404C0
/* BDFB4C 80240DBC 02A0302D */ daddu $a2, $s5, $zero
/* BDFB50 80240DC0 0809039A */ j .L80240E68
/* BDFB54 80240DC4 00000000 */ nop
/* BDFB58 80240DC8 0280202D */ daddu $a0, $s4, $zero
/* BDFB5C 80240DCC 0260282D */ daddu $a1, $s3, $zero
/* BDFB60 80240DD0 0C09019F */ jal func_8024067C
/* BDFB64 80240DD4 02A0302D */ daddu $a2, $s5, $zero
/* BDFB68 80240DD8 0809039A */ j .L80240E68
/* BDFB6C 80240DDC 00000000 */ nop
/* BDFB70 80240DE0 0280202D */ daddu $a0, $s4, $zero
/* BDFB74 80240DE4 0260282D */ daddu $a1, $s3, $zero
/* BDFB78 80240DE8 0C0901CC */ jal func_80240730
/* BDFB7C 80240DEC 02A0302D */ daddu $a2, $s5, $zero
/* BDFB80 80240DF0 0280202D */ daddu $a0, $s4, $zero
/* BDFB84 80240DF4 0260282D */ daddu $a1, $s3, $zero
/* BDFB88 80240DF8 0C0901E9 */ jal func_802407A4
/* BDFB8C 80240DFC 02A0302D */ daddu $a2, $s5, $zero
/* BDFB90 80240E00 0809039A */ j .L80240E68
/* BDFB94 80240E04 00000000 */ nop
/* BDFB98 80240E08 0280202D */ daddu $a0, $s4, $zero
/* BDFB9C 80240E0C 0260282D */ daddu $a1, $s3, $zero
/* BDFBA0 80240E10 0C090207 */ jal func_8024081C
/* BDFBA4 80240E14 02A0302D */ daddu $a2, $s5, $zero
/* BDFBA8 80240E18 0280202D */ daddu $a0, $s4, $zero
/* BDFBAC 80240E1C 0260282D */ daddu $a1, $s3, $zero
/* BDFBB0 80240E20 0C090253 */ jal func_8024094C
/* BDFBB4 80240E24 02A0302D */ daddu $a2, $s5, $zero
/* BDFBB8 80240E28 0809039A */ j .L80240E68
/* BDFBBC 80240E2C 00000000 */ nop
/* BDFBC0 80240E30 0280202D */ daddu $a0, $s4, $zero
/* BDFBC4 80240E34 0260282D */ daddu $a1, $s3, $zero
/* BDFBC8 80240E38 0C09029B */ jal func_80240A6C
/* BDFBCC 80240E3C 02A0302D */ daddu $a2, $s5, $zero
/* BDFBD0 80240E40 0809039A */ j .L80240E68
/* BDFBD4 80240E44 00000000 */ nop
/* BDFBD8 80240E48 0280202D */ daddu $a0, $s4, $zero
/* BDFBDC 80240E4C 0260282D */ daddu $a1, $s3, $zero
/* BDFBE0 80240E50 0C0902B5 */ jal func_80240AD4
/* BDFBE4 80240E54 02A0302D */ daddu $a2, $s5, $zero
/* BDFBE8 80240E58 0809039A */ j .L80240E68
/* BDFBEC 80240E5C 00000000 */ nop
/* BDFBF0 80240E60 0C0129CF */ jal func_8004A73C
/* BDFBF4 80240E64 0280202D */ daddu $a0, $s4, $zero
.L80240E68:
/* BDFBF8 80240E68 8FBF0060 */ lw $ra, 0x60($sp)
/* BDFBFC 80240E6C 8FB5005C */ lw $s5, 0x5c($sp)
/* BDFC00 80240E70 8FB40058 */ lw $s4, 0x58($sp)
/* BDFC04 80240E74 8FB30054 */ lw $s3, 0x54($sp)
/* BDFC08 80240E78 8FB20050 */ lw $s2, 0x50($sp)
/* BDFC0C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp)
/* BDFC10 80240E80 8FB00048 */ lw $s0, 0x48($sp)
/* BDFC14 80240E84 0000102D */ daddu $v0, $zero, $zero
/* BDFC18 80240E88 03E00008 */ jr $ra
/* BDFC1C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -0,0 +1,126 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240E90_BDFC20
/* BDFC20 80240E90 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BDFC24 80240E94 AFB20030 */ sw $s2, 0x30($sp)
/* BDFC28 80240E98 0080902D */ daddu $s2, $a0, $zero
/* BDFC2C 80240E9C AFBF0034 */ sw $ra, 0x34($sp)
/* BDFC30 80240EA0 AFB1002C */ sw $s1, 0x2c($sp)
/* BDFC34 80240EA4 AFB00028 */ sw $s0, 0x28($sp)
/* BDFC38 80240EA8 F7B60040 */ sdc1 $f22, 0x40($sp)
/* BDFC3C 80240EAC F7B40038 */ sdc1 $f20, 0x38($sp)
/* BDFC40 80240EB0 8E500148 */ lw $s0, 0x148($s2)
/* BDFC44 80240EB4 0C00EABB */ jal get_npc_unsafe
/* BDFC48 80240EB8 86040008 */ lh $a0, 8($s0)
/* BDFC4C 80240EBC 0040882D */ daddu $s1, $v0, $zero
/* BDFC50 80240EC0 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BDFC54 80240EC4 8E430078 */ lw $v1, 0x78($s2)
/* BDFC58 80240EC8 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BDFC5C 80240ECC 00031040 */ sll $v0, $v1, 1
/* BDFC60 80240ED0 00431021 */ addu $v0, $v0, $v1
/* BDFC64 80240ED4 8E0300D0 */ lw $v1, 0xd0($s0)
/* BDFC68 80240ED8 00021080 */ sll $v0, $v0, 2
/* BDFC6C 80240EDC 00431021 */ addu $v0, $v0, $v1
/* BDFC70 80240EE0 C4560004 */ lwc1 $f22, 4($v0)
/* BDFC74 80240EE4 4680B5A0 */ cvt.s.w $f22, $f22
/* BDFC78 80240EE8 C454000C */ lwc1 $f20, 0xc($v0)
/* BDFC7C 80240EEC 4680A520 */ cvt.s.w $f20, $f20
/* BDFC80 80240EF0 4406B000 */ mfc1 $a2, $f22
/* BDFC84 80240EF4 4407A000 */ mfc1 $a3, $f20
/* BDFC88 80240EF8 E7AC0018 */ swc1 $f12, 0x18($sp)
/* BDFC8C 80240EFC 0C00A720 */ jal atan2
/* BDFC90 80240F00 E7AE0020 */ swc1 $f14, 0x20($sp)
/* BDFC94 80240F04 8E250018 */ lw $a1, 0x18($s1)
/* BDFC98 80240F08 44060000 */ mfc1 $a2, $f0
/* BDFC9C 80240F0C 0220202D */ daddu $a0, $s1, $zero
/* BDFCA0 80240F10 0C00EA95 */ jal npc_move_heading
/* BDFCA4 80240F14 AE26000C */ sw $a2, 0xc($s1)
/* BDFCA8 80240F18 27A50018 */ addiu $a1, $sp, 0x18
/* BDFCAC 80240F1C 27A6001C */ addiu $a2, $sp, 0x1c
/* BDFCB0 80240F20 C6200038 */ lwc1 $f0, 0x38($s1)
/* BDFCB4 80240F24 8E430078 */ lw $v1, 0x78($s2)
/* BDFCB8 80240F28 3C01447A */ lui $at, 0x447a
/* BDFCBC 80240F2C 44812000 */ mtc1 $at, $f4
/* BDFCC0 80240F30 00031040 */ sll $v0, $v1, 1
/* BDFCC4 80240F34 00431021 */ addu $v0, $v0, $v1
/* BDFCC8 80240F38 00021080 */ sll $v0, $v0, 2
/* BDFCCC 80240F3C E7A00018 */ swc1 $f0, 0x18($sp)
/* BDFCD0 80240F40 8E0300D0 */ lw $v1, 0xd0($s0)
/* BDFCD4 80240F44 C620003C */ lwc1 $f0, 0x3c($s1)
/* BDFCD8 80240F48 C6220040 */ lwc1 $f2, 0x40($s1)
/* BDFCDC 80240F4C 00431021 */ addu $v0, $v0, $v1
/* BDFCE0 80240F50 C4460008 */ lwc1 $f6, 8($v0)
/* BDFCE4 80240F54 468031A0 */ cvt.s.w $f6, $f6
/* BDFCE8 80240F58 27A20024 */ addiu $v0, $sp, 0x24
/* BDFCEC 80240F5C 46060000 */ add.s $f0, $f0, $f6
/* BDFCF0 80240F60 E7A20020 */ swc1 $f2, 0x20($sp)
/* BDFCF4 80240F64 E7A40024 */ swc1 $f4, 0x24($sp)
/* BDFCF8 80240F68 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BDFCFC 80240F6C AFA20010 */ sw $v0, 0x10($sp)
/* BDFD00 80240F70 8E240080 */ lw $a0, 0x80($s1)
/* BDFD04 80240F74 0C0372DF */ jal func_800DCB7C
/* BDFD08 80240F78 27A70020 */ addiu $a3, $sp, 0x20
/* BDFD0C 80240F7C 8E430078 */ lw $v1, 0x78($s2)
/* BDFD10 80240F80 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* BDFD14 80240F84 00031040 */ sll $v0, $v1, 1
/* BDFD18 80240F88 00431021 */ addu $v0, $v0, $v1
/* BDFD1C 80240F8C 8E0300D0 */ lw $v1, 0xd0($s0)
/* BDFD20 80240F90 00021080 */ sll $v0, $v0, 2
/* BDFD24 80240F94 00431021 */ addu $v0, $v0, $v1
/* BDFD28 80240F98 C4400008 */ lwc1 $f0, 8($v0)
/* BDFD2C 80240F9C 46800020 */ cvt.s.w $f0, $f0
/* BDFD30 80240FA0 46001080 */ add.s $f2, $f2, $f0
/* BDFD34 80240FA4 C620003C */ lwc1 $f0, 0x3c($s1)
/* BDFD38 80240FA8 3C014000 */ lui $at, 0x4000
/* BDFD3C 80240FAC 44813800 */ mtc1 $at, $f7
/* BDFD40 80240FB0 44803000 */ mtc1 $zero, $f6
/* BDFD44 80240FB4 46001001 */ sub.s $f0, $f2, $f0
/* BDFD48 80240FB8 E7A2001C */ swc1 $f2, 0x1c($sp)
/* BDFD4C 80240FBC 46000121 */ cvt.d.s $f4, $f0
/* BDFD50 80240FC0 4624303C */ c.lt.d $f6, $f4
/* BDFD54 80240FC4 00000000 */ nop
/* BDFD58 80240FC8 45000005 */ bc1f .L80240FE0
/* BDFD5C 80240FCC E7A00024 */ swc1 $f0, 0x24($sp)
/* BDFD60 80240FD0 C620003C */ lwc1 $f0, 0x3c($s1)
/* BDFD64 80240FD4 46000021 */ cvt.d.s $f0, $f0
/* BDFD68 80240FD8 08090403 */ j .L8024100C
/* BDFD6C 80240FDC 46260000 */ add.d $f0, $f0, $f6
.L80240FE0:
/* BDFD70 80240FE0 3C01C000 */ lui $at, 0xc000
/* BDFD74 80240FE4 44810800 */ mtc1 $at, $f1
/* BDFD78 80240FE8 44800000 */ mtc1 $zero, $f0
/* BDFD7C 80240FEC 00000000 */ nop
/* BDFD80 80240FF0 4620203C */ c.lt.d $f4, $f0
/* BDFD84 80240FF4 00000000 */ nop
/* BDFD88 80240FF8 45020006 */ bc1fl .L80241014
/* BDFD8C 80240FFC E622003C */ swc1 $f2, 0x3c($s1)
/* BDFD90 80241000 C620003C */ lwc1 $f0, 0x3c($s1)
/* BDFD94 80241004 46000021 */ cvt.d.s $f0, $f0
/* BDFD98 80241008 46260001 */ sub.d $f0, $f0, $f6
.L8024100C:
/* BDFD9C 8024100C 46200020 */ cvt.s.d $f0, $f0
/* BDFDA0 80241010 E620003C */ swc1 $f0, 0x3c($s1)
.L80241014:
/* BDFDA4 80241014 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BDFDA8 80241018 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BDFDAC 8024101C 4406B000 */ mfc1 $a2, $f22
/* BDFDB0 80241020 4407A000 */ mfc1 $a3, $f20
/* BDFDB4 80241024 0C00A7B5 */ jal dist2D
/* BDFDB8 80241028 00000000 */ nop
/* BDFDBC 8024102C C6220018 */ lwc1 $f2, 0x18($s1)
/* BDFDC0 80241030 4600103C */ c.lt.s $f2, $f0
/* BDFDC4 80241034 00000000 */ nop
/* BDFDC8 80241038 45010003 */ bc1t .L80241048
/* BDFDCC 8024103C E7A00024 */ swc1 $f0, 0x24($sp)
/* BDFDD0 80241040 24020002 */ addiu $v0, $zero, 2
/* BDFDD4 80241044 AE420070 */ sw $v0, 0x70($s2)
.L80241048:
/* BDFDD8 80241048 8FBF0034 */ lw $ra, 0x34($sp)
/* BDFDDC 8024104C 8FB20030 */ lw $s2, 0x30($sp)
/* BDFDE0 80241050 8FB1002C */ lw $s1, 0x2c($sp)
/* BDFDE4 80241054 8FB00028 */ lw $s0, 0x28($sp)
/* BDFDE8 80241058 D7B60040 */ ldc1 $f22, 0x40($sp)
/* BDFDEC 8024105C D7B40038 */ ldc1 $f20, 0x38($sp)
/* BDFDF0 80241060 03E00008 */ jr $ra
/* BDFDF4 80241064 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,59 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241068
/* BDFDF8 80241068 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BDFDFC 8024106C AFB10014 */ sw $s1, 0x14($sp)
/* BDFE00 80241070 0080882D */ daddu $s1, $a0, $zero
/* BDFE04 80241074 AFBF0020 */ sw $ra, 0x20($sp)
/* BDFE08 80241078 AFB3001C */ sw $s3, 0x1c($sp)
/* BDFE0C 8024107C AFB20018 */ sw $s2, 0x18($sp)
/* BDFE10 80241080 AFB00010 */ sw $s0, 0x10($sp)
/* BDFE14 80241084 8E320148 */ lw $s2, 0x148($s1)
/* BDFE18 80241088 86440008 */ lh $a0, 8($s2)
/* BDFE1C 8024108C 0C00EABB */ jal get_npc_unsafe
/* BDFE20 80241090 00A0982D */ daddu $s3, $a1, $zero
/* BDFE24 80241094 0040802D */ daddu $s0, $v0, $zero
/* BDFE28 80241098 9602008E */ lhu $v0, 0x8e($s0)
/* BDFE2C 8024109C 2442FFFF */ addiu $v0, $v0, -1
/* BDFE30 802410A0 A602008E */ sh $v0, 0x8e($s0)
/* BDFE34 802410A4 00021400 */ sll $v0, $v0, 0x10
/* BDFE38 802410A8 0441001D */ bgez $v0, .L80241120
/* BDFE3C 802410AC 00000000 */ nop
/* BDFE40 802410B0 8E220074 */ lw $v0, 0x74($s1)
/* BDFE44 802410B4 2442FFFF */ addiu $v0, $v0, -1
/* BDFE48 802410B8 04400014 */ bltz $v0, .L8024110C
/* BDFE4C 802410BC AE220074 */ sw $v0, 0x74($s1)
/* BDFE50 802410C0 C600000C */ lwc1 $f0, 0xc($s0)
/* BDFE54 802410C4 3C014334 */ lui $at, 0x4334
/* BDFE58 802410C8 44816000 */ mtc1 $at, $f12
/* BDFE5C 802410CC 0C00A6C9 */ jal clamp_angle
/* BDFE60 802410D0 460C0300 */ add.s $f12, $f0, $f12
/* BDFE64 802410D4 E600000C */ swc1 $f0, 0xc($s0)
/* BDFE68 802410D8 8E640008 */ lw $a0, 8($s3)
/* BDFE6C 802410DC 000417C2 */ srl $v0, $a0, 0x1f
/* BDFE70 802410E0 00822021 */ addu $a0, $a0, $v0
/* BDFE74 802410E4 00042043 */ sra $a0, $a0, 1
/* BDFE78 802410E8 0C00A67F */ jal rand_int
/* BDFE7C 802410EC 24840001 */ addiu $a0, $a0, 1
/* BDFE80 802410F0 8E630008 */ lw $v1, 8($s3)
/* BDFE84 802410F4 000327C2 */ srl $a0, $v1, 0x1f
/* BDFE88 802410F8 00641821 */ addu $v1, $v1, $a0
/* BDFE8C 802410FC 00031843 */ sra $v1, $v1, 1
/* BDFE90 80241100 00621821 */ addu $v1, $v1, $v0
/* BDFE94 80241104 08090448 */ j .L80241120
/* BDFE98 80241108 A603008E */ sh $v1, 0x8e($s0)
.L8024110C:
/* BDFE9C 8024110C 24020004 */ addiu $v0, $zero, 4
/* BDFEA0 80241110 AE220070 */ sw $v0, 0x70($s1)
/* BDFEA4 80241114 8E4200CC */ lw $v0, 0xcc($s2)
/* BDFEA8 80241118 8C420000 */ lw $v0, ($v0)
/* BDFEAC 8024111C AE020028 */ sw $v0, 0x28($s0)
.L80241120:
/* BDFEB0 80241120 8FBF0020 */ lw $ra, 0x20($sp)
/* BDFEB4 80241124 8FB3001C */ lw $s3, 0x1c($sp)
/* BDFEB8 80241128 8FB20018 */ lw $s2, 0x18($sp)
/* BDFEBC 8024112C 8FB10014 */ lw $s1, 0x14($sp)
/* BDFEC0 80241130 8FB00010 */ lw $s0, 0x10($sp)
/* BDFEC4 80241134 03E00008 */ jr $ra
/* BDFEC8 80241138 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,99 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024113C_BDFECC
/* BDFECC 8024113C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BDFED0 80241140 AFB40040 */ sw $s4, 0x40($sp)
/* BDFED4 80241144 0080A02D */ daddu $s4, $a0, $zero
/* BDFED8 80241148 AFBF0048 */ sw $ra, 0x48($sp)
/* BDFEDC 8024114C AFB50044 */ sw $s5, 0x44($sp)
/* BDFEE0 80241150 AFB3003C */ sw $s3, 0x3c($sp)
/* BDFEE4 80241154 AFB20038 */ sw $s2, 0x38($sp)
/* BDFEE8 80241158 AFB10034 */ sw $s1, 0x34($sp)
/* BDFEEC 8024115C AFB00030 */ sw $s0, 0x30($sp)
/* BDFEF0 80241160 8E930148 */ lw $s3, 0x148($s4)
/* BDFEF4 80241164 86640008 */ lh $a0, 8($s3)
/* BDFEF8 80241168 8E90000C */ lw $s0, 0xc($s4)
/* BDFEFC 8024116C 0C00EABB */ jal get_npc_unsafe
/* BDFF00 80241170 00A0882D */ daddu $s1, $a1, $zero
/* BDFF04 80241174 0280202D */ daddu $a0, $s4, $zero
/* BDFF08 80241178 8E050000 */ lw $a1, ($s0)
/* BDFF0C 8024117C 0C0B1EAF */ jal get_variable
/* BDFF10 80241180 0040A82D */ daddu $s5, $v0, $zero
/* BDFF14 80241184 AFA00010 */ sw $zero, 0x10($sp)
/* BDFF18 80241188 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDFF1C 8024118C 8C630094 */ lw $v1, 0x94($v1)
/* BDFF20 80241190 AFA30014 */ sw $v1, 0x14($sp)
/* BDFF24 80241194 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDFF28 80241198 8C630080 */ lw $v1, 0x80($v1)
/* BDFF2C 8024119C AFA30018 */ sw $v1, 0x18($sp)
/* BDFF30 802411A0 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDFF34 802411A4 8C630088 */ lw $v1, 0x88($v1)
/* BDFF38 802411A8 AFA3001C */ sw $v1, 0x1c($sp)
/* BDFF3C 802411AC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDFF40 802411B0 8C63008C */ lw $v1, 0x8c($v1)
/* BDFF44 802411B4 27B20010 */ addiu $s2, $sp, 0x10
/* BDFF48 802411B8 AFA30020 */ sw $v1, 0x20($sp)
/* BDFF4C 802411BC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BDFF50 802411C0 3C0142C8 */ lui $at, 0x42c8
/* BDFF54 802411C4 44810000 */ mtc1 $at, $f0
/* BDFF58 802411C8 8C630090 */ lw $v1, 0x90($v1)
/* BDFF5C 802411CC 0040802D */ daddu $s0, $v0, $zero
/* BDFF60 802411D0 E7A00028 */ swc1 $f0, 0x28($sp)
/* BDFF64 802411D4 A7A0002C */ sh $zero, 0x2c($sp)
/* BDFF68 802411D8 12200007 */ beqz $s1, .L802411F8
/* BDFF6C 802411DC AFA30024 */ sw $v1, 0x24($sp)
/* BDFF70 802411E0 AE800070 */ sw $zero, 0x70($s4)
/* BDFF74 802411E4 8EA20000 */ lw $v0, ($s5)
/* BDFF78 802411E8 2403F7FF */ addiu $v1, $zero, -0x801
/* BDFF7C 802411EC A6A0008E */ sh $zero, 0x8e($s5)
/* BDFF80 802411F0 00431024 */ and $v0, $v0, $v1
/* BDFF84 802411F4 AEA20000 */ sw $v0, ($s5)
.L802411F8:
/* BDFF88 802411F8 8E830070 */ lw $v1, 0x70($s4)
/* BDFF8C 802411FC 2C620005 */ sltiu $v0, $v1, 5
/* BDFF90 80241200 1040001E */ beqz $v0, .L8024127C
/* BDFF94 80241204 00031080 */ sll $v0, $v1, 2
/* BDFF98 80241208 3C018024 */ lui $at, 0x8024
/* BDFF9C 8024120C 00220821 */ addu $at, $at, $v0
/* BDFFA0 80241210 8C224A00 */ lw $v0, 0x4a00($at)
/* BDFFA4 80241214 00400008 */ jr $v0
/* BDFFA8 80241218 00000000 */ nop
/* BDFFAC 8024121C 0280202D */ daddu $a0, $s4, $zero
/* BDFFB0 80241220 0200282D */ daddu $a1, $s0, $zero
/* BDFFB4 80241224 0C090000 */ jal func_80240000
/* BDFFB8 80241228 0240302D */ daddu $a2, $s2, $zero
/* BDFFBC 8024122C 0280202D */ daddu $a0, $s4, $zero
/* BDFFC0 80241230 0200282D */ daddu $a1, $s0, $zero
/* BDFFC4 80241234 0C0903A4 */ jal func_80240E90
/* BDFFC8 80241238 0240302D */ daddu $a2, $s2, $zero
/* BDFFCC 8024123C 0809049F */ j .L8024127C
/* BDFFD0 80241240 00000000 */ nop
/* BDFFD4 80241244 0280202D */ daddu $a0, $s4, $zero
/* BDFFD8 80241248 0200282D */ daddu $a1, $s0, $zero
/* BDFFDC 8024124C 0C090100 */ jal func_80240400
/* BDFFE0 80241250 0240302D */ daddu $a2, $s2, $zero
/* BDFFE4 80241254 0280202D */ daddu $a0, $s4, $zero
/* BDFFE8 80241258 0200282D */ daddu $a1, $s0, $zero
/* BDFFEC 8024125C 0C09041A */ jal func_80241068
/* BDFFF0 80241260 0240302D */ daddu $a2, $s2, $zero
/* BDFFF4 80241264 0809049F */ j .L8024127C
/* BDFFF8 80241268 00000000 */ nop
/* BDFFFC 8024126C 0280202D */ daddu $a0, $s4, $zero
/* BE0000 80241270 0200282D */ daddu $a1, $s0, $zero
/* BE0004 80241274 0C09019F */ jal func_8024067C
/* BE0008 80241278 0240302D */ daddu $a2, $s2, $zero
.L8024127C:
/* BE000C 8024127C C6A0003C */ lwc1 $f0, 0x3c($s5)
/* BE0010 80241280 4600008D */ trunc.w.s $f2, $f0
/* BE0014 80241284 E662006C */ swc1 $f2, 0x6c($s3)
/* BE0018 80241288 8FBF0048 */ lw $ra, 0x48($sp)
/* BE001C 8024128C 8FB50044 */ lw $s5, 0x44($sp)
/* BE0020 80241290 8FB40040 */ lw $s4, 0x40($sp)
/* BE0024 80241294 8FB3003C */ lw $s3, 0x3c($sp)
/* BE0028 80241298 8FB20038 */ lw $s2, 0x38($sp)
/* BE002C 8024129C 8FB10034 */ lw $s1, 0x34($sp)
/* BE0030 802412A0 8FB00030 */ lw $s0, 0x30($sp)
/* BE0034 802412A4 0000102D */ daddu $v0, $zero, $zero
/* BE0038 802412A8 03E00008 */ jr $ra
/* BE003C 802412AC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,53 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802412B0_BE0040
/* BE0040 802412B0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE0044 802412B4 AFB00010 */ sw $s0, 0x10($sp)
/* BE0048 802412B8 3C108024 */ lui $s0, 0x8024
/* BE004C 802412BC 26101C68 */ addiu $s0, $s0, 0x1c68
/* BE0050 802412C0 AFBF0018 */ sw $ra, 0x18($sp)
/* BE0054 802412C4 AFB10014 */ sw $s1, 0x14($sp)
/* BE0058 802412C8 8E020000 */ lw $v0, ($s0)
/* BE005C 802412CC 14400010 */ bnez $v0, .L80241310
/* BE0060 802412D0 0080882D */ daddu $s1, $a0, $zero
/* BE0064 802412D4 0C00AB39 */ jal heap_malloc
/* BE0068 802412D8 24040040 */ addiu $a0, $zero, 0x40
/* BE006C 802412DC AE020000 */ sw $v0, ($s0)
/* BE0070 802412E0 0000182D */ daddu $v1, $zero, $zero
/* BE0074 802412E4 0040282D */ daddu $a1, $v0, $zero
/* BE0078 802412E8 0220202D */ daddu $a0, $s1, $zero
.L802412EC:
/* BE007C 802412EC 8C820084 */ lw $v0, 0x84($a0)
/* BE0080 802412F0 24840004 */ addiu $a0, $a0, 4
/* BE0084 802412F4 24630001 */ addiu $v1, $v1, 1
/* BE0088 802412F8 ACA20000 */ sw $v0, ($a1)
/* BE008C 802412FC 28620010 */ slti $v0, $v1, 0x10
/* BE0090 80241300 1440FFFA */ bnez $v0, .L802412EC
/* BE0094 80241304 24A50004 */ addiu $a1, $a1, 4
/* BE0098 80241308 080904D3 */ j .L8024134C
/* BE009C 8024130C 00000000 */ nop
.L80241310:
/* BE00A0 80241310 0000182D */ daddu $v1, $zero, $zero
/* BE00A4 80241314 0040282D */ daddu $a1, $v0, $zero
/* BE00A8 80241318 0220202D */ daddu $a0, $s1, $zero
.L8024131C:
/* BE00AC 8024131C 8CA20000 */ lw $v0, ($a1)
/* BE00B0 80241320 24A50004 */ addiu $a1, $a1, 4
/* BE00B4 80241324 24630001 */ addiu $v1, $v1, 1
/* BE00B8 80241328 AC820084 */ sw $v0, 0x84($a0)
/* BE00BC 8024132C 28620010 */ slti $v0, $v1, 0x10
/* BE00C0 80241330 1440FFFA */ bnez $v0, .L8024131C
/* BE00C4 80241334 24840004 */ addiu $a0, $a0, 4
/* BE00C8 80241338 3C108024 */ lui $s0, 0x8024
/* BE00CC 8024133C 26101C68 */ addiu $s0, $s0, 0x1c68
/* BE00D0 80241340 0C00AB4B */ jal heap_free
/* BE00D4 80241344 8E040000 */ lw $a0, ($s0)
/* BE00D8 80241348 AE000000 */ sw $zero, ($s0)
.L8024134C:
/* BE00DC 8024134C 8FBF0018 */ lw $ra, 0x18($sp)
/* BE00E0 80241350 8FB10014 */ lw $s1, 0x14($sp)
/* BE00E4 80241354 8FB00010 */ lw $s0, 0x10($sp)
/* BE00E8 80241358 24020002 */ addiu $v0, $zero, 2
/* BE00EC 8024135C 03E00008 */ jr $ra
/* BE00F0 80241360 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,29 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241364_BE00F4
/* BE00F4 80241364 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE00F8 80241368 AFB00010 */ sw $s0, 0x10($sp)
/* BE00FC 8024136C 0080802D */ daddu $s0, $a0, $zero
/* BE0100 80241370 AFBF0018 */ sw $ra, 0x18($sp)
/* BE0104 80241374 AFB10014 */ sw $s1, 0x14($sp)
/* BE0108 80241378 8E02000C */ lw $v0, 0xc($s0)
/* BE010C 8024137C 8C510000 */ lw $s1, ($v0)
/* BE0110 80241380 0C0B1EAF */ jal get_variable
/* BE0114 80241384 0220282D */ daddu $a1, $s1, $zero
/* BE0118 80241388 3C03FFF0 */ lui $v1, 0xfff0
/* BE011C 8024138C 3463FFFF */ ori $v1, $v1, 0xffff
/* BE0120 80241390 0200202D */ daddu $a0, $s0, $zero
/* BE0124 80241394 00431024 */ and $v0, $v0, $v1
/* BE0128 80241398 00021140 */ sll $v0, $v0, 5
/* BE012C 8024139C 3C068008 */ lui $a2, %hi(gItemTable)
/* BE0130 802413A0 00C23021 */ addu $a2, $a2, $v0
/* BE0134 802413A4 8CC678E0 */ lw $a2, %lo(gItemTable)($a2)
/* BE0138 802413A8 0C0B2026 */ jal set_variable
/* BE013C 802413AC 0220282D */ daddu $a1, $s1, $zero
/* BE0140 802413B0 8FBF0018 */ lw $ra, 0x18($sp)
/* BE0144 802413B4 8FB10014 */ lw $s1, 0x14($sp)
/* BE0148 802413B8 8FB00010 */ lw $s0, 0x10($sp)
/* BE014C 802413BC 24020002 */ addiu $v0, $zero, 2
/* BE0150 802413C0 03E00008 */ jr $ra
/* BE0154 802413C4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,28 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802413C8
/* BE0158 802413C8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE015C 802413CC AFB10014 */ sw $s1, 0x14($sp)
/* BE0160 802413D0 0080882D */ daddu $s1, $a0, $zero
/* BE0164 802413D4 AFBF0018 */ sw $ra, 0x18($sp)
/* BE0168 802413D8 AFB00010 */ sw $s0, 0x10($sp)
/* BE016C 802413DC 8E30000C */ lw $s0, 0xc($s1)
/* BE0170 802413E0 8E050000 */ lw $a1, ($s0)
/* BE0174 802413E4 0C0B1EAF */ jal get_variable
/* BE0178 802413E8 26100004 */ addiu $s0, $s0, 4
/* BE017C 802413EC 0C00EAD2 */ jal get_npc_safe
/* BE0180 802413F0 0040202D */ daddu $a0, $v0, $zero
/* BE0184 802413F4 10400005 */ beqz $v0, .L8024140C
/* BE0188 802413F8 00000000 */ nop
/* BE018C 802413FC 8E050000 */ lw $a1, ($s0)
/* BE0190 80241400 844600A8 */ lh $a2, 0xa8($v0)
/* BE0194 80241404 0C0B2026 */ jal set_variable
/* BE0198 80241408 0220202D */ daddu $a0, $s1, $zero
.L8024140C:
/* BE019C 8024140C 8FBF0018 */ lw $ra, 0x18($sp)
/* BE01A0 80241410 8FB10014 */ lw $s1, 0x14($sp)
/* BE01A4 80241414 8FB00010 */ lw $s0, 0x10($sp)
/* BE01A8 80241418 24020002 */ addiu $v0, $zero, 2
/* BE01AC 8024141C 03E00008 */ jr $ra
/* BE01B0 80241420 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,122 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241424_BE01B4
/* BE01B4 80241424 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BE01B8 80241428 AFB10014 */ sw $s1, 0x14($sp)
/* BE01BC 8024142C 0080882D */ daddu $s1, $a0, $zero
/* BE01C0 80241430 AFBF0024 */ sw $ra, 0x24($sp)
/* BE01C4 80241434 AFB40020 */ sw $s4, 0x20($sp)
/* BE01C8 80241438 AFB3001C */ sw $s3, 0x1c($sp)
/* BE01CC 8024143C AFB20018 */ sw $s2, 0x18($sp)
/* BE01D0 80241440 AFB00010 */ sw $s0, 0x10($sp)
/* BE01D4 80241444 F7BC0048 */ sdc1 $f28, 0x48($sp)
/* BE01D8 80241448 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* BE01DC 8024144C F7B80038 */ sdc1 $f24, 0x38($sp)
/* BE01E0 80241450 F7B60030 */ sdc1 $f22, 0x30($sp)
/* BE01E4 80241454 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BE01E8 80241458 8E30000C */ lw $s0, 0xc($s1)
/* BE01EC 8024145C 8E130000 */ lw $s3, ($s0)
/* BE01F0 80241460 26100004 */ addiu $s0, $s0, 4
/* BE01F4 80241464 0C0B1EAF */ jal get_variable
/* BE01F8 80241468 0260282D */ daddu $a1, $s3, $zero
/* BE01FC 8024146C 4482E000 */ mtc1 $v0, $f28
/* BE0200 80241470 00000000 */ nop
/* BE0204 80241474 4680E720 */ cvt.s.w $f28, $f28
/* BE0208 80241478 8E140000 */ lw $s4, ($s0)
/* BE020C 8024147C 26100004 */ addiu $s0, $s0, 4
/* BE0210 80241480 0220202D */ daddu $a0, $s1, $zero
/* BE0214 80241484 0C0B1EAF */ jal get_variable
/* BE0218 80241488 0280282D */ daddu $a1, $s4, $zero
/* BE021C 8024148C 4482D000 */ mtc1 $v0, $f26
/* BE0220 80241490 00000000 */ nop
/* BE0224 80241494 4680D6A0 */ cvt.s.w $f26, $f26
/* BE0228 80241498 8E100000 */ lw $s0, ($s0)
/* BE022C 8024149C 0220202D */ daddu $a0, $s1, $zero
/* BE0230 802414A0 0C0B1EAF */ jal get_variable
/* BE0234 802414A4 0200282D */ daddu $a1, $s0, $zero
/* BE0238 802414A8 4482C000 */ mtc1 $v0, $f24
/* BE023C 802414AC 00000000 */ nop
/* BE0240 802414B0 4680C620 */ cvt.s.w $f24, $f24
/* BE0244 802414B4 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* BE0248 802414B8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* BE024C 802414BC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BE0250 802414C0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BE0254 802414C4 C64200A8 */ lwc1 $f2, 0xa8($s2)
/* BE0258 802414C8 44800000 */ mtc1 $zero, $f0
/* BE025C 802414CC 00031080 */ sll $v0, $v1, 2
/* BE0260 802414D0 00431021 */ addu $v0, $v0, $v1
/* BE0264 802414D4 00021080 */ sll $v0, $v0, 2
/* BE0268 802414D8 00431023 */ subu $v0, $v0, $v1
/* BE026C 802414DC 000218C0 */ sll $v1, $v0, 3
/* BE0270 802414E0 00431021 */ addu $v0, $v0, $v1
/* BE0274 802414E4 000210C0 */ sll $v0, $v0, 3
/* BE0278 802414E8 46001032 */ c.eq.s $f2, $f0
/* BE027C 802414EC 3C01800B */ lui $at, 0x800b
/* BE0280 802414F0 00220821 */ addu $at, $at, $v0
/* BE0284 802414F4 C4361DEC */ lwc1 $f22, 0x1dec($at)
/* BE0288 802414F8 45000005 */ bc1f .L80241510
/* BE028C 802414FC 00000000 */ nop
/* BE0290 80241500 3C0142C8 */ lui $at, 0x42c8
/* BE0294 80241504 44810000 */ mtc1 $at, $f0
/* BE0298 80241508 08090548 */ j .L80241520
/* BE029C 8024150C 4600B581 */ sub.s $f22, $f22, $f0
.L80241510:
/* BE02A0 80241510 3C0142C8 */ lui $at, 0x42c8
/* BE02A4 80241514 44810000 */ mtc1 $at, $f0
/* BE02A8 80241518 00000000 */ nop
/* BE02AC 8024151C 4600B580 */ add.s $f22, $f22, $f0
.L80241520:
/* BE02B0 80241520 0C00A6C9 */ jal clamp_angle
/* BE02B4 80241524 4600B306 */ mov.s $f12, $f22
/* BE02B8 80241528 46000586 */ mov.s $f22, $f0
/* BE02BC 8024152C 3C014170 */ lui $at, 0x4170
/* BE02C0 80241530 4481A000 */ mtc1 $at, $f20
/* BE02C4 80241534 0C00A8BB */ jal sin_deg
/* BE02C8 80241538 4600B306 */ mov.s $f12, $f22
/* BE02CC 8024153C 46140002 */ mul.s $f0, $f0, $f20
/* BE02D0 80241540 00000000 */ nop
/* BE02D4 80241544 864200B0 */ lh $v0, 0xb0($s2)
/* BE02D8 80241548 3C013F00 */ lui $at, 0x3f00
/* BE02DC 8024154C 44812000 */ mtc1 $at, $f4
/* BE02E0 80241550 44821000 */ mtc1 $v0, $f2
/* BE02E4 80241554 00000000 */ nop
/* BE02E8 80241558 468010A0 */ cvt.s.w $f2, $f2
/* BE02EC 8024155C 46041082 */ mul.s $f2, $f2, $f4
/* BE02F0 80241560 00000000 */ nop
/* BE02F4 80241564 4600E700 */ add.s $f28, $f28, $f0
/* BE02F8 80241568 4602D680 */ add.s $f26, $f26, $f2
/* BE02FC 8024156C 0C00A8D4 */ jal cos_deg
/* BE0300 80241570 4600B306 */ mov.s $f12, $f22
/* BE0304 80241574 46140002 */ mul.s $f0, $f0, $f20
/* BE0308 80241578 00000000 */ nop
/* BE030C 8024157C 0220202D */ daddu $a0, $s1, $zero
/* BE0310 80241580 0260282D */ daddu $a1, $s3, $zero
/* BE0314 80241584 4600E18D */ trunc.w.s $f6, $f28
/* BE0318 80241588 44063000 */ mfc1 $a2, $f6
/* BE031C 8024158C 0C0B2026 */ jal set_variable
/* BE0320 80241590 4600C601 */ sub.s $f24, $f24, $f0
/* BE0324 80241594 0220202D */ daddu $a0, $s1, $zero
/* BE0328 80241598 4600D18D */ trunc.w.s $f6, $f26
/* BE032C 8024159C 44063000 */ mfc1 $a2, $f6
/* BE0330 802415A0 0C0B2026 */ jal set_variable
/* BE0334 802415A4 0280282D */ daddu $a1, $s4, $zero
/* BE0338 802415A8 0220202D */ daddu $a0, $s1, $zero
/* BE033C 802415AC 4600C18D */ trunc.w.s $f6, $f24
/* BE0340 802415B0 44063000 */ mfc1 $a2, $f6
/* BE0344 802415B4 0C0B2026 */ jal set_variable
/* BE0348 802415B8 0200282D */ daddu $a1, $s0, $zero
/* BE034C 802415BC 8FBF0024 */ lw $ra, 0x24($sp)
/* BE0350 802415C0 8FB40020 */ lw $s4, 0x20($sp)
/* BE0354 802415C4 8FB3001C */ lw $s3, 0x1c($sp)
/* BE0358 802415C8 8FB20018 */ lw $s2, 0x18($sp)
/* BE035C 802415CC 8FB10014 */ lw $s1, 0x14($sp)
/* BE0360 802415D0 8FB00010 */ lw $s0, 0x10($sp)
/* BE0364 802415D4 D7BC0048 */ ldc1 $f28, 0x48($sp)
/* BE0368 802415D8 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* BE036C 802415DC D7B80038 */ ldc1 $f24, 0x38($sp)
/* BE0370 802415E0 D7B60030 */ ldc1 $f22, 0x30($sp)
/* BE0374 802415E4 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BE0378 802415E8 24020002 */ addiu $v0, $zero, 2
/* BE037C 802415EC 03E00008 */ jr $ra
/* BE0380 802415F0 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,28 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802415F4_BE0384
/* BE0384 802415F4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE0388 802415F8 AFBF0010 */ sw $ra, 0x10($sp)
/* BE038C 802415FC 10A00003 */ beqz $a1, .L8024160C
/* BE0390 80241600 8C86000C */ lw $a2, 0xc($a0)
/* BE0394 80241604 3C018024 */ lui $at, 0x8024
/* BE0398 80241608 AC201CCC */ sw $zero, 0x1ccc($at)
.L8024160C:
/* BE039C 8024160C 3C038024 */ lui $v1, 0x8024
/* BE03A0 80241610 24631CCC */ addiu $v1, $v1, 0x1ccc
/* BE03A4 80241614 8C620000 */ lw $v0, ($v1)
/* BE03A8 80241618 54400003 */ bnel $v0, $zero, .L80241628
/* BE03AC 8024161C AC600000 */ sw $zero, ($v1)
/* BE03B0 80241620 0809058F */ j .L8024163C
/* BE03B4 80241624 0000102D */ daddu $v0, $zero, $zero
.L80241628:
/* BE03B8 80241628 8CC50000 */ lw $a1, ($a2)
/* BE03BC 8024162C 3C068024 */ lui $a2, 0x8024
/* BE03C0 80241630 0C0B2026 */ jal set_variable
/* BE03C4 80241634 8CC61CD0 */ lw $a2, 0x1cd0($a2)
/* BE03C8 80241638 24020002 */ addiu $v0, $zero, 2
.L8024163C:
/* BE03CC 8024163C 8FBF0010 */ lw $ra, 0x10($sp)
/* BE03D0 80241640 03E00008 */ jr $ra
/* BE03D4 80241644 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,18 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241648
/* BE03D8 80241648 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE03DC 8024164C AFBF0010 */ sw $ra, 0x10($sp)
/* BE03E0 80241650 8C82000C */ lw $v0, 0xc($a0)
/* BE03E4 80241654 0C0B1EAF */ jal get_variable
/* BE03E8 80241658 8C450000 */ lw $a1, ($v0)
/* BE03EC 8024165C 3C018024 */ lui $at, 0x8024
/* BE03F0 80241660 AC221CD0 */ sw $v0, 0x1cd0($at)
/* BE03F4 80241664 24020002 */ addiu $v0, $zero, 2
/* BE03F8 80241668 8FBF0010 */ lw $ra, 0x10($sp)
/* BE03FC 8024166C 24030001 */ addiu $v1, $zero, 1
/* BE0400 80241670 3C018024 */ lui $at, 0x8024
/* BE0404 80241674 AC231CCC */ sw $v1, 0x1ccc($at)
/* BE0408 80241678 03E00008 */ jr $ra
/* BE040C 8024167C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,49 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241680_BE0410
/* BE0410 80241680 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE0414 80241684 AFBF0010 */ sw $ra, 0x10($sp)
/* BE0418 80241688 8C82000C */ lw $v0, 0xc($a0)
/* BE041C 8024168C 0C0B1EAF */ jal get_variable
/* BE0420 80241690 8C450000 */ lw $a1, ($v0)
/* BE0424 80241694 0040182D */ daddu $v1, $v0, $zero
/* BE0428 80241698 10600012 */ beqz $v1, .L802416E4
/* BE042C 8024169C 0000202D */ daddu $a0, $zero, $zero
/* BE0430 802416A0 8C620000 */ lw $v0, ($v1)
/* BE0434 802416A4 5040000A */ beql $v0, $zero, .L802416D0
/* BE0438 802416A8 00041080 */ sll $v0, $a0, 2
/* BE043C 802416AC 3C058024 */ lui $a1, 0x8024
/* BE0440 802416B0 24A54A20 */ addiu $a1, $a1, 0x4a20
.L802416B4:
/* BE0444 802416B4 24630004 */ addiu $v1, $v1, 4
/* BE0448 802416B8 24840001 */ addiu $a0, $a0, 1
/* BE044C 802416BC ACA20000 */ sw $v0, ($a1)
/* BE0450 802416C0 8C620000 */ lw $v0, ($v1)
/* BE0454 802416C4 1440FFFB */ bnez $v0, .L802416B4
/* BE0458 802416C8 24A50004 */ addiu $a1, $a1, 4
/* BE045C 802416CC 00041080 */ sll $v0, $a0, 2
.L802416D0:
/* BE0460 802416D0 3C018024 */ lui $at, 0x8024
/* BE0464 802416D4 00220821 */ addu $at, $at, $v0
/* BE0468 802416D8 AC204A20 */ sw $zero, 0x4a20($at)
/* BE046C 802416DC 080905C3 */ j .L8024170C
/* BE0470 802416E0 00000000 */ nop
.L802416E4:
/* BE0474 802416E4 3C038024 */ lui $v1, 0x8024
/* BE0478 802416E8 24634A20 */ addiu $v1, $v1, 0x4a20
/* BE047C 802416EC 0060282D */ daddu $a1, $v1, $zero
.L802416F0:
/* BE0480 802416F0 24820010 */ addiu $v0, $a0, 0x10
/* BE0484 802416F4 AC620000 */ sw $v0, ($v1)
/* BE0488 802416F8 24630004 */ addiu $v1, $v1, 4
/* BE048C 802416FC 24840001 */ addiu $a0, $a0, 1
/* BE0490 80241700 28820070 */ slti $v0, $a0, 0x70
/* BE0494 80241704 1440FFFA */ bnez $v0, .L802416F0
/* BE0498 80241708 ACA001C0 */ sw $zero, 0x1c0($a1)
.L8024170C:
/* BE049C 8024170C 8FBF0010 */ lw $ra, 0x10($sp)
/* BE04A0 80241710 24020002 */ addiu $v0, $zero, 2
/* BE04A4 80241714 03E00008 */ jr $ra
/* BE04A8 80241718 27BD0018 */ addiu $sp, $sp, 0x18
/* BE04AC 8024171C 00000000 */ nop

View File

@ -0,0 +1,95 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_BE37B0
/* BE37B0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE37B4 80240004 AFB50024 */ sw $s5, 0x24($sp)
/* BE37B8 80240008 0080A82D */ daddu $s5, $a0, $zero
/* BE37BC 8024000C AFBF002C */ sw $ra, 0x2c($sp)
/* BE37C0 80240010 AFB60028 */ sw $s6, 0x28($sp)
/* BE37C4 80240014 AFB40020 */ sw $s4, 0x20($sp)
/* BE37C8 80240018 AFB3001C */ sw $s3, 0x1c($sp)
/* BE37CC 8024001C AFB20018 */ sw $s2, 0x18($sp)
/* BE37D0 80240020 AFB10014 */ sw $s1, 0x14($sp)
/* BE37D4 80240024 AFB00010 */ sw $s0, 0x10($sp)
/* BE37D8 80240028 F7B80040 */ sdc1 $f24, 0x40($sp)
/* BE37DC 8024002C F7B60038 */ sdc1 $f22, 0x38($sp)
/* BE37E0 80240030 F7B40030 */ sdc1 $f20, 0x30($sp)
/* BE37E4 80240034 8EB30148 */ lw $s3, 0x148($s5)
/* BE37E8 80240038 86640008 */ lh $a0, 8($s3)
/* BE37EC 8024003C 0C00EABB */ jal get_npc_unsafe
/* BE37F0 80240040 00A0B02D */ daddu $s6, $a1, $zero
/* BE37F4 80240044 0040A02D */ daddu $s4, $v0, $zero
/* BE37F8 80240048 AEA00074 */ sw $zero, 0x74($s5)
/* BE37FC 8024004C C6980038 */ lwc1 $f24, 0x38($s4)
/* BE3800 80240050 C6960040 */ lwc1 $f22, 0x40($s4)
/* BE3804 80240054 0000902D */ daddu $s2, $zero, $zero
/* BE3808 80240058 AEA00078 */ sw $zero, 0x78($s5)
/* BE380C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE3810 80240060 8C620000 */ lw $v0, ($v1)
/* BE3814 80240064 3C0146FF */ lui $at, 0x46ff
/* BE3818 80240068 3421FE00 */ ori $at, $at, 0xfe00
/* BE381C 8024006C 4481A000 */ mtc1 $at, $f20
/* BE3820 80240070 18400018 */ blez $v0, .L802400D4
/* BE3824 80240074 0240802D */ daddu $s0, $s2, $zero
/* BE3828 80240078 0240882D */ daddu $s1, $s2, $zero
.L8024007C:
/* BE382C 8024007C 02231021 */ addu $v0, $s1, $v1
/* BE3830 80240080 4600C306 */ mov.s $f12, $f24
/* BE3834 80240084 C4440004 */ lwc1 $f4, 4($v0)
/* BE3838 80240088 46802120 */ cvt.s.w $f4, $f4
/* BE383C 8024008C 44062000 */ mfc1 $a2, $f4
/* BE3840 80240090 C444000C */ lwc1 $f4, 0xc($v0)
/* BE3844 80240094 46802120 */ cvt.s.w $f4, $f4
/* BE3848 80240098 44072000 */ mfc1 $a3, $f4
/* BE384C 8024009C 0C00A7B5 */ jal dist2D
/* BE3850 802400A0 4600B386 */ mov.s $f14, $f22
/* BE3854 802400A4 4614003C */ c.lt.s $f0, $f20
/* BE3858 802400A8 00000000 */ nop
/* BE385C 802400AC 45000003 */ bc1f .L802400BC
/* BE3860 802400B0 2631000C */ addiu $s1, $s1, 0xc
/* BE3864 802400B4 46000506 */ mov.s $f20, $f0
/* BE3868 802400B8 AEB20078 */ sw $s2, 0x78($s5)
.L802400BC:
/* BE386C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE3870 802400C0 26100001 */ addiu $s0, $s0, 1
/* BE3874 802400C4 8C620000 */ lw $v0, ($v1)
/* BE3878 802400C8 0202102A */ slt $v0, $s0, $v0
/* BE387C 802400CC 1440FFEB */ bnez $v0, .L8024007C
/* BE3880 802400D0 26520001 */ addiu $s2, $s2, 1
.L802400D4:
/* BE3884 802400D4 8E6200CC */ lw $v0, 0xcc($s3)
/* BE3888 802400D8 8C420004 */ lw $v0, 4($v0)
/* BE388C 802400DC AE820028 */ sw $v0, 0x28($s4)
/* BE3890 802400E0 8E6200D0 */ lw $v0, 0xd0($s3)
/* BE3894 802400E4 8C42007C */ lw $v0, 0x7c($v0)
/* BE3898 802400E8 04410004 */ bgez $v0, .L802400FC
/* BE389C 802400EC 00000000 */ nop
/* BE38A0 802400F0 C6C00000 */ lwc1 $f0, ($s6)
/* BE38A4 802400F4 08090047 */ j .L8024011C
/* BE38A8 802400F8 E6800018 */ swc1 $f0, 0x18($s4)
.L802400FC:
/* BE38AC 802400FC 3C018024 */ lui $at, 0x8024
/* BE38B0 80240100 D4224130 */ ldc1 $f2, 0x4130($at)
/* BE38B4 80240104 44820000 */ mtc1 $v0, $f0
/* BE38B8 80240108 00000000 */ nop
/* BE38BC 8024010C 46800021 */ cvt.d.w $f0, $f0
/* BE38C0 80240110 46220003 */ div.d $f0, $f0, $f2
/* BE38C4 80240114 46200020 */ cvt.s.d $f0, $f0
/* BE38C8 80240118 E6800018 */ swc1 $f0, 0x18($s4)
.L8024011C:
/* BE38CC 8024011C 24020001 */ addiu $v0, $zero, 1
/* BE38D0 80240120 AEA20070 */ sw $v0, 0x70($s5)
/* BE38D4 80240124 8FBF002C */ lw $ra, 0x2c($sp)
/* BE38D8 80240128 8FB60028 */ lw $s6, 0x28($sp)
/* BE38DC 8024012C 8FB50024 */ lw $s5, 0x24($sp)
/* BE38E0 80240130 8FB40020 */ lw $s4, 0x20($sp)
/* BE38E4 80240134 8FB3001C */ lw $s3, 0x1c($sp)
/* BE38E8 80240138 8FB20018 */ lw $s2, 0x18($sp)
/* BE38EC 8024013C 8FB10014 */ lw $s1, 0x14($sp)
/* BE38F0 80240140 8FB00010 */ lw $s0, 0x10($sp)
/* BE38F4 80240144 D7B80040 */ ldc1 $f24, 0x40($sp)
/* BE38F8 80240148 D7B60038 */ ldc1 $f22, 0x38($sp)
/* BE38FC 8024014C D7B40030 */ ldc1 $f20, 0x30($sp)
/* BE3900 80240150 03E00008 */ jr $ra
/* BE3904 80240154 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,183 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240158_BE3908
/* BE3908 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58
/* BE390C 8024015C AFB20038 */ sw $s2, 0x38($sp)
/* BE3910 80240160 0080902D */ daddu $s2, $a0, $zero
/* BE3914 80240164 AFBF0044 */ sw $ra, 0x44($sp)
/* BE3918 80240168 AFB40040 */ sw $s4, 0x40($sp)
/* BE391C 8024016C AFB3003C */ sw $s3, 0x3c($sp)
/* BE3920 80240170 AFB10034 */ sw $s1, 0x34($sp)
/* BE3924 80240174 AFB00030 */ sw $s0, 0x30($sp)
/* BE3928 80240178 F7B60050 */ sdc1 $f22, 0x50($sp)
/* BE392C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp)
/* BE3930 80240180 8E510148 */ lw $s1, 0x148($s2)
/* BE3934 80240184 00A0982D */ daddu $s3, $a1, $zero
/* BE3938 80240188 86240008 */ lh $a0, 8($s1)
/* BE393C 8024018C 0C00EABB */ jal get_npc_unsafe
/* BE3940 80240190 00C0A02D */ daddu $s4, $a2, $zero
/* BE3944 80240194 8E630014 */ lw $v1, 0x14($s3)
/* BE3948 80240198 04600030 */ bltz $v1, .L8024025C
/* BE394C 8024019C 0040802D */ daddu $s0, $v0, $zero
/* BE3950 802401A0 8E420074 */ lw $v0, 0x74($s2)
/* BE3954 802401A4 1C40002C */ bgtz $v0, .L80240258
/* BE3958 802401A8 2442FFFF */ addiu $v0, $v0, -1
/* BE395C 802401AC 0280202D */ daddu $a0, $s4, $zero
/* BE3960 802401B0 AE430074 */ sw $v1, 0x74($s2)
/* BE3964 802401B4 AFA00010 */ sw $zero, 0x10($sp)
/* BE3968 802401B8 8E66000C */ lw $a2, 0xc($s3)
/* BE396C 802401BC 8E670010 */ lw $a3, 0x10($s3)
/* BE3970 802401C0 0C01242D */ jal func_800490B4
/* BE3974 802401C4 0220282D */ daddu $a1, $s1, $zero
/* BE3978 802401C8 10400021 */ beqz $v0, .L80240250
/* BE397C 802401CC 0000202D */ daddu $a0, $zero, $zero
/* BE3980 802401D0 0200282D */ daddu $a1, $s0, $zero
/* BE3984 802401D4 0000302D */ daddu $a2, $zero, $zero
/* BE3988 802401D8 860300A8 */ lh $v1, 0xa8($s0)
/* BE398C 802401DC 3C013F80 */ lui $at, 0x3f80
/* BE3990 802401E0 44810000 */ mtc1 $at, $f0
/* BE3994 802401E4 3C014000 */ lui $at, 0x4000
/* BE3998 802401E8 44811000 */ mtc1 $at, $f2
/* BE399C 802401EC 3C01C1A0 */ lui $at, 0xc1a0
/* BE39A0 802401F0 44812000 */ mtc1 $at, $f4
/* BE39A4 802401F4 2402000F */ addiu $v0, $zero, 0xf
/* BE39A8 802401F8 AFA2001C */ sw $v0, 0x1c($sp)
/* BE39AC 802401FC 44833000 */ mtc1 $v1, $f6
/* BE39B0 80240200 00000000 */ nop
/* BE39B4 80240204 468031A0 */ cvt.s.w $f6, $f6
/* BE39B8 80240208 44073000 */ mfc1 $a3, $f6
/* BE39BC 8024020C 27A20028 */ addiu $v0, $sp, 0x28
/* BE39C0 80240210 AFA20020 */ sw $v0, 0x20($sp)
/* BE39C4 80240214 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE39C8 80240218 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE39CC 8024021C 0C01BFA4 */ jal fx_emote
/* BE39D0 80240220 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE39D4 80240224 0200202D */ daddu $a0, $s0, $zero
/* BE39D8 80240228 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE39DC 8024022C 0C012530 */ jal func_800494C0
/* BE39E0 80240230 3C060020 */ lui $a2, 0x20
/* BE39E4 80240234 8E220018 */ lw $v0, 0x18($s1)
/* BE39E8 80240238 9442002A */ lhu $v0, 0x2a($v0)
/* BE39EC 8024023C 30420001 */ andi $v0, $v0, 1
/* BE39F0 80240240 14400064 */ bnez $v0, .L802403D4
/* BE39F4 80240244 2402000A */ addiu $v0, $zero, 0xa
/* BE39F8 80240248 080900F5 */ j .L802403D4
/* BE39FC 8024024C 2402000C */ addiu $v0, $zero, 0xc
.L80240250:
/* BE3A00 80240250 8E420074 */ lw $v0, 0x74($s2)
/* BE3A04 80240254 2442FFFF */ addiu $v0, $v0, -1
.L80240258:
/* BE3A08 80240258 AE420074 */ sw $v0, 0x74($s2)
.L8024025C:
/* BE3A0C 8024025C 8602008C */ lh $v0, 0x8c($s0)
/* BE3A10 80240260 1440005D */ bnez $v0, .L802403D8
/* BE3A14 80240264 00000000 */ nop
/* BE3A18 80240268 C6000018 */ lwc1 $f0, 0x18($s0)
/* BE3A1C 8024026C 3C014010 */ lui $at, 0x4010
/* BE3A20 80240270 44811800 */ mtc1 $at, $f3
/* BE3A24 80240274 44801000 */ mtc1 $zero, $f2
/* BE3A28 80240278 46000021 */ cvt.d.s $f0, $f0
/* BE3A2C 8024027C 4622003C */ c.lt.d $f0, $f2
/* BE3A30 80240280 00000000 */ nop
/* BE3A34 80240284 45000003 */ bc1f .L80240294
/* BE3A38 80240288 0200202D */ daddu $a0, $s0, $zero
/* BE3A3C 8024028C 080900A6 */ j .L80240298
/* BE3A40 80240290 0000282D */ daddu $a1, $zero, $zero
.L80240294:
/* BE3A44 80240294 24050001 */ addiu $a1, $zero, 1
.L80240298:
/* BE3A48 80240298 0C00F598 */ jal func_8003D660
/* BE3A4C 8024029C 00000000 */ nop
/* BE3A50 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE3A54 802402A4 8E430078 */ lw $v1, 0x78($s2)
/* BE3A58 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE3A5C 802402AC 00031040 */ sll $v0, $v1, 1
/* BE3A60 802402B0 00431021 */ addu $v0, $v0, $v1
/* BE3A64 802402B4 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE3A68 802402B8 00021080 */ sll $v0, $v0, 2
/* BE3A6C 802402BC 00431021 */ addu $v0, $v0, $v1
/* BE3A70 802402C0 C4560004 */ lwc1 $f22, 4($v0)
/* BE3A74 802402C4 4680B5A0 */ cvt.s.w $f22, $f22
/* BE3A78 802402C8 C454000C */ lwc1 $f20, 0xc($v0)
/* BE3A7C 802402CC 4680A520 */ cvt.s.w $f20, $f20
/* BE3A80 802402D0 4406B000 */ mfc1 $a2, $f22
/* BE3A84 802402D4 4407A000 */ mfc1 $a3, $f20
/* BE3A88 802402D8 0C00A720 */ jal atan2
/* BE3A8C 802402DC 00000000 */ nop
/* BE3A90 802402E0 8E050018 */ lw $a1, 0x18($s0)
/* BE3A94 802402E4 44060000 */ mfc1 $a2, $f0
/* BE3A98 802402E8 0200202D */ daddu $a0, $s0, $zero
/* BE3A9C 802402EC 0C00EA95 */ jal npc_move_heading
/* BE3AA0 802402F0 AE06000C */ sw $a2, 0xc($s0)
/* BE3AA4 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE3AA8 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE3AAC 802402FC 4406B000 */ mfc1 $a2, $f22
/* BE3AB0 80240300 4407A000 */ mfc1 $a3, $f20
/* BE3AB4 80240304 0C00A7B5 */ jal dist2D
/* BE3AB8 80240308 00000000 */ nop
/* BE3ABC 8024030C C6020018 */ lwc1 $f2, 0x18($s0)
/* BE3AC0 80240310 4602003E */ c.le.s $f0, $f2
/* BE3AC4 80240314 00000000 */ nop
/* BE3AC8 80240318 4500002F */ bc1f .L802403D8
/* BE3ACC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8
/* BE3AD0 80240320 24020002 */ addiu $v0, $zero, 2
/* BE3AD4 80240324 0C00A67F */ jal rand_int
/* BE3AD8 80240328 AE420070 */ sw $v0, 0x70($s2)
/* BE3ADC 8024032C 3C035555 */ lui $v1, 0x5555
/* BE3AE0 80240330 34635556 */ ori $v1, $v1, 0x5556
/* BE3AE4 80240334 00430018 */ mult $v0, $v1
/* BE3AE8 80240338 000227C3 */ sra $a0, $v0, 0x1f
/* BE3AEC 8024033C 00004010 */ mfhi $t0
/* BE3AF0 80240340 01042023 */ subu $a0, $t0, $a0
/* BE3AF4 80240344 00041840 */ sll $v1, $a0, 1
/* BE3AF8 80240348 00641821 */ addu $v1, $v1, $a0
/* BE3AFC 8024034C 00431023 */ subu $v0, $v0, $v1
/* BE3B00 80240350 24430002 */ addiu $v1, $v0, 2
/* BE3B04 80240354 AE430074 */ sw $v1, 0x74($s2)
/* BE3B08 80240358 8E62002C */ lw $v0, 0x2c($s3)
/* BE3B0C 8024035C 18400009 */ blez $v0, .L80240384
/* BE3B10 80240360 24020004 */ addiu $v0, $zero, 4
/* BE3B14 80240364 8E620004 */ lw $v0, 4($s3)
/* BE3B18 80240368 18400006 */ blez $v0, .L80240384
/* BE3B1C 8024036C 24020004 */ addiu $v0, $zero, 4
/* BE3B20 80240370 8E620008 */ lw $v0, 8($s3)
/* BE3B24 80240374 18400003 */ blez $v0, .L80240384
/* BE3B28 80240378 24020004 */ addiu $v0, $zero, 4
/* BE3B2C 8024037C 14600002 */ bnez $v1, .L80240388
/* BE3B30 80240380 00000000 */ nop
.L80240384:
/* BE3B34 80240384 AE420070 */ sw $v0, 0x70($s2)
.L80240388:
/* BE3B38 80240388 0C00A67F */ jal rand_int
/* BE3B3C 8024038C 24042710 */ addiu $a0, $zero, 0x2710
/* BE3B40 80240390 3C0351EB */ lui $v1, 0x51eb
/* BE3B44 80240394 3463851F */ ori $v1, $v1, 0x851f
/* BE3B48 80240398 00430018 */ mult $v0, $v1
/* BE3B4C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f
/* BE3B50 802403A0 00004010 */ mfhi $t0
/* BE3B54 802403A4 00082143 */ sra $a0, $t0, 5
/* BE3B58 802403A8 00832023 */ subu $a0, $a0, $v1
/* BE3B5C 802403AC 00041840 */ sll $v1, $a0, 1
/* BE3B60 802403B0 00641821 */ addu $v1, $v1, $a0
/* BE3B64 802403B4 000318C0 */ sll $v1, $v1, 3
/* BE3B68 802403B8 00641821 */ addu $v1, $v1, $a0
/* BE3B6C 802403BC 00031880 */ sll $v1, $v1, 2
/* BE3B70 802403C0 8E640004 */ lw $a0, 4($s3)
/* BE3B74 802403C4 00431023 */ subu $v0, $v0, $v1
/* BE3B78 802403C8 0044102A */ slt $v0, $v0, $a0
/* BE3B7C 802403CC 10400002 */ beqz $v0, .L802403D8
/* BE3B80 802403D0 24020004 */ addiu $v0, $zero, 4
.L802403D4:
/* BE3B84 802403D4 AE420070 */ sw $v0, 0x70($s2)
.L802403D8:
/* BE3B88 802403D8 8FBF0044 */ lw $ra, 0x44($sp)
/* BE3B8C 802403DC 8FB40040 */ lw $s4, 0x40($sp)
/* BE3B90 802403E0 8FB3003C */ lw $s3, 0x3c($sp)
/* BE3B94 802403E4 8FB20038 */ lw $s2, 0x38($sp)
/* BE3B98 802403E8 8FB10034 */ lw $s1, 0x34($sp)
/* BE3B9C 802403EC 8FB00030 */ lw $s0, 0x30($sp)
/* BE3BA0 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp)
/* BE3BA4 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp)
/* BE3BA8 802403F8 03E00008 */ jr $ra
/* BE3BAC 802403FC 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240400_BE3BB0
/* BE3BB0 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE3BB4 80240404 AFB3001C */ sw $s3, 0x1c($sp)
/* BE3BB8 80240408 0080982D */ daddu $s3, $a0, $zero
/* BE3BBC 8024040C AFBF0020 */ sw $ra, 0x20($sp)
/* BE3BC0 80240410 AFB20018 */ sw $s2, 0x18($sp)
/* BE3BC4 80240414 AFB10014 */ sw $s1, 0x14($sp)
/* BE3BC8 80240418 AFB00010 */ sw $s0, 0x10($sp)
/* BE3BCC 8024041C 8E720148 */ lw $s2, 0x148($s3)
/* BE3BD0 80240420 86440008 */ lh $a0, 8($s2)
/* BE3BD4 80240424 0C00EABB */ jal get_npc_unsafe
/* BE3BD8 80240428 00A0882D */ daddu $s1, $a1, $zero
/* BE3BDC 8024042C 8E240008 */ lw $a0, 8($s1)
/* BE3BE0 80240430 0040802D */ daddu $s0, $v0, $zero
/* BE3BE4 80240434 00041FC2 */ srl $v1, $a0, 0x1f
/* BE3BE8 80240438 00832021 */ addu $a0, $a0, $v1
/* BE3BEC 8024043C 00042043 */ sra $a0, $a0, 1
/* BE3BF0 80240440 0C00A67F */ jal rand_int
/* BE3BF4 80240444 24840001 */ addiu $a0, $a0, 1
/* BE3BF8 80240448 8E230008 */ lw $v1, 8($s1)
/* BE3BFC 8024044C 240400B4 */ addiu $a0, $zero, 0xb4
/* BE3C00 80240450 00032FC2 */ srl $a1, $v1, 0x1f
/* BE3C04 80240454 00651821 */ addu $v1, $v1, $a1
/* BE3C08 80240458 00031843 */ sra $v1, $v1, 1
/* BE3C0C 8024045C 00621821 */ addu $v1, $v1, $v0
/* BE3C10 80240460 0C00A67F */ jal rand_int
/* BE3C14 80240464 A603008E */ sh $v1, 0x8e($s0)
/* BE3C18 80240468 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE3C1C 8024046C 44820000 */ mtc1 $v0, $f0
/* BE3C20 80240470 00000000 */ nop
/* BE3C24 80240474 46800020 */ cvt.s.w $f0, $f0
/* BE3C28 80240478 46006300 */ add.s $f12, $f12, $f0
/* BE3C2C 8024047C 3C0142B4 */ lui $at, 0x42b4
/* BE3C30 80240480 44810000 */ mtc1 $at, $f0
/* BE3C34 80240484 0C00A6C9 */ jal clamp_angle
/* BE3C38 80240488 46006301 */ sub.s $f12, $f12, $f0
/* BE3C3C 8024048C E600000C */ swc1 $f0, 0xc($s0)
/* BE3C40 80240490 8E4200CC */ lw $v0, 0xcc($s2)
/* BE3C44 80240494 8C420000 */ lw $v0, ($v0)
/* BE3C48 80240498 AE020028 */ sw $v0, 0x28($s0)
/* BE3C4C 8024049C 24020003 */ addiu $v0, $zero, 3
/* BE3C50 802404A0 AE620070 */ sw $v0, 0x70($s3)
/* BE3C54 802404A4 8FBF0020 */ lw $ra, 0x20($sp)
/* BE3C58 802404A8 8FB3001C */ lw $s3, 0x1c($sp)
/* BE3C5C 802404AC 8FB20018 */ lw $s2, 0x18($sp)
/* BE3C60 802404B0 8FB10014 */ lw $s1, 0x14($sp)
/* BE3C64 802404B4 8FB00010 */ lw $s0, 0x10($sp)
/* BE3C68 802404B8 03E00008 */ jr $ra
/* BE3C6C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,120 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802404C0_BE3C70
/* BE3C70 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE3C74 802404C4 AFB40040 */ sw $s4, 0x40($sp)
/* BE3C78 802404C8 0080A02D */ daddu $s4, $a0, $zero
/* BE3C7C 802404CC AFBF0044 */ sw $ra, 0x44($sp)
/* BE3C80 802404D0 AFB3003C */ sw $s3, 0x3c($sp)
/* BE3C84 802404D4 AFB20038 */ sw $s2, 0x38($sp)
/* BE3C88 802404D8 AFB10034 */ sw $s1, 0x34($sp)
/* BE3C8C 802404DC AFB00030 */ sw $s0, 0x30($sp)
/* BE3C90 802404E0 8E910148 */ lw $s1, 0x148($s4)
/* BE3C94 802404E4 00A0902D */ daddu $s2, $a1, $zero
/* BE3C98 802404E8 86240008 */ lh $a0, 8($s1)
/* BE3C9C 802404EC 0C00EABB */ jal get_npc_unsafe
/* BE3CA0 802404F0 00C0982D */ daddu $s3, $a2, $zero
/* BE3CA4 802404F4 8E430014 */ lw $v1, 0x14($s2)
/* BE3CA8 802404F8 04600031 */ bltz $v1, .L802405C0
/* BE3CAC 802404FC 0040802D */ daddu $s0, $v0, $zero
/* BE3CB0 80240500 0260202D */ daddu $a0, $s3, $zero
/* BE3CB4 80240504 AFA00010 */ sw $zero, 0x10($sp)
/* BE3CB8 80240508 8E460024 */ lw $a2, 0x24($s2)
/* BE3CBC 8024050C 8E470028 */ lw $a3, 0x28($s2)
/* BE3CC0 80240510 0C01242D */ jal func_800490B4
/* BE3CC4 80240514 0220282D */ daddu $a1, $s1, $zero
/* BE3CC8 80240518 10400029 */ beqz $v0, .L802405C0
/* BE3CCC 8024051C 0000202D */ daddu $a0, $zero, $zero
/* BE3CD0 80240520 0200282D */ daddu $a1, $s0, $zero
/* BE3CD4 80240524 0000302D */ daddu $a2, $zero, $zero
/* BE3CD8 80240528 860300A8 */ lh $v1, 0xa8($s0)
/* BE3CDC 8024052C 3C013F80 */ lui $at, 0x3f80
/* BE3CE0 80240530 44810000 */ mtc1 $at, $f0
/* BE3CE4 80240534 3C014000 */ lui $at, 0x4000
/* BE3CE8 80240538 44811000 */ mtc1 $at, $f2
/* BE3CEC 8024053C 3C01C1A0 */ lui $at, 0xc1a0
/* BE3CF0 80240540 44812000 */ mtc1 $at, $f4
/* BE3CF4 80240544 2402000F */ addiu $v0, $zero, 0xf
/* BE3CF8 80240548 AFA2001C */ sw $v0, 0x1c($sp)
/* BE3CFC 8024054C 44833000 */ mtc1 $v1, $f6
/* BE3D00 80240550 00000000 */ nop
/* BE3D04 80240554 468031A0 */ cvt.s.w $f6, $f6
/* BE3D08 80240558 44073000 */ mfc1 $a3, $f6
/* BE3D0C 8024055C 27A20028 */ addiu $v0, $sp, 0x28
/* BE3D10 80240560 AFA20020 */ sw $v0, 0x20($sp)
/* BE3D14 80240564 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE3D18 80240568 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE3D1C 8024056C 0C01BFA4 */ jal fx_emote
/* BE3D20 80240570 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE3D24 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE3D28 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE3D2C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE3D30 80240580 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE3D34 80240584 8C460028 */ lw $a2, 0x28($v0)
/* BE3D38 80240588 0C00A720 */ jal atan2
/* BE3D3C 8024058C 8C470030 */ lw $a3, 0x30($v0)
/* BE3D40 80240590 0200202D */ daddu $a0, $s0, $zero
/* BE3D44 80240594 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE3D48 80240598 3C060020 */ lui $a2, 0x20
/* BE3D4C 8024059C 0C012530 */ jal func_800494C0
/* BE3D50 802405A0 E480000C */ swc1 $f0, 0xc($a0)
/* BE3D54 802405A4 8E220018 */ lw $v0, 0x18($s1)
/* BE3D58 802405A8 9442002A */ lhu $v0, 0x2a($v0)
/* BE3D5C 802405AC 30420001 */ andi $v0, $v0, 1
/* BE3D60 802405B0 14400029 */ bnez $v0, .L80240658
/* BE3D64 802405B4 2402000A */ addiu $v0, $zero, 0xa
/* BE3D68 802405B8 08090196 */ j .L80240658
/* BE3D6C 802405BC 2402000C */ addiu $v0, $zero, 0xc
.L802405C0:
/* BE3D70 802405C0 8602008C */ lh $v0, 0x8c($s0)
/* BE3D74 802405C4 14400025 */ bnez $v0, .L8024065C
/* BE3D78 802405C8 00000000 */ nop
/* BE3D7C 802405CC 9602008E */ lhu $v0, 0x8e($s0)
/* BE3D80 802405D0 2442FFFF */ addiu $v0, $v0, -1
/* BE3D84 802405D4 A602008E */ sh $v0, 0x8e($s0)
/* BE3D88 802405D8 00021400 */ sll $v0, $v0, 0x10
/* BE3D8C 802405DC 1440001F */ bnez $v0, .L8024065C
/* BE3D90 802405E0 00000000 */ nop
/* BE3D94 802405E4 8E820074 */ lw $v0, 0x74($s4)
/* BE3D98 802405E8 2442FFFF */ addiu $v0, $v0, -1
/* BE3D9C 802405EC 10400019 */ beqz $v0, .L80240654
/* BE3DA0 802405F0 AE820074 */ sw $v0, 0x74($s4)
/* BE3DA4 802405F4 8E220018 */ lw $v0, 0x18($s1)
/* BE3DA8 802405F8 9442002A */ lhu $v0, 0x2a($v0)
/* BE3DAC 802405FC 30420010 */ andi $v0, $v0, 0x10
/* BE3DB0 80240600 14400007 */ bnez $v0, .L80240620
/* BE3DB4 80240604 00000000 */ nop
/* BE3DB8 80240608 C600000C */ lwc1 $f0, 0xc($s0)
/* BE3DBC 8024060C 3C014334 */ lui $at, 0x4334
/* BE3DC0 80240610 44816000 */ mtc1 $at, $f12
/* BE3DC4 80240614 0C00A6C9 */ jal clamp_angle
/* BE3DC8 80240618 460C0300 */ add.s $f12, $f0, $f12
/* BE3DCC 8024061C E600000C */ swc1 $f0, 0xc($s0)
.L80240620:
/* BE3DD0 80240620 8E440008 */ lw $a0, 8($s2)
/* BE3DD4 80240624 000417C2 */ srl $v0, $a0, 0x1f
/* BE3DD8 80240628 00822021 */ addu $a0, $a0, $v0
/* BE3DDC 8024062C 00042043 */ sra $a0, $a0, 1
/* BE3DE0 80240630 0C00A67F */ jal rand_int
/* BE3DE4 80240634 24840001 */ addiu $a0, $a0, 1
/* BE3DE8 80240638 8E430008 */ lw $v1, 8($s2)
/* BE3DEC 8024063C 000327C2 */ srl $a0, $v1, 0x1f
/* BE3DF0 80240640 00641821 */ addu $v1, $v1, $a0
/* BE3DF4 80240644 00031843 */ sra $v1, $v1, 1
/* BE3DF8 80240648 00621821 */ addu $v1, $v1, $v0
/* BE3DFC 8024064C 08090197 */ j .L8024065C
/* BE3E00 80240650 A603008E */ sh $v1, 0x8e($s0)
.L80240654:
/* BE3E04 80240654 24020004 */ addiu $v0, $zero, 4
.L80240658:
/* BE3E08 80240658 AE820070 */ sw $v0, 0x70($s4)
.L8024065C:
/* BE3E0C 8024065C 8FBF0044 */ lw $ra, 0x44($sp)
/* BE3E10 80240660 8FB40040 */ lw $s4, 0x40($sp)
/* BE3E14 80240664 8FB3003C */ lw $s3, 0x3c($sp)
/* BE3E18 80240668 8FB20038 */ lw $s2, 0x38($sp)
/* BE3E1C 8024066C 8FB10034 */ lw $s1, 0x34($sp)
/* BE3E20 80240670 8FB00030 */ lw $s0, 0x30($sp)
/* BE3E24 80240674 03E00008 */ jr $ra
/* BE3E28 80240678 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024067C_BE3E2C
/* BE3E2C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE3E30 80240680 AFB10014 */ sw $s1, 0x14($sp)
/* BE3E34 80240684 0080882D */ daddu $s1, $a0, $zero
/* BE3E38 80240688 AFBF001C */ sw $ra, 0x1c($sp)
/* BE3E3C 8024068C AFB20018 */ sw $s2, 0x18($sp)
/* BE3E40 80240690 AFB00010 */ sw $s0, 0x10($sp)
/* BE3E44 80240694 8E300148 */ lw $s0, 0x148($s1)
/* BE3E48 80240698 86040008 */ lh $a0, 8($s0)
/* BE3E4C 8024069C 0C00EABB */ jal get_npc_unsafe
/* BE3E50 802406A0 00A0902D */ daddu $s2, $a1, $zero
/* BE3E54 802406A4 8E230078 */ lw $v1, 0x78($s1)
/* BE3E58 802406A8 24630001 */ addiu $v1, $v1, 1
/* BE3E5C 802406AC AE230078 */ sw $v1, 0x78($s1)
/* BE3E60 802406B0 8E0400D0 */ lw $a0, 0xd0($s0)
/* BE3E64 802406B4 8C840000 */ lw $a0, ($a0)
/* BE3E68 802406B8 0064182A */ slt $v1, $v1, $a0
/* BE3E6C 802406BC 14600002 */ bnez $v1, .L802406C8
/* BE3E70 802406C0 0040282D */ daddu $a1, $v0, $zero
/* BE3E74 802406C4 AE200078 */ sw $zero, 0x78($s1)
.L802406C8:
/* BE3E78 802406C8 8E0200CC */ lw $v0, 0xcc($s0)
/* BE3E7C 802406CC 8C420004 */ lw $v0, 4($v0)
/* BE3E80 802406D0 ACA20028 */ sw $v0, 0x28($a1)
/* BE3E84 802406D4 8E0200D0 */ lw $v0, 0xd0($s0)
/* BE3E88 802406D8 8C42007C */ lw $v0, 0x7c($v0)
/* BE3E8C 802406DC 04410004 */ bgez $v0, .L802406F0
/* BE3E90 802406E0 00000000 */ nop
/* BE3E94 802406E4 C6400000 */ lwc1 $f0, ($s2)
/* BE3E98 802406E8 080901C4 */ j .L80240710
/* BE3E9C 802406EC E4A00018 */ swc1 $f0, 0x18($a1)
.L802406F0:
/* BE3EA0 802406F0 3C018024 */ lui $at, 0x8024
/* BE3EA4 802406F4 D4224138 */ ldc1 $f2, 0x4138($at)
/* BE3EA8 802406F8 44820000 */ mtc1 $v0, $f0
/* BE3EAC 802406FC 00000000 */ nop
/* BE3EB0 80240700 46800021 */ cvt.d.w $f0, $f0
/* BE3EB4 80240704 46220003 */ div.d $f0, $f0, $f2
/* BE3EB8 80240708 46200020 */ cvt.s.d $f0, $f0
/* BE3EBC 8024070C E4A00018 */ swc1 $f0, 0x18($a1)
.L80240710:
/* BE3EC0 80240710 24020001 */ addiu $v0, $zero, 1
/* BE3EC4 80240714 AE220070 */ sw $v0, 0x70($s1)
/* BE3EC8 80240718 8FBF001C */ lw $ra, 0x1c($sp)
/* BE3ECC 8024071C 8FB20018 */ lw $s2, 0x18($sp)
/* BE3ED0 80240720 8FB10014 */ lw $s1, 0x14($sp)
/* BE3ED4 80240724 8FB00010 */ lw $s0, 0x10($sp)
/* BE3ED8 80240728 03E00008 */ jr $ra
/* BE3EDC 8024072C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240730_BE3EE0
/* BE3EE0 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE3EE4 80240734 AFB10014 */ sw $s1, 0x14($sp)
/* BE3EE8 80240738 0080882D */ daddu $s1, $a0, $zero
/* BE3EEC 8024073C AFBF0018 */ sw $ra, 0x18($sp)
/* BE3EF0 80240740 AFB00010 */ sw $s0, 0x10($sp)
/* BE3EF4 80240744 8E300148 */ lw $s0, 0x148($s1)
/* BE3EF8 80240748 0C00EABB */ jal get_npc_unsafe
/* BE3EFC 8024074C 86040008 */ lh $a0, 8($s0)
/* BE3F00 80240750 8E0300CC */ lw $v1, 0xcc($s0)
/* BE3F04 80240754 3C014120 */ lui $at, 0x4120
/* BE3F08 80240758 44812000 */ mtc1 $at, $f4
/* BE3F0C 8024075C 3C014000 */ lui $at, 0x4000
/* BE3F10 80240760 44810000 */ mtc1 $at, $f0
/* BE3F14 80240764 C442003C */ lwc1 $f2, 0x3c($v0)
/* BE3F18 80240768 8C640010 */ lw $a0, 0x10($v1)
/* BE3F1C 8024076C 8C430000 */ lw $v1, ($v0)
/* BE3F20 80240770 E444001C */ swc1 $f4, 0x1c($v0)
/* BE3F24 80240774 E4400014 */ swc1 $f0, 0x14($v0)
/* BE3F28 80240778 E4420064 */ swc1 $f2, 0x64($v0)
/* BE3F2C 8024077C 34630800 */ ori $v1, $v1, 0x800
/* BE3F30 80240780 AC430000 */ sw $v1, ($v0)
/* BE3F34 80240784 AC440028 */ sw $a0, 0x28($v0)
/* BE3F38 80240788 2402000B */ addiu $v0, $zero, 0xb
/* BE3F3C 8024078C AE220070 */ sw $v0, 0x70($s1)
/* BE3F40 80240790 8FBF0018 */ lw $ra, 0x18($sp)
/* BE3F44 80240794 8FB10014 */ lw $s1, 0x14($sp)
/* BE3F48 80240798 8FB00010 */ lw $s0, 0x10($sp)
/* BE3F4C 8024079C 03E00008 */ jr $ra
/* BE3F50 802407A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,35 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802407A4_BE3F54
/* BE3F54 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE3F58 802407A8 AFB00010 */ sw $s0, 0x10($sp)
/* BE3F5C 802407AC 0080802D */ daddu $s0, $a0, $zero
/* BE3F60 802407B0 AFBF0014 */ sw $ra, 0x14($sp)
/* BE3F64 802407B4 8E020148 */ lw $v0, 0x148($s0)
/* BE3F68 802407B8 0C00EABB */ jal get_npc_unsafe
/* BE3F6C 802407BC 84440008 */ lh $a0, 8($v0)
/* BE3F70 802407C0 0040202D */ daddu $a0, $v0, $zero
/* BE3F74 802407C4 C482003C */ lwc1 $f2, 0x3c($a0)
/* BE3F78 802407C8 C480001C */ lwc1 $f0, 0x1c($a0)
/* BE3F7C 802407CC 46001080 */ add.s $f2, $f2, $f0
/* BE3F80 802407D0 C4840014 */ lwc1 $f4, 0x14($a0)
/* BE3F84 802407D4 46040001 */ sub.s $f0, $f0, $f4
/* BE3F88 802407D8 C4840064 */ lwc1 $f4, 0x64($a0)
/* BE3F8C 802407DC 4602203C */ c.lt.s $f4, $f2
/* BE3F90 802407E0 E482003C */ swc1 $f2, 0x3c($a0)
/* BE3F94 802407E4 45010009 */ bc1t .L8024080C
/* BE3F98 802407E8 E480001C */ swc1 $f0, 0x1c($a0)
/* BE3F9C 802407EC 8C820000 */ lw $v0, ($a0)
/* BE3FA0 802407F0 2403F7FF */ addiu $v1, $zero, -0x801
/* BE3FA4 802407F4 E484003C */ swc1 $f4, 0x3c($a0)
/* BE3FA8 802407F8 AC80001C */ sw $zero, 0x1c($a0)
/* BE3FAC 802407FC 00431024 */ and $v0, $v0, $v1
/* BE3FB0 80240800 AC820000 */ sw $v0, ($a0)
/* BE3FB4 80240804 2402000C */ addiu $v0, $zero, 0xc
/* BE3FB8 80240808 AE020070 */ sw $v0, 0x70($s0)
.L8024080C:
/* BE3FBC 8024080C 8FBF0014 */ lw $ra, 0x14($sp)
/* BE3FC0 80240810 8FB00010 */ lw $s0, 0x10($sp)
/* BE3FC4 80240814 03E00008 */ jr $ra
/* BE3FC8 80240818 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,82 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024081C_BE3FCC
/* BE3FCC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BE3FD0 80240820 AFB3001C */ sw $s3, 0x1c($sp)
/* BE3FD4 80240824 0080982D */ daddu $s3, $a0, $zero
/* BE3FD8 80240828 AFBF0020 */ sw $ra, 0x20($sp)
/* BE3FDC 8024082C AFB20018 */ sw $s2, 0x18($sp)
/* BE3FE0 80240830 AFB10014 */ sw $s1, 0x14($sp)
/* BE3FE4 80240834 AFB00010 */ sw $s0, 0x10($sp)
/* BE3FE8 80240838 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BE3FEC 8024083C 8E710148 */ lw $s1, 0x148($s3)
/* BE3FF0 80240840 86240008 */ lh $a0, 8($s1)
/* BE3FF4 80240844 0C00EABB */ jal get_npc_unsafe
/* BE3FF8 80240848 00A0802D */ daddu $s0, $a1, $zero
/* BE3FFC 8024084C 8E040020 */ lw $a0, 0x20($s0)
/* BE4000 80240850 0040902D */ daddu $s2, $v0, $zero
/* BE4004 80240854 00041FC2 */ srl $v1, $a0, 0x1f
/* BE4008 80240858 00832021 */ addu $a0, $a0, $v1
/* BE400C 8024085C 00042043 */ sra $a0, $a0, 1
/* BE4010 80240860 0C00A67F */ jal rand_int
/* BE4014 80240864 24840001 */ addiu $a0, $a0, 1
/* BE4018 80240868 8E030020 */ lw $v1, 0x20($s0)
/* BE401C 8024086C C64C0038 */ lwc1 $f12, 0x38($s2)
/* BE4020 80240870 000327C2 */ srl $a0, $v1, 0x1f
/* BE4024 80240874 00641821 */ addu $v1, $v1, $a0
/* BE4028 80240878 00031843 */ sra $v1, $v1, 1
/* BE402C 8024087C 00621821 */ addu $v1, $v1, $v0
/* BE4030 80240880 A643008E */ sh $v1, 0x8e($s2)
/* BE4034 80240884 8E2200CC */ lw $v0, 0xcc($s1)
/* BE4038 80240888 C64E0040 */ lwc1 $f14, 0x40($s2)
/* BE403C 8024088C 8C42000C */ lw $v0, 0xc($v0)
/* BE4040 80240890 AE420028 */ sw $v0, 0x28($s2)
/* BE4044 80240894 C6000018 */ lwc1 $f0, 0x18($s0)
/* BE4048 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE404C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE4050 802408A0 E6400018 */ swc1 $f0, 0x18($s2)
/* BE4054 802408A4 8C460028 */ lw $a2, 0x28($v0)
/* BE4058 802408A8 0C00A720 */ jal atan2
/* BE405C 802408AC 8C470030 */ lw $a3, 0x30($v0)
/* BE4060 802408B0 46000506 */ mov.s $f20, $f0
/* BE4064 802408B4 C64C000C */ lwc1 $f12, 0xc($s2)
/* BE4068 802408B8 0C00A70A */ jal get_clamped_angle_diff
/* BE406C 802408BC 4600A386 */ mov.s $f14, $f20
/* BE4070 802408C0 46000086 */ mov.s $f2, $f0
/* BE4074 802408C4 8E02001C */ lw $v0, 0x1c($s0)
/* BE4078 802408C8 46001005 */ abs.s $f0, $f2
/* BE407C 802408CC 44822000 */ mtc1 $v0, $f4
/* BE4080 802408D0 00000000 */ nop
/* BE4084 802408D4 46802120 */ cvt.s.w $f4, $f4
/* BE4088 802408D8 4600203C */ c.lt.s $f4, $f0
/* BE408C 802408DC 00000000 */ nop
/* BE4090 802408E0 4500000D */ bc1f .L80240918
/* BE4094 802408E4 00000000 */ nop
/* BE4098 802408E8 44800000 */ mtc1 $zero, $f0
/* BE409C 802408EC C654000C */ lwc1 $f20, 0xc($s2)
/* BE40A0 802408F0 4600103C */ c.lt.s $f2, $f0
/* BE40A4 802408F4 00000000 */ nop
/* BE40A8 802408F8 45000006 */ bc1f .L80240914
/* BE40AC 802408FC 00021023 */ negu $v0, $v0
/* BE40B0 80240900 44820000 */ mtc1 $v0, $f0
/* BE40B4 80240904 00000000 */ nop
/* BE40B8 80240908 46800020 */ cvt.s.w $f0, $f0
/* BE40BC 8024090C 08090246 */ j .L80240918
/* BE40C0 80240910 4600A500 */ add.s $f20, $f20, $f0
.L80240914:
/* BE40C4 80240914 4604A500 */ add.s $f20, $f20, $f4
.L80240918:
/* BE40C8 80240918 0C00A6C9 */ jal clamp_angle
/* BE40CC 8024091C 4600A306 */ mov.s $f12, $f20
/* BE40D0 80240920 2402000D */ addiu $v0, $zero, 0xd
/* BE40D4 80240924 E640000C */ swc1 $f0, 0xc($s2)
/* BE40D8 80240928 AE620070 */ sw $v0, 0x70($s3)
/* BE40DC 8024092C 8FBF0020 */ lw $ra, 0x20($sp)
/* BE40E0 80240930 8FB3001C */ lw $s3, 0x1c($sp)
/* BE40E4 80240934 8FB20018 */ lw $s2, 0x18($sp)
/* BE40E8 80240938 8FB10014 */ lw $s1, 0x14($sp)
/* BE40EC 8024093C 8FB00010 */ lw $s0, 0x10($sp)
/* BE40F0 80240940 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BE40F4 80240944 03E00008 */ jr $ra
/* BE40F8 80240948 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,80 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024094C_BE40FC
/* BE40FC 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE4100 80240950 AFB3003C */ sw $s3, 0x3c($sp)
/* BE4104 80240954 0080982D */ daddu $s3, $a0, $zero
/* BE4108 80240958 AFBF0040 */ sw $ra, 0x40($sp)
/* BE410C 8024095C AFB20038 */ sw $s2, 0x38($sp)
/* BE4110 80240960 AFB10034 */ sw $s1, 0x34($sp)
/* BE4114 80240964 AFB00030 */ sw $s0, 0x30($sp)
/* BE4118 80240968 8E720148 */ lw $s2, 0x148($s3)
/* BE411C 8024096C 00A0882D */ daddu $s1, $a1, $zero
/* BE4120 80240970 86440008 */ lh $a0, 8($s2)
/* BE4124 80240974 0C00EABB */ jal get_npc_unsafe
/* BE4128 80240978 00C0802D */ daddu $s0, $a2, $zero
/* BE412C 8024097C 0200202D */ daddu $a0, $s0, $zero
/* BE4130 80240980 0240282D */ daddu $a1, $s2, $zero
/* BE4134 80240984 24030001 */ addiu $v1, $zero, 1
/* BE4138 80240988 AFA30010 */ sw $v1, 0x10($sp)
/* BE413C 8024098C 8E260024 */ lw $a2, 0x24($s1)
/* BE4140 80240990 8E270028 */ lw $a3, 0x28($s1)
/* BE4144 80240994 0C01242D */ jal func_800490B4
/* BE4148 80240998 0040802D */ daddu $s0, $v0, $zero
/* BE414C 8024099C 1440001E */ bnez $v0, .L80240A18
/* BE4150 802409A0 0200202D */ daddu $a0, $s0, $zero
/* BE4154 802409A4 24040002 */ addiu $a0, $zero, 2
/* BE4158 802409A8 0200282D */ daddu $a1, $s0, $zero
/* BE415C 802409AC 0000302D */ daddu $a2, $zero, $zero
/* BE4160 802409B0 860300A8 */ lh $v1, 0xa8($s0)
/* BE4164 802409B4 3C013F80 */ lui $at, 0x3f80
/* BE4168 802409B8 44810000 */ mtc1 $at, $f0
/* BE416C 802409BC 3C014000 */ lui $at, 0x4000
/* BE4170 802409C0 44811000 */ mtc1 $at, $f2
/* BE4174 802409C4 3C01C1A0 */ lui $at, 0xc1a0
/* BE4178 802409C8 44812000 */ mtc1 $at, $f4
/* BE417C 802409CC 2402000F */ addiu $v0, $zero, 0xf
/* BE4180 802409D0 AFA2001C */ sw $v0, 0x1c($sp)
/* BE4184 802409D4 44833000 */ mtc1 $v1, $f6
/* BE4188 802409D8 00000000 */ nop
/* BE418C 802409DC 468031A0 */ cvt.s.w $f6, $f6
/* BE4190 802409E0 44073000 */ mfc1 $a3, $f6
/* BE4194 802409E4 27A20028 */ addiu $v0, $sp, 0x28
/* BE4198 802409E8 AFA20020 */ sw $v0, 0x20($sp)
/* BE419C 802409EC E7A00010 */ swc1 $f0, 0x10($sp)
/* BE41A0 802409F0 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE41A4 802409F4 0C01BFA4 */ jal fx_emote
/* BE41A8 802409F8 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE41AC 802409FC 8E4200CC */ lw $v0, 0xcc($s2)
/* BE41B0 80240A00 8C430000 */ lw $v1, ($v0)
/* BE41B4 80240A04 24020019 */ addiu $v0, $zero, 0x19
/* BE41B8 80240A08 A602008E */ sh $v0, 0x8e($s0)
/* BE41BC 80240A0C 2402000E */ addiu $v0, $zero, 0xe
/* BE41C0 80240A10 08090293 */ j .L80240A4C
/* BE41C4 80240A14 AE030028 */ sw $v1, 0x28($s0)
.L80240A18:
/* BE41C8 80240A18 0C00F598 */ jal func_8003D660
/* BE41CC 80240A1C 24050001 */ addiu $a1, $zero, 1
/* BE41D0 80240A20 8E050018 */ lw $a1, 0x18($s0)
/* BE41D4 80240A24 8E06000C */ lw $a2, 0xc($s0)
/* BE41D8 80240A28 0C00EA95 */ jal npc_move_heading
/* BE41DC 80240A2C 0200202D */ daddu $a0, $s0, $zero
/* BE41E0 80240A30 8602008E */ lh $v0, 0x8e($s0)
/* BE41E4 80240A34 9603008E */ lhu $v1, 0x8e($s0)
/* BE41E8 80240A38 18400003 */ blez $v0, .L80240A48
/* BE41EC 80240A3C 2462FFFF */ addiu $v0, $v1, -1
/* BE41F0 80240A40 08090294 */ j .L80240A50
/* BE41F4 80240A44 A602008E */ sh $v0, 0x8e($s0)
.L80240A48:
/* BE41F8 80240A48 2402000C */ addiu $v0, $zero, 0xc
.L80240A4C:
/* BE41FC 80240A4C AE620070 */ sw $v0, 0x70($s3)
.L80240A50:
/* BE4200 80240A50 8FBF0040 */ lw $ra, 0x40($sp)
/* BE4204 80240A54 8FB3003C */ lw $s3, 0x3c($sp)
/* BE4208 80240A58 8FB20038 */ lw $s2, 0x38($sp)
/* BE420C 80240A5C 8FB10034 */ lw $s1, 0x34($sp)
/* BE4210 80240A60 8FB00030 */ lw $s0, 0x30($sp)
/* BE4214 80240A64 03E00008 */ jr $ra
/* BE4218 80240A68 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,32 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A6C_BE421C
/* BE421C 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE4220 80240A70 AFB10014 */ sw $s1, 0x14($sp)
/* BE4224 80240A74 0080882D */ daddu $s1, $a0, $zero
/* BE4228 80240A78 AFBF0018 */ sw $ra, 0x18($sp)
/* BE422C 80240A7C AFB00010 */ sw $s0, 0x10($sp)
/* BE4230 80240A80 8E300148 */ lw $s0, 0x148($s1)
/* BE4234 80240A84 0C00EABB */ jal get_npc_unsafe
/* BE4238 80240A88 86040008 */ lh $a0, 8($s0)
/* BE423C 80240A8C 9443008E */ lhu $v1, 0x8e($v0)
/* BE4240 80240A90 2463FFFF */ addiu $v1, $v1, -1
/* BE4244 80240A94 A443008E */ sh $v1, 0x8e($v0)
/* BE4248 80240A98 00031C00 */ sll $v1, $v1, 0x10
/* BE424C 80240A9C 14600008 */ bnez $v1, .L80240AC0
/* BE4250 80240AA0 00000000 */ nop
/* BE4254 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0)
/* BE4258 80240AA8 30420080 */ andi $v0, $v0, 0x80
/* BE425C 80240AAC 10400003 */ beqz $v0, .L80240ABC
/* BE4260 80240AB0 2402000F */ addiu $v0, $zero, 0xf
/* BE4264 80240AB4 080902B0 */ j .L80240AC0
/* BE4268 80240AB8 AE220070 */ sw $v0, 0x70($s1)
.L80240ABC:
/* BE426C 80240ABC AE200070 */ sw $zero, 0x70($s1)
.L80240AC0:
/* BE4270 80240AC0 8FBF0018 */ lw $ra, 0x18($sp)
/* BE4274 80240AC4 8FB10014 */ lw $s1, 0x14($sp)
/* BE4278 80240AC8 8FB00010 */ lw $s0, 0x10($sp)
/* BE427C 80240ACC 03E00008 */ jr $ra
/* BE4280 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,55 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240AD4_BE4284
/* BE4284 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE4288 80240AD8 AFB10014 */ sw $s1, 0x14($sp)
/* BE428C 80240ADC 0080882D */ daddu $s1, $a0, $zero
/* BE4290 80240AE0 AFBF001C */ sw $ra, 0x1c($sp)
/* BE4294 80240AE4 AFB20018 */ sw $s2, 0x18($sp)
/* BE4298 80240AE8 AFB00010 */ sw $s0, 0x10($sp)
/* BE429C 80240AEC 8E300148 */ lw $s0, 0x148($s1)
/* BE42A0 80240AF0 86040008 */ lh $a0, 8($s0)
/* BE42A4 80240AF4 0C00EABB */ jal get_npc_unsafe
/* BE42A8 80240AF8 00A0902D */ daddu $s2, $a1, $zero
/* BE42AC 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE42B0 80240B00 8E240078 */ lw $a0, 0x78($s1)
/* BE42B4 80240B04 8C630000 */ lw $v1, ($v1)
/* BE42B8 80240B08 0083182A */ slt $v1, $a0, $v1
/* BE42BC 80240B0C 10600013 */ beqz $v1, .L80240B5C
/* BE42C0 80240B10 0040302D */ daddu $a2, $v0, $zero
/* BE42C4 80240B14 00041040 */ sll $v0, $a0, 1
/* BE42C8 80240B18 00441021 */ addu $v0, $v0, $a0
/* BE42CC 80240B1C 00022880 */ sll $a1, $v0, 2
.L80240B20:
/* BE42D0 80240B20 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE42D4 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2)
/* BE42D8 80240B28 00A31021 */ addu $v0, $a1, $v1
/* BE42DC 80240B2C C4400008 */ lwc1 $f0, 8($v0)
/* BE42E0 80240B30 46800020 */ cvt.s.w $f0, $f0
/* BE42E4 80240B34 4602003E */ c.le.s $f0, $f2
/* BE42E8 80240B38 00000000 */ nop
/* BE42EC 80240B3C 45020003 */ bc1fl .L80240B4C
/* BE42F0 80240B40 24840001 */ addiu $a0, $a0, 1
/* BE42F4 80240B44 080902D7 */ j .L80240B5C
/* BE42F8 80240B48 AE240078 */ sw $a0, 0x78($s1)
.L80240B4C:
/* BE42FC 80240B4C 8C620000 */ lw $v0, ($v1)
/* BE4300 80240B50 0082102A */ slt $v0, $a0, $v0
/* BE4304 80240B54 1440FFF2 */ bnez $v0, .L80240B20
/* BE4308 80240B58 24A5000C */ addiu $a1, $a1, 0xc
.L80240B5C:
/* BE430C 80240B5C C6400000 */ lwc1 $f0, ($s2)
/* BE4310 80240B60 E4C00018 */ swc1 $f0, 0x18($a2)
/* BE4314 80240B64 8E0200CC */ lw $v0, 0xcc($s0)
/* BE4318 80240B68 8C420004 */ lw $v0, 4($v0)
/* BE431C 80240B6C ACC20028 */ sw $v0, 0x28($a2)
/* BE4320 80240B70 24020001 */ addiu $v0, $zero, 1
/* BE4324 80240B74 AE200074 */ sw $zero, 0x74($s1)
/* BE4328 80240B78 AE220070 */ sw $v0, 0x70($s1)
/* BE432C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp)
/* BE4330 80240B80 8FB20018 */ lw $s2, 0x18($sp)
/* BE4334 80240B84 8FB10014 */ lw $s1, 0x14($sp)
/* BE4338 80240B88 8FB00010 */ lw $s0, 0x10($sp)
/* BE433C 80240B8C 03E00008 */ jr $ra
/* BE4340 80240B90 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,202 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B94_BE4344
/* BE4344 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68
/* BE4348 80240B98 AFB40058 */ sw $s4, 0x58($sp)
/* BE434C 80240B9C 0080A02D */ daddu $s4, $a0, $zero
/* BE4350 80240BA0 AFBF0060 */ sw $ra, 0x60($sp)
/* BE4354 80240BA4 AFB5005C */ sw $s5, 0x5c($sp)
/* BE4358 80240BA8 AFB30054 */ sw $s3, 0x54($sp)
/* BE435C 80240BAC AFB20050 */ sw $s2, 0x50($sp)
/* BE4360 80240BB0 AFB1004C */ sw $s1, 0x4c($sp)
/* BE4364 80240BB4 AFB00048 */ sw $s0, 0x48($sp)
/* BE4368 80240BB8 8E910148 */ lw $s1, 0x148($s4)
/* BE436C 80240BBC 86240008 */ lh $a0, 8($s1)
/* BE4370 80240BC0 0C00EABB */ jal get_npc_unsafe
/* BE4374 80240BC4 00A0802D */ daddu $s0, $a1, $zero
/* BE4378 80240BC8 8E83000C */ lw $v1, 0xc($s4)
/* BE437C 80240BCC 0280202D */ daddu $a0, $s4, $zero
/* BE4380 80240BD0 8C650000 */ lw $a1, ($v1)
/* BE4384 80240BD4 0C0B1EAF */ jal get_variable
/* BE4388 80240BD8 0040902D */ daddu $s2, $v0, $zero
/* BE438C 80240BDC AFA00018 */ sw $zero, 0x18($sp)
/* BE4390 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE4394 80240BE4 8C630094 */ lw $v1, 0x94($v1)
/* BE4398 80240BE8 AFA3001C */ sw $v1, 0x1c($sp)
/* BE439C 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE43A0 80240BF0 8C630080 */ lw $v1, 0x80($v1)
/* BE43A4 80240BF4 AFA30020 */ sw $v1, 0x20($sp)
/* BE43A8 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE43AC 80240BFC 8C630088 */ lw $v1, 0x88($v1)
/* BE43B0 80240C00 AFA30024 */ sw $v1, 0x24($sp)
/* BE43B4 80240C04 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE43B8 80240C08 8C63008C */ lw $v1, 0x8c($v1)
/* BE43BC 80240C0C 27B50018 */ addiu $s5, $sp, 0x18
/* BE43C0 80240C10 AFA30028 */ sw $v1, 0x28($sp)
/* BE43C4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE43C8 80240C18 3C014282 */ lui $at, 0x4282
/* BE43CC 80240C1C 44810000 */ mtc1 $at, $f0
/* BE43D0 80240C20 8C630090 */ lw $v1, 0x90($v1)
/* BE43D4 80240C24 0040982D */ daddu $s3, $v0, $zero
/* BE43D8 80240C28 E7A00030 */ swc1 $f0, 0x30($sp)
/* BE43DC 80240C2C A7A00034 */ sh $zero, 0x34($sp)
/* BE43E0 80240C30 16000005 */ bnez $s0, .L80240C48
/* BE43E4 80240C34 AFA3002C */ sw $v1, 0x2c($sp)
/* BE43E8 80240C38 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE43EC 80240C3C 30420004 */ andi $v0, $v0, 4
/* BE43F0 80240C40 10400044 */ beqz $v0, .L80240D54
/* BE43F4 80240C44 00000000 */ nop
.L80240C48:
/* BE43F8 80240C48 2404F7FF */ addiu $a0, $zero, -0x801
/* BE43FC 80240C4C AE800070 */ sw $zero, 0x70($s4)
/* BE4400 80240C50 A640008E */ sh $zero, 0x8e($s2)
/* BE4404 80240C54 8E2200CC */ lw $v0, 0xcc($s1)
/* BE4408 80240C58 8E430000 */ lw $v1, ($s2)
/* BE440C 80240C5C 8C420000 */ lw $v0, ($v0)
/* BE4410 80240C60 00641824 */ and $v1, $v1, $a0
/* BE4414 80240C64 AE430000 */ sw $v1, ($s2)
/* BE4418 80240C68 AE420028 */ sw $v0, 0x28($s2)
/* BE441C 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4420 80240C70 8C420098 */ lw $v0, 0x98($v0)
/* BE4424 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C
/* BE4428 80240C78 2402FDFF */ addiu $v0, $zero, -0x201
/* BE442C 80240C7C 34620200 */ ori $v0, $v1, 0x200
/* BE4430 80240C80 2403FFF7 */ addiu $v1, $zero, -9
/* BE4434 80240C84 08090325 */ j .L80240C94
/* BE4438 80240C88 00431024 */ and $v0, $v0, $v1
.L80240C8C:
/* BE443C 80240C8C 00621024 */ and $v0, $v1, $v0
/* BE4440 80240C90 34420008 */ ori $v0, $v0, 8
.L80240C94:
/* BE4444 80240C94 AE420000 */ sw $v0, ($s2)
/* BE4448 80240C98 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE444C 80240C9C 30420004 */ andi $v0, $v0, 4
/* BE4450 80240CA0 10400008 */ beqz $v0, .L80240CC4
/* BE4454 80240CA4 24020063 */ addiu $v0, $zero, 0x63
/* BE4458 80240CA8 AE820070 */ sw $v0, 0x70($s4)
/* BE445C 80240CAC AE800074 */ sw $zero, 0x74($s4)
/* BE4460 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE4464 80240CB4 2403FFFB */ addiu $v1, $zero, -5
/* BE4468 80240CB8 00431024 */ and $v0, $v0, $v1
/* BE446C 80240CBC 0809033C */ j .L80240CF0
/* BE4470 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240CC4:
/* BE4474 80240CC4 8E220000 */ lw $v0, ($s1)
/* BE4478 80240CC8 3C034000 */ lui $v1, 0x4000
/* BE447C 80240CCC 00431024 */ and $v0, $v0, $v1
/* BE4480 80240CD0 10400007 */ beqz $v0, .L80240CF0
/* BE4484 80240CD4 3C03BFFF */ lui $v1, 0xbfff
/* BE4488 80240CD8 2402000C */ addiu $v0, $zero, 0xc
/* BE448C 80240CDC AE820070 */ sw $v0, 0x70($s4)
/* BE4490 80240CE0 8E220000 */ lw $v0, ($s1)
/* BE4494 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff
/* BE4498 80240CE8 00431024 */ and $v0, $v0, $v1
/* BE449C 80240CEC AE220000 */ sw $v0, ($s1)
.L80240CF0:
/* BE44A0 80240CF0 27A50038 */ addiu $a1, $sp, 0x38
/* BE44A4 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c
/* BE44A8 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2)
/* BE44AC 80240CFC 864200A8 */ lh $v0, 0xa8($s2)
/* BE44B0 80240D00 3C0142C8 */ lui $at, 0x42c8
/* BE44B4 80240D04 44812000 */ mtc1 $at, $f4
/* BE44B8 80240D08 44823000 */ mtc1 $v0, $f6
/* BE44BC 80240D0C 00000000 */ nop
/* BE44C0 80240D10 468031A0 */ cvt.s.w $f6, $f6
/* BE44C4 80240D14 27A20044 */ addiu $v0, $sp, 0x44
/* BE44C8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp)
/* BE44CC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2)
/* BE44D0 80240D20 C6420040 */ lwc1 $f2, 0x40($s2)
/* BE44D4 80240D24 46060000 */ add.s $f0, $f0, $f6
/* BE44D8 80240D28 E7A40044 */ swc1 $f4, 0x44($sp)
/* BE44DC 80240D2C E7A20040 */ swc1 $f2, 0x40($sp)
/* BE44E0 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp)
/* BE44E4 80240D34 AFA20010 */ sw $v0, 0x10($sp)
/* BE44E8 80240D38 8E440080 */ lw $a0, 0x80($s2)
/* BE44EC 80240D3C 0C0372DF */ jal func_800DCB7C
/* BE44F0 80240D40 27A70040 */ addiu $a3, $sp, 0x40
/* BE44F4 80240D44 10400003 */ beqz $v0, .L80240D54
/* BE44F8 80240D48 00000000 */ nop
/* BE44FC 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp)
/* BE4500 80240D50 E640003C */ swc1 $f0, 0x3c($s2)
.L80240D54:
/* BE4504 80240D54 8E830070 */ lw $v1, 0x70($s4)
/* BE4508 80240D58 2C620064 */ sltiu $v0, $v1, 0x64
/* BE450C 80240D5C 10400042 */ beqz $v0, .L80240E68
/* BE4510 80240D60 00031080 */ sll $v0, $v1, 2
/* BE4514 80240D64 3C018024 */ lui $at, 0x8024
/* BE4518 80240D68 00220821 */ addu $at, $at, $v0
/* BE451C 80240D6C 8C224140 */ lw $v0, 0x4140($at)
/* BE4520 80240D70 00400008 */ jr $v0
/* BE4524 80240D74 00000000 */ nop
/* BE4528 80240D78 0280202D */ daddu $a0, $s4, $zero
/* BE452C 80240D7C 0260282D */ daddu $a1, $s3, $zero
/* BE4530 80240D80 0C090000 */ jal func_80240000
/* BE4534 80240D84 02A0302D */ daddu $a2, $s5, $zero
/* BE4538 80240D88 0280202D */ daddu $a0, $s4, $zero
/* BE453C 80240D8C 0260282D */ daddu $a1, $s3, $zero
/* BE4540 80240D90 0C090056 */ jal func_80240158
/* BE4544 80240D94 02A0302D */ daddu $a2, $s5, $zero
/* BE4548 80240D98 0809039A */ j .L80240E68
/* BE454C 80240D9C 00000000 */ nop
/* BE4550 80240DA0 0280202D */ daddu $a0, $s4, $zero
/* BE4554 80240DA4 0260282D */ daddu $a1, $s3, $zero
/* BE4558 80240DA8 0C090100 */ jal func_80240400
/* BE455C 80240DAC 02A0302D */ daddu $a2, $s5, $zero
/* BE4560 80240DB0 0280202D */ daddu $a0, $s4, $zero
/* BE4564 80240DB4 0260282D */ daddu $a1, $s3, $zero
/* BE4568 80240DB8 0C090130 */ jal func_802404C0
/* BE456C 80240DBC 02A0302D */ daddu $a2, $s5, $zero
/* BE4570 80240DC0 0809039A */ j .L80240E68
/* BE4574 80240DC4 00000000 */ nop
/* BE4578 80240DC8 0280202D */ daddu $a0, $s4, $zero
/* BE457C 80240DCC 0260282D */ daddu $a1, $s3, $zero
/* BE4580 80240DD0 0C09019F */ jal func_8024067C
/* BE4584 80240DD4 02A0302D */ daddu $a2, $s5, $zero
/* BE4588 80240DD8 0809039A */ j .L80240E68
/* BE458C 80240DDC 00000000 */ nop
/* BE4590 80240DE0 0280202D */ daddu $a0, $s4, $zero
/* BE4594 80240DE4 0260282D */ daddu $a1, $s3, $zero
/* BE4598 80240DE8 0C0901CC */ jal func_80240730
/* BE459C 80240DEC 02A0302D */ daddu $a2, $s5, $zero
/* BE45A0 80240DF0 0280202D */ daddu $a0, $s4, $zero
/* BE45A4 80240DF4 0260282D */ daddu $a1, $s3, $zero
/* BE45A8 80240DF8 0C0901E9 */ jal func_802407A4
/* BE45AC 80240DFC 02A0302D */ daddu $a2, $s5, $zero
/* BE45B0 80240E00 0809039A */ j .L80240E68
/* BE45B4 80240E04 00000000 */ nop
/* BE45B8 80240E08 0280202D */ daddu $a0, $s4, $zero
/* BE45BC 80240E0C 0260282D */ daddu $a1, $s3, $zero
/* BE45C0 80240E10 0C090207 */ jal func_8024081C
/* BE45C4 80240E14 02A0302D */ daddu $a2, $s5, $zero
/* BE45C8 80240E18 0280202D */ daddu $a0, $s4, $zero
/* BE45CC 80240E1C 0260282D */ daddu $a1, $s3, $zero
/* BE45D0 80240E20 0C090253 */ jal func_8024094C
/* BE45D4 80240E24 02A0302D */ daddu $a2, $s5, $zero
/* BE45D8 80240E28 0809039A */ j .L80240E68
/* BE45DC 80240E2C 00000000 */ nop
/* BE45E0 80240E30 0280202D */ daddu $a0, $s4, $zero
/* BE45E4 80240E34 0260282D */ daddu $a1, $s3, $zero
/* BE45E8 80240E38 0C09029B */ jal func_80240A6C
/* BE45EC 80240E3C 02A0302D */ daddu $a2, $s5, $zero
/* BE45F0 80240E40 0809039A */ j .L80240E68
/* BE45F4 80240E44 00000000 */ nop
/* BE45F8 80240E48 0280202D */ daddu $a0, $s4, $zero
/* BE45FC 80240E4C 0260282D */ daddu $a1, $s3, $zero
/* BE4600 80240E50 0C0902B5 */ jal func_80240AD4
/* BE4604 80240E54 02A0302D */ daddu $a2, $s5, $zero
/* BE4608 80240E58 0809039A */ j .L80240E68
/* BE460C 80240E5C 00000000 */ nop
/* BE4610 80240E60 0C0129CF */ jal func_8004A73C
/* BE4614 80240E64 0280202D */ daddu $a0, $s4, $zero
.L80240E68:
/* BE4618 80240E68 8FBF0060 */ lw $ra, 0x60($sp)
/* BE461C 80240E6C 8FB5005C */ lw $s5, 0x5c($sp)
/* BE4620 80240E70 8FB40058 */ lw $s4, 0x58($sp)
/* BE4624 80240E74 8FB30054 */ lw $s3, 0x54($sp)
/* BE4628 80240E78 8FB20050 */ lw $s2, 0x50($sp)
/* BE462C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp)
/* BE4630 80240E80 8FB00048 */ lw $s0, 0x48($sp)
/* BE4634 80240E84 0000102D */ daddu $v0, $zero, $zero
/* BE4638 80240E88 03E00008 */ jr $ra
/* BE463C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -0,0 +1,116 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240E90_BE4640
/* BE4640 80240E90 27BDFFC8 */ addiu $sp, $sp, -0x38
/* BE4644 80240E94 AFB3002C */ sw $s3, 0x2c($sp)
/* BE4648 80240E98 0080982D */ daddu $s3, $a0, $zero
/* BE464C 80240E9C AFBF0030 */ sw $ra, 0x30($sp)
/* BE4650 80240EA0 AFB20028 */ sw $s2, 0x28($sp)
/* BE4654 80240EA4 AFB10024 */ sw $s1, 0x24($sp)
/* BE4658 80240EA8 AFB00020 */ sw $s0, 0x20($sp)
/* BE465C 80240EAC 8E710148 */ lw $s1, 0x148($s3)
/* BE4660 80240EB0 86240008 */ lh $a0, 8($s1)
/* BE4664 80240EB4 0C00EABB */ jal get_npc_unsafe
/* BE4668 80240EB8 00A0902D */ daddu $s2, $a1, $zero
/* BE466C 80240EBC 8E440004 */ lw $a0, 4($s2)
/* BE4670 80240EC0 0040802D */ daddu $s0, $v0, $zero
/* BE4674 80240EC4 00041FC2 */ srl $v1, $a0, 0x1f
/* BE4678 80240EC8 00832021 */ addu $a0, $a0, $v1
/* BE467C 80240ECC 00042043 */ sra $a0, $a0, 1
/* BE4680 80240ED0 0C00A67F */ jal rand_int
/* BE4684 80240ED4 24840001 */ addiu $a0, $a0, 1
/* BE4688 80240ED8 8E430004 */ lw $v1, 4($s2)
/* BE468C 80240EDC 000327C2 */ srl $a0, $v1, 0x1f
/* BE4690 80240EE0 00641821 */ addu $v1, $v1, $a0
/* BE4694 80240EE4 00031843 */ sra $v1, $v1, 1
/* BE4698 80240EE8 00621821 */ addu $v1, $v1, $v0
/* BE469C 80240EEC A603008E */ sh $v1, 0x8e($s0)
/* BE46A0 80240EF0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE46A4 80240EF4 C6000040 */ lwc1 $f0, 0x40($s0)
/* BE46A8 80240EF8 C4640000 */ lwc1 $f4, ($v1)
/* BE46AC 80240EFC 46802120 */ cvt.s.w $f4, $f4
/* BE46B0 80240F00 C4620008 */ lwc1 $f2, 8($v1)
/* BE46B4 80240F04 468010A0 */ cvt.s.w $f2, $f2
/* BE46B8 80240F08 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE46BC 80240F0C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE46C0 80240F10 44061000 */ mfc1 $a2, $f2
/* BE46C4 80240F14 C440000C */ lwc1 $f0, 0xc($v0)
/* BE46C8 80240F18 46800020 */ cvt.s.w $f0, $f0
/* BE46CC 80240F1C E7A00014 */ swc1 $f0, 0x14($sp)
/* BE46D0 80240F20 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE46D4 80240F24 44052000 */ mfc1 $a1, $f4
/* BE46D8 80240F28 C4400010 */ lwc1 $f0, 0x10($v0)
/* BE46DC 80240F2C 46800020 */ cvt.s.w $f0, $f0
/* BE46E0 80240F30 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE46E4 80240F34 8C640018 */ lw $a0, 0x18($v1)
/* BE46E8 80240F38 0C0123F5 */ jal is_point_within_region
/* BE46EC 80240F3C 8E070038 */ lw $a3, 0x38($s0)
/* BE46F0 80240F40 1040000E */ beqz $v0, .L80240F7C
/* BE46F4 80240F44 00000000 */ nop
/* BE46F8 80240F48 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE46FC 80240F4C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE4700 80240F50 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE4704 80240F54 C4460000 */ lwc1 $f6, ($v0)
/* BE4708 80240F58 468031A0 */ cvt.s.w $f6, $f6
/* BE470C 80240F5C 44063000 */ mfc1 $a2, $f6
/* BE4710 80240F60 C4460008 */ lwc1 $f6, 8($v0)
/* BE4714 80240F64 468031A0 */ cvt.s.w $f6, $f6
/* BE4718 80240F68 44073000 */ mfc1 $a3, $f6
/* BE471C 80240F6C 0C00A720 */ jal atan2
/* BE4720 80240F70 00000000 */ nop
/* BE4724 80240F74 080903EB */ j .L80240FAC
/* BE4728 80240F78 E600000C */ swc1 $f0, 0xc($s0)
.L80240F7C:
/* BE472C 80240F7C 0C00A67F */ jal rand_int
/* BE4730 80240F80 2404003C */ addiu $a0, $zero, 0x3c
/* BE4734 80240F84 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE4738 80240F88 44820000 */ mtc1 $v0, $f0
/* BE473C 80240F8C 00000000 */ nop
/* BE4740 80240F90 46800020 */ cvt.s.w $f0, $f0
/* BE4744 80240F94 46006300 */ add.s $f12, $f12, $f0
/* BE4748 80240F98 3C0141F0 */ lui $at, 0x41f0
/* BE474C 80240F9C 44810000 */ mtc1 $at, $f0
/* BE4750 80240FA0 0C00A6C9 */ jal clamp_angle
/* BE4754 80240FA4 46006301 */ sub.s $f12, $f12, $f0
/* BE4758 80240FA8 E600000C */ swc1 $f0, 0xc($s0)
.L80240FAC:
/* BE475C 80240FAC 8E2200CC */ lw $v0, 0xcc($s1)
/* BE4760 80240FB0 8C420004 */ lw $v0, 4($v0)
/* BE4764 80240FB4 AE020028 */ sw $v0, 0x28($s0)
/* BE4768 80240FB8 AE600074 */ sw $zero, 0x74($s3)
/* BE476C 80240FBC 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4770 80240FC0 8C420014 */ lw $v0, 0x14($v0)
/* BE4774 80240FC4 04410004 */ bgez $v0, .L80240FD8
/* BE4778 80240FC8 00000000 */ nop
/* BE477C 80240FCC C6400000 */ lwc1 $f0, ($s2)
/* BE4780 80240FD0 080903FE */ j .L80240FF8
/* BE4784 80240FD4 E6000018 */ swc1 $f0, 0x18($s0)
.L80240FD8:
/* BE4788 80240FD8 3C018024 */ lui $at, 0x8024
/* BE478C 80240FDC D42242D0 */ ldc1 $f2, 0x42d0($at)
/* BE4790 80240FE0 44820000 */ mtc1 $v0, $f0
/* BE4794 80240FE4 00000000 */ nop
/* BE4798 80240FE8 46800021 */ cvt.d.w $f0, $f0
/* BE479C 80240FEC 46220003 */ div.d $f0, $f0, $f2
/* BE47A0 80240FF0 46200020 */ cvt.s.d $f0, $f0
/* BE47A4 80240FF4 E6000018 */ swc1 $f0, 0x18($s0)
.L80240FF8:
/* BE47A8 80240FF8 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE47AC 80240FFC 3C014059 */ lui $at, 0x4059
/* BE47B0 80241000 44811800 */ mtc1 $at, $f3
/* BE47B4 80241004 44801000 */ mtc1 $zero, $f2
/* BE47B8 80241008 46000021 */ cvt.d.s $f0, $f0
/* BE47BC 8024100C 46220002 */ mul.d $f0, $f0, $f2
/* BE47C0 80241010 00000000 */ nop
/* BE47C4 80241014 24020001 */ addiu $v0, $zero, 1
/* BE47C8 80241018 4620018D */ trunc.w.d $f6, $f0
/* BE47CC 8024101C E626007C */ swc1 $f6, 0x7c($s1)
/* BE47D0 80241020 AE620070 */ sw $v0, 0x70($s3)
/* BE47D4 80241024 8FBF0030 */ lw $ra, 0x30($sp)
/* BE47D8 80241028 8FB3002C */ lw $s3, 0x2c($sp)
/* BE47DC 8024102C 8FB20028 */ lw $s2, 0x28($sp)
/* BE47E0 80241030 8FB10024 */ lw $s1, 0x24($sp)
/* BE47E4 80241034 8FB00020 */ lw $s0, 0x20($sp)
/* BE47E8 80241038 03E00008 */ jr $ra
/* BE47EC 8024103C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -0,0 +1,418 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241040_BE47F0
/* BE47F0 80241040 27BDFF80 */ addiu $sp, $sp, -0x80
/* BE47F4 80241044 AFB3004C */ sw $s3, 0x4c($sp)
/* BE47F8 80241048 0080982D */ daddu $s3, $a0, $zero
/* BE47FC 8024104C AFBF0058 */ sw $ra, 0x58($sp)
/* BE4800 80241050 AFB50054 */ sw $s5, 0x54($sp)
/* BE4804 80241054 AFB40050 */ sw $s4, 0x50($sp)
/* BE4808 80241058 AFB20048 */ sw $s2, 0x48($sp)
/* BE480C 8024105C AFB10044 */ sw $s1, 0x44($sp)
/* BE4810 80241060 AFB00040 */ sw $s0, 0x40($sp)
/* BE4814 80241064 F7BA0078 */ sdc1 $f26, 0x78($sp)
/* BE4818 80241068 F7B80070 */ sdc1 $f24, 0x70($sp)
/* BE481C 8024106C F7B60068 */ sdc1 $f22, 0x68($sp)
/* BE4820 80241070 F7B40060 */ sdc1 $f20, 0x60($sp)
/* BE4824 80241074 8E710148 */ lw $s1, 0x148($s3)
/* BE4828 80241078 00A0902D */ daddu $s2, $a1, $zero
/* BE482C 8024107C 86240008 */ lh $a0, 8($s1)
/* BE4830 80241080 0C00EABB */ jal get_npc_unsafe
/* BE4834 80241084 00C0A82D */ daddu $s5, $a2, $zero
/* BE4838 80241088 0040802D */ daddu $s0, $v0, $zero
/* BE483C 8024108C 0000A02D */ daddu $s4, $zero, $zero
/* BE4840 80241090 C624007C */ lwc1 $f4, 0x7c($s1)
/* BE4844 80241094 46802120 */ cvt.s.w $f4, $f4
/* BE4848 80241098 C6220088 */ lwc1 $f2, 0x88($s1)
/* BE484C 8024109C 468010A0 */ cvt.s.w $f2, $f2
/* BE4850 802410A0 460010A1 */ cvt.d.s $f2, $f2
/* BE4854 802410A4 46002121 */ cvt.d.s $f4, $f4
/* BE4858 802410A8 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE485C 802410AC 3C014059 */ lui $at, 0x4059
/* BE4860 802410B0 44813800 */ mtc1 $at, $f7
/* BE4864 802410B4 44803000 */ mtc1 $zero, $f6
/* BE4868 802410B8 46000021 */ cvt.d.s $f0, $f0
/* BE486C 802410BC 46260002 */ mul.d $f0, $f0, $f6
/* BE4870 802410C0 00000000 */ nop
/* BE4874 802410C4 24020001 */ addiu $v0, $zero, 1
/* BE4878 802410C8 8E24006C */ lw $a0, 0x6c($s1)
/* BE487C 802410CC 46261083 */ div.d $f2, $f2, $f6
/* BE4880 802410D0 462010A0 */ cvt.s.d $f2, $f2
/* BE4884 802410D4 46262103 */ div.d $f4, $f4, $f6
/* BE4888 802410D8 46202520 */ cvt.s.d $f20, $f4
/* BE488C 802410DC 30830011 */ andi $v1, $a0, 0x11
/* BE4890 802410E0 4620020D */ trunc.w.d $f8, $f0
/* BE4894 802410E4 E628007C */ swc1 $f8, 0x7c($s1)
/* BE4898 802410E8 C6200078 */ lwc1 $f0, 0x78($s1)
/* BE489C 802410EC 46800020 */ cvt.s.w $f0, $f0
/* BE48A0 802410F0 46000021 */ cvt.d.s $f0, $f0
/* BE48A4 802410F4 46260003 */ div.d $f0, $f0, $f6
/* BE48A8 802410F8 462006A0 */ cvt.s.d $f26, $f0
/* BE48AC 802410FC C6200070 */ lwc1 $f0, 0x70($s1)
/* BE48B0 80241100 46800020 */ cvt.s.w $f0, $f0
/* BE48B4 80241104 46000021 */ cvt.d.s $f0, $f0
/* BE48B8 80241108 46260003 */ div.d $f0, $f0, $f6
/* BE48BC 8024110C 462005A0 */ cvt.s.d $f22, $f0
/* BE48C0 80241110 14620025 */ bne $v1, $v0, .L802411A8
/* BE48C4 80241114 4602D600 */ add.s $f24, $f26, $f2
/* BE48C8 80241118 8E020000 */ lw $v0, ($s0)
/* BE48CC 8024111C 30420008 */ andi $v0, $v0, 8
/* BE48D0 80241120 10400009 */ beqz $v0, .L80241148
/* BE48D4 80241124 27A50028 */ addiu $a1, $sp, 0x28
/* BE48D8 80241128 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE48DC 8024112C 4600C001 */ sub.s $f0, $f24, $f0
/* BE48E0 80241130 4600B03C */ c.lt.s $f22, $f0
/* BE48E4 80241134 00000000 */ nop
/* BE48E8 80241138 4500001B */ bc1f .L802411A8
/* BE48EC 8024113C 34820010 */ ori $v0, $a0, 0x10
/* BE48F0 80241140 0809046A */ j .L802411A8
/* BE48F4 80241144 AE22006C */ sw $v0, 0x6c($s1)
.L80241148:
/* BE48F8 80241148 27A6002C */ addiu $a2, $sp, 0x2c
/* BE48FC 8024114C C6000038 */ lwc1 $f0, 0x38($s0)
/* BE4900 80241150 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE4904 80241154 C6040040 */ lwc1 $f4, 0x40($s0)
/* BE4908 80241158 3C01447A */ lui $at, 0x447a
/* BE490C 8024115C 44813000 */ mtc1 $at, $f6
/* BE4910 80241160 27A20034 */ addiu $v0, $sp, 0x34
/* BE4914 80241164 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE4918 80241168 E7A2002C */ swc1 $f2, 0x2c($sp)
/* BE491C 8024116C E7A40030 */ swc1 $f4, 0x30($sp)
/* BE4920 80241170 E7A60034 */ swc1 $f6, 0x34($sp)
/* BE4924 80241174 AFA20010 */ sw $v0, 0x10($sp)
/* BE4928 80241178 8E040080 */ lw $a0, 0x80($s0)
/* BE492C 8024117C 0C0372DF */ jal func_800DCB7C
/* BE4930 80241180 27A70030 */ addiu $a3, $sp, 0x30
/* BE4934 80241184 C7A00034 */ lwc1 $f0, 0x34($sp)
/* BE4938 80241188 4600D001 */ sub.s $f0, $f26, $f0
/* BE493C 8024118C 4600B03C */ c.lt.s $f22, $f0
/* BE4940 80241190 00000000 */ nop
/* BE4944 80241194 45000004 */ bc1f .L802411A8
/* BE4948 80241198 00000000 */ nop
/* BE494C 8024119C 8E22006C */ lw $v0, 0x6c($s1)
/* BE4950 802411A0 34420010 */ ori $v0, $v0, 0x10
/* BE4954 802411A4 AE22006C */ sw $v0, 0x6c($s1)
.L802411A8:
/* BE4958 802411A8 8E22006C */ lw $v0, 0x6c($s1)
/* BE495C 802411AC 24030011 */ addiu $v1, $zero, 0x11
/* BE4960 802411B0 30420011 */ andi $v0, $v0, 0x11
/* BE4964 802411B4 14430039 */ bne $v0, $v1, .L8024129C
/* BE4968 802411B8 00000000 */ nop
/* BE496C 802411BC 8E020000 */ lw $v0, ($s0)
/* BE4970 802411C0 30420008 */ andi $v0, $v0, 8
/* BE4974 802411C4 1040000A */ beqz $v0, .L802411F0
/* BE4978 802411C8 4600C106 */ mov.s $f4, $f24
/* BE497C 802411CC 4614C081 */ sub.s $f2, $f24, $f20
/* BE4980 802411D0 3C018024 */ lui $at, 0x8024
/* BE4984 802411D4 D42042D8 */ ldc1 $f0, 0x42d8($at)
/* BE4988 802411D8 460010A1 */ cvt.d.s $f2, $f2
/* BE498C 802411DC 46201082 */ mul.d $f2, $f2, $f0
/* BE4990 802411E0 00000000 */ nop
/* BE4994 802411E4 4600A021 */ cvt.d.s $f0, $f20
/* BE4998 802411E8 08090495 */ j .L80241254
/* BE499C 802411EC 46220000 */ add.d $f0, $f0, $f2
.L802411F0:
/* BE49A0 802411F0 27A50028 */ addiu $a1, $sp, 0x28
/* BE49A4 802411F4 27A6002C */ addiu $a2, $sp, 0x2c
/* BE49A8 802411F8 C6000038 */ lwc1 $f0, 0x38($s0)
/* BE49AC 802411FC C6020040 */ lwc1 $f2, 0x40($s0)
/* BE49B0 80241200 3C01447A */ lui $at, 0x447a
/* BE49B4 80241204 44812000 */ mtc1 $at, $f4
/* BE49B8 80241208 27A20034 */ addiu $v0, $sp, 0x34
/* BE49BC 8024120C E7B4002C */ swc1 $f20, 0x2c($sp)
/* BE49C0 80241210 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE49C4 80241214 E7A20030 */ swc1 $f2, 0x30($sp)
/* BE49C8 80241218 E7A40034 */ swc1 $f4, 0x34($sp)
/* BE49CC 8024121C AFA20010 */ sw $v0, 0x10($sp)
/* BE49D0 80241220 8E040080 */ lw $a0, 0x80($s0)
/* BE49D4 80241224 0C0372DF */ jal func_800DCB7C
/* BE49D8 80241228 27A70030 */ addiu $a3, $sp, 0x30
/* BE49DC 8024122C C7A4002C */ lwc1 $f4, 0x2c($sp)
/* BE49E0 80241230 461A2100 */ add.s $f4, $f4, $f26
/* BE49E4 80241234 46142081 */ sub.s $f2, $f4, $f20
/* BE49E8 80241238 3C018024 */ lui $at, 0x8024
/* BE49EC 8024123C D42042E0 */ ldc1 $f0, 0x42e0($at)
/* BE49F0 80241240 460010A1 */ cvt.d.s $f2, $f2
/* BE49F4 80241244 46201082 */ mul.d $f2, $f2, $f0
/* BE49F8 80241248 00000000 */ nop
/* BE49FC 8024124C 4600A021 */ cvt.d.s $f0, $f20
/* BE4A00 80241250 46220000 */ add.d $f0, $f0, $f2
.L80241254:
/* BE4A04 80241254 46200020 */ cvt.s.d $f0, $f0
/* BE4A08 80241258 E600003C */ swc1 $f0, 0x3c($s0)
/* BE4A0C 8024125C C600003C */ lwc1 $f0, 0x3c($s0)
/* BE4A10 80241260 46002001 */ sub.s $f0, $f4, $f0
/* BE4A14 80241264 3C013FF0 */ lui $at, 0x3ff0
/* BE4A18 80241268 44811800 */ mtc1 $at, $f3
/* BE4A1C 8024126C 44801000 */ mtc1 $zero, $f2
/* BE4A20 80241270 46000005 */ abs.s $f0, $f0
/* BE4A24 80241274 46000021 */ cvt.d.s $f0, $f0
/* BE4A28 80241278 4622003C */ c.lt.d $f0, $f2
/* BE4A2C 8024127C 00000000 */ nop
/* BE4A30 80241280 45000036 */ bc1f .L8024135C
/* BE4A34 80241284 2403FFEF */ addiu $v1, $zero, -0x11
/* BE4A38 80241288 E604003C */ swc1 $f4, 0x3c($s0)
/* BE4A3C 8024128C 8E22006C */ lw $v0, 0x6c($s1)
/* BE4A40 80241290 00431024 */ and $v0, $v0, $v1
/* BE4A44 80241294 080904D7 */ j .L8024135C
/* BE4A48 80241298 AE22006C */ sw $v0, 0x6c($s1)
.L8024129C:
/* BE4A4C 8024129C 8E220070 */ lw $v0, 0x70($s1)
/* BE4A50 802412A0 1840002E */ blez $v0, .L8024135C
/* BE4A54 802412A4 00000000 */ nop
/* BE4A58 802412A8 C62C0074 */ lwc1 $f12, 0x74($s1)
/* BE4A5C 802412AC 0C00A8BB */ jal sin_deg
/* BE4A60 802412B0 46806320 */ cvt.s.w $f12, $f12
/* BE4A64 802412B4 8E020000 */ lw $v0, ($s0)
/* BE4A68 802412B8 30420008 */ andi $v0, $v0, 8
/* BE4A6C 802412BC 10400003 */ beqz $v0, .L802412CC
/* BE4A70 802412C0 46000506 */ mov.s $f20, $f0
/* BE4A74 802412C4 080904C3 */ j .L8024130C
/* BE4A78 802412C8 0000102D */ daddu $v0, $zero, $zero
.L802412CC:
/* BE4A7C 802412CC 27A50028 */ addiu $a1, $sp, 0x28
/* BE4A80 802412D0 27A6002C */ addiu $a2, $sp, 0x2c
/* BE4A84 802412D4 C6000038 */ lwc1 $f0, 0x38($s0)
/* BE4A88 802412D8 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE4A8C 802412DC C6040040 */ lwc1 $f4, 0x40($s0)
/* BE4A90 802412E0 3C01447A */ lui $at, 0x447a
/* BE4A94 802412E4 44813000 */ mtc1 $at, $f6
/* BE4A98 802412E8 27A20034 */ addiu $v0, $sp, 0x34
/* BE4A9C 802412EC E7A00028 */ swc1 $f0, 0x28($sp)
/* BE4AA0 802412F0 E7A2002C */ swc1 $f2, 0x2c($sp)
/* BE4AA4 802412F4 E7A40030 */ swc1 $f4, 0x30($sp)
/* BE4AA8 802412F8 E7A60034 */ swc1 $f6, 0x34($sp)
/* BE4AAC 802412FC AFA20010 */ sw $v0, 0x10($sp)
/* BE4AB0 80241300 8E040080 */ lw $a0, 0x80($s0)
/* BE4AB4 80241304 0C0372DF */ jal func_800DCB7C
/* BE4AB8 80241308 27A70030 */ addiu $a3, $sp, 0x30
.L8024130C:
/* BE4ABC 8024130C 10400007 */ beqz $v0, .L8024132C
/* BE4AC0 80241310 00000000 */ nop
/* BE4AC4 80241314 4616A082 */ mul.s $f2, $f20, $f22
/* BE4AC8 80241318 00000000 */ nop
/* BE4ACC 8024131C C7A0002C */ lwc1 $f0, 0x2c($sp)
/* BE4AD0 80241320 461A0000 */ add.s $f0, $f0, $f26
/* BE4AD4 80241324 080904CE */ j .L80241338
/* BE4AD8 80241328 46020000 */ add.s $f0, $f0, $f2
.L8024132C:
/* BE4ADC 8024132C 4616A002 */ mul.s $f0, $f20, $f22
/* BE4AE0 80241330 00000000 */ nop
/* BE4AE4 80241334 4600C000 */ add.s $f0, $f24, $f0
.L80241338:
/* BE4AE8 80241338 E600003C */ swc1 $f0, 0x3c($s0)
/* BE4AEC 8024133C 8E220074 */ lw $v0, 0x74($s1)
/* BE4AF0 80241340 2442000A */ addiu $v0, $v0, 0xa
/* BE4AF4 80241344 44826000 */ mtc1 $v0, $f12
/* BE4AF8 80241348 00000000 */ nop
/* BE4AFC 8024134C 0C00A6C9 */ jal clamp_angle
/* BE4B00 80241350 46806320 */ cvt.s.w $f12, $f12
/* BE4B04 80241354 4600020D */ trunc.w.s $f8, $f0
/* BE4B08 80241358 E6280074 */ swc1 $f8, 0x74($s1)
.L8024135C:
/* BE4B0C 8024135C 8E220090 */ lw $v0, 0x90($s1)
/* BE4B10 80241360 1C40004A */ bgtz $v0, .L8024148C
/* BE4B14 80241364 2442FFFF */ addiu $v0, $v0, -1
/* BE4B18 80241368 8E430014 */ lw $v1, 0x14($s2)
/* BE4B1C 8024136C 04600048 */ bltz $v1, .L80241490
/* BE4B20 80241370 00000000 */ nop
/* BE4B24 80241374 8E620074 */ lw $v0, 0x74($s3)
/* BE4B28 80241378 1C400042 */ bgtz $v0, .L80241484
/* BE4B2C 8024137C 2442FFFF */ addiu $v0, $v0, -1
/* BE4B30 80241380 AE630074 */ sw $v1, 0x74($s3)
/* BE4B34 80241384 860200A8 */ lh $v0, 0xa8($s0)
/* BE4B38 80241388 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE4B3C 8024138C 44820000 */ mtc1 $v0, $f0
/* BE4B40 80241390 00000000 */ nop
/* BE4B44 80241394 46800020 */ cvt.s.w $f0, $f0
/* BE4B48 80241398 46001080 */ add.s $f2, $f2, $f0
/* BE4B4C 8024139C 3C014024 */ lui $at, 0x4024
/* BE4B50 802413A0 44810800 */ mtc1 $at, $f1
/* BE4B54 802413A4 44800000 */ mtc1 $zero, $f0
/* BE4B58 802413A8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE4B5C 802413AC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE4B60 802413B0 460010A1 */ cvt.d.s $f2, $f2
/* BE4B64 802413B4 46201080 */ add.d $f2, $f2, $f0
/* BE4B68 802413B8 C440002C */ lwc1 $f0, 0x2c($v0)
/* BE4B6C 802413BC 46000021 */ cvt.d.s $f0, $f0
/* BE4B70 802413C0 4622003C */ c.lt.d $f0, $f2
/* BE4B74 802413C4 00000000 */ nop
/* BE4B78 802413C8 4500002C */ bc1f .L8024147C
/* BE4B7C 802413CC 02A0202D */ daddu $a0, $s5, $zero
/* BE4B80 802413D0 AFA00010 */ sw $zero, 0x10($sp)
/* BE4B84 802413D4 8E46000C */ lw $a2, 0xc($s2)
/* BE4B88 802413D8 8E470010 */ lw $a3, 0x10($s2)
/* BE4B8C 802413DC 0C01242D */ jal func_800490B4
/* BE4B90 802413E0 0220282D */ daddu $a1, $s1, $zero
/* BE4B94 802413E4 10400025 */ beqz $v0, .L8024147C
/* BE4B98 802413E8 0000202D */ daddu $a0, $zero, $zero
/* BE4B9C 802413EC 0200282D */ daddu $a1, $s0, $zero
/* BE4BA0 802413F0 0000302D */ daddu $a2, $zero, $zero
/* BE4BA4 802413F4 2412000C */ addiu $s2, $zero, 0xc
/* BE4BA8 802413F8 860300A8 */ lh $v1, 0xa8($s0)
/* BE4BAC 802413FC 3C013F80 */ lui $at, 0x3f80
/* BE4BB0 80241400 44810000 */ mtc1 $at, $f0
/* BE4BB4 80241404 3C014000 */ lui $at, 0x4000
/* BE4BB8 80241408 44811000 */ mtc1 $at, $f2
/* BE4BBC 8024140C 3C01C1A0 */ lui $at, 0xc1a0
/* BE4BC0 80241410 44812000 */ mtc1 $at, $f4
/* BE4BC4 80241414 44834000 */ mtc1 $v1, $f8
/* BE4BC8 80241418 00000000 */ nop
/* BE4BCC 8024141C 46804220 */ cvt.s.w $f8, $f8
/* BE4BD0 80241420 44074000 */ mfc1 $a3, $f8
/* BE4BD4 80241424 27A20038 */ addiu $v0, $sp, 0x38
/* BE4BD8 80241428 AFB2001C */ sw $s2, 0x1c($sp)
/* BE4BDC 8024142C AFA20020 */ sw $v0, 0x20($sp)
/* BE4BE0 80241430 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE4BE4 80241434 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE4BE8 80241438 0C01BFA4 */ jal fx_emote
/* BE4BEC 8024143C E7A40018 */ swc1 $f4, 0x18($sp)
/* BE4BF0 80241440 0200202D */ daddu $a0, $s0, $zero
/* BE4BF4 80241444 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE4BF8 80241448 C480003C */ lwc1 $f0, 0x3c($a0)
/* BE4BFC 8024144C 3C060020 */ lui $a2, 0x20
/* BE4C00 80241450 0C012530 */ jal func_800494C0
/* BE4C04 80241454 E4800064 */ swc1 $f0, 0x64($a0)
/* BE4C08 80241458 8E220018 */ lw $v0, 0x18($s1)
/* BE4C0C 8024145C 9442002A */ lhu $v0, 0x2a($v0)
/* BE4C10 80241460 30420001 */ andi $v0, $v0, 1
/* BE4C14 80241464 10400003 */ beqz $v0, .L80241474
/* BE4C18 80241468 2402000A */ addiu $v0, $zero, 0xa
/* BE4C1C 8024146C 0809058D */ j .L80241634
/* BE4C20 80241470 AE620070 */ sw $v0, 0x70($s3)
.L80241474:
/* BE4C24 80241474 0809058D */ j .L80241634
/* BE4C28 80241478 AE720070 */ sw $s2, 0x70($s3)
.L8024147C:
/* BE4C2C 8024147C 8E620074 */ lw $v0, 0x74($s3)
/* BE4C30 80241480 2442FFFF */ addiu $v0, $v0, -1
.L80241484:
/* BE4C34 80241484 08090524 */ j .L80241490
/* BE4C38 80241488 AE620074 */ sw $v0, 0x74($s3)
.L8024148C:
/* BE4C3C 8024148C AE220090 */ sw $v0, 0x90($s1)
.L80241490:
/* BE4C40 80241490 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE4C44 80241494 C6000040 */ lwc1 $f0, 0x40($s0)
/* BE4C48 80241498 C4620000 */ lwc1 $f2, ($v1)
/* BE4C4C 8024149C 468010A0 */ cvt.s.w $f2, $f2
/* BE4C50 802414A0 C4640008 */ lwc1 $f4, 8($v1)
/* BE4C54 802414A4 46802120 */ cvt.s.w $f4, $f4
/* BE4C58 802414A8 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE4C5C 802414AC 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4C60 802414B0 44051000 */ mfc1 $a1, $f2
/* BE4C64 802414B4 C440000C */ lwc1 $f0, 0xc($v0)
/* BE4C68 802414B8 46800020 */ cvt.s.w $f0, $f0
/* BE4C6C 802414BC E7A00014 */ swc1 $f0, 0x14($sp)
/* BE4C70 802414C0 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4C74 802414C4 44062000 */ mfc1 $a2, $f4
/* BE4C78 802414C8 C4400010 */ lwc1 $f0, 0x10($v0)
/* BE4C7C 802414CC 46800020 */ cvt.s.w $f0, $f0
/* BE4C80 802414D0 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE4C84 802414D4 8C640018 */ lw $a0, 0x18($v1)
/* BE4C88 802414D8 0C0123F5 */ jal is_point_within_region
/* BE4C8C 802414DC 8E070038 */ lw $a3, 0x38($s0)
/* BE4C90 802414E0 1040001A */ beqz $v0, .L8024154C
/* BE4C94 802414E4 00000000 */ nop
/* BE4C98 802414E8 8E060038 */ lw $a2, 0x38($s0)
/* BE4C9C 802414EC 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4CA0 802414F0 8E070040 */ lw $a3, 0x40($s0)
/* BE4CA4 802414F4 C44C0000 */ lwc1 $f12, ($v0)
/* BE4CA8 802414F8 46806320 */ cvt.s.w $f12, $f12
/* BE4CAC 802414FC C44E0008 */ lwc1 $f14, 8($v0)
/* BE4CB0 80241500 0C00A7B5 */ jal dist2D
/* BE4CB4 80241504 468073A0 */ cvt.s.w $f14, $f14
/* BE4CB8 80241508 C6020018 */ lwc1 $f2, 0x18($s0)
/* BE4CBC 8024150C 4600103C */ c.lt.s $f2, $f0
/* BE4CC0 80241510 00000000 */ nop
/* BE4CC4 80241514 4500000D */ bc1f .L8024154C
/* BE4CC8 80241518 E7A00034 */ swc1 $f0, 0x34($sp)
/* BE4CCC 8024151C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE4CD0 80241520 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4CD4 80241524 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE4CD8 80241528 C4480000 */ lwc1 $f8, ($v0)
/* BE4CDC 8024152C 46804220 */ cvt.s.w $f8, $f8
/* BE4CE0 80241530 44064000 */ mfc1 $a2, $f8
/* BE4CE4 80241534 C4480008 */ lwc1 $f8, 8($v0)
/* BE4CE8 80241538 46804220 */ cvt.s.w $f8, $f8
/* BE4CEC 8024153C 44074000 */ mfc1 $a3, $f8
/* BE4CF0 80241540 0C00A720 */ jal atan2
/* BE4CF4 80241544 24140001 */ addiu $s4, $zero, 1
/* BE4CF8 80241548 E600000C */ swc1 $f0, 0xc($s0)
.L8024154C:
/* BE4CFC 8024154C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE4D00 80241550 8C43000C */ lw $v1, 0xc($v0)
/* BE4D04 80241554 8C420010 */ lw $v0, 0x10($v0)
/* BE4D08 80241558 00621825 */ or $v1, $v1, $v0
/* BE4D0C 8024155C 00741825 */ or $v1, $v1, $s4
/* BE4D10 80241560 10600008 */ beqz $v1, .L80241584
/* BE4D14 80241564 00000000 */ nop
/* BE4D18 80241568 8602008C */ lh $v0, 0x8c($s0)
/* BE4D1C 8024156C 14400031 */ bnez $v0, .L80241634
/* BE4D20 80241570 00000000 */ nop
/* BE4D24 80241574 8E050018 */ lw $a1, 0x18($s0)
/* BE4D28 80241578 8E06000C */ lw $a2, 0xc($s0)
/* BE4D2C 8024157C 0C00EA95 */ jal npc_move_heading
/* BE4D30 80241580 0200202D */ daddu $a0, $s0, $zero
.L80241584:
/* BE4D34 80241584 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE4D38 80241588 3C014059 */ lui $at, 0x4059
/* BE4D3C 8024158C 44811800 */ mtc1 $at, $f3
/* BE4D40 80241590 44801000 */ mtc1 $zero, $f2
/* BE4D44 80241594 46000021 */ cvt.d.s $f0, $f0
/* BE4D48 80241598 46220002 */ mul.d $f0, $f0, $f2
/* BE4D4C 8024159C 00000000 */ nop
/* BE4D50 802415A0 4620020D */ trunc.w.d $f8, $f0
/* BE4D54 802415A4 E628007C */ swc1 $f8, 0x7c($s1)
/* BE4D58 802415A8 8E420004 */ lw $v0, 4($s2)
/* BE4D5C 802415AC 18400021 */ blez $v0, .L80241634
/* BE4D60 802415B0 00000000 */ nop
/* BE4D64 802415B4 8602008E */ lh $v0, 0x8e($s0)
/* BE4D68 802415B8 9603008E */ lhu $v1, 0x8e($s0)
/* BE4D6C 802415BC 18400005 */ blez $v0, .L802415D4
/* BE4D70 802415C0 2462FFFF */ addiu $v0, $v1, -1
/* BE4D74 802415C4 A602008E */ sh $v0, 0x8e($s0)
/* BE4D78 802415C8 00021400 */ sll $v0, $v0, 0x10
/* BE4D7C 802415CC 1C400019 */ bgtz $v0, .L80241634
/* BE4D80 802415D0 00000000 */ nop
.L802415D4:
/* BE4D84 802415D4 240403E8 */ addiu $a0, $zero, 0x3e8
/* BE4D88 802415D8 24020002 */ addiu $v0, $zero, 2
/* BE4D8C 802415DC 0C00A67F */ jal rand_int
/* BE4D90 802415E0 AE620070 */ sw $v0, 0x70($s3)
/* BE4D94 802415E4 3C035555 */ lui $v1, 0x5555
/* BE4D98 802415E8 34635556 */ ori $v1, $v1, 0x5556
/* BE4D9C 802415EC 00430018 */ mult $v0, $v1
/* BE4DA0 802415F0 000227C3 */ sra $a0, $v0, 0x1f
/* BE4DA4 802415F4 00004010 */ mfhi $t0
/* BE4DA8 802415F8 01042023 */ subu $a0, $t0, $a0
/* BE4DAC 802415FC 00041840 */ sll $v1, $a0, 1
/* BE4DB0 80241600 00641821 */ addu $v1, $v1, $a0
/* BE4DB4 80241604 00431023 */ subu $v0, $v0, $v1
/* BE4DB8 80241608 24430002 */ addiu $v1, $v0, 2
/* BE4DBC 8024160C AE630074 */ sw $v1, 0x74($s3)
/* BE4DC0 80241610 8E42002C */ lw $v0, 0x2c($s2)
/* BE4DC4 80241614 58400007 */ blezl $v0, .L80241634
/* BE4DC8 80241618 AE600070 */ sw $zero, 0x70($s3)
/* BE4DCC 8024161C 8E420008 */ lw $v0, 8($s2)
/* BE4DD0 80241620 18400003 */ blez $v0, .L80241630
/* BE4DD4 80241624 28620003 */ slti $v0, $v1, 3
/* BE4DD8 80241628 10400002 */ beqz $v0, .L80241634
/* BE4DDC 8024162C 00000000 */ nop
.L80241630:
/* BE4DE0 80241630 AE600070 */ sw $zero, 0x70($s3)
.L80241634:
/* BE4DE4 80241634 8FBF0058 */ lw $ra, 0x58($sp)
/* BE4DE8 80241638 8FB50054 */ lw $s5, 0x54($sp)
/* BE4DEC 8024163C 8FB40050 */ lw $s4, 0x50($sp)
/* BE4DF0 80241640 8FB3004C */ lw $s3, 0x4c($sp)
/* BE4DF4 80241644 8FB20048 */ lw $s2, 0x48($sp)
/* BE4DF8 80241648 8FB10044 */ lw $s1, 0x44($sp)
/* BE4DFC 8024164C 8FB00040 */ lw $s0, 0x40($sp)
/* BE4E00 80241650 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* BE4E04 80241654 D7B80070 */ ldc1 $f24, 0x70($sp)
/* BE4E08 80241658 D7B60068 */ ldc1 $f22, 0x68($sp)
/* BE4E0C 8024165C D7B40060 */ ldc1 $f20, 0x60($sp)
/* BE4E10 80241660 03E00008 */ jr $ra
/* BE4E14 80241664 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241668_BE4E18
/* BE4E18 80241668 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE4E1C 8024166C AFB3001C */ sw $s3, 0x1c($sp)
/* BE4E20 80241670 0080982D */ daddu $s3, $a0, $zero
/* BE4E24 80241674 AFBF0020 */ sw $ra, 0x20($sp)
/* BE4E28 80241678 AFB20018 */ sw $s2, 0x18($sp)
/* BE4E2C 8024167C AFB10014 */ sw $s1, 0x14($sp)
/* BE4E30 80241680 AFB00010 */ sw $s0, 0x10($sp)
/* BE4E34 80241684 8E720148 */ lw $s2, 0x148($s3)
/* BE4E38 80241688 86440008 */ lh $a0, 8($s2)
/* BE4E3C 8024168C 0C00EABB */ jal get_npc_unsafe
/* BE4E40 80241690 00A0882D */ daddu $s1, $a1, $zero
/* BE4E44 80241694 8E240008 */ lw $a0, 8($s1)
/* BE4E48 80241698 0040802D */ daddu $s0, $v0, $zero
/* BE4E4C 8024169C 00041FC2 */ srl $v1, $a0, 0x1f
/* BE4E50 802416A0 00832021 */ addu $a0, $a0, $v1
/* BE4E54 802416A4 00042043 */ sra $a0, $a0, 1
/* BE4E58 802416A8 0C00A67F */ jal rand_int
/* BE4E5C 802416AC 24840001 */ addiu $a0, $a0, 1
/* BE4E60 802416B0 8E230008 */ lw $v1, 8($s1)
/* BE4E64 802416B4 240400B4 */ addiu $a0, $zero, 0xb4
/* BE4E68 802416B8 00032FC2 */ srl $a1, $v1, 0x1f
/* BE4E6C 802416BC 00651821 */ addu $v1, $v1, $a1
/* BE4E70 802416C0 00031843 */ sra $v1, $v1, 1
/* BE4E74 802416C4 00621821 */ addu $v1, $v1, $v0
/* BE4E78 802416C8 0C00A67F */ jal rand_int
/* BE4E7C 802416CC A603008E */ sh $v1, 0x8e($s0)
/* BE4E80 802416D0 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE4E84 802416D4 44820000 */ mtc1 $v0, $f0
/* BE4E88 802416D8 00000000 */ nop
/* BE4E8C 802416DC 46800020 */ cvt.s.w $f0, $f0
/* BE4E90 802416E0 46006300 */ add.s $f12, $f12, $f0
/* BE4E94 802416E4 3C0142B4 */ lui $at, 0x42b4
/* BE4E98 802416E8 44810000 */ mtc1 $at, $f0
/* BE4E9C 802416EC 0C00A6C9 */ jal clamp_angle
/* BE4EA0 802416F0 46006301 */ sub.s $f12, $f12, $f0
/* BE4EA4 802416F4 E600000C */ swc1 $f0, 0xc($s0)
/* BE4EA8 802416F8 8E4200CC */ lw $v0, 0xcc($s2)
/* BE4EAC 802416FC 8C420000 */ lw $v0, ($v0)
/* BE4EB0 80241700 AE020028 */ sw $v0, 0x28($s0)
/* BE4EB4 80241704 24020003 */ addiu $v0, $zero, 3
/* BE4EB8 80241708 AE620070 */ sw $v0, 0x70($s3)
/* BE4EBC 8024170C 8FBF0020 */ lw $ra, 0x20($sp)
/* BE4EC0 80241710 8FB3001C */ lw $s3, 0x1c($sp)
/* BE4EC4 80241714 8FB20018 */ lw $s2, 0x18($sp)
/* BE4EC8 80241718 8FB10014 */ lw $s1, 0x14($sp)
/* BE4ECC 8024171C 8FB00010 */ lw $s0, 0x10($sp)
/* BE4ED0 80241720 03E00008 */ jr $ra
/* BE4ED4 80241724 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,225 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241728
/* BE4ED8 80241728 27BDFF88 */ addiu $sp, $sp, -0x78
/* BE4EDC 8024172C AFB3004C */ sw $s3, 0x4c($sp)
/* BE4EE0 80241730 0080982D */ daddu $s3, $a0, $zero
/* BE4EE4 80241734 AFBF0054 */ sw $ra, 0x54($sp)
/* BE4EE8 80241738 AFB40050 */ sw $s4, 0x50($sp)
/* BE4EEC 8024173C AFB20048 */ sw $s2, 0x48($sp)
/* BE4EF0 80241740 AFB10044 */ sw $s1, 0x44($sp)
/* BE4EF4 80241744 AFB00040 */ sw $s0, 0x40($sp)
/* BE4EF8 80241748 F7BA0070 */ sdc1 $f26, 0x70($sp)
/* BE4EFC 8024174C F7B80068 */ sdc1 $f24, 0x68($sp)
/* BE4F00 80241750 F7B60060 */ sdc1 $f22, 0x60($sp)
/* BE4F04 80241754 F7B40058 */ sdc1 $f20, 0x58($sp)
/* BE4F08 80241758 8E710148 */ lw $s1, 0x148($s3)
/* BE4F0C 8024175C 00A0902D */ daddu $s2, $a1, $zero
/* BE4F10 80241760 86240008 */ lh $a0, 8($s1)
/* BE4F14 80241764 0C00EABB */ jal get_npc_unsafe
/* BE4F18 80241768 00C0A02D */ daddu $s4, $a2, $zero
/* BE4F1C 8024176C 0040802D */ daddu $s0, $v0, $zero
/* BE4F20 80241770 C6200078 */ lwc1 $f0, 0x78($s1)
/* BE4F24 80241774 46800020 */ cvt.s.w $f0, $f0
/* BE4F28 80241778 46000021 */ cvt.d.s $f0, $f0
/* BE4F2C 8024177C 3C014059 */ lui $at, 0x4059
/* BE4F30 80241780 44811800 */ mtc1 $at, $f3
/* BE4F34 80241784 44801000 */ mtc1 $zero, $f2
/* BE4F38 80241788 8602008E */ lh $v0, 0x8e($s0)
/* BE4F3C 8024178C 9603008E */ lhu $v1, 0x8e($s0)
/* BE4F40 80241790 46220003 */ div.d $f0, $f0, $f2
/* BE4F44 80241794 46200620 */ cvt.s.d $f24, $f0
/* BE4F48 80241798 C6200088 */ lwc1 $f0, 0x88($s1)
/* BE4F4C 8024179C 46800020 */ cvt.s.w $f0, $f0
/* BE4F50 802417A0 46000021 */ cvt.d.s $f0, $f0
/* BE4F54 802417A4 46220003 */ div.d $f0, $f0, $f2
/* BE4F58 802417A8 46200020 */ cvt.s.d $f0, $f0
/* BE4F5C 802417AC 18400003 */ blez $v0, .L802417BC
/* BE4F60 802417B0 4600C680 */ add.s $f26, $f24, $f0
/* BE4F64 802417B4 2462FFFF */ addiu $v0, $v1, -1
/* BE4F68 802417B8 A602008E */ sh $v0, 0x8e($s0)
.L802417BC:
/* BE4F6C 802417BC 8E220070 */ lw $v0, 0x70($s1)
/* BE4F70 802417C0 18400034 */ blez $v0, .L80241894
/* BE4F74 802417C4 00000000 */ nop
/* BE4F78 802417C8 C62C0074 */ lwc1 $f12, 0x74($s1)
/* BE4F7C 802417CC 46806320 */ cvt.s.w $f12, $f12
/* BE4F80 802417D0 44820000 */ mtc1 $v0, $f0
/* BE4F84 802417D4 00000000 */ nop
/* BE4F88 802417D8 46800020 */ cvt.s.w $f0, $f0
/* BE4F8C 802417DC 46000021 */ cvt.d.s $f0, $f0
/* BE4F90 802417E0 46220003 */ div.d $f0, $f0, $f2
/* BE4F94 802417E4 0C00A8BB */ jal sin_deg
/* BE4F98 802417E8 462005A0 */ cvt.s.d $f22, $f0
/* BE4F9C 802417EC 8E020000 */ lw $v0, ($s0)
/* BE4FA0 802417F0 30420008 */ andi $v0, $v0, 8
/* BE4FA4 802417F4 10400003 */ beqz $v0, .L80241804
/* BE4FA8 802417F8 46000506 */ mov.s $f20, $f0
/* BE4FAC 802417FC 08090611 */ j .L80241844
/* BE4FB0 80241800 0000102D */ daddu $v0, $zero, $zero
.L80241804:
/* BE4FB4 80241804 27A50028 */ addiu $a1, $sp, 0x28
/* BE4FB8 80241808 27A6002C */ addiu $a2, $sp, 0x2c
/* BE4FBC 8024180C C6000038 */ lwc1 $f0, 0x38($s0)
/* BE4FC0 80241810 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE4FC4 80241814 C6040040 */ lwc1 $f4, 0x40($s0)
/* BE4FC8 80241818 3C01447A */ lui $at, 0x447a
/* BE4FCC 8024181C 44813000 */ mtc1 $at, $f6
/* BE4FD0 80241820 27A20034 */ addiu $v0, $sp, 0x34
/* BE4FD4 80241824 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE4FD8 80241828 E7A2002C */ swc1 $f2, 0x2c($sp)
/* BE4FDC 8024182C E7A40030 */ swc1 $f4, 0x30($sp)
/* BE4FE0 80241830 E7A60034 */ swc1 $f6, 0x34($sp)
/* BE4FE4 80241834 AFA20010 */ sw $v0, 0x10($sp)
/* BE4FE8 80241838 8E040080 */ lw $a0, 0x80($s0)
/* BE4FEC 8024183C 0C0372DF */ jal func_800DCB7C
/* BE4FF0 80241840 27A70030 */ addiu $a3, $sp, 0x30
.L80241844:
/* BE4FF4 80241844 10400007 */ beqz $v0, .L80241864
/* BE4FF8 80241848 00000000 */ nop
/* BE4FFC 8024184C 4616A082 */ mul.s $f2, $f20, $f22
/* BE5000 80241850 00000000 */ nop
/* BE5004 80241854 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* BE5008 80241858 46180000 */ add.s $f0, $f0, $f24
/* BE500C 8024185C 0809061C */ j .L80241870
/* BE5010 80241860 46020000 */ add.s $f0, $f0, $f2
.L80241864:
/* BE5014 80241864 4616A002 */ mul.s $f0, $f20, $f22
/* BE5018 80241868 00000000 */ nop
/* BE501C 8024186C 4600D000 */ add.s $f0, $f26, $f0
.L80241870:
/* BE5020 80241870 E600003C */ swc1 $f0, 0x3c($s0)
/* BE5024 80241874 8E220074 */ lw $v0, 0x74($s1)
/* BE5028 80241878 2442000A */ addiu $v0, $v0, 0xa
/* BE502C 8024187C 44826000 */ mtc1 $v0, $f12
/* BE5030 80241880 00000000 */ nop
/* BE5034 80241884 0C00A6C9 */ jal clamp_angle
/* BE5038 80241888 46806320 */ cvt.s.w $f12, $f12
/* BE503C 8024188C 4600020D */ trunc.w.s $f8, $f0
/* BE5040 80241890 E6280074 */ swc1 $f8, 0x74($s1)
.L80241894:
/* BE5044 80241894 8E220090 */ lw $v0, 0x90($s1)
/* BE5048 80241898 1C400040 */ bgtz $v0, .L8024199C
/* BE504C 8024189C 2442FFFF */ addiu $v0, $v0, -1
/* BE5050 802418A0 860200A8 */ lh $v0, 0xa8($s0)
/* BE5054 802418A4 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE5058 802418A8 44821000 */ mtc1 $v0, $f2
/* BE505C 802418AC 00000000 */ nop
/* BE5060 802418B0 468010A0 */ cvt.s.w $f2, $f2
/* BE5064 802418B4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5068 802418B8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE506C 802418BC 46020000 */ add.s $f0, $f0, $f2
/* BE5070 802418C0 3C014024 */ lui $at, 0x4024
/* BE5074 802418C4 44812800 */ mtc1 $at, $f5
/* BE5078 802418C8 44802000 */ mtc1 $zero, $f4
/* BE507C 802418CC C442002C */ lwc1 $f2, 0x2c($v0)
/* BE5080 802418D0 46000021 */ cvt.d.s $f0, $f0
/* BE5084 802418D4 46240000 */ add.d $f0, $f0, $f4
/* BE5088 802418D8 460010A1 */ cvt.d.s $f2, $f2
/* BE508C 802418DC 4620103C */ c.lt.d $f2, $f0
/* BE5090 802418E0 00000000 */ nop
/* BE5094 802418E4 4500002E */ bc1f .L802419A0
/* BE5098 802418E8 0280202D */ daddu $a0, $s4, $zero
/* BE509C 802418EC 24020001 */ addiu $v0, $zero, 1
/* BE50A0 802418F0 AFA20010 */ sw $v0, 0x10($sp)
/* BE50A4 802418F4 8E460024 */ lw $a2, 0x24($s2)
/* BE50A8 802418F8 8E470028 */ lw $a3, 0x28($s2)
/* BE50AC 802418FC 0C01242D */ jal func_800490B4
/* BE50B0 80241900 0220282D */ daddu $a1, $s1, $zero
/* BE50B4 80241904 10400026 */ beqz $v0, .L802419A0
/* BE50B8 80241908 0000202D */ daddu $a0, $zero, $zero
/* BE50BC 8024190C 0200282D */ daddu $a1, $s0, $zero
/* BE50C0 80241910 0000302D */ daddu $a2, $zero, $zero
/* BE50C4 80241914 2412000C */ addiu $s2, $zero, 0xc
/* BE50C8 80241918 860300A8 */ lh $v1, 0xa8($s0)
/* BE50CC 8024191C 3C013F80 */ lui $at, 0x3f80
/* BE50D0 80241920 44810000 */ mtc1 $at, $f0
/* BE50D4 80241924 3C014000 */ lui $at, 0x4000
/* BE50D8 80241928 44811000 */ mtc1 $at, $f2
/* BE50DC 8024192C 3C01C1A0 */ lui $at, 0xc1a0
/* BE50E0 80241930 44812000 */ mtc1 $at, $f4
/* BE50E4 80241934 44834000 */ mtc1 $v1, $f8
/* BE50E8 80241938 00000000 */ nop
/* BE50EC 8024193C 46804220 */ cvt.s.w $f8, $f8
/* BE50F0 80241940 44074000 */ mfc1 $a3, $f8
/* BE50F4 80241944 27A20038 */ addiu $v0, $sp, 0x38
/* BE50F8 80241948 AFB2001C */ sw $s2, 0x1c($sp)
/* BE50FC 8024194C AFA20020 */ sw $v0, 0x20($sp)
/* BE5100 80241950 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE5104 80241954 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE5108 80241958 0C01BFA4 */ jal fx_emote
/* BE510C 8024195C E7A40018 */ swc1 $f4, 0x18($sp)
/* BE5110 80241960 0200202D */ daddu $a0, $s0, $zero
/* BE5114 80241964 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE5118 80241968 C480003C */ lwc1 $f0, 0x3c($a0)
/* BE511C 8024196C 3C060020 */ lui $a2, 0x20
/* BE5120 80241970 0C012530 */ jal func_800494C0
/* BE5124 80241974 E4800064 */ swc1 $f0, 0x64($a0)
/* BE5128 80241978 8E220018 */ lw $v0, 0x18($s1)
/* BE512C 8024197C 9442002A */ lhu $v0, 0x2a($v0)
/* BE5130 80241980 30420001 */ andi $v0, $v0, 1
/* BE5134 80241984 10400003 */ beqz $v0, .L80241994
/* BE5138 80241988 2402000A */ addiu $v0, $zero, 0xa
/* BE513C 8024198C 0809068F */ j .L80241A3C
/* BE5140 80241990 AE620070 */ sw $v0, 0x70($s3)
.L80241994:
/* BE5144 80241994 0809068F */ j .L80241A3C
/* BE5148 80241998 AE720070 */ sw $s2, 0x70($s3)
.L8024199C:
/* BE514C 8024199C AE220090 */ sw $v0, 0x90($s1)
.L802419A0:
/* BE5150 802419A0 8602008C */ lh $v0, 0x8c($s0)
/* BE5154 802419A4 14400025 */ bnez $v0, .L80241A3C
/* BE5158 802419A8 00000000 */ nop
/* BE515C 802419AC 8602008E */ lh $v0, 0x8e($s0)
/* BE5160 802419B0 1C400022 */ bgtz $v0, .L80241A3C
/* BE5164 802419B4 00000000 */ nop
/* BE5168 802419B8 8E620074 */ lw $v0, 0x74($s3)
/* BE516C 802419BC 2442FFFF */ addiu $v0, $v0, -1
/* BE5170 802419C0 1840001D */ blez $v0, .L80241A38
/* BE5174 802419C4 AE620074 */ sw $v0, 0x74($s3)
/* BE5178 802419C8 8E220018 */ lw $v0, 0x18($s1)
/* BE517C 802419CC 9442002A */ lhu $v0, 0x2a($v0)
/* BE5180 802419D0 30420010 */ andi $v0, $v0, 0x10
/* BE5184 802419D4 14400007 */ bnez $v0, .L802419F4
/* BE5188 802419D8 00000000 */ nop
/* BE518C 802419DC C600000C */ lwc1 $f0, 0xc($s0)
/* BE5190 802419E0 3C014334 */ lui $at, 0x4334
/* BE5194 802419E4 44816000 */ mtc1 $at, $f12
/* BE5198 802419E8 0C00A6C9 */ jal clamp_angle
/* BE519C 802419EC 460C0300 */ add.s $f12, $f0, $f12
/* BE51A0 802419F0 E600000C */ swc1 $f0, 0xc($s0)
.L802419F4:
/* BE51A4 802419F4 0C00A67F */ jal rand_int
/* BE51A8 802419F8 240403E8 */ addiu $a0, $zero, 0x3e8
/* BE51AC 802419FC 3C032E8B */ lui $v1, 0x2e8b
/* BE51B0 80241A00 3463A2E9 */ ori $v1, $v1, 0xa2e9
/* BE51B4 80241A04 00430018 */ mult $v0, $v1
/* BE51B8 80241A08 00021FC3 */ sra $v1, $v0, 0x1f
/* BE51BC 80241A0C 00004010 */ mfhi $t0
/* BE51C0 80241A10 00082043 */ sra $a0, $t0, 1
/* BE51C4 80241A14 00832023 */ subu $a0, $a0, $v1
/* BE51C8 80241A18 00041840 */ sll $v1, $a0, 1
/* BE51CC 80241A1C 00641821 */ addu $v1, $v1, $a0
/* BE51D0 80241A20 00031880 */ sll $v1, $v1, 2
/* BE51D4 80241A24 00641823 */ subu $v1, $v1, $a0
/* BE51D8 80241A28 00431023 */ subu $v0, $v0, $v1
/* BE51DC 80241A2C 24420005 */ addiu $v0, $v0, 5
/* BE51E0 80241A30 0809068F */ j .L80241A3C
/* BE51E4 80241A34 A602008E */ sh $v0, 0x8e($s0)
.L80241A38:
/* BE51E8 80241A38 AE600070 */ sw $zero, 0x70($s3)
.L80241A3C:
/* BE51EC 80241A3C 8FBF0054 */ lw $ra, 0x54($sp)
/* BE51F0 80241A40 8FB40050 */ lw $s4, 0x50($sp)
/* BE51F4 80241A44 8FB3004C */ lw $s3, 0x4c($sp)
/* BE51F8 80241A48 8FB20048 */ lw $s2, 0x48($sp)
/* BE51FC 80241A4C 8FB10044 */ lw $s1, 0x44($sp)
/* BE5200 80241A50 8FB00040 */ lw $s0, 0x40($sp)
/* BE5204 80241A54 D7BA0070 */ ldc1 $f26, 0x70($sp)
/* BE5208 80241A58 D7B80068 */ ldc1 $f24, 0x68($sp)
/* BE520C 80241A5C D7B60060 */ ldc1 $f22, 0x60($sp)
/* BE5210 80241A60 D7B40058 */ ldc1 $f20, 0x58($sp)
/* BE5214 80241A64 03E00008 */ jr $ra
/* BE5218 80241A68 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -0,0 +1,34 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241A6C
/* BE521C 80241A6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE5220 80241A70 AFB20018 */ sw $s2, 0x18($sp)
/* BE5224 80241A74 0080902D */ daddu $s2, $a0, $zero
/* BE5228 80241A78 AFBF001C */ sw $ra, 0x1c($sp)
/* BE522C 80241A7C AFB10014 */ sw $s1, 0x14($sp)
/* BE5230 80241A80 AFB00010 */ sw $s0, 0x10($sp)
/* BE5234 80241A84 8E510148 */ lw $s1, 0x148($s2)
/* BE5238 80241A88 0C00EABB */ jal get_npc_unsafe
/* BE523C 80241A8C 86240008 */ lh $a0, 8($s1)
/* BE5240 80241A90 0040802D */ daddu $s0, $v0, $zero
/* BE5244 80241A94 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5248 80241A98 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE524C 80241A9C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE5250 80241AA0 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE5254 80241AA4 A600008E */ sh $zero, 0x8e($s0)
/* BE5258 80241AA8 8C460028 */ lw $a2, 0x28($v0)
/* BE525C 80241AAC 0C00A720 */ jal atan2
/* BE5260 80241AB0 8C470030 */ lw $a3, 0x30($v0)
/* BE5264 80241AB4 E600000C */ swc1 $f0, 0xc($s0)
/* BE5268 80241AB8 8E2200CC */ lw $v0, 0xcc($s1)
/* BE526C 80241ABC 8C420020 */ lw $v0, 0x20($v0)
/* BE5270 80241AC0 AE020028 */ sw $v0, 0x28($s0)
/* BE5274 80241AC4 2402000B */ addiu $v0, $zero, 0xb
/* BE5278 80241AC8 AE420070 */ sw $v0, 0x70($s2)
/* BE527C 80241ACC 8FBF001C */ lw $ra, 0x1c($sp)
/* BE5280 80241AD0 8FB20018 */ lw $s2, 0x18($sp)
/* BE5284 80241AD4 8FB10014 */ lw $s1, 0x14($sp)
/* BE5288 80241AD8 8FB00010 */ lw $s0, 0x10($sp)
/* BE528C 80241ADC 03E00008 */ jr $ra
/* BE5290 80241AE0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,32 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241AE4
/* BE5294 80241AE4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE5298 80241AE8 AFB00010 */ sw $s0, 0x10($sp)
/* BE529C 80241AEC 0080802D */ daddu $s0, $a0, $zero
/* BE52A0 80241AF0 AFBF0014 */ sw $ra, 0x14($sp)
/* BE52A4 80241AF4 8E020148 */ lw $v0, 0x148($s0)
/* BE52A8 80241AF8 0C00EABB */ jal get_npc_unsafe
/* BE52AC 80241AFC 84440008 */ lh $a0, 8($v0)
/* BE52B0 80241B00 9443008E */ lhu $v1, 0x8e($v0)
/* BE52B4 80241B04 C440003C */ lwc1 $f0, 0x3c($v0)
/* BE52B8 80241B08 24640001 */ addiu $a0, $v1, 1
/* BE52BC 80241B0C 00031C00 */ sll $v1, $v1, 0x10
/* BE52C0 80241B10 00031B83 */ sra $v1, $v1, 0xe
/* BE52C4 80241B14 A444008E */ sh $a0, 0x8e($v0)
/* BE52C8 80241B18 3C018024 */ lui $at, 0x8024
/* BE52CC 80241B1C 00230821 */ addu $at, $at, $v1
/* BE52D0 80241B20 C42236DC */ lwc1 $f2, 0x36dc($at)
/* BE52D4 80241B24 8443008E */ lh $v1, 0x8e($v0)
/* BE52D8 80241B28 46020000 */ add.s $f0, $f0, $f2
/* BE52DC 80241B2C 28630005 */ slti $v1, $v1, 5
/* BE52E0 80241B30 14600003 */ bnez $v1, .L80241B40
/* BE52E4 80241B34 E440003C */ swc1 $f0, 0x3c($v0)
/* BE52E8 80241B38 2402000C */ addiu $v0, $zero, 0xc
/* BE52EC 80241B3C AE020070 */ sw $v0, 0x70($s0)
.L80241B40:
/* BE52F0 80241B40 8FBF0014 */ lw $ra, 0x14($sp)
/* BE52F4 80241B44 8FB00010 */ lw $s0, 0x10($sp)
/* BE52F8 80241B48 03E00008 */ jr $ra
/* BE52FC 80241B4C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,83 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241B50_BE5300
/* BE5300 80241B50 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE5304 80241B54 AFB3001C */ sw $s3, 0x1c($sp)
/* BE5308 80241B58 0080982D */ daddu $s3, $a0, $zero
/* BE530C 80241B5C AFBF0020 */ sw $ra, 0x20($sp)
/* BE5310 80241B60 AFB20018 */ sw $s2, 0x18($sp)
/* BE5314 80241B64 AFB10014 */ sw $s1, 0x14($sp)
/* BE5318 80241B68 AFB00010 */ sw $s0, 0x10($sp)
/* BE531C 80241B6C 8E720148 */ lw $s2, 0x148($s3)
/* BE5320 80241B70 86440008 */ lh $a0, 8($s2)
/* BE5324 80241B74 0C00EABB */ jal get_npc_unsafe
/* BE5328 80241B78 00A0802D */ daddu $s0, $a1, $zero
/* BE532C 80241B7C 0040882D */ daddu $s1, $v0, $zero
/* BE5330 80241B80 C6420080 */ lwc1 $f2, 0x80($s2)
/* BE5334 80241B84 468010A0 */ cvt.s.w $f2, $f2
/* BE5338 80241B88 460010A1 */ cvt.d.s $f2, $f2
/* BE533C 80241B8C C6400084 */ lwc1 $f0, 0x84($s2)
/* BE5340 80241B90 46800020 */ cvt.s.w $f0, $f0
/* BE5344 80241B94 46000021 */ cvt.d.s $f0, $f0
/* BE5348 80241B98 3C014059 */ lui $at, 0x4059
/* BE534C 80241B9C 44812800 */ mtc1 $at, $f5
/* BE5350 80241BA0 44802000 */ mtc1 $zero, $f4
/* BE5354 80241BA4 8E4200CC */ lw $v0, 0xcc($s2)
/* BE5358 80241BA8 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BE535C 80241BAC C62E0040 */ lwc1 $f14, 0x40($s1)
/* BE5360 80241BB0 46241083 */ div.d $f2, $f2, $f4
/* BE5364 80241BB4 462010A0 */ cvt.s.d $f2, $f2
/* BE5368 80241BB8 46240003 */ div.d $f0, $f0, $f4
/* BE536C 80241BBC 8C420020 */ lw $v0, 0x20($v0)
/* BE5370 80241BC0 46200020 */ cvt.s.d $f0, $f0
/* BE5374 80241BC4 E622001C */ swc1 $f2, 0x1c($s1)
/* BE5378 80241BC8 E6200014 */ swc1 $f0, 0x14($s1)
/* BE537C 80241BCC AE220028 */ sw $v0, 0x28($s1)
/* BE5380 80241BD0 C6000018 */ lwc1 $f0, 0x18($s0)
/* BE5384 80241BD4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5388 80241BD8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE538C 80241BDC E6200018 */ swc1 $f0, 0x18($s1)
/* BE5390 80241BE0 8C460028 */ lw $a2, 0x28($v0)
/* BE5394 80241BE4 0C00A720 */ jal atan2
/* BE5398 80241BE8 8C470030 */ lw $a3, 0x30($v0)
/* BE539C 80241BEC E620000C */ swc1 $f0, 0xc($s1)
/* BE53A0 80241BF0 8E420018 */ lw $v0, 0x18($s2)
/* BE53A4 80241BF4 AE400074 */ sw $zero, 0x74($s2)
/* BE53A8 80241BF8 9442002A */ lhu $v0, 0x2a($v0)
/* BE53AC 80241BFC 30420002 */ andi $v0, $v0, 2
/* BE53B0 80241C00 10400005 */ beqz $v0, .L80241C18
/* BE53B4 80241C04 24020003 */ addiu $v0, $zero, 3
/* BE53B8 80241C08 A622008E */ sh $v0, 0x8e($s1)
/* BE53BC 80241C0C 2402000D */ addiu $v0, $zero, 0xd
/* BE53C0 80241C10 0809071A */ j .L80241C68
/* BE53C4 80241C14 AE620070 */ sw $v0, 0x70($s3)
.L80241C18:
/* BE53C8 80241C18 24030001 */ addiu $v1, $zero, 1
/* BE53CC 80241C1C 2402000E */ addiu $v0, $zero, 0xe
/* BE53D0 80241C20 A623008E */ sh $v1, 0x8e($s1)
/* BE53D4 80241C24 AE620070 */ sw $v0, 0x70($s3)
/* BE53D8 80241C28 C6200038 */ lwc1 $f0, 0x38($s1)
/* BE53DC 80241C2C 4600018D */ trunc.w.s $f6, $f0
/* BE53E0 80241C30 44023000 */ mfc1 $v0, $f6
/* BE53E4 80241C34 00000000 */ nop
/* BE53E8 80241C38 A6420010 */ sh $v0, 0x10($s2)
/* BE53EC 80241C3C C620003C */ lwc1 $f0, 0x3c($s1)
/* BE53F0 80241C40 4600018D */ trunc.w.s $f6, $f0
/* BE53F4 80241C44 44023000 */ mfc1 $v0, $f6
/* BE53F8 80241C48 00000000 */ nop
/* BE53FC 80241C4C A6420012 */ sh $v0, 0x12($s2)
/* BE5400 80241C50 C6200040 */ lwc1 $f0, 0x40($s1)
/* BE5404 80241C54 A2430007 */ sb $v1, 7($s2)
/* BE5408 80241C58 4600018D */ trunc.w.s $f6, $f0
/* BE540C 80241C5C 44023000 */ mfc1 $v0, $f6
/* BE5410 80241C60 00000000 */ nop
/* BE5414 80241C64 A6420014 */ sh $v0, 0x14($s2)
.L80241C68:
/* BE5418 80241C68 8FBF0020 */ lw $ra, 0x20($sp)
/* BE541C 80241C6C 8FB3001C */ lw $s3, 0x1c($sp)
/* BE5420 80241C70 8FB20018 */ lw $s2, 0x18($sp)
/* BE5424 80241C74 8FB10014 */ lw $s1, 0x14($sp)
/* BE5428 80241C78 8FB00010 */ lw $s0, 0x10($sp)
/* BE542C 80241C7C 03E00008 */ jr $ra
/* BE5430 80241C80 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,31 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241C84_BE5434
/* BE5434 80241C84 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE5438 80241C88 AFB00010 */ sw $s0, 0x10($sp)
/* BE543C 80241C8C 0080802D */ daddu $s0, $a0, $zero
/* BE5440 80241C90 AFBF0014 */ sw $ra, 0x14($sp)
/* BE5444 80241C94 8E020148 */ lw $v0, 0x148($s0)
/* BE5448 80241C98 0C00EABB */ jal get_npc_unsafe
/* BE544C 80241C9C 84440008 */ lh $a0, 8($v0)
/* BE5450 80241CA0 0040202D */ daddu $a0, $v0, $zero
/* BE5454 80241CA4 8482008E */ lh $v0, 0x8e($a0)
/* BE5458 80241CA8 9483008E */ lhu $v1, 0x8e($a0)
/* BE545C 80241CAC 18400005 */ blez $v0, .L80241CC4
/* BE5460 80241CB0 2462FFFF */ addiu $v0, $v1, -1
/* BE5464 80241CB4 A482008E */ sh $v0, 0x8e($a0)
/* BE5468 80241CB8 00021400 */ sll $v0, $v0, 0x10
/* BE546C 80241CBC 1C400006 */ bgtz $v0, .L80241CD8
/* BE5470 80241CC0 00000000 */ nop
.L80241CC4:
/* BE5474 80241CC4 8482008C */ lh $v0, 0x8c($a0)
/* BE5478 80241CC8 14400003 */ bnez $v0, .L80241CD8
/* BE547C 80241CCC 2402000E */ addiu $v0, $zero, 0xe
/* BE5480 80241CD0 A480008E */ sh $zero, 0x8e($a0)
/* BE5484 80241CD4 AE020070 */ sw $v0, 0x70($s0)
.L80241CD8:
/* BE5488 80241CD8 8FBF0014 */ lw $ra, 0x14($sp)
/* BE548C 80241CDC 8FB00010 */ lw $s0, 0x10($sp)
/* BE5490 80241CE0 03E00008 */ jr $ra
/* BE5494 80241CE4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,243 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241CE8
/* BE5498 80241CE8 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BE549C 80241CEC AFB20030 */ sw $s2, 0x30($sp)
/* BE54A0 80241CF0 0080902D */ daddu $s2, $a0, $zero
/* BE54A4 80241CF4 AFBF0038 */ sw $ra, 0x38($sp)
/* BE54A8 80241CF8 AFB30034 */ sw $s3, 0x34($sp)
/* BE54AC 80241CFC AFB1002C */ sw $s1, 0x2c($sp)
/* BE54B0 80241D00 AFB00028 */ sw $s0, 0x28($sp)
/* BE54B4 80241D04 F7B60048 */ sdc1 $f22, 0x48($sp)
/* BE54B8 80241D08 F7B40040 */ sdc1 $f20, 0x40($sp)
/* BE54BC 80241D0C 8E510148 */ lw $s1, 0x148($s2)
/* BE54C0 80241D10 86240008 */ lh $a0, 8($s1)
/* BE54C4 80241D14 0C00EABB */ jal get_npc_unsafe
/* BE54C8 80241D18 00A0982D */ daddu $s3, $a1, $zero
/* BE54CC 80241D1C 0040802D */ daddu $s0, $v0, $zero
/* BE54D0 80241D20 0200202D */ daddu $a0, $s0, $zero
/* BE54D4 80241D24 C6220088 */ lwc1 $f2, 0x88($s1)
/* BE54D8 80241D28 468010A0 */ cvt.s.w $f2, $f2
/* BE54DC 80241D2C 460010A1 */ cvt.d.s $f2, $f2
/* BE54E0 80241D30 C604001C */ lwc1 $f4, 0x1c($s0)
/* BE54E4 80241D34 C6000014 */ lwc1 $f0, 0x14($s0)
/* BE54E8 80241D38 8E050018 */ lw $a1, 0x18($s0)
/* BE54EC 80241D3C 46002100 */ add.s $f4, $f4, $f0
/* BE54F0 80241D40 8E06000C */ lw $a2, 0xc($s0)
/* BE54F4 80241D44 C6200078 */ lwc1 $f0, 0x78($s1)
/* BE54F8 80241D48 46800020 */ cvt.s.w $f0, $f0
/* BE54FC 80241D4C E604001C */ swc1 $f4, 0x1c($s0)
/* BE5500 80241D50 3C014059 */ lui $at, 0x4059
/* BE5504 80241D54 44812800 */ mtc1 $at, $f5
/* BE5508 80241D58 44802000 */ mtc1 $zero, $f4
/* BE550C 80241D5C 46000021 */ cvt.d.s $f0, $f0
/* BE5510 80241D60 46240003 */ div.d $f0, $f0, $f4
/* BE5514 80241D64 46200520 */ cvt.s.d $f20, $f0
/* BE5518 80241D68 46241083 */ div.d $f2, $f2, $f4
/* BE551C 80241D6C 0C00EA95 */ jal npc_move_heading
/* BE5520 80241D70 462015A0 */ cvt.s.d $f22, $f2
/* BE5524 80241D74 C604001C */ lwc1 $f4, 0x1c($s0)
/* BE5528 80241D78 44801000 */ mtc1 $zero, $f2
/* BE552C 80241D7C 44801800 */ mtc1 $zero, $f3
/* BE5530 80241D80 46002021 */ cvt.d.s $f0, $f4
/* BE5534 80241D84 4620103E */ c.le.d $f2, $f0
/* BE5538 80241D88 00000000 */ nop
/* BE553C 80241D8C 45000030 */ bc1f .L80241E50
/* BE5540 80241D90 00000000 */ nop
/* BE5544 80241D94 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE5548 80241D98 46040000 */ add.s $f0, $f0, $f4
/* BE554C 80241D9C E600003C */ swc1 $f0, 0x3c($s0)
/* BE5550 80241DA0 8E2200CC */ lw $v0, 0xcc($s1)
/* BE5554 80241DA4 8C420024 */ lw $v0, 0x24($v0)
/* BE5558 80241DA8 AE020028 */ sw $v0, 0x28($s0)
/* BE555C 80241DAC A2200007 */ sb $zero, 7($s1)
/* BE5560 80241DB0 8E020000 */ lw $v0, ($s0)
/* BE5564 80241DB4 30420008 */ andi $v0, $v0, 8
/* BE5568 80241DB8 14400011 */ bnez $v0, .L80241E00
/* BE556C 80241DBC 0000102D */ daddu $v0, $zero, $zero
/* BE5570 80241DC0 27A50018 */ addiu $a1, $sp, 0x18
/* BE5574 80241DC4 27A6001C */ addiu $a2, $sp, 0x1c
/* BE5578 80241DC8 C6000038 */ lwc1 $f0, 0x38($s0)
/* BE557C 80241DCC C602003C */ lwc1 $f2, 0x3c($s0)
/* BE5580 80241DD0 C6040040 */ lwc1 $f4, 0x40($s0)
/* BE5584 80241DD4 3C01447A */ lui $at, 0x447a
/* BE5588 80241DD8 44813000 */ mtc1 $at, $f6
/* BE558C 80241DDC 27A20024 */ addiu $v0, $sp, 0x24
/* BE5590 80241DE0 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE5594 80241DE4 E7A2001C */ swc1 $f2, 0x1c($sp)
/* BE5598 80241DE8 E7A40020 */ swc1 $f4, 0x20($sp)
/* BE559C 80241DEC E7A60024 */ swc1 $f6, 0x24($sp)
/* BE55A0 80241DF0 AFA20010 */ sw $v0, 0x10($sp)
/* BE55A4 80241DF4 8E040080 */ lw $a0, 0x80($s0)
/* BE55A8 80241DF8 0C0372DF */ jal func_800DCB7C
/* BE55AC 80241DFC 27A70020 */ addiu $a3, $sp, 0x20
.L80241E00:
/* BE55B0 80241E00 1040000B */ beqz $v0, .L80241E30
/* BE55B4 80241E04 00000000 */ nop
/* BE55B8 80241E08 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* BE55BC 80241E0C 46140080 */ add.s $f2, $f0, $f20
/* BE55C0 80241E10 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE55C4 80241E14 4600103E */ c.le.s $f2, $f0
/* BE55C8 80241E18 00000000 */ nop
/* BE55CC 80241E1C 4500008D */ bc1f .L80242054
/* BE55D0 80241E20 00000000 */ nop
/* BE55D4 80241E24 E602003C */ swc1 $f2, 0x3c($s0)
/* BE55D8 80241E28 08090815 */ j .L80242054
/* BE55DC 80241E2C AE400070 */ sw $zero, 0x70($s2)
.L80241E30:
/* BE55E0 80241E30 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE55E4 80241E34 C6000064 */ lwc1 $f0, 0x64($s0)
/* BE55E8 80241E38 4602003E */ c.le.s $f0, $f2
/* BE55EC 80241E3C 00000000 */ nop
/* BE55F0 80241E40 45030084 */ bc1tl .L80242054
/* BE55F4 80241E44 AE400070 */ sw $zero, 0x70($s2)
/* BE55F8 80241E48 08090815 */ j .L80242054
/* BE55FC 80241E4C 00000000 */ nop
.L80241E50:
/* BE5600 80241E50 4622003C */ c.lt.d $f0, $f2
/* BE5604 80241E54 00000000 */ nop
/* BE5608 80241E58 4500007E */ bc1f .L80242054
/* BE560C 80241E5C 00000000 */ nop
/* BE5610 80241E60 9602008E */ lhu $v0, 0x8e($s0)
/* BE5614 80241E64 24420001 */ addiu $v0, $v0, 1
/* BE5618 80241E68 A602008E */ sh $v0, 0x8e($s0)
/* BE561C 80241E6C 00021400 */ sll $v0, $v0, 0x10
/* BE5620 80241E70 8E630020 */ lw $v1, 0x20($s3)
/* BE5624 80241E74 00021403 */ sra $v0, $v0, 0x10
/* BE5628 80241E78 0043102A */ slt $v0, $v0, $v1
/* BE562C 80241E7C 14400026 */ bnez $v0, .L80241F18
/* BE5630 80241E80 00000000 */ nop
/* BE5634 80241E84 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE5638 80241E88 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE563C 80241E8C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5640 80241E90 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE5644 80241E94 A600008E */ sh $zero, 0x8e($s0)
/* BE5648 80241E98 8C460028 */ lw $a2, 0x28($v0)
/* BE564C 80241E9C 0C00A720 */ jal atan2
/* BE5650 80241EA0 8C470030 */ lw $a3, 0x30($v0)
/* BE5654 80241EA4 46000506 */ mov.s $f20, $f0
/* BE5658 80241EA8 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE565C 80241EAC 0C00A70A */ jal get_clamped_angle_diff
/* BE5660 80241EB0 4600A386 */ mov.s $f14, $f20
/* BE5664 80241EB4 46000086 */ mov.s $f2, $f0
/* BE5668 80241EB8 8E62001C */ lw $v0, 0x1c($s3)
/* BE566C 80241EBC 46001005 */ abs.s $f0, $f2
/* BE5670 80241EC0 44822000 */ mtc1 $v0, $f4
/* BE5674 80241EC4 00000000 */ nop
/* BE5678 80241EC8 46802120 */ cvt.s.w $f4, $f4
/* BE567C 80241ECC 4600203C */ c.lt.s $f4, $f0
/* BE5680 80241ED0 00000000 */ nop
/* BE5684 80241ED4 4500000D */ bc1f .L80241F0C
/* BE5688 80241ED8 00000000 */ nop
/* BE568C 80241EDC 44800000 */ mtc1 $zero, $f0
/* BE5690 80241EE0 C614000C */ lwc1 $f20, 0xc($s0)
/* BE5694 80241EE4 4600103C */ c.lt.s $f2, $f0
/* BE5698 80241EE8 00000000 */ nop
/* BE569C 80241EEC 45000006 */ bc1f .L80241F08
/* BE56A0 80241EF0 00021023 */ negu $v0, $v0
/* BE56A4 80241EF4 44820000 */ mtc1 $v0, $f0
/* BE56A8 80241EF8 00000000 */ nop
/* BE56AC 80241EFC 46800020 */ cvt.s.w $f0, $f0
/* BE56B0 80241F00 080907C3 */ j .L80241F0C
/* BE56B4 80241F04 4600A500 */ add.s $f20, $f20, $f0
.L80241F08:
/* BE56B8 80241F08 4604A500 */ add.s $f20, $f20, $f4
.L80241F0C:
/* BE56BC 80241F0C 0C00A6C9 */ jal clamp_angle
/* BE56C0 80241F10 4600A306 */ mov.s $f12, $f20
/* BE56C4 80241F14 E600000C */ swc1 $f0, 0xc($s0)
.L80241F18:
/* BE56C8 80241F18 8E020000 */ lw $v0, ($s0)
/* BE56CC 80241F1C 30420008 */ andi $v0, $v0, 8
/* BE56D0 80241F20 1040000A */ beqz $v0, .L80241F4C
/* BE56D4 80241F24 27A50018 */ addiu $a1, $sp, 0x18
/* BE56D8 80241F28 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE56DC 80241F2C C600001C */ lwc1 $f0, 0x1c($s0)
/* BE56E0 80241F30 46001080 */ add.s $f2, $f2, $f0
/* BE56E4 80241F34 4616103C */ c.lt.s $f2, $f22
/* BE56E8 80241F38 00000000 */ nop
/* BE56EC 80241F3C 45020045 */ bc1fl .L80242054
/* BE56F0 80241F40 E602003C */ swc1 $f2, 0x3c($s0)
/* BE56F4 80241F44 08090814 */ j .L80242050
/* BE56F8 80241F48 E616003C */ swc1 $f22, 0x3c($s0)
.L80241F4C:
/* BE56FC 80241F4C C6000038 */ lwc1 $f0, 0x38($s0)
/* BE5700 80241F50 27A6001C */ addiu $a2, $sp, 0x1c
/* BE5704 80241F54 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE5708 80241F58 860200A8 */ lh $v0, 0xa8($s0)
/* BE570C 80241F5C C600001C */ lwc1 $f0, 0x1c($s0)
/* BE5710 80241F60 C604003C */ lwc1 $f4, 0x3c($s0)
/* BE5714 80241F64 44821000 */ mtc1 $v0, $f2
/* BE5718 80241F68 00000000 */ nop
/* BE571C 80241F6C 468010A0 */ cvt.s.w $f2, $f2
/* BE5720 80241F70 46000005 */ abs.s $f0, $f0
/* BE5724 80241F74 46020000 */ add.s $f0, $f0, $f2
/* BE5728 80241F78 C6060040 */ lwc1 $f6, 0x40($s0)
/* BE572C 80241F7C 27A20024 */ addiu $v0, $sp, 0x24
/* BE5730 80241F80 46022100 */ add.s $f4, $f4, $f2
/* BE5734 80241F84 3C014024 */ lui $at, 0x4024
/* BE5738 80241F88 44811800 */ mtc1 $at, $f3
/* BE573C 80241F8C 44801000 */ mtc1 $zero, $f2
/* BE5740 80241F90 46000021 */ cvt.d.s $f0, $f0
/* BE5744 80241F94 46220000 */ add.d $f0, $f0, $f2
/* BE5748 80241F98 E7A60020 */ swc1 $f6, 0x20($sp)
/* BE574C 80241F9C E7A4001C */ swc1 $f4, 0x1c($sp)
/* BE5750 80241FA0 46200020 */ cvt.s.d $f0, $f0
/* BE5754 80241FA4 E7A00024 */ swc1 $f0, 0x24($sp)
/* BE5758 80241FA8 AFA20010 */ sw $v0, 0x10($sp)
/* BE575C 80241FAC 8E040080 */ lw $a0, 0x80($s0)
/* BE5760 80241FB0 0C0372DF */ jal func_800DCB7C
/* BE5764 80241FB4 27A70020 */ addiu $a3, $sp, 0x20
/* BE5768 80241FB8 10400015 */ beqz $v0, .L80242010
/* BE576C 80241FBC 00000000 */ nop
/* BE5770 80241FC0 860200A8 */ lh $v0, 0xa8($s0)
/* BE5774 80241FC4 C604001C */ lwc1 $f4, 0x1c($s0)
/* BE5778 80241FC8 44820000 */ mtc1 $v0, $f0
/* BE577C 80241FCC 00000000 */ nop
/* BE5780 80241FD0 46800020 */ cvt.s.w $f0, $f0
/* BE5784 80241FD4 46002085 */ abs.s $f2, $f4
/* BE5788 80241FD8 46020000 */ add.s $f0, $f0, $f2
/* BE578C 80241FDC C7A20024 */ lwc1 $f2, 0x24($sp)
/* BE5790 80241FE0 4600103E */ c.le.s $f2, $f0
/* BE5794 80241FE4 00000000 */ nop
/* BE5798 80241FE8 45000005 */ bc1f .L80242000
/* BE579C 80241FEC 00000000 */ nop
/* BE57A0 80241FF0 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* BE57A4 80241FF4 AE00001C */ sw $zero, 0x1c($s0)
/* BE57A8 80241FF8 08090815 */ j .L80242054
/* BE57AC 80241FFC E600003C */ swc1 $f0, 0x3c($s0)
.L80242000:
/* BE57B0 80242000 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE57B4 80242004 46040000 */ add.s $f0, $f0, $f4
/* BE57B8 80242008 08090815 */ j .L80242054
/* BE57BC 8024200C E600003C */ swc1 $f0, 0x3c($s0)
.L80242010:
/* BE57C0 80242010 C606003C */ lwc1 $f6, 0x3c($s0)
/* BE57C4 80242014 860200A8 */ lh $v0, 0xa8($s0)
/* BE57C8 80242018 46163081 */ sub.s $f2, $f6, $f22
/* BE57CC 8024201C 44820000 */ mtc1 $v0, $f0
/* BE57D0 80242020 00000000 */ nop
/* BE57D4 80242024 46800020 */ cvt.s.w $f0, $f0
/* BE57D8 80242028 46001080 */ add.s $f2, $f2, $f0
/* BE57DC 8024202C C604001C */ lwc1 $f4, 0x1c($s0)
/* BE57E0 80242030 46002005 */ abs.s $f0, $f4
/* BE57E4 80242034 4602003C */ c.lt.s $f0, $f2
/* BE57E8 80242038 00000000 */ nop
/* BE57EC 8024203C 45020005 */ bc1fl .L80242054
/* BE57F0 80242040 AE00001C */ sw $zero, 0x1c($s0)
/* BE57F4 80242044 46043000 */ add.s $f0, $f6, $f4
/* BE57F8 80242048 08090815 */ j .L80242054
/* BE57FC 8024204C E600003C */ swc1 $f0, 0x3c($s0)
.L80242050:
/* BE5800 80242050 AE00001C */ sw $zero, 0x1c($s0)
.L80242054:
/* BE5804 80242054 8FBF0038 */ lw $ra, 0x38($sp)
/* BE5808 80242058 8FB30034 */ lw $s3, 0x34($sp)
/* BE580C 8024205C 8FB20030 */ lw $s2, 0x30($sp)
/* BE5810 80242060 8FB1002C */ lw $s1, 0x2c($sp)
/* BE5814 80242064 8FB00028 */ lw $s0, 0x28($sp)
/* BE5818 80242068 D7B60048 */ ldc1 $f22, 0x48($sp)
/* BE581C 8024206C D7B40040 */ ldc1 $f20, 0x40($sp)
/* BE5820 80242070 03E00008 */ jr $ra
/* BE5824 80242074 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,79 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242078_BE5828
/* BE5828 80242078 27BDFFC8 */ addiu $sp, $sp, -0x38
/* BE582C 8024207C AFB00028 */ sw $s0, 0x28($sp)
/* BE5830 80242080 00A0802D */ daddu $s0, $a1, $zero
/* BE5834 80242084 AFB1002C */ sw $s1, 0x2c($sp)
/* BE5838 80242088 00C0882D */ daddu $s1, $a2, $zero
/* BE583C 8024208C AFBF0034 */ sw $ra, 0x34($sp)
/* BE5840 80242090 AFB20030 */ sw $s2, 0x30($sp)
/* BE5844 80242094 AE200070 */ sw $zero, 0x70($s1)
/* BE5848 80242098 8C830000 */ lw $v1, ($a0)
/* BE584C 8024209C 2402FDFF */ addiu $v0, $zero, -0x201
/* BE5850 802420A0 A480008E */ sh $zero, 0x8e($a0)
/* BE5854 802420A4 00621824 */ and $v1, $v1, $v0
/* BE5858 802420A8 34650800 */ ori $a1, $v1, 0x800
/* BE585C 802420AC AC850000 */ sw $a1, ($a0)
/* BE5860 802420B0 8E0200D0 */ lw $v0, 0xd0($s0)
/* BE5864 802420B4 8C420034 */ lw $v0, 0x34($v0)
/* BE5868 802420B8 10400003 */ beqz $v0, .L802420C8
/* BE586C 802420BC 00E0902D */ daddu $s2, $a3, $zero
/* BE5870 802420C0 08090834 */ j .L802420D0
/* BE5874 802420C4 34620808 */ ori $v0, $v1, 0x808
.L802420C8:
/* BE5878 802420C8 2402FFF7 */ addiu $v0, $zero, -9
/* BE587C 802420CC 00A21024 */ and $v0, $a1, $v0
.L802420D0:
/* BE5880 802420D0 AC820000 */ sw $v0, ($a0)
/* BE5884 802420D4 27A20024 */ addiu $v0, $sp, 0x24
/* BE5888 802420D8 27A50018 */ addiu $a1, $sp, 0x18
/* BE588C 802420DC C4800038 */ lwc1 $f0, 0x38($a0)
/* BE5890 802420E0 C482003C */ lwc1 $f2, 0x3c($a0)
/* BE5894 802420E4 C4840040 */ lwc1 $f4, 0x40($a0)
/* BE5898 802420E8 3C01447A */ lui $at, 0x447a
/* BE589C 802420EC 44813000 */ mtc1 $at, $f6
/* BE58A0 802420F0 27A6001C */ addiu $a2, $sp, 0x1c
/* BE58A4 802420F4 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE58A8 802420F8 E7A2001C */ swc1 $f2, 0x1c($sp)
/* BE58AC 802420FC E7A40020 */ swc1 $f4, 0x20($sp)
/* BE58B0 80242100 E7A60024 */ swc1 $f6, 0x24($sp)
/* BE58B4 80242104 AFA20010 */ sw $v0, 0x10($sp)
/* BE58B8 80242108 8C840080 */ lw $a0, 0x80($a0)
/* BE58BC 8024210C 0C0372DF */ jal func_800DCB7C
/* BE58C0 80242110 27A70020 */ addiu $a3, $sp, 0x20
/* BE58C4 80242114 C7A20024 */ lwc1 $f2, 0x24($sp)
/* BE58C8 80242118 3C014059 */ lui $at, 0x4059
/* BE58CC 8024211C 44812800 */ mtc1 $at, $f5
/* BE58D0 80242120 44802000 */ mtc1 $zero, $f4
/* BE58D4 80242124 460010A1 */ cvt.d.s $f2, $f2
/* BE58D8 80242128 46241082 */ mul.d $f2, $f2, $f4
/* BE58DC 8024212C 00000000 */ nop
/* BE58E0 80242130 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* BE58E4 80242134 46000021 */ cvt.d.s $f0, $f0
/* BE58E8 80242138 46240002 */ mul.d $f0, $f0, $f4
/* BE58EC 8024213C 00000000 */ nop
/* BE58F0 80242140 3C013FE0 */ lui $at, 0x3fe0
/* BE58F4 80242144 44812800 */ mtc1 $at, $f5
/* BE58F8 80242148 44802000 */ mtc1 $zero, $f4
/* BE58FC 8024214C 00000000 */ nop
/* BE5900 80242150 46241080 */ add.d $f2, $f2, $f4
/* BE5904 80242154 AE000074 */ sw $zero, 0x74($s0)
/* BE5908 80242158 46240000 */ add.d $f0, $f0, $f4
/* BE590C 8024215C AE000090 */ sw $zero, 0x90($s0)
/* BE5910 80242160 4620120D */ trunc.w.d $f8, $f2
/* BE5914 80242164 E6080078 */ swc1 $f8, 0x78($s0)
/* BE5918 80242168 4620020D */ trunc.w.d $f8, $f0
/* BE591C 8024216C E6080088 */ swc1 $f8, 0x88($s0)
/* BE5920 80242170 8E420014 */ lw $v0, 0x14($s2)
/* BE5924 80242174 AE220074 */ sw $v0, 0x74($s1)
/* BE5928 80242178 8E0200B0 */ lw $v0, 0xb0($s0)
/* BE592C 8024217C 34420010 */ ori $v0, $v0, 0x10
/* BE5930 80242180 AE0200B0 */ sw $v0, 0xb0($s0)
/* BE5934 80242184 8FBF0034 */ lw $ra, 0x34($sp)
/* BE5938 80242188 8FB20030 */ lw $s2, 0x30($sp)
/* BE593C 8024218C 8FB1002C */ lw $s1, 0x2c($sp)
/* BE5940 80242190 8FB00028 */ lw $s0, 0x28($sp)
/* BE5944 80242194 03E00008 */ jr $ra
/* BE5948 80242198 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -0,0 +1,131 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024219C_BE594C
/* BE594C 8024219C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BE5950 802421A0 AFB40040 */ sw $s4, 0x40($sp)
/* BE5954 802421A4 0080A02D */ daddu $s4, $a0, $zero
/* BE5958 802421A8 AFBF0048 */ sw $ra, 0x48($sp)
/* BE595C 802421AC AFB50044 */ sw $s5, 0x44($sp)
/* BE5960 802421B0 AFB3003C */ sw $s3, 0x3c($sp)
/* BE5964 802421B4 AFB20038 */ sw $s2, 0x38($sp)
/* BE5968 802421B8 AFB10034 */ sw $s1, 0x34($sp)
/* BE596C 802421BC AFB00030 */ sw $s0, 0x30($sp)
/* BE5970 802421C0 8E920148 */ lw $s2, 0x148($s4)
/* BE5974 802421C4 86440008 */ lh $a0, 8($s2)
/* BE5978 802421C8 8E90000C */ lw $s0, 0xc($s4)
/* BE597C 802421CC 0C00EABB */ jal get_npc_unsafe
/* BE5980 802421D0 00A0882D */ daddu $s1, $a1, $zero
/* BE5984 802421D4 0280202D */ daddu $a0, $s4, $zero
/* BE5988 802421D8 8E050000 */ lw $a1, ($s0)
/* BE598C 802421DC 0C0B1EAF */ jal get_variable
/* BE5990 802421E0 0040A82D */ daddu $s5, $v0, $zero
/* BE5994 802421E4 AFA00010 */ sw $zero, 0x10($sp)
/* BE5998 802421E8 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE599C 802421EC 8C630030 */ lw $v1, 0x30($v1)
/* BE59A0 802421F0 AFA30014 */ sw $v1, 0x14($sp)
/* BE59A4 802421F4 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE59A8 802421F8 8C63001C */ lw $v1, 0x1c($v1)
/* BE59AC 802421FC AFA30018 */ sw $v1, 0x18($sp)
/* BE59B0 80242200 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE59B4 80242204 8C630024 */ lw $v1, 0x24($v1)
/* BE59B8 80242208 AFA3001C */ sw $v1, 0x1c($sp)
/* BE59BC 8024220C 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE59C0 80242210 8C630028 */ lw $v1, 0x28($v1)
/* BE59C4 80242214 27B30010 */ addiu $s3, $sp, 0x10
/* BE59C8 80242218 AFA30020 */ sw $v1, 0x20($sp)
/* BE59CC 8024221C 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE59D0 80242220 3C0142F0 */ lui $at, 0x42f0
/* BE59D4 80242224 44810000 */ mtc1 $at, $f0
/* BE59D8 80242228 8C63002C */ lw $v1, 0x2c($v1)
/* BE59DC 8024222C 0040802D */ daddu $s0, $v0, $zero
/* BE59E0 80242230 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE59E4 80242234 A7A0002C */ sh $zero, 0x2c($sp)
/* BE59E8 80242238 12200006 */ beqz $s1, .L80242254
/* BE59EC 8024223C AFA30024 */ sw $v1, 0x24($sp)
/* BE59F0 80242240 02A0202D */ daddu $a0, $s5, $zero
/* BE59F4 80242244 0240282D */ daddu $a1, $s2, $zero
/* BE59F8 80242248 0280302D */ daddu $a2, $s4, $zero
/* BE59FC 8024224C 0C09081E */ jal func_80242078
/* BE5A00 80242250 0200382D */ daddu $a3, $s0, $zero
.L80242254:
/* BE5A04 80242254 2402FFFE */ addiu $v0, $zero, -2
/* BE5A08 80242258 A2A200AB */ sb $v0, 0xab($s5)
/* BE5A0C 8024225C 8E4300B0 */ lw $v1, 0xb0($s2)
/* BE5A10 80242260 30620004 */ andi $v0, $v1, 4
/* BE5A14 80242264 10400007 */ beqz $v0, .L80242284
/* BE5A18 80242268 00000000 */ nop
/* BE5A1C 8024226C 824200B4 */ lb $v0, 0xb4($s2)
/* BE5A20 80242270 1440003C */ bnez $v0, .L80242364
/* BE5A24 80242274 0000102D */ daddu $v0, $zero, $zero
/* BE5A28 80242278 2402FFFB */ addiu $v0, $zero, -5
/* BE5A2C 8024227C 00621024 */ and $v0, $v1, $v0
/* BE5A30 80242280 AE4200B0 */ sw $v0, 0xb0($s2)
.L80242284:
/* BE5A34 80242284 8E830070 */ lw $v1, 0x70($s4)
/* BE5A38 80242288 2C62000F */ sltiu $v0, $v1, 0xf
/* BE5A3C 8024228C 10400034 */ beqz $v0, .L80242360
/* BE5A40 80242290 00031080 */ sll $v0, $v1, 2
/* BE5A44 80242294 3C018024 */ lui $at, 0x8024
/* BE5A48 80242298 00220821 */ addu $at, $at, $v0
/* BE5A4C 8024229C 8C2242E8 */ lw $v0, 0x42e8($at)
/* BE5A50 802422A0 00400008 */ jr $v0
/* BE5A54 802422A4 00000000 */ nop
/* BE5A58 802422A8 0280202D */ daddu $a0, $s4, $zero
/* BE5A5C 802422AC 0200282D */ daddu $a1, $s0, $zero
/* BE5A60 802422B0 0C0903A4 */ jal func_80240E90
/* BE5A64 802422B4 0260302D */ daddu $a2, $s3, $zero
/* BE5A68 802422B8 0280202D */ daddu $a0, $s4, $zero
/* BE5A6C 802422BC 0200282D */ daddu $a1, $s0, $zero
/* BE5A70 802422C0 0C090410 */ jal func_80241040
/* BE5A74 802422C4 0260302D */ daddu $a2, $s3, $zero
/* BE5A78 802422C8 080908D9 */ j .L80242364
/* BE5A7C 802422CC 0000102D */ daddu $v0, $zero, $zero
/* BE5A80 802422D0 0280202D */ daddu $a0, $s4, $zero
/* BE5A84 802422D4 0200282D */ daddu $a1, $s0, $zero
/* BE5A88 802422D8 0C09059A */ jal func_80241668
/* BE5A8C 802422DC 0260302D */ daddu $a2, $s3, $zero
/* BE5A90 802422E0 0280202D */ daddu $a0, $s4, $zero
/* BE5A94 802422E4 0200282D */ daddu $a1, $s0, $zero
/* BE5A98 802422E8 0C0905CA */ jal func_80241728
/* BE5A9C 802422EC 0260302D */ daddu $a2, $s3, $zero
/* BE5AA0 802422F0 080908D9 */ j .L80242364
/* BE5AA4 802422F4 0000102D */ daddu $v0, $zero, $zero
/* BE5AA8 802422F8 0280202D */ daddu $a0, $s4, $zero
/* BE5AAC 802422FC 0200282D */ daddu $a1, $s0, $zero
/* BE5AB0 80242300 0C09069B */ jal func_80241A6C
/* BE5AB4 80242304 0260302D */ daddu $a2, $s3, $zero
/* BE5AB8 80242308 0280202D */ daddu $a0, $s4, $zero
/* BE5ABC 8024230C 0200282D */ daddu $a1, $s0, $zero
/* BE5AC0 80242310 0C0906B9 */ jal func_80241AE4
/* BE5AC4 80242314 0260302D */ daddu $a2, $s3, $zero
/* BE5AC8 80242318 080908D9 */ j .L80242364
/* BE5ACC 8024231C 0000102D */ daddu $v0, $zero, $zero
/* BE5AD0 80242320 0280202D */ daddu $a0, $s4, $zero
/* BE5AD4 80242324 0200282D */ daddu $a1, $s0, $zero
/* BE5AD8 80242328 0C0906D4 */ jal func_80241B50
/* BE5ADC 8024232C 0260302D */ daddu $a2, $s3, $zero
/* BE5AE0 80242330 080908D9 */ j .L80242364
/* BE5AE4 80242334 0000102D */ daddu $v0, $zero, $zero
/* BE5AE8 80242338 0280202D */ daddu $a0, $s4, $zero
/* BE5AEC 8024233C 0200282D */ daddu $a1, $s0, $zero
/* BE5AF0 80242340 0C090721 */ jal func_80241C84
/* BE5AF4 80242344 0260302D */ daddu $a2, $s3, $zero
/* BE5AF8 80242348 080908D9 */ j .L80242364
/* BE5AFC 8024234C 0000102D */ daddu $v0, $zero, $zero
/* BE5B00 80242350 0280202D */ daddu $a0, $s4, $zero
/* BE5B04 80242354 0200282D */ daddu $a1, $s0, $zero
/* BE5B08 80242358 0C09073A */ jal func_80241CE8
/* BE5B0C 8024235C 0260302D */ daddu $a2, $s3, $zero
.L80242360:
/* BE5B10 80242360 0000102D */ daddu $v0, $zero, $zero
.L80242364:
/* BE5B14 80242364 8FBF0048 */ lw $ra, 0x48($sp)
/* BE5B18 80242368 8FB50044 */ lw $s5, 0x44($sp)
/* BE5B1C 8024236C 8FB40040 */ lw $s4, 0x40($sp)
/* BE5B20 80242370 8FB3003C */ lw $s3, 0x3c($sp)
/* BE5B24 80242374 8FB20038 */ lw $s2, 0x38($sp)
/* BE5B28 80242378 8FB10034 */ lw $s1, 0x34($sp)
/* BE5B2C 8024237C 8FB00030 */ lw $s0, 0x30($sp)
/* BE5B30 80242380 03E00008 */ jr $ra
/* BE5B34 80242384 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,96 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242388
/* BE5B38 80242388 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE5B3C 8024238C AFBF001C */ sw $ra, 0x1c($sp)
/* BE5B40 80242390 AFB20018 */ sw $s2, 0x18($sp)
/* BE5B44 80242394 AFB10014 */ sw $s1, 0x14($sp)
/* BE5B48 80242398 AFB00010 */ sw $s0, 0x10($sp)
/* BE5B4C 8024239C F7B40020 */ sdc1 $f20, 0x20($sp)
/* BE5B50 802423A0 8C900148 */ lw $s0, 0x148($a0)
/* BE5B54 802423A4 86040008 */ lh $a0, 8($s0)
/* BE5B58 802423A8 3C014387 */ lui $at, 0x4387
/* BE5B5C 802423AC 4481A000 */ mtc1 $at, $f20
/* BE5B60 802423B0 0C00EABB */ jal get_npc_unsafe
/* BE5B64 802423B4 00A0882D */ daddu $s1, $a1, $zero
/* BE5B68 802423B8 0200202D */ daddu $a0, $s0, $zero
/* BE5B6C 802423BC 8E26000C */ lw $a2, 0xc($s1)
/* BE5B70 802423C0 8E270010 */ lw $a3, 0x10($s1)
/* BE5B74 802423C4 0040882D */ daddu $s1, $v0, $zero
/* BE5B78 802423C8 3C03800B */ lui $v1, %hi(gCameras)
/* BE5B7C 802423CC 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* BE5B80 802423D0 3C02800A */ lui $v0, 0x800a
/* BE5B84 802423D4 8442A634 */ lh $v0, -0x59cc($v0)
/* BE5B88 802423D8 0000282D */ daddu $a1, $zero, $zero
/* BE5B8C 802423DC 00028080 */ sll $s0, $v0, 2
/* BE5B90 802423E0 02028021 */ addu $s0, $s0, $v0
/* BE5B94 802423E4 00108080 */ sll $s0, $s0, 2
/* BE5B98 802423E8 02028023 */ subu $s0, $s0, $v0
/* BE5B9C 802423EC 001010C0 */ sll $v0, $s0, 3
/* BE5BA0 802423F0 02028021 */ addu $s0, $s0, $v0
/* BE5BA4 802423F4 001080C0 */ sll $s0, $s0, 3
/* BE5BA8 802423F8 0C0124FB */ jal func_800493EC
/* BE5BAC 802423FC 02038021 */ addu $s0, $s0, $v1
/* BE5BB0 80242400 C60C006C */ lwc1 $f12, 0x6c($s0)
/* BE5BB4 80242404 C62E000C */ lwc1 $f14, 0xc($s1)
/* BE5BB8 80242408 0C00A70A */ jal get_clamped_angle_diff
/* BE5BBC 8024240C 0002802B */ sltu $s0, $zero, $v0
/* BE5BC0 80242410 0C00A6C9 */ jal clamp_angle
/* BE5BC4 80242414 46000306 */ mov.s $f12, $f0
/* BE5BC8 80242418 3C018024 */ lui $at, 0x8024
/* BE5BCC 8024241C D4224328 */ ldc1 $f2, 0x4328($at)
/* BE5BD0 80242420 46000021 */ cvt.d.s $f0, $f0
/* BE5BD4 80242424 4622003C */ c.lt.d $f0, $f2
/* BE5BD8 80242428 00000000 */ nop
/* BE5BDC 8024242C 45000003 */ bc1f .L8024243C
/* BE5BE0 80242430 00000000 */ nop
/* BE5BE4 80242434 3C0142B4 */ lui $at, 0x42b4
/* BE5BE8 80242438 4481A000 */ mtc1 $at, $f20
.L8024243C:
/* BE5BEC 8024243C 3C12800F */ lui $s2, %hi(gPlayerStatusPtr)
/* BE5BF0 80242440 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr)
/* BE5BF4 80242444 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BE5BF8 80242448 8E420000 */ lw $v0, ($s2)
/* BE5BFC 8024244C C62E0040 */ lwc1 $f14, 0x40($s1)
/* BE5C00 80242450 8C460028 */ lw $a2, 0x28($v0)
/* BE5C04 80242454 0C00A720 */ jal atan2
/* BE5C08 80242458 8C470030 */ lw $a3, 0x30($v0)
/* BE5C0C 8024245C 4600A306 */ mov.s $f12, $f20
/* BE5C10 80242460 0C00A70A */ jal get_clamped_angle_diff
/* BE5C14 80242464 46000386 */ mov.s $f14, $f0
/* BE5C18 80242468 46000005 */ abs.s $f0, $f0
/* BE5C1C 8024246C 3C018024 */ lui $at, 0x8024
/* BE5C20 80242470 D4224330 */ ldc1 $f2, 0x4330($at)
/* BE5C24 80242474 46000021 */ cvt.d.s $f0, $f0
/* BE5C28 80242478 4620103C */ c.lt.d $f2, $f0
/* BE5C2C 8024247C 00000000 */ nop
/* BE5C30 80242480 45030001 */ bc1tl .L80242488
/* BE5C34 80242484 0000802D */ daddu $s0, $zero, $zero
.L80242488:
/* BE5C38 80242488 8E420000 */ lw $v0, ($s2)
/* BE5C3C 8024248C C620003C */ lwc1 $f0, 0x3c($s1)
/* BE5C40 80242490 C442002C */ lwc1 $f2, 0x2c($v0)
/* BE5C44 80242494 46020001 */ sub.s $f0, $f0, $f2
/* BE5C48 80242498 3C014220 */ lui $at, 0x4220
/* BE5C4C 8024249C 44811000 */ mtc1 $at, $f2
/* BE5C50 802424A0 46000005 */ abs.s $f0, $f0
/* BE5C54 802424A4 4600103E */ c.le.s $f2, $f0
/* BE5C58 802424A8 00000000 */ nop
/* BE5C5C 802424AC 45030001 */ bc1tl .L802424B4
/* BE5C60 802424B0 0000802D */ daddu $s0, $zero, $zero
.L802424B4:
/* BE5C64 802424B4 3C038011 */ lui $v1, 0x8011
/* BE5C68 802424B8 8063EBB3 */ lb $v1, -0x144d($v1)
/* BE5C6C 802424BC 24020009 */ addiu $v0, $zero, 9
/* BE5C70 802424C0 50620001 */ beql $v1, $v0, .L802424C8
/* BE5C74 802424C4 0000802D */ daddu $s0, $zero, $zero
.L802424C8:
/* BE5C78 802424C8 0200102D */ daddu $v0, $s0, $zero
/* BE5C7C 802424CC 8FBF001C */ lw $ra, 0x1c($sp)
/* BE5C80 802424D0 8FB20018 */ lw $s2, 0x18($sp)
/* BE5C84 802424D4 8FB10014 */ lw $s1, 0x14($sp)
/* BE5C88 802424D8 8FB00010 */ lw $s0, 0x10($sp)
/* BE5C8C 802424DC D7B40020 */ ldc1 $f20, 0x20($sp)
/* BE5C90 802424E0 03E00008 */ jr $ra
/* BE5C94 802424E4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802424E8_BE5C98
/* BE5C98 802424E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE5C9C 802424EC AFB10014 */ sw $s1, 0x14($sp)
/* BE5CA0 802424F0 0080882D */ daddu $s1, $a0, $zero
/* BE5CA4 802424F4 AFBF001C */ sw $ra, 0x1c($sp)
/* BE5CA8 802424F8 AFB20018 */ sw $s2, 0x18($sp)
/* BE5CAC 802424FC AFB00010 */ sw $s0, 0x10($sp)
/* BE5CB0 80242500 8E320148 */ lw $s2, 0x148($s1)
/* BE5CB4 80242504 0C00EABB */ jal get_npc_unsafe
/* BE5CB8 80242508 86440008 */ lh $a0, 8($s2)
/* BE5CBC 8024250C 0040802D */ daddu $s0, $v0, $zero
/* BE5CC0 80242510 0C00EAFF */ jal disable_npc_shadow
/* BE5CC4 80242514 0200202D */ daddu $a0, $s0, $zero
/* BE5CC8 80242518 24020016 */ addiu $v0, $zero, 0x16
/* BE5CCC 8024251C A60200A8 */ sh $v0, 0xa8($s0)
/* BE5CD0 80242520 24020018 */ addiu $v0, $zero, 0x18
/* BE5CD4 80242524 A60200A6 */ sh $v0, 0xa6($s0)
/* BE5CD8 80242528 AE200074 */ sw $zero, 0x74($s1)
/* BE5CDC 8024252C A600008E */ sh $zero, 0x8e($s0)
/* BE5CE0 80242530 8E4200CC */ lw $v0, 0xcc($s2)
/* BE5CE4 80242534 8C420020 */ lw $v0, 0x20($v0)
/* BE5CE8 80242538 AE020028 */ sw $v0, 0x28($s0)
/* BE5CEC 8024253C 24020001 */ addiu $v0, $zero, 1
/* BE5CF0 80242540 AE220070 */ sw $v0, 0x70($s1)
/* BE5CF4 80242544 8FBF001C */ lw $ra, 0x1c($sp)
/* BE5CF8 80242548 8FB20018 */ lw $s2, 0x18($sp)
/* BE5CFC 8024254C 8FB10014 */ lw $s1, 0x14($sp)
/* BE5D00 80242550 8FB00010 */ lw $s0, 0x10($sp)
/* BE5D04 80242554 03E00008 */ jr $ra
/* BE5D08 80242558 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,81 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024255C
/* BE5D0C 8024255C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE5D10 80242560 AFB3003C */ sw $s3, 0x3c($sp)
/* BE5D14 80242564 0080982D */ daddu $s3, $a0, $zero
/* BE5D18 80242568 AFBF0044 */ sw $ra, 0x44($sp)
/* BE5D1C 8024256C AFB40040 */ sw $s4, 0x40($sp)
/* BE5D20 80242570 AFB20038 */ sw $s2, 0x38($sp)
/* BE5D24 80242574 AFB10034 */ sw $s1, 0x34($sp)
/* BE5D28 80242578 AFB00030 */ sw $s0, 0x30($sp)
/* BE5D2C 8024257C 8E700148 */ lw $s0, 0x148($s3)
/* BE5D30 80242580 00A0902D */ daddu $s2, $a1, $zero
/* BE5D34 80242584 86040008 */ lh $a0, 8($s0)
/* BE5D38 80242588 0C00EABB */ jal get_npc_unsafe
/* BE5D3C 8024258C 00C0A02D */ daddu $s4, $a2, $zero
/* BE5D40 80242590 8E630074 */ lw $v1, 0x74($s3)
/* BE5D44 80242594 1C600032 */ bgtz $v1, .L80242660
/* BE5D48 80242598 0040882D */ daddu $s1, $v0, $zero
/* BE5D4C 8024259C 8E420014 */ lw $v0, 0x14($s2)
/* BE5D50 802425A0 AE620074 */ sw $v0, 0x74($s3)
/* BE5D54 802425A4 C640000C */ lwc1 $f0, 0xc($s2)
/* BE5D58 802425A8 3C018024 */ lui $at, 0x8024
/* BE5D5C 802425AC D4224338 */ ldc1 $f2, 0x4338($at)
/* BE5D60 802425B0 46000021 */ cvt.d.s $f0, $f0
/* BE5D64 802425B4 46220002 */ mul.d $f0, $f0, $f2
/* BE5D68 802425B8 00000000 */ nop
/* BE5D6C 802425BC 0280202D */ daddu $a0, $s4, $zero
/* BE5D70 802425C0 AFA00010 */ sw $zero, 0x10($sp)
/* BE5D74 802425C4 8E470010 */ lw $a3, 0x10($s2)
/* BE5D78 802425C8 46200020 */ cvt.s.d $f0, $f0
/* BE5D7C 802425CC 44060000 */ mfc1 $a2, $f0
/* BE5D80 802425D0 0C01242D */ jal func_800490B4
/* BE5D84 802425D4 0200282D */ daddu $a1, $s0, $zero
/* BE5D88 802425D8 10400021 */ beqz $v0, .L80242660
/* BE5D8C 802425DC 0000202D */ daddu $a0, $zero, $zero
/* BE5D90 802425E0 0220282D */ daddu $a1, $s1, $zero
/* BE5D94 802425E4 0000302D */ daddu $a2, $zero, $zero
/* BE5D98 802425E8 8E0200CC */ lw $v0, 0xcc($s0)
/* BE5D9C 802425EC 3C013F80 */ lui $at, 0x3f80
/* BE5DA0 802425F0 44810000 */ mtc1 $at, $f0
/* BE5DA4 802425F4 3C014000 */ lui $at, 0x4000
/* BE5DA8 802425F8 44811000 */ mtc1 $at, $f2
/* BE5DAC 802425FC 8C430024 */ lw $v1, 0x24($v0)
/* BE5DB0 80242600 862200A8 */ lh $v0, 0xa8($s1)
/* BE5DB4 80242604 3C01C1A0 */ lui $at, 0xc1a0
/* BE5DB8 80242608 44812000 */ mtc1 $at, $f4
/* BE5DBC 8024260C 44823000 */ mtc1 $v0, $f6
/* BE5DC0 80242610 00000000 */ nop
/* BE5DC4 80242614 468031A0 */ cvt.s.w $f6, $f6
/* BE5DC8 80242618 44073000 */ mfc1 $a3, $f6
/* BE5DCC 8024261C 2402000F */ addiu $v0, $zero, 0xf
/* BE5DD0 80242620 AE230028 */ sw $v1, 0x28($s1)
/* BE5DD4 80242624 AFA2001C */ sw $v0, 0x1c($sp)
/* BE5DD8 80242628 27A20028 */ addiu $v0, $sp, 0x28
/* BE5DDC 8024262C E7A00010 */ swc1 $f0, 0x10($sp)
/* BE5DE0 80242630 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE5DE4 80242634 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE5DE8 80242638 0C01BFA4 */ jal fx_emote
/* BE5DEC 8024263C AFA20020 */ sw $v0, 0x20($sp)
/* BE5DF0 80242640 0220202D */ daddu $a0, $s1, $zero
/* BE5DF4 80242644 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE5DF8 80242648 0C012530 */ jal func_800494C0
/* BE5DFC 8024264C 3C060020 */ lui $a2, 0x20
/* BE5E00 80242650 2402000C */ addiu $v0, $zero, 0xc
/* BE5E04 80242654 A622008E */ sh $v0, 0x8e($s1)
/* BE5E08 80242658 24020002 */ addiu $v0, $zero, 2
/* BE5E0C 8024265C AE620070 */ sw $v0, 0x70($s3)
.L80242660:
/* BE5E10 80242660 8E620074 */ lw $v0, 0x74($s3)
/* BE5E14 80242664 2442FFFF */ addiu $v0, $v0, -1
/* BE5E18 80242668 AE620074 */ sw $v0, 0x74($s3)
/* BE5E1C 8024266C 8FBF0044 */ lw $ra, 0x44($sp)
/* BE5E20 80242670 8FB40040 */ lw $s4, 0x40($sp)
/* BE5E24 80242674 8FB3003C */ lw $s3, 0x3c($sp)
/* BE5E28 80242678 8FB20038 */ lw $s2, 0x38($sp)
/* BE5E2C 8024267C 8FB10034 */ lw $s1, 0x34($sp)
/* BE5E30 80242680 8FB00030 */ lw $s0, 0x30($sp)
/* BE5E34 80242684 03E00008 */ jr $ra
/* BE5E38 80242688 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,44 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024268C_BE5E3C
/* BE5E3C 8024268C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE5E40 80242690 AFB20018 */ sw $s2, 0x18($sp)
/* BE5E44 80242694 0080902D */ daddu $s2, $a0, $zero
/* BE5E48 80242698 AFBF001C */ sw $ra, 0x1c($sp)
/* BE5E4C 8024269C AFB10014 */ sw $s1, 0x14($sp)
/* BE5E50 802426A0 AFB00010 */ sw $s0, 0x10($sp)
/* BE5E54 802426A4 8E510148 */ lw $s1, 0x148($s2)
/* BE5E58 802426A8 0C00EABB */ jal get_npc_unsafe
/* BE5E5C 802426AC 86240008 */ lh $a0, 8($s1)
/* BE5E60 802426B0 0040802D */ daddu $s0, $v0, $zero
/* BE5E64 802426B4 9602008E */ lhu $v0, 0x8e($s0)
/* BE5E68 802426B8 2442FFFF */ addiu $v0, $v0, -1
/* BE5E6C 802426BC A602008E */ sh $v0, 0x8e($s0)
/* BE5E70 802426C0 00021400 */ sll $v0, $v0, 0x10
/* BE5E74 802426C4 1C400012 */ bgtz $v0, .L80242710
/* BE5E78 802426C8 00000000 */ nop
/* BE5E7C 802426CC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5E80 802426D0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE5E84 802426D4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE5E88 802426D8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE5E8C 802426DC 8C460028 */ lw $a2, 0x28($v0)
/* BE5E90 802426E0 0C00A720 */ jal atan2
/* BE5E94 802426E4 8C470030 */ lw $a3, 0x30($v0)
/* BE5E98 802426E8 0200202D */ daddu $a0, $s0, $zero
/* BE5E9C 802426EC 0C00EAE8 */ jal enable_npc_shadow
/* BE5EA0 802426F0 E600000C */ swc1 $f0, 0xc($s0)
/* BE5EA4 802426F4 8E2200CC */ lw $v0, 0xcc($s1)
/* BE5EA8 802426F8 8C430028 */ lw $v1, 0x28($v0)
/* BE5EAC 802426FC 24020008 */ addiu $v0, $zero, 8
/* BE5EB0 80242700 A602008E */ sh $v0, 0x8e($s0)
/* BE5EB4 80242704 24020003 */ addiu $v0, $zero, 3
/* BE5EB8 80242708 AE030028 */ sw $v1, 0x28($s0)
/* BE5EBC 8024270C AE420070 */ sw $v0, 0x70($s2)
.L80242710:
/* BE5EC0 80242710 8FBF001C */ lw $ra, 0x1c($sp)
/* BE5EC4 80242714 8FB20018 */ lw $s2, 0x18($sp)
/* BE5EC8 80242718 8FB10014 */ lw $s1, 0x14($sp)
/* BE5ECC 8024271C 8FB00010 */ lw $s0, 0x10($sp)
/* BE5ED0 80242720 03E00008 */ jr $ra
/* BE5ED4 80242724 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,39 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242728
/* BE5ED8 80242728 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE5EDC 8024272C AFB10014 */ sw $s1, 0x14($sp)
/* BE5EE0 80242730 0080882D */ daddu $s1, $a0, $zero
/* BE5EE4 80242734 AFBF0018 */ sw $ra, 0x18($sp)
/* BE5EE8 80242738 AFB00010 */ sw $s0, 0x10($sp)
/* BE5EEC 8024273C 8E220148 */ lw $v0, 0x148($s1)
/* BE5EF0 80242740 0C00EABB */ jal get_npc_unsafe
/* BE5EF4 80242744 84440008 */ lh $a0, 8($v0)
/* BE5EF8 80242748 0040802D */ daddu $s0, $v0, $zero
/* BE5EFC 8024274C 9602008E */ lhu $v0, 0x8e($s0)
/* BE5F00 80242750 2442FFFF */ addiu $v0, $v0, -1
/* BE5F04 80242754 A602008E */ sh $v0, 0x8e($s0)
/* BE5F08 80242758 00021400 */ sll $v0, $v0, 0x10
/* BE5F0C 8024275C 1C40000F */ bgtz $v0, .L8024279C
/* BE5F10 80242760 00000000 */ nop
/* BE5F14 80242764 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE5F18 80242768 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE5F1C 8024276C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE5F20 80242770 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE5F24 80242774 8C460028 */ lw $a2, 0x28($v0)
/* BE5F28 80242778 0C00A720 */ jal atan2
/* BE5F2C 8024277C 8C470030 */ lw $a3, 0x30($v0)
/* BE5F30 80242780 2402001A */ addiu $v0, $zero, 0x1a
/* BE5F34 80242784 A60200A8 */ sh $v0, 0xa8($s0)
/* BE5F38 80242788 24020018 */ addiu $v0, $zero, 0x18
/* BE5F3C 8024278C A60200A6 */ sh $v0, 0xa6($s0)
/* BE5F40 80242790 24020004 */ addiu $v0, $zero, 4
/* BE5F44 80242794 E600000C */ swc1 $f0, 0xc($s0)
/* BE5F48 80242798 AE220070 */ sw $v0, 0x70($s1)
.L8024279C:
/* BE5F4C 8024279C 8FBF0018 */ lw $ra, 0x18($sp)
/* BE5F50 802427A0 8FB10014 */ lw $s1, 0x14($sp)
/* BE5F54 802427A4 8FB00010 */ lw $s0, 0x10($sp)
/* BE5F58 802427A8 03E00008 */ jr $ra
/* BE5F5C 802427AC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,46 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802427B0_BE5F60
/* BE5F60 802427B0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE5F64 802427B4 AFB10014 */ sw $s1, 0x14($sp)
/* BE5F68 802427B8 0080882D */ daddu $s1, $a0, $zero
/* BE5F6C 802427BC AFBF001C */ sw $ra, 0x1c($sp)
/* BE5F70 802427C0 AFB20018 */ sw $s2, 0x18($sp)
/* BE5F74 802427C4 AFB00010 */ sw $s0, 0x10($sp)
/* BE5F78 802427C8 8E320148 */ lw $s2, 0x148($s1)
/* BE5F7C 802427CC 0C00EABB */ jal get_npc_unsafe
/* BE5F80 802427D0 86440008 */ lh $a0, 8($s2)
/* BE5F84 802427D4 240400B4 */ addiu $a0, $zero, 0xb4
/* BE5F88 802427D8 0C00A67F */ jal rand_int
/* BE5F8C 802427DC 0040802D */ daddu $s0, $v0, $zero
/* BE5F90 802427E0 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE5F94 802427E4 44820000 */ mtc1 $v0, $f0
/* BE5F98 802427E8 00000000 */ nop
/* BE5F9C 802427EC 46800020 */ cvt.s.w $f0, $f0
/* BE5FA0 802427F0 46006300 */ add.s $f12, $f12, $f0
/* BE5FA4 802427F4 3C0142B4 */ lui $at, 0x42b4
/* BE5FA8 802427F8 44810000 */ mtc1 $at, $f0
/* BE5FAC 802427FC 0C00A6C9 */ jal clamp_angle
/* BE5FB0 80242800 46006301 */ sub.s $f12, $f12, $f0
/* BE5FB4 80242804 E600000C */ swc1 $f0, 0xc($s0)
/* BE5FB8 80242808 8E4200CC */ lw $v0, 0xcc($s2)
/* BE5FBC 8024280C 8C420000 */ lw $v0, ($v0)
/* BE5FC0 80242810 240403E8 */ addiu $a0, $zero, 0x3e8
/* BE5FC4 80242814 0C00A67F */ jal rand_int
/* BE5FC8 80242818 AE020028 */ sw $v0, 0x28($s0)
/* BE5FCC 8024281C 00021FC2 */ srl $v1, $v0, 0x1f
/* BE5FD0 80242820 00431821 */ addu $v1, $v0, $v1
/* BE5FD4 80242824 00031843 */ sra $v1, $v1, 1
/* BE5FD8 80242828 00031840 */ sll $v1, $v1, 1
/* BE5FDC 8024282C 00431023 */ subu $v0, $v0, $v1
/* BE5FE0 80242830 24420002 */ addiu $v0, $v0, 2
/* BE5FE4 80242834 AE220074 */ sw $v0, 0x74($s1)
/* BE5FE8 80242838 24020005 */ addiu $v0, $zero, 5
/* BE5FEC 8024283C AE220070 */ sw $v0, 0x70($s1)
/* BE5FF0 80242840 8FBF001C */ lw $ra, 0x1c($sp)
/* BE5FF4 80242844 8FB20018 */ lw $s2, 0x18($sp)
/* BE5FF8 80242848 8FB10014 */ lw $s1, 0x14($sp)
/* BE5FFC 8024284C 8FB00010 */ lw $s0, 0x10($sp)
/* BE6000 80242850 03E00008 */ jr $ra
/* BE6004 80242854 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,101 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242858_BE6008
/* BE6008 80242858 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE600C 8024285C AFB3003C */ sw $s3, 0x3c($sp)
/* BE6010 80242860 0080982D */ daddu $s3, $a0, $zero
/* BE6014 80242864 AFBF0040 */ sw $ra, 0x40($sp)
/* BE6018 80242868 AFB20038 */ sw $s2, 0x38($sp)
/* BE601C 8024286C AFB10034 */ sw $s1, 0x34($sp)
/* BE6020 80242870 AFB00030 */ sw $s0, 0x30($sp)
/* BE6024 80242874 8E700148 */ lw $s0, 0x148($s3)
/* BE6028 80242878 00A0902D */ daddu $s2, $a1, $zero
/* BE602C 8024287C 86040008 */ lh $a0, 8($s0)
/* BE6030 80242880 0C00EABB */ jal get_npc_unsafe
/* BE6034 80242884 00C0882D */ daddu $s1, $a2, $zero
/* BE6038 80242888 0220202D */ daddu $a0, $s1, $zero
/* BE603C 8024288C 0200282D */ daddu $a1, $s0, $zero
/* BE6040 80242890 AFA00010 */ sw $zero, 0x10($sp)
/* BE6044 80242894 8E460024 */ lw $a2, 0x24($s2)
/* BE6048 80242898 8E470028 */ lw $a3, 0x28($s2)
/* BE604C 8024289C 0C01242D */ jal func_800490B4
/* BE6050 802428A0 0040802D */ daddu $s0, $v0, $zero
/* BE6054 802428A4 1040000B */ beqz $v0, .L802428D4
/* BE6058 802428A8 00000000 */ nop
/* BE605C 802428AC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE6060 802428B0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE6064 802428B4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE6068 802428B8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE606C 802428BC 8C460028 */ lw $a2, 0x28($v0)
/* BE6070 802428C0 0C00A720 */ jal atan2
/* BE6074 802428C4 8C470030 */ lw $a3, 0x30($v0)
/* BE6078 802428C8 2402000C */ addiu $v0, $zero, 0xc
/* BE607C 802428CC 08090A6B */ j .L802429AC
/* BE6080 802428D0 E600000C */ swc1 $f0, 0xc($s0)
.L802428D4:
/* BE6084 802428D4 9602008E */ lhu $v0, 0x8e($s0)
/* BE6088 802428D8 2442FFFF */ addiu $v0, $v0, -1
/* BE608C 802428DC A602008E */ sh $v0, 0x8e($s0)
/* BE6090 802428E0 00021400 */ sll $v0, $v0, 0x10
/* BE6094 802428E4 1C400032 */ bgtz $v0, .L802429B0
/* BE6098 802428E8 00000000 */ nop
/* BE609C 802428EC 8E620074 */ lw $v0, 0x74($s3)
/* BE60A0 802428F0 2442FFFF */ addiu $v0, $v0, -1
/* BE60A4 802428F4 18400014 */ blez $v0, .L80242948
/* BE60A8 802428F8 AE620074 */ sw $v0, 0x74($s3)
/* BE60AC 802428FC C600000C */ lwc1 $f0, 0xc($s0)
/* BE60B0 80242900 3C014334 */ lui $at, 0x4334
/* BE60B4 80242904 44816000 */ mtc1 $at, $f12
/* BE60B8 80242908 0C00A6C9 */ jal clamp_angle
/* BE60BC 8024290C 460C0300 */ add.s $f12, $f0, $f12
/* BE60C0 80242910 E600000C */ swc1 $f0, 0xc($s0)
/* BE60C4 80242914 8E440008 */ lw $a0, 8($s2)
/* BE60C8 80242918 000417C2 */ srl $v0, $a0, 0x1f
/* BE60CC 8024291C 00822021 */ addu $a0, $a0, $v0
/* BE60D0 80242920 00042043 */ sra $a0, $a0, 1
/* BE60D4 80242924 0C00A67F */ jal rand_int
/* BE60D8 80242928 24840001 */ addiu $a0, $a0, 1
/* BE60DC 8024292C 8E430008 */ lw $v1, 8($s2)
/* BE60E0 80242930 000327C2 */ srl $a0, $v1, 0x1f
/* BE60E4 80242934 00641821 */ addu $v1, $v1, $a0
/* BE60E8 80242938 00031843 */ sra $v1, $v1, 1
/* BE60EC 8024293C 00621821 */ addu $v1, $v1, $v0
/* BE60F0 80242940 08090A6C */ j .L802429B0
/* BE60F4 80242944 A603008E */ sh $v1, 0x8e($s0)
.L80242948:
/* BE60F8 80242948 24040002 */ addiu $a0, $zero, 2
/* BE60FC 8024294C 0200282D */ daddu $a1, $s0, $zero
/* BE6100 80242950 0000302D */ daddu $a2, $zero, $zero
/* BE6104 80242954 860300A8 */ lh $v1, 0xa8($s0)
/* BE6108 80242958 3C013F80 */ lui $at, 0x3f80
/* BE610C 8024295C 44810000 */ mtc1 $at, $f0
/* BE6110 80242960 3C014000 */ lui $at, 0x4000
/* BE6114 80242964 44811000 */ mtc1 $at, $f2
/* BE6118 80242968 3C01C1A0 */ lui $at, 0xc1a0
/* BE611C 8024296C 44812000 */ mtc1 $at, $f4
/* BE6120 80242970 2402000C */ addiu $v0, $zero, 0xc
/* BE6124 80242974 AFA2001C */ sw $v0, 0x1c($sp)
/* BE6128 80242978 44833000 */ mtc1 $v1, $f6
/* BE612C 8024297C 00000000 */ nop
/* BE6130 80242980 468031A0 */ cvt.s.w $f6, $f6
/* BE6134 80242984 44073000 */ mfc1 $a3, $f6
/* BE6138 80242988 27A20028 */ addiu $v0, $sp, 0x28
/* BE613C 8024298C AFA20020 */ sw $v0, 0x20($sp)
/* BE6140 80242990 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE6144 80242994 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE6148 80242998 0C01BFA4 */ jal fx_emote
/* BE614C 8024299C E7A40018 */ swc1 $f4, 0x18($sp)
/* BE6150 802429A0 2402000F */ addiu $v0, $zero, 0xf
/* BE6154 802429A4 A602008E */ sh $v0, 0x8e($s0)
/* BE6158 802429A8 24020028 */ addiu $v0, $zero, 0x28
.L802429AC:
/* BE615C 802429AC AE620070 */ sw $v0, 0x70($s3)
.L802429B0:
/* BE6160 802429B0 8FBF0040 */ lw $ra, 0x40($sp)
/* BE6164 802429B4 8FB3003C */ lw $s3, 0x3c($sp)
/* BE6168 802429B8 8FB20038 */ lw $s2, 0x38($sp)
/* BE616C 802429BC 8FB10034 */ lw $s1, 0x34($sp)
/* BE6170 802429C0 8FB00030 */ lw $s0, 0x30($sp)
/* BE6174 802429C4 03E00008 */ jr $ra
/* BE6178 802429C8 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,24 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802429CC
/* BE617C 802429CC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE6180 802429D0 AFB10014 */ sw $s1, 0x14($sp)
/* BE6184 802429D4 0080882D */ daddu $s1, $a0, $zero
/* BE6188 802429D8 AFBF0018 */ sw $ra, 0x18($sp)
/* BE618C 802429DC AFB00010 */ sw $s0, 0x10($sp)
/* BE6190 802429E0 8E300148 */ lw $s0, 0x148($s1)
/* BE6194 802429E4 0C00EABB */ jal get_npc_unsafe
/* BE6198 802429E8 86040008 */ lh $a0, 8($s0)
/* BE619C 802429EC 96030096 */ lhu $v1, 0x96($s0)
/* BE61A0 802429F0 A443008E */ sh $v1, 0x8e($v0)
/* BE61A4 802429F4 8E0300CC */ lw $v1, 0xcc($s0)
/* BE61A8 802429F8 8C630034 */ lw $v1, 0x34($v1)
/* BE61AC 802429FC AC430028 */ sw $v1, 0x28($v0)
/* BE61B0 80242A00 24020015 */ addiu $v0, $zero, 0x15
/* BE61B4 80242A04 AE220070 */ sw $v0, 0x70($s1)
/* BE61B8 80242A08 8FBF0018 */ lw $ra, 0x18($sp)
/* BE61BC 80242A0C 8FB10014 */ lw $s1, 0x14($sp)
/* BE61C0 80242A10 8FB00010 */ lw $s0, 0x10($sp)
/* BE61C4 80242A14 03E00008 */ jr $ra
/* BE61C8 80242A18 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,111 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242A1C_BE61CC
/* BE61CC 80242A1C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BE61D0 80242A20 AFB30024 */ sw $s3, 0x24($sp)
/* BE61D4 80242A24 0080982D */ daddu $s3, $a0, $zero
/* BE61D8 80242A28 AFBF002C */ sw $ra, 0x2c($sp)
/* BE61DC 80242A2C AFB40028 */ sw $s4, 0x28($sp)
/* BE61E0 80242A30 AFB20020 */ sw $s2, 0x20($sp)
/* BE61E4 80242A34 AFB1001C */ sw $s1, 0x1c($sp)
/* BE61E8 80242A38 AFB00018 */ sw $s0, 0x18($sp)
/* BE61EC 80242A3C 8E710148 */ lw $s1, 0x148($s3)
/* BE61F0 80242A40 86240008 */ lh $a0, 8($s1)
/* BE61F4 80242A44 0C00EABB */ jal get_npc_unsafe
/* BE61F8 80242A48 00A0A02D */ daddu $s4, $a1, $zero
/* BE61FC 80242A4C 0040802D */ daddu $s0, $v0, $zero
/* BE6200 80242A50 3C12800F */ lui $s2, %hi(gPlayerStatusPtr)
/* BE6204 80242A54 26527B30 */ addiu $s2, $s2, %lo(gPlayerStatusPtr)
/* BE6208 80242A58 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE620C 80242A5C 8E420000 */ lw $v0, ($s2)
/* BE6210 80242A60 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE6214 80242A64 8C460028 */ lw $a2, 0x28($v0)
/* BE6218 80242A68 0C00A720 */ jal atan2
/* BE621C 80242A6C 8C470030 */ lw $a3, 0x30($v0)
/* BE6220 80242A70 3C025555 */ lui $v0, 0x5555
/* BE6224 80242A74 9603008E */ lhu $v1, 0x8e($s0)
/* BE6228 80242A78 34425556 */ ori $v0, $v0, 0x5556
/* BE622C 80242A7C 00031C00 */ sll $v1, $v1, 0x10
/* BE6230 80242A80 00032403 */ sra $a0, $v1, 0x10
/* BE6234 80242A84 00820018 */ mult $a0, $v0
/* BE6238 80242A88 00031FC3 */ sra $v1, $v1, 0x1f
/* BE623C 80242A8C 00004010 */ mfhi $t0
/* BE6240 80242A90 01031823 */ subu $v1, $t0, $v1
/* BE6244 80242A94 00031040 */ sll $v0, $v1, 1
/* BE6248 80242A98 00431021 */ addu $v0, $v0, $v1
/* BE624C 80242A9C 00822023 */ subu $a0, $a0, $v0
/* BE6250 80242AA0 00042400 */ sll $a0, $a0, 0x10
/* BE6254 80242AA4 1480000C */ bnez $a0, .L80242AD8
/* BE6258 80242AA8 E600000C */ swc1 $f0, 0xc($s0)
/* BE625C 80242AAC C6020040 */ lwc1 $f2, 0x40($s0)
/* BE6260 80242AB0 3C014000 */ lui $at, 0x4000
/* BE6264 80242AB4 44810000 */ mtc1 $at, $f0
/* BE6268 80242AB8 AFA00010 */ sw $zero, 0x10($sp)
/* BE626C 80242ABC AFA00014 */ sw $zero, 0x14($sp)
/* BE6270 80242AC0 46001080 */ add.s $f2, $f2, $f0
/* BE6274 80242AC4 8E06003C */ lw $a2, 0x3c($s0)
/* BE6278 80242AC8 8E050038 */ lw $a1, 0x38($s0)
/* BE627C 80242ACC 44071000 */ mfc1 $a3, $f2
/* BE6280 80242AD0 0C01BECC */ jal fx_walk_normal
/* BE6284 80242AD4 24040002 */ addiu $a0, $zero, 2
.L80242AD8:
/* BE6288 80242AD8 9602008E */ lhu $v0, 0x8e($s0)
/* BE628C 80242ADC 2442FFFF */ addiu $v0, $v0, -1
/* BE6290 80242AE0 A602008E */ sh $v0, 0x8e($s0)
/* BE6294 80242AE4 00021400 */ sll $v0, $v0, 0x10
/* BE6298 80242AE8 1C40002C */ bgtz $v0, .L80242B9C
/* BE629C 80242AEC 00000000 */ nop
/* BE62A0 80242AF0 C6000038 */ lwc1 $f0, 0x38($s0)
/* BE62A4 80242AF4 4600010D */ trunc.w.s $f4, $f0
/* BE62A8 80242AF8 44022000 */ mfc1 $v0, $f4
/* BE62AC 80242AFC 00000000 */ nop
/* BE62B0 80242B00 A6220010 */ sh $v0, 0x10($s1)
/* BE62B4 80242B04 C600003C */ lwc1 $f0, 0x3c($s0)
/* BE62B8 80242B08 4600010D */ trunc.w.s $f4, $f0
/* BE62BC 80242B0C 44022000 */ mfc1 $v0, $f4
/* BE62C0 80242B10 00000000 */ nop
/* BE62C4 80242B14 A6220012 */ sh $v0, 0x12($s1)
/* BE62C8 80242B18 C6000040 */ lwc1 $f0, 0x40($s0)
/* BE62CC 80242B1C 24020001 */ addiu $v0, $zero, 1
/* BE62D0 80242B20 A2220007 */ sb $v0, 7($s1)
/* BE62D4 80242B24 4600010D */ trunc.w.s $f4, $f0
/* BE62D8 80242B28 44022000 */ mfc1 $v0, $f4
/* BE62DC 80242B2C 00000000 */ nop
/* BE62E0 80242B30 A6220014 */ sh $v0, 0x14($s1)
/* BE62E4 80242B34 C6800018 */ lwc1 $f0, 0x18($s4)
/* BE62E8 80242B38 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE62EC 80242B3C C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE62F0 80242B40 8E420000 */ lw $v0, ($s2)
/* BE62F4 80242B44 E6000018 */ swc1 $f0, 0x18($s0)
/* BE62F8 80242B48 8C460028 */ lw $a2, 0x28($v0)
/* BE62FC 80242B4C 0C00A7B5 */ jal dist2D
/* BE6300 80242B50 8C470030 */ lw $a3, 0x30($v0)
/* BE6304 80242B54 C6020018 */ lwc1 $f2, 0x18($s0)
/* BE6308 80242B58 46020003 */ div.s $f0, $f0, $f2
/* BE630C 80242B5C 3C018024 */ lui $at, 0x8024
/* BE6310 80242B60 D4224340 */ ldc1 $f2, 0x4340($at)
/* BE6314 80242B64 46000021 */ cvt.d.s $f0, $f0
/* BE6318 80242B68 46220000 */ add.d $f0, $f0, $f2
/* BE631C 80242B6C 4620010D */ trunc.w.d $f4, $f0
/* BE6320 80242B70 44022000 */ mfc1 $v0, $f4
/* BE6324 80242B74 00000000 */ nop
/* BE6328 80242B78 A602008E */ sh $v0, 0x8e($s0)
/* BE632C 80242B7C 00021400 */ sll $v0, $v0, 0x10
/* BE6330 80242B80 00021403 */ sra $v0, $v0, 0x10
/* BE6334 80242B84 2842000F */ slti $v0, $v0, 0xf
/* BE6338 80242B88 10400002 */ beqz $v0, .L80242B94
/* BE633C 80242B8C 2402000F */ addiu $v0, $zero, 0xf
/* BE6340 80242B90 A602008E */ sh $v0, 0x8e($s0)
.L80242B94:
/* BE6344 80242B94 24020016 */ addiu $v0, $zero, 0x16
/* BE6348 80242B98 AE620070 */ sw $v0, 0x70($s3)
.L80242B9C:
/* BE634C 80242B9C 8FBF002C */ lw $ra, 0x2c($sp)
/* BE6350 80242BA0 8FB40028 */ lw $s4, 0x28($sp)
/* BE6354 80242BA4 8FB30024 */ lw $s3, 0x24($sp)
/* BE6358 80242BA8 8FB20020 */ lw $s2, 0x20($sp)
/* BE635C 80242BAC 8FB1001C */ lw $s1, 0x1c($sp)
/* BE6360 80242BB0 8FB00018 */ lw $s0, 0x18($sp)
/* BE6364 80242BB4 03E00008 */ jr $ra
/* BE6368 80242BB8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,91 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242BBC
/* BE636C 80242BBC 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE6370 80242BC0 AFB3003C */ sw $s3, 0x3c($sp)
/* BE6374 80242BC4 0080982D */ daddu $s3, $a0, $zero
/* BE6378 80242BC8 AFBF0040 */ sw $ra, 0x40($sp)
/* BE637C 80242BCC AFB20038 */ sw $s2, 0x38($sp)
/* BE6380 80242BD0 AFB10034 */ sw $s1, 0x34($sp)
/* BE6384 80242BD4 AFB00030 */ sw $s0, 0x30($sp)
/* BE6388 80242BD8 8E720148 */ lw $s2, 0x148($s3)
/* BE638C 80242BDC 0C00EABB */ jal get_npc_unsafe
/* BE6390 80242BE0 86440008 */ lh $a0, 8($s2)
/* BE6394 80242BE4 0040802D */ daddu $s0, $v0, $zero
/* BE6398 80242BE8 0200202D */ daddu $a0, $s0, $zero
/* BE639C 80242BEC 0C00F598 */ jal func_8003D660
/* BE63A0 80242BF0 24050001 */ addiu $a1, $zero, 1
/* BE63A4 80242BF4 8E050018 */ lw $a1, 0x18($s0)
/* BE63A8 80242BF8 8E06000C */ lw $a2, 0xc($s0)
/* BE63AC 80242BFC 0C00EA95 */ jal npc_move_heading
/* BE63B0 80242C00 0200202D */ daddu $a0, $s0, $zero
/* BE63B4 80242C04 8E4300D0 */ lw $v1, 0xd0($s2)
/* BE63B8 80242C08 C6000040 */ lwc1 $f0, 0x40($s0)
/* BE63BC 80242C0C C462001C */ lwc1 $f2, 0x1c($v1)
/* BE63C0 80242C10 468010A0 */ cvt.s.w $f2, $f2
/* BE63C4 80242C14 C4640024 */ lwc1 $f4, 0x24($v1)
/* BE63C8 80242C18 46802120 */ cvt.s.w $f4, $f4
/* BE63CC 80242C1C E7A00010 */ swc1 $f0, 0x10($sp)
/* BE63D0 80242C20 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE63D4 80242C24 44051000 */ mfc1 $a1, $f2
/* BE63D8 80242C28 C4400028 */ lwc1 $f0, 0x28($v0)
/* BE63DC 80242C2C 46800020 */ cvt.s.w $f0, $f0
/* BE63E0 80242C30 E7A00014 */ swc1 $f0, 0x14($sp)
/* BE63E4 80242C34 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE63E8 80242C38 44062000 */ mfc1 $a2, $f4
/* BE63EC 80242C3C C440002C */ lwc1 $f0, 0x2c($v0)
/* BE63F0 80242C40 46800020 */ cvt.s.w $f0, $f0
/* BE63F4 80242C44 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE63F8 80242C48 8C640030 */ lw $a0, 0x30($v1)
/* BE63FC 80242C4C 0C0123F5 */ jal is_point_within_region
/* BE6400 80242C50 8E070038 */ lw $a3, 0x38($s0)
/* BE6404 80242C54 C6000038 */ lwc1 $f0, 0x38($s0)
/* BE6408 80242C58 C602003C */ lwc1 $f2, 0x3c($s0)
/* BE640C 80242C5C C6040040 */ lwc1 $f4, 0x40($s0)
/* BE6410 80242C60 3C013F80 */ lui $at, 0x3f80
/* BE6414 80242C64 44813000 */ mtc1 $at, $f6
/* BE6418 80242C68 E7A00020 */ swc1 $f0, 0x20($sp)
/* BE641C 80242C6C E7A20024 */ swc1 $f2, 0x24($sp)
/* BE6420 80242C70 E7A40028 */ swc1 $f4, 0x28($sp)
/* BE6424 80242C74 E7A60010 */ swc1 $f6, 0x10($sp)
/* BE6428 80242C78 C600000C */ lwc1 $f0, 0xc($s0)
/* BE642C 80242C7C 0002882B */ sltu $s1, $zero, $v0
/* BE6430 80242C80 E7A00014 */ swc1 $f0, 0x14($sp)
/* BE6434 80242C84 860200A8 */ lh $v0, 0xa8($s0)
/* BE6438 80242C88 27A50020 */ addiu $a1, $sp, 0x20
/* BE643C 80242C8C 44820000 */ mtc1 $v0, $f0
/* BE6440 80242C90 00000000 */ nop
/* BE6444 80242C94 46800020 */ cvt.s.w $f0, $f0
/* BE6448 80242C98 E7A00018 */ swc1 $f0, 0x18($sp)
/* BE644C 80242C9C 860200A6 */ lh $v0, 0xa6($s0)
/* BE6450 80242CA0 27A60024 */ addiu $a2, $sp, 0x24
/* BE6454 80242CA4 44820000 */ mtc1 $v0, $f0
/* BE6458 80242CA8 00000000 */ nop
/* BE645C 80242CAC 46800020 */ cvt.s.w $f0, $f0
/* BE6460 80242CB0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BE6464 80242CB4 8E040080 */ lw $a0, 0x80($s0)
/* BE6468 80242CB8 0C037711 */ jal func_800DDC44
/* BE646C 80242CBC 27A70028 */ addiu $a3, $sp, 0x28
/* BE6470 80242CC0 54400001 */ bnel $v0, $zero, .L80242CC8
/* BE6474 80242CC4 24110001 */ addiu $s1, $zero, 1
.L80242CC8:
/* BE6478 80242CC8 9602008E */ lhu $v0, 0x8e($s0)
/* BE647C 80242CCC 2442FFFF */ addiu $v0, $v0, -1
/* BE6480 80242CD0 A602008E */ sh $v0, 0x8e($s0)
/* BE6484 80242CD4 00021400 */ sll $v0, $v0, 0x10
/* BE6488 80242CD8 58400001 */ blezl $v0, .L80242CE0
/* BE648C 80242CDC 24110001 */ addiu $s1, $zero, 1
.L80242CE0:
/* BE6490 80242CE0 12200003 */ beqz $s1, .L80242CF0
/* BE6494 80242CE4 24020004 */ addiu $v0, $zero, 4
/* BE6498 80242CE8 AE620070 */ sw $v0, 0x70($s3)
/* BE649C 80242CEC A2400007 */ sb $zero, 7($s2)
.L80242CF0:
/* BE64A0 80242CF0 8FBF0040 */ lw $ra, 0x40($sp)
/* BE64A4 80242CF4 8FB3003C */ lw $s3, 0x3c($sp)
/* BE64A8 80242CF8 8FB20038 */ lw $s2, 0x38($sp)
/* BE64AC 80242CFC 8FB10034 */ lw $s1, 0x34($sp)
/* BE64B0 80242D00 8FB00030 */ lw $s0, 0x30($sp)
/* BE64B4 80242D04 03E00008 */ jr $ra
/* BE64B8 80242D08 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,50 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242D0C
/* BE64BC 80242D0C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE64C0 80242D10 AFB20018 */ sw $s2, 0x18($sp)
/* BE64C4 80242D14 0080902D */ daddu $s2, $a0, $zero
/* BE64C8 80242D18 AFBF001C */ sw $ra, 0x1c($sp)
/* BE64CC 80242D1C AFB10014 */ sw $s1, 0x14($sp)
/* BE64D0 80242D20 AFB00010 */ sw $s0, 0x10($sp)
/* BE64D4 80242D24 8E500148 */ lw $s0, 0x148($s2)
/* BE64D8 80242D28 86040008 */ lh $a0, 8($s0)
/* BE64DC 80242D2C 0C00EABB */ jal get_npc_unsafe
/* BE64E0 80242D30 00A0882D */ daddu $s1, $a1, $zero
/* BE64E4 80242D34 0040182D */ daddu $v1, $v0, $zero
/* BE64E8 80242D38 9462008E */ lhu $v0, 0x8e($v1)
/* BE64EC 80242D3C 2442FFFF */ addiu $v0, $v0, -1
/* BE64F0 80242D40 A462008E */ sh $v0, 0x8e($v1)
/* BE64F4 80242D44 00021400 */ sll $v0, $v0, 0x10
/* BE64F8 80242D48 1C400015 */ bgtz $v0, .L80242DA0
/* BE64FC 80242D4C 00000000 */ nop
/* BE6500 80242D50 8E0200CC */ lw $v0, 0xcc($s0)
/* BE6504 80242D54 8C420004 */ lw $v0, 4($v0)
/* BE6508 80242D58 AC620028 */ sw $v0, 0x28($v1)
/* BE650C 80242D5C 8E0200D0 */ lw $v0, 0xd0($s0)
/* BE6510 80242D60 8C420014 */ lw $v0, 0x14($v0)
/* BE6514 80242D64 04410004 */ bgez $v0, .L80242D78
/* BE6518 80242D68 00000000 */ nop
/* BE651C 80242D6C C6200000 */ lwc1 $f0, ($s1)
/* BE6520 80242D70 08090B66 */ j .L80242D98
/* BE6524 80242D74 E4600018 */ swc1 $f0, 0x18($v1)
.L80242D78:
/* BE6528 80242D78 3C018024 */ lui $at, 0x8024
/* BE652C 80242D7C D4224348 */ ldc1 $f2, 0x4348($at)
/* BE6530 80242D80 44820000 */ mtc1 $v0, $f0
/* BE6534 80242D84 00000000 */ nop
/* BE6538 80242D88 46800021 */ cvt.d.w $f0, $f0
/* BE653C 80242D8C 46220003 */ div.d $f0, $f0, $f2
/* BE6540 80242D90 46200020 */ cvt.s.d $f0, $f0
/* BE6544 80242D94 E4600018 */ swc1 $f0, 0x18($v1)
.L80242D98:
/* BE6548 80242D98 24020029 */ addiu $v0, $zero, 0x29
/* BE654C 80242D9C AE420070 */ sw $v0, 0x70($s2)
.L80242DA0:
/* BE6550 80242DA0 8FBF001C */ lw $ra, 0x1c($sp)
/* BE6554 80242DA4 8FB20018 */ lw $s2, 0x18($sp)
/* BE6558 80242DA8 8FB10014 */ lw $s1, 0x14($sp)
/* BE655C 80242DAC 8FB00010 */ lw $s0, 0x10($sp)
/* BE6560 80242DB0 03E00008 */ jr $ra
/* BE6564 80242DB4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,85 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242DB8
/* BE6568 80242DB8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BE656C 80242DBC AFB30024 */ sw $s3, 0x24($sp)
/* BE6570 80242DC0 0080982D */ daddu $s3, $a0, $zero
/* BE6574 80242DC4 AFBF0028 */ sw $ra, 0x28($sp)
/* BE6578 80242DC8 AFB20020 */ sw $s2, 0x20($sp)
/* BE657C 80242DCC AFB1001C */ sw $s1, 0x1c($sp)
/* BE6580 80242DD0 AFB00018 */ sw $s0, 0x18($sp)
/* BE6584 80242DD4 8E720148 */ lw $s2, 0x148($s3)
/* BE6588 80242DD8 00A0882D */ daddu $s1, $a1, $zero
/* BE658C 80242DDC 86440008 */ lh $a0, 8($s2)
/* BE6590 80242DE0 0C00EABB */ jal get_npc_unsafe
/* BE6594 80242DE4 00C0802D */ daddu $s0, $a2, $zero
/* BE6598 80242DE8 0200202D */ daddu $a0, $s0, $zero
/* BE659C 80242DEC 0240282D */ daddu $a1, $s2, $zero
/* BE65A0 80242DF0 AFA00010 */ sw $zero, 0x10($sp)
/* BE65A4 80242DF4 8E260024 */ lw $a2, 0x24($s1)
/* BE65A8 80242DF8 8E270028 */ lw $a3, 0x28($s1)
/* BE65AC 80242DFC 0C01242D */ jal func_800490B4
/* BE65B0 80242E00 0040802D */ daddu $s0, $v0, $zero
/* BE65B4 80242E04 1040000C */ beqz $v0, .L80242E38
/* BE65B8 80242E08 00000000 */ nop
/* BE65BC 80242E0C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE65C0 80242E10 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE65C4 80242E14 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE65C8 80242E18 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE65CC 80242E1C 8C460028 */ lw $a2, 0x28($v0)
/* BE65D0 80242E20 0C00A720 */ jal atan2
/* BE65D4 80242E24 8C470030 */ lw $a3, 0x30($v0)
/* BE65D8 80242E28 2402000C */ addiu $v0, $zero, 0xc
/* BE65DC 80242E2C E600000C */ swc1 $f0, 0xc($s0)
/* BE65E0 80242E30 08090BB5 */ j .L80242ED4
/* BE65E4 80242E34 AE620070 */ sw $v0, 0x70($s3)
.L80242E38:
/* BE65E8 80242E38 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE65EC 80242E3C 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE65F0 80242E40 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE65F4 80242E44 C4440000 */ lwc1 $f4, ($v0)
/* BE65F8 80242E48 46802120 */ cvt.s.w $f4, $f4
/* BE65FC 80242E4C 44062000 */ mfc1 $a2, $f4
/* BE6600 80242E50 C4440008 */ lwc1 $f4, 8($v0)
/* BE6604 80242E54 46802120 */ cvt.s.w $f4, $f4
/* BE6608 80242E58 44072000 */ mfc1 $a3, $f4
/* BE660C 80242E5C 0C00A7B5 */ jal dist2D
/* BE6610 80242E60 00000000 */ nop
/* BE6614 80242E64 C6020018 */ lwc1 $f2, 0x18($s0)
/* BE6618 80242E68 4602003E */ c.le.s $f0, $f2
/* BE661C 80242E6C 00000000 */ nop
/* BE6620 80242E70 45000005 */ bc1f .L80242E88
/* BE6624 80242E74 2402000A */ addiu $v0, $zero, 0xa
/* BE6628 80242E78 A602008E */ sh $v0, 0x8e($s0)
/* BE662C 80242E7C 24020032 */ addiu $v0, $zero, 0x32
/* BE6630 80242E80 08090BB5 */ j .L80242ED4
/* BE6634 80242E84 AE620070 */ sw $v0, 0x70($s3)
.L80242E88:
/* BE6638 80242E88 8602008C */ lh $v0, 0x8c($s0)
/* BE663C 80242E8C 14400011 */ bnez $v0, .L80242ED4
/* BE6640 80242E90 00000000 */ nop
/* BE6644 80242E94 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE6648 80242E98 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE664C 80242E9C C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE6650 80242EA0 C4440000 */ lwc1 $f4, ($v0)
/* BE6654 80242EA4 46802120 */ cvt.s.w $f4, $f4
/* BE6658 80242EA8 44062000 */ mfc1 $a2, $f4
/* BE665C 80242EAC C4440008 */ lwc1 $f4, 8($v0)
/* BE6660 80242EB0 46802120 */ cvt.s.w $f4, $f4
/* BE6664 80242EB4 44072000 */ mfc1 $a3, $f4
/* BE6668 80242EB8 0C00A720 */ jal atan2
/* BE666C 80242EBC 00000000 */ nop
/* BE6670 80242EC0 8E050018 */ lw $a1, 0x18($s0)
/* BE6674 80242EC4 44060000 */ mfc1 $a2, $f0
/* BE6678 80242EC8 0200202D */ daddu $a0, $s0, $zero
/* BE667C 80242ECC 0C00EA95 */ jal npc_move_heading
/* BE6680 80242ED0 AC86000C */ sw $a2, 0xc($a0)
.L80242ED4:
/* BE6684 80242ED4 8FBF0028 */ lw $ra, 0x28($sp)
/* BE6688 80242ED8 8FB30024 */ lw $s3, 0x24($sp)
/* BE668C 80242EDC 8FB20020 */ lw $s2, 0x20($sp)
/* BE6690 80242EE0 8FB1001C */ lw $s1, 0x1c($sp)
/* BE6694 80242EE4 8FB00018 */ lw $s0, 0x18($sp)
/* BE6698 80242EE8 03E00008 */ jr $ra
/* BE669C 80242EEC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,37 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242EF0_BE66A0
/* BE66A0 80242EF0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE66A4 80242EF4 AFB10014 */ sw $s1, 0x14($sp)
/* BE66A8 80242EF8 0080882D */ daddu $s1, $a0, $zero
/* BE66AC 80242EFC AFBF0018 */ sw $ra, 0x18($sp)
/* BE66B0 80242F00 AFB00010 */ sw $s0, 0x10($sp)
/* BE66B4 80242F04 8E300148 */ lw $s0, 0x148($s1)
/* BE66B8 80242F08 0C00EABB */ jal get_npc_unsafe
/* BE66BC 80242F0C 86040008 */ lh $a0, 8($s0)
/* BE66C0 80242F10 0040202D */ daddu $a0, $v0, $zero
/* BE66C4 80242F14 8482008E */ lh $v0, 0x8e($a0)
/* BE66C8 80242F18 9483008E */ lhu $v1, 0x8e($a0)
/* BE66CC 80242F1C 18400002 */ blez $v0, .L80242F28
/* BE66D0 80242F20 2462FFFF */ addiu $v0, $v1, -1
/* BE66D4 80242F24 A482008E */ sh $v0, 0x8e($a0)
.L80242F28:
/* BE66D8 80242F28 8482008C */ lh $v0, 0x8c($a0)
/* BE66DC 80242F2C 1440000A */ bnez $v0, .L80242F58
/* BE66E0 80242F30 00000000 */ nop
/* BE66E4 80242F34 8482008E */ lh $v0, 0x8e($a0)
/* BE66E8 80242F38 1C400007 */ bgtz $v0, .L80242F58
/* BE66EC 80242F3C 24020008 */ addiu $v0, $zero, 8
/* BE66F0 80242F40 A482008E */ sh $v0, 0x8e($a0)
/* BE66F4 80242F44 8E0200CC */ lw $v0, 0xcc($s0)
/* BE66F8 80242F48 8C42002C */ lw $v0, 0x2c($v0)
/* BE66FC 80242F4C AC820028 */ sw $v0, 0x28($a0)
/* BE6700 80242F50 24020033 */ addiu $v0, $zero, 0x33
/* BE6704 80242F54 AE220070 */ sw $v0, 0x70($s1)
.L80242F58:
/* BE6708 80242F58 8FBF0018 */ lw $ra, 0x18($sp)
/* BE670C 80242F5C 8FB10014 */ lw $s1, 0x14($sp)
/* BE6710 80242F60 8FB00010 */ lw $s0, 0x10($sp)
/* BE6714 80242F64 03E00008 */ jr $ra
/* BE6718 80242F68 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,31 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242F6C
/* BE671C 80242F6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE6720 80242F70 AFB10014 */ sw $s1, 0x14($sp)
/* BE6724 80242F74 0080882D */ daddu $s1, $a0, $zero
/* BE6728 80242F78 AFBF0018 */ sw $ra, 0x18($sp)
/* BE672C 80242F7C AFB00010 */ sw $s0, 0x10($sp)
/* BE6730 80242F80 8E300148 */ lw $s0, 0x148($s1)
/* BE6734 80242F84 0C00EABB */ jal get_npc_unsafe
/* BE6738 80242F88 86040008 */ lh $a0, 8($s0)
/* BE673C 80242F8C 0040182D */ daddu $v1, $v0, $zero
/* BE6740 80242F90 9462008E */ lhu $v0, 0x8e($v1)
/* BE6744 80242F94 2442FFFF */ addiu $v0, $v0, -1
/* BE6748 80242F98 A462008E */ sh $v0, 0x8e($v1)
/* BE674C 80242F9C 00021400 */ sll $v0, $v0, 0x10
/* BE6750 80242FA0 1C400007 */ bgtz $v0, .L80242FC0
/* BE6754 80242FA4 24020008 */ addiu $v0, $zero, 8
/* BE6758 80242FA8 A462008E */ sh $v0, 0x8e($v1)
/* BE675C 80242FAC 8E0200CC */ lw $v0, 0xcc($s0)
/* BE6760 80242FB0 8C420038 */ lw $v0, 0x38($v0)
/* BE6764 80242FB4 AC620028 */ sw $v0, 0x28($v1)
/* BE6768 80242FB8 24020034 */ addiu $v0, $zero, 0x34
/* BE676C 80242FBC AE220070 */ sw $v0, 0x70($s1)
.L80242FC0:
/* BE6770 80242FC0 8FBF0018 */ lw $ra, 0x18($sp)
/* BE6774 80242FC4 8FB10014 */ lw $s1, 0x14($sp)
/* BE6778 80242FC8 8FB00010 */ lw $s0, 0x10($sp)
/* BE677C 80242FCC 03E00008 */ jr $ra
/* BE6780 80242FD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,22 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242FD4
/* BE6784 80242FD4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE6788 80242FD8 AFB00010 */ sw $s0, 0x10($sp)
/* BE678C 80242FDC 0080802D */ daddu $s0, $a0, $zero
/* BE6790 80242FE0 AFBF0014 */ sw $ra, 0x14($sp)
/* BE6794 80242FE4 8E020148 */ lw $v0, 0x148($s0)
/* BE6798 80242FE8 0C00EABB */ jal get_npc_unsafe
/* BE679C 80242FEC 84440008 */ lh $a0, 8($v0)
/* BE67A0 80242FF0 9443008E */ lhu $v1, 0x8e($v0)
/* BE67A4 80242FF4 2463FFFF */ addiu $v1, $v1, -1
/* BE67A8 80242FF8 A443008E */ sh $v1, 0x8e($v0)
/* BE67AC 80242FFC 00031C00 */ sll $v1, $v1, 0x10
/* BE67B0 80243000 58600001 */ blezl $v1, .L80243008
/* BE67B4 80243004 AE000070 */ sw $zero, 0x70($s0)
.L80243008:
/* BE67B8 80243008 8FBF0014 */ lw $ra, 0x14($sp)
/* BE67BC 8024300C 8FB00010 */ lw $s0, 0x10($sp)
/* BE67C0 80243010 03E00008 */ jr $ra
/* BE67C4 80243014 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,225 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243018
/* BE67C8 80243018 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BE67CC 8024301C AFB3003C */ sw $s3, 0x3c($sp)
/* BE67D0 80243020 0080982D */ daddu $s3, $a0, $zero
/* BE67D4 80243024 AFBF0048 */ sw $ra, 0x48($sp)
/* BE67D8 80243028 AFB50044 */ sw $s5, 0x44($sp)
/* BE67DC 8024302C AFB40040 */ sw $s4, 0x40($sp)
/* BE67E0 80243030 AFB20038 */ sw $s2, 0x38($sp)
/* BE67E4 80243034 AFB10034 */ sw $s1, 0x34($sp)
/* BE67E8 80243038 AFB00030 */ sw $s0, 0x30($sp)
/* BE67EC 8024303C 8E720148 */ lw $s2, 0x148($s3)
/* BE67F0 80243040 86440008 */ lh $a0, 8($s2)
/* BE67F4 80243044 0C00EABB */ jal get_npc_unsafe
/* BE67F8 80243048 00A0882D */ daddu $s1, $a1, $zero
/* BE67FC 8024304C 0260202D */ daddu $a0, $s3, $zero
/* BE6800 80243050 8E70000C */ lw $s0, 0xc($s3)
/* BE6804 80243054 0040A82D */ daddu $s5, $v0, $zero
/* BE6808 80243058 8E050000 */ lw $a1, ($s0)
/* BE680C 8024305C 0C0B1EAF */ jal get_variable
/* BE6810 80243060 26100004 */ addiu $s0, $s0, 4
/* BE6814 80243064 0260202D */ daddu $a0, $s3, $zero
/* BE6818 80243068 8E050000 */ lw $a1, ($s0)
/* BE681C 8024306C 0C0B1EAF */ jal get_variable
/* BE6820 80243070 0040A02D */ daddu $s4, $v0, $zero
/* BE6824 80243074 AE420094 */ sw $v0, 0x94($s2)
/* BE6828 80243078 AFA00010 */ sw $zero, 0x10($sp)
/* BE682C 8024307C 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE6830 80243080 8C420030 */ lw $v0, 0x30($v0)
/* BE6834 80243084 AFA20014 */ sw $v0, 0x14($sp)
/* BE6838 80243088 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE683C 8024308C 8C42001C */ lw $v0, 0x1c($v0)
/* BE6840 80243090 AFA20018 */ sw $v0, 0x18($sp)
/* BE6844 80243094 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE6848 80243098 8C420024 */ lw $v0, 0x24($v0)
/* BE684C 8024309C AFA2001C */ sw $v0, 0x1c($sp)
/* BE6850 802430A0 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE6854 802430A4 8C420028 */ lw $v0, 0x28($v0)
/* BE6858 802430A8 AFA20020 */ sw $v0, 0x20($sp)
/* BE685C 802430AC 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE6860 802430B0 3C014220 */ lui $at, 0x4220
/* BE6864 802430B4 44810000 */ mtc1 $at, $f0
/* BE6868 802430B8 8C42002C */ lw $v0, 0x2c($v0)
/* BE686C 802430BC 27B00010 */ addiu $s0, $sp, 0x10
/* BE6870 802430C0 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE6874 802430C4 A7A0002C */ sh $zero, 0x2c($sp)
/* BE6878 802430C8 12200012 */ beqz $s1, .L80243114
/* BE687C 802430CC AFA20024 */ sw $v0, 0x24($sp)
/* BE6880 802430D0 AE600070 */ sw $zero, 0x70($s3)
/* BE6884 802430D4 8EA30000 */ lw $v1, ($s5)
/* BE6888 802430D8 2402F7FF */ addiu $v0, $zero, -0x801
/* BE688C 802430DC A6A0008E */ sh $zero, 0x8e($s5)
/* BE6890 802430E0 00621824 */ and $v1, $v1, $v0
/* BE6894 802430E4 AEA30000 */ sw $v1, ($s5)
/* BE6898 802430E8 8E4200D0 */ lw $v0, 0xd0($s2)
/* BE689C 802430EC 8C420034 */ lw $v0, 0x34($v0)
/* BE68A0 802430F0 54400005 */ bnel $v0, $zero, .L80243108
/* BE68A4 802430F4 2402FDFF */ addiu $v0, $zero, -0x201
/* BE68A8 802430F8 34620200 */ ori $v0, $v1, 0x200
/* BE68AC 802430FC 2403FFF7 */ addiu $v1, $zero, -9
/* BE68B0 80243100 08090C44 */ j .L80243110
/* BE68B4 80243104 00431024 */ and $v0, $v0, $v1
.L80243108:
/* BE68B8 80243108 00621024 */ and $v0, $v1, $v0
/* BE68BC 8024310C 34420008 */ ori $v0, $v0, 8
.L80243110:
/* BE68C0 80243110 AEA20000 */ sw $v0, ($s5)
.L80243114:
/* BE68C4 80243114 8E4300B0 */ lw $v1, 0xb0($s2)
/* BE68C8 80243118 30620004 */ andi $v0, $v1, 4
/* BE68CC 8024311C 10400007 */ beqz $v0, .L8024313C
/* BE68D0 80243120 00000000 */ nop
/* BE68D4 80243124 824200B4 */ lb $v0, 0xb4($s2)
/* BE68D8 80243128 14400086 */ bnez $v0, .L80243344
/* BE68DC 8024312C 0000102D */ daddu $v0, $zero, $zero
/* BE68E0 80243130 2402FFFB */ addiu $v0, $zero, -5
/* BE68E4 80243134 00621024 */ and $v0, $v1, $v0
/* BE68E8 80243138 AE4200B0 */ sw $v0, 0xb0($s2)
.L8024313C:
/* BE68EC 8024313C 8E620070 */ lw $v0, 0x70($s3)
/* BE68F0 80243140 2442FFF4 */ addiu $v0, $v0, -0xc
/* BE68F4 80243144 2C420003 */ sltiu $v0, $v0, 3
/* BE68F8 80243148 10400007 */ beqz $v0, .L80243168
/* BE68FC 8024314C 0260202D */ daddu $a0, $s3, $zero
/* BE6900 80243150 0280282D */ daddu $a1, $s4, $zero
/* BE6904 80243154 0C0908E2 */ jal func_80242388
/* BE6908 80243158 0200302D */ daddu $a2, $s0, $zero
/* BE690C 8024315C 10400002 */ beqz $v0, .L80243168
/* BE6910 80243160 24020014 */ addiu $v0, $zero, 0x14
/* BE6914 80243164 AE620070 */ sw $v0, 0x70($s3)
.L80243168:
/* BE6918 80243168 8E630070 */ lw $v1, 0x70($s3)
/* BE691C 8024316C 2C620035 */ sltiu $v0, $v1, 0x35
/* BE6920 80243170 10400073 */ beqz $v0, .L80243340
/* BE6924 80243174 00031080 */ sll $v0, $v1, 2
/* BE6928 80243178 3C018024 */ lui $at, 0x8024
/* BE692C 8024317C 00220821 */ addu $at, $at, $v0
/* BE6930 80243180 8C224350 */ lw $v0, 0x4350($at)
/* BE6934 80243184 00400008 */ jr $v0
/* BE6938 80243188 00000000 */ nop
/* BE693C 8024318C 0260202D */ daddu $a0, $s3, $zero
/* BE6940 80243190 0280282D */ daddu $a1, $s4, $zero
/* BE6944 80243194 0C09093A */ jal func_802424E8
/* BE6948 80243198 0200302D */ daddu $a2, $s0, $zero
/* BE694C 8024319C 0260202D */ daddu $a0, $s3, $zero
/* BE6950 802431A0 0280282D */ daddu $a1, $s4, $zero
/* BE6954 802431A4 0C090957 */ jal func_8024255C
/* BE6958 802431A8 0200302D */ daddu $a2, $s0, $zero
/* BE695C 802431AC 8E630070 */ lw $v1, 0x70($s3)
/* BE6960 802431B0 24020002 */ addiu $v0, $zero, 2
/* BE6964 802431B4 14620063 */ bne $v1, $v0, .L80243344
/* BE6968 802431B8 0000102D */ daddu $v0, $zero, $zero
/* BE696C 802431BC 0260202D */ daddu $a0, $s3, $zero
/* BE6970 802431C0 0280282D */ daddu $a1, $s4, $zero
/* BE6974 802431C4 0C0909A3 */ jal func_8024268C
/* BE6978 802431C8 0200302D */ daddu $a2, $s0, $zero
/* BE697C 802431CC 8E630070 */ lw $v1, 0x70($s3)
/* BE6980 802431D0 24020003 */ addiu $v0, $zero, 3
/* BE6984 802431D4 1462005B */ bne $v1, $v0, .L80243344
/* BE6988 802431D8 0000102D */ daddu $v0, $zero, $zero
/* BE698C 802431DC 0260202D */ daddu $a0, $s3, $zero
/* BE6990 802431E0 0280282D */ daddu $a1, $s4, $zero
/* BE6994 802431E4 0C0909CA */ jal func_80242728
/* BE6998 802431E8 0200302D */ daddu $a2, $s0, $zero
/* BE699C 802431EC 8E630070 */ lw $v1, 0x70($s3)
/* BE69A0 802431F0 24020004 */ addiu $v0, $zero, 4
/* BE69A4 802431F4 14620053 */ bne $v1, $v0, .L80243344
/* BE69A8 802431F8 0000102D */ daddu $v0, $zero, $zero
/* BE69AC 802431FC 0260202D */ daddu $a0, $s3, $zero
/* BE69B0 80243200 0280282D */ daddu $a1, $s4, $zero
/* BE69B4 80243204 0C0909EC */ jal func_802427B0
/* BE69B8 80243208 0200302D */ daddu $a2, $s0, $zero
/* BE69BC 8024320C 0260202D */ daddu $a0, $s3, $zero
/* BE69C0 80243210 0280282D */ daddu $a1, $s4, $zero
/* BE69C4 80243214 0C090A16 */ jal func_80242858
/* BE69C8 80243218 0200302D */ daddu $a2, $s0, $zero
/* BE69CC 8024321C 08090CD1 */ j .L80243344
/* BE69D0 80243220 0000102D */ daddu $v0, $zero, $zero
/* BE69D4 80243224 0260202D */ daddu $a0, $s3, $zero
/* BE69D8 80243228 0280282D */ daddu $a1, $s4, $zero
/* BE69DC 8024322C 0C0127DF */ jal func_80049F7C
/* BE69E0 80243230 0200302D */ daddu $a2, $s0, $zero
/* BE69E4 80243234 8E630070 */ lw $v1, 0x70($s3)
/* BE69E8 80243238 2402000D */ addiu $v0, $zero, 0xd
/* BE69EC 8024323C 14620041 */ bne $v1, $v0, .L80243344
/* BE69F0 80243240 0000102D */ daddu $v0, $zero, $zero
/* BE69F4 80243244 0260202D */ daddu $a0, $s3, $zero
/* BE69F8 80243248 0280282D */ daddu $a1, $s4, $zero
/* BE69FC 8024324C 0C012849 */ jal func_8004A124
/* BE6A00 80243250 0200302D */ daddu $a2, $s0, $zero
/* BE6A04 80243254 8E630070 */ lw $v1, 0x70($s3)
/* BE6A08 80243258 2402000E */ addiu $v0, $zero, 0xe
/* BE6A0C 8024325C 14620039 */ bne $v1, $v0, .L80243344
/* BE6A10 80243260 0000102D */ daddu $v0, $zero, $zero
/* BE6A14 80243264 96A2008E */ lhu $v0, 0x8e($s5)
/* BE6A18 80243268 2442FFFF */ addiu $v0, $v0, -1
/* BE6A1C 8024326C A6A2008E */ sh $v0, 0x8e($s5)
/* BE6A20 80243270 00021400 */ sll $v0, $v0, 0x10
/* BE6A24 80243274 14400033 */ bnez $v0, .L80243344
/* BE6A28 80243278 0000102D */ daddu $v0, $zero, $zero
/* BE6A2C 8024327C 24020028 */ addiu $v0, $zero, 0x28
/* BE6A30 80243280 08090CD0 */ j .L80243340
/* BE6A34 80243284 AE620070 */ sw $v0, 0x70($s3)
/* BE6A38 80243288 0260202D */ daddu $a0, $s3, $zero
/* BE6A3C 8024328C 0280282D */ daddu $a1, $s4, $zero
/* BE6A40 80243290 0C090A73 */ jal func_802429CC
/* BE6A44 80243294 0200302D */ daddu $a2, $s0, $zero
/* BE6A48 80243298 0260202D */ daddu $a0, $s3, $zero
/* BE6A4C 8024329C 0280282D */ daddu $a1, $s4, $zero
/* BE6A50 802432A0 0C090A87 */ jal func_80242A1C
/* BE6A54 802432A4 0200302D */ daddu $a2, $s0, $zero
/* BE6A58 802432A8 08090CD1 */ j .L80243344
/* BE6A5C 802432AC 0000102D */ daddu $v0, $zero, $zero
/* BE6A60 802432B0 0260202D */ daddu $a0, $s3, $zero
/* BE6A64 802432B4 0280282D */ daddu $a1, $s4, $zero
/* BE6A68 802432B8 0C090AEF */ jal func_80242BBC
/* BE6A6C 802432BC 0200302D */ daddu $a2, $s0, $zero
/* BE6A70 802432C0 08090CD1 */ j .L80243344
/* BE6A74 802432C4 0000102D */ daddu $v0, $zero, $zero
/* BE6A78 802432C8 0260202D */ daddu $a0, $s3, $zero
/* BE6A7C 802432CC 0280282D */ daddu $a1, $s4, $zero
/* BE6A80 802432D0 0C090B43 */ jal func_80242D0C
/* BE6A84 802432D4 0200302D */ daddu $a2, $s0, $zero
/* BE6A88 802432D8 8E630070 */ lw $v1, 0x70($s3)
/* BE6A8C 802432DC 24020029 */ addiu $v0, $zero, 0x29
/* BE6A90 802432E0 14620018 */ bne $v1, $v0, .L80243344
/* BE6A94 802432E4 0000102D */ daddu $v0, $zero, $zero
/* BE6A98 802432E8 0260202D */ daddu $a0, $s3, $zero
/* BE6A9C 802432EC 0280282D */ daddu $a1, $s4, $zero
/* BE6AA0 802432F0 0C090B6E */ jal func_80242DB8
/* BE6AA4 802432F4 0200302D */ daddu $a2, $s0, $zero
/* BE6AA8 802432F8 08090CD1 */ j .L80243344
/* BE6AAC 802432FC 0000102D */ daddu $v0, $zero, $zero
/* BE6AB0 80243300 0260202D */ daddu $a0, $s3, $zero
/* BE6AB4 80243304 0280282D */ daddu $a1, $s4, $zero
/* BE6AB8 80243308 0C090BBC */ jal func_80242EF0
/* BE6ABC 8024330C 0200302D */ daddu $a2, $s0, $zero
/* BE6AC0 80243310 0260202D */ daddu $a0, $s3, $zero
/* BE6AC4 80243314 0280282D */ daddu $a1, $s4, $zero
/* BE6AC8 80243318 0C090BDB */ jal func_80242F6C
/* BE6ACC 8024331C 0200302D */ daddu $a2, $s0, $zero
/* BE6AD0 80243320 8E630070 */ lw $v1, 0x70($s3)
/* BE6AD4 80243324 24020034 */ addiu $v0, $zero, 0x34
/* BE6AD8 80243328 14620006 */ bne $v1, $v0, .L80243344
/* BE6ADC 8024332C 0000102D */ daddu $v0, $zero, $zero
/* BE6AE0 80243330 0260202D */ daddu $a0, $s3, $zero
/* BE6AE4 80243334 0280282D */ daddu $a1, $s4, $zero
/* BE6AE8 80243338 0C090BF5 */ jal func_80242FD4
/* BE6AEC 8024333C 0200302D */ daddu $a2, $s0, $zero
.L80243340:
/* BE6AF0 80243340 0000102D */ daddu $v0, $zero, $zero
.L80243344:
/* BE6AF4 80243344 8FBF0048 */ lw $ra, 0x48($sp)
/* BE6AF8 80243348 8FB50044 */ lw $s5, 0x44($sp)
/* BE6AFC 8024334C 8FB40040 */ lw $s4, 0x40($sp)
/* BE6B00 80243350 8FB3003C */ lw $s3, 0x3c($sp)
/* BE6B04 80243354 8FB20038 */ lw $s2, 0x38($sp)
/* BE6B08 80243358 8FB10034 */ lw $s1, 0x34($sp)
/* BE6B0C 8024335C 8FB00030 */ lw $s0, 0x30($sp)
/* BE6B10 80243360 03E00008 */ jr $ra
/* BE6B14 80243364 27BD0050 */ addiu $sp, $sp, 0x50
/* BE6B18 80243368 00000000 */ nop
/* BE6B1C 8024336C 00000000 */ nop

View File

@ -0,0 +1,95 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_BE7BE0
/* BE7BE0 80240000 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE7BE4 80240004 AFB50024 */ sw $s5, 0x24($sp)
/* BE7BE8 80240008 0080A82D */ daddu $s5, $a0, $zero
/* BE7BEC 8024000C AFBF002C */ sw $ra, 0x2c($sp)
/* BE7BF0 80240010 AFB60028 */ sw $s6, 0x28($sp)
/* BE7BF4 80240014 AFB40020 */ sw $s4, 0x20($sp)
/* BE7BF8 80240018 AFB3001C */ sw $s3, 0x1c($sp)
/* BE7BFC 8024001C AFB20018 */ sw $s2, 0x18($sp)
/* BE7C00 80240020 AFB10014 */ sw $s1, 0x14($sp)
/* BE7C04 80240024 AFB00010 */ sw $s0, 0x10($sp)
/* BE7C08 80240028 F7B80040 */ sdc1 $f24, 0x40($sp)
/* BE7C0C 8024002C F7B60038 */ sdc1 $f22, 0x38($sp)
/* BE7C10 80240030 F7B40030 */ sdc1 $f20, 0x30($sp)
/* BE7C14 80240034 8EB30148 */ lw $s3, 0x148($s5)
/* BE7C18 80240038 86640008 */ lh $a0, 8($s3)
/* BE7C1C 8024003C 0C00EABB */ jal get_npc_unsafe
/* BE7C20 80240040 00A0B02D */ daddu $s6, $a1, $zero
/* BE7C24 80240044 0040A02D */ daddu $s4, $v0, $zero
/* BE7C28 80240048 AEA00074 */ sw $zero, 0x74($s5)
/* BE7C2C 8024004C C6980038 */ lwc1 $f24, 0x38($s4)
/* BE7C30 80240050 C6960040 */ lwc1 $f22, 0x40($s4)
/* BE7C34 80240054 0000902D */ daddu $s2, $zero, $zero
/* BE7C38 80240058 AEA00078 */ sw $zero, 0x78($s5)
/* BE7C3C 8024005C 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE7C40 80240060 8C620000 */ lw $v0, ($v1)
/* BE7C44 80240064 3C0146FF */ lui $at, 0x46ff
/* BE7C48 80240068 3421FE00 */ ori $at, $at, 0xfe00
/* BE7C4C 8024006C 4481A000 */ mtc1 $at, $f20
/* BE7C50 80240070 18400018 */ blez $v0, .L802400D4
/* BE7C54 80240074 0240802D */ daddu $s0, $s2, $zero
/* BE7C58 80240078 0240882D */ daddu $s1, $s2, $zero
.L8024007C:
/* BE7C5C 8024007C 02231021 */ addu $v0, $s1, $v1
/* BE7C60 80240080 4600C306 */ mov.s $f12, $f24
/* BE7C64 80240084 C4440004 */ lwc1 $f4, 4($v0)
/* BE7C68 80240088 46802120 */ cvt.s.w $f4, $f4
/* BE7C6C 8024008C 44062000 */ mfc1 $a2, $f4
/* BE7C70 80240090 C444000C */ lwc1 $f4, 0xc($v0)
/* BE7C74 80240094 46802120 */ cvt.s.w $f4, $f4
/* BE7C78 80240098 44072000 */ mfc1 $a3, $f4
/* BE7C7C 8024009C 0C00A7B5 */ jal dist2D
/* BE7C80 802400A0 4600B386 */ mov.s $f14, $f22
/* BE7C84 802400A4 4614003C */ c.lt.s $f0, $f20
/* BE7C88 802400A8 00000000 */ nop
/* BE7C8C 802400AC 45000003 */ bc1f .L802400BC
/* BE7C90 802400B0 2631000C */ addiu $s1, $s1, 0xc
/* BE7C94 802400B4 46000506 */ mov.s $f20, $f0
/* BE7C98 802400B8 AEB20078 */ sw $s2, 0x78($s5)
.L802400BC:
/* BE7C9C 802400BC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE7CA0 802400C0 26100001 */ addiu $s0, $s0, 1
/* BE7CA4 802400C4 8C620000 */ lw $v0, ($v1)
/* BE7CA8 802400C8 0202102A */ slt $v0, $s0, $v0
/* BE7CAC 802400CC 1440FFEB */ bnez $v0, .L8024007C
/* BE7CB0 802400D0 26520001 */ addiu $s2, $s2, 1
.L802400D4:
/* BE7CB4 802400D4 8E6200CC */ lw $v0, 0xcc($s3)
/* BE7CB8 802400D8 8C420004 */ lw $v0, 4($v0)
/* BE7CBC 802400DC AE820028 */ sw $v0, 0x28($s4)
/* BE7CC0 802400E0 8E6200D0 */ lw $v0, 0xd0($s3)
/* BE7CC4 802400E4 8C42007C */ lw $v0, 0x7c($v0)
/* BE7CC8 802400E8 04410004 */ bgez $v0, .L802400FC
/* BE7CCC 802400EC 00000000 */ nop
/* BE7CD0 802400F0 C6C00000 */ lwc1 $f0, ($s6)
/* BE7CD4 802400F4 08090047 */ j .L8024011C
/* BE7CD8 802400F8 E6800018 */ swc1 $f0, 0x18($s4)
.L802400FC:
/* BE7CDC 802400FC 3C018024 */ lui $at, 0x8024
/* BE7CE0 80240100 D4225050 */ ldc1 $f2, 0x5050($at)
/* BE7CE4 80240104 44820000 */ mtc1 $v0, $f0
/* BE7CE8 80240108 00000000 */ nop
/* BE7CEC 8024010C 46800021 */ cvt.d.w $f0, $f0
/* BE7CF0 80240110 46220003 */ div.d $f0, $f0, $f2
/* BE7CF4 80240114 46200020 */ cvt.s.d $f0, $f0
/* BE7CF8 80240118 E6800018 */ swc1 $f0, 0x18($s4)
.L8024011C:
/* BE7CFC 8024011C 24020001 */ addiu $v0, $zero, 1
/* BE7D00 80240120 AEA20070 */ sw $v0, 0x70($s5)
/* BE7D04 80240124 8FBF002C */ lw $ra, 0x2c($sp)
/* BE7D08 80240128 8FB60028 */ lw $s6, 0x28($sp)
/* BE7D0C 8024012C 8FB50024 */ lw $s5, 0x24($sp)
/* BE7D10 80240130 8FB40020 */ lw $s4, 0x20($sp)
/* BE7D14 80240134 8FB3001C */ lw $s3, 0x1c($sp)
/* BE7D18 80240138 8FB20018 */ lw $s2, 0x18($sp)
/* BE7D1C 8024013C 8FB10014 */ lw $s1, 0x14($sp)
/* BE7D20 80240140 8FB00010 */ lw $s0, 0x10($sp)
/* BE7D24 80240144 D7B80040 */ ldc1 $f24, 0x40($sp)
/* BE7D28 80240148 D7B60038 */ ldc1 $f22, 0x38($sp)
/* BE7D2C 8024014C D7B40030 */ ldc1 $f20, 0x30($sp)
/* BE7D30 80240150 03E00008 */ jr $ra
/* BE7D34 80240154 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,183 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240158_BE7D38
/* BE7D38 80240158 27BDFFA8 */ addiu $sp, $sp, -0x58
/* BE7D3C 8024015C AFB20038 */ sw $s2, 0x38($sp)
/* BE7D40 80240160 0080902D */ daddu $s2, $a0, $zero
/* BE7D44 80240164 AFBF0044 */ sw $ra, 0x44($sp)
/* BE7D48 80240168 AFB40040 */ sw $s4, 0x40($sp)
/* BE7D4C 8024016C AFB3003C */ sw $s3, 0x3c($sp)
/* BE7D50 80240170 AFB10034 */ sw $s1, 0x34($sp)
/* BE7D54 80240174 AFB00030 */ sw $s0, 0x30($sp)
/* BE7D58 80240178 F7B60050 */ sdc1 $f22, 0x50($sp)
/* BE7D5C 8024017C F7B40048 */ sdc1 $f20, 0x48($sp)
/* BE7D60 80240180 8E510148 */ lw $s1, 0x148($s2)
/* BE7D64 80240184 00A0982D */ daddu $s3, $a1, $zero
/* BE7D68 80240188 86240008 */ lh $a0, 8($s1)
/* BE7D6C 8024018C 0C00EABB */ jal get_npc_unsafe
/* BE7D70 80240190 00C0A02D */ daddu $s4, $a2, $zero
/* BE7D74 80240194 8E630014 */ lw $v1, 0x14($s3)
/* BE7D78 80240198 04600030 */ bltz $v1, .L8024025C
/* BE7D7C 8024019C 0040802D */ daddu $s0, $v0, $zero
/* BE7D80 802401A0 8E420074 */ lw $v0, 0x74($s2)
/* BE7D84 802401A4 1C40002C */ bgtz $v0, .L80240258
/* BE7D88 802401A8 2442FFFF */ addiu $v0, $v0, -1
/* BE7D8C 802401AC 0280202D */ daddu $a0, $s4, $zero
/* BE7D90 802401B0 AE430074 */ sw $v1, 0x74($s2)
/* BE7D94 802401B4 AFA00010 */ sw $zero, 0x10($sp)
/* BE7D98 802401B8 8E66000C */ lw $a2, 0xc($s3)
/* BE7D9C 802401BC 8E670010 */ lw $a3, 0x10($s3)
/* BE7DA0 802401C0 0C01242D */ jal func_800490B4
/* BE7DA4 802401C4 0220282D */ daddu $a1, $s1, $zero
/* BE7DA8 802401C8 10400021 */ beqz $v0, .L80240250
/* BE7DAC 802401CC 0000202D */ daddu $a0, $zero, $zero
/* BE7DB0 802401D0 0200282D */ daddu $a1, $s0, $zero
/* BE7DB4 802401D4 0000302D */ daddu $a2, $zero, $zero
/* BE7DB8 802401D8 860300A8 */ lh $v1, 0xa8($s0)
/* BE7DBC 802401DC 3C013F80 */ lui $at, 0x3f80
/* BE7DC0 802401E0 44810000 */ mtc1 $at, $f0
/* BE7DC4 802401E4 3C014000 */ lui $at, 0x4000
/* BE7DC8 802401E8 44811000 */ mtc1 $at, $f2
/* BE7DCC 802401EC 3C01C1A0 */ lui $at, 0xc1a0
/* BE7DD0 802401F0 44812000 */ mtc1 $at, $f4
/* BE7DD4 802401F4 2402000F */ addiu $v0, $zero, 0xf
/* BE7DD8 802401F8 AFA2001C */ sw $v0, 0x1c($sp)
/* BE7DDC 802401FC 44833000 */ mtc1 $v1, $f6
/* BE7DE0 80240200 00000000 */ nop
/* BE7DE4 80240204 468031A0 */ cvt.s.w $f6, $f6
/* BE7DE8 80240208 44073000 */ mfc1 $a3, $f6
/* BE7DEC 8024020C 27A20028 */ addiu $v0, $sp, 0x28
/* BE7DF0 80240210 AFA20020 */ sw $v0, 0x20($sp)
/* BE7DF4 80240214 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE7DF8 80240218 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE7DFC 8024021C 0C01BFA4 */ jal fx_emote
/* BE7E00 80240220 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE7E04 80240224 0200202D */ daddu $a0, $s0, $zero
/* BE7E08 80240228 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE7E0C 8024022C 0C012530 */ jal func_800494C0
/* BE7E10 80240230 3C060020 */ lui $a2, 0x20
/* BE7E14 80240234 8E220018 */ lw $v0, 0x18($s1)
/* BE7E18 80240238 9442002A */ lhu $v0, 0x2a($v0)
/* BE7E1C 8024023C 30420001 */ andi $v0, $v0, 1
/* BE7E20 80240240 14400064 */ bnez $v0, .L802403D4
/* BE7E24 80240244 2402000A */ addiu $v0, $zero, 0xa
/* BE7E28 80240248 080900F5 */ j .L802403D4
/* BE7E2C 8024024C 2402000C */ addiu $v0, $zero, 0xc
.L80240250:
/* BE7E30 80240250 8E420074 */ lw $v0, 0x74($s2)
/* BE7E34 80240254 2442FFFF */ addiu $v0, $v0, -1
.L80240258:
/* BE7E38 80240258 AE420074 */ sw $v0, 0x74($s2)
.L8024025C:
/* BE7E3C 8024025C 8602008C */ lh $v0, 0x8c($s0)
/* BE7E40 80240260 1440005D */ bnez $v0, .L802403D8
/* BE7E44 80240264 00000000 */ nop
/* BE7E48 80240268 C6000018 */ lwc1 $f0, 0x18($s0)
/* BE7E4C 8024026C 3C014010 */ lui $at, 0x4010
/* BE7E50 80240270 44811800 */ mtc1 $at, $f3
/* BE7E54 80240274 44801000 */ mtc1 $zero, $f2
/* BE7E58 80240278 46000021 */ cvt.d.s $f0, $f0
/* BE7E5C 8024027C 4622003C */ c.lt.d $f0, $f2
/* BE7E60 80240280 00000000 */ nop
/* BE7E64 80240284 45000003 */ bc1f .L80240294
/* BE7E68 80240288 0200202D */ daddu $a0, $s0, $zero
/* BE7E6C 8024028C 080900A6 */ j .L80240298
/* BE7E70 80240290 0000282D */ daddu $a1, $zero, $zero
.L80240294:
/* BE7E74 80240294 24050001 */ addiu $a1, $zero, 1
.L80240298:
/* BE7E78 80240298 0C00F598 */ jal func_8003D660
/* BE7E7C 8024029C 00000000 */ nop
/* BE7E80 802402A0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE7E84 802402A4 8E430078 */ lw $v1, 0x78($s2)
/* BE7E88 802402A8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE7E8C 802402AC 00031040 */ sll $v0, $v1, 1
/* BE7E90 802402B0 00431021 */ addu $v0, $v0, $v1
/* BE7E94 802402B4 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE7E98 802402B8 00021080 */ sll $v0, $v0, 2
/* BE7E9C 802402BC 00431021 */ addu $v0, $v0, $v1
/* BE7EA0 802402C0 C4560004 */ lwc1 $f22, 4($v0)
/* BE7EA4 802402C4 4680B5A0 */ cvt.s.w $f22, $f22
/* BE7EA8 802402C8 C454000C */ lwc1 $f20, 0xc($v0)
/* BE7EAC 802402CC 4680A520 */ cvt.s.w $f20, $f20
/* BE7EB0 802402D0 4406B000 */ mfc1 $a2, $f22
/* BE7EB4 802402D4 4407A000 */ mfc1 $a3, $f20
/* BE7EB8 802402D8 0C00A720 */ jal atan2
/* BE7EBC 802402DC 00000000 */ nop
/* BE7EC0 802402E0 8E050018 */ lw $a1, 0x18($s0)
/* BE7EC4 802402E4 44060000 */ mfc1 $a2, $f0
/* BE7EC8 802402E8 0200202D */ daddu $a0, $s0, $zero
/* BE7ECC 802402EC 0C00EA95 */ jal npc_move_heading
/* BE7ED0 802402F0 AE06000C */ sw $a2, 0xc($s0)
/* BE7ED4 802402F4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE7ED8 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE7EDC 802402FC 4406B000 */ mfc1 $a2, $f22
/* BE7EE0 80240300 4407A000 */ mfc1 $a3, $f20
/* BE7EE4 80240304 0C00A7B5 */ jal dist2D
/* BE7EE8 80240308 00000000 */ nop
/* BE7EEC 8024030C C6020018 */ lwc1 $f2, 0x18($s0)
/* BE7EF0 80240310 4602003E */ c.le.s $f0, $f2
/* BE7EF4 80240314 00000000 */ nop
/* BE7EF8 80240318 4500002F */ bc1f .L802403D8
/* BE7EFC 8024031C 240403E8 */ addiu $a0, $zero, 0x3e8
/* BE7F00 80240320 24020002 */ addiu $v0, $zero, 2
/* BE7F04 80240324 0C00A67F */ jal rand_int
/* BE7F08 80240328 AE420070 */ sw $v0, 0x70($s2)
/* BE7F0C 8024032C 3C035555 */ lui $v1, 0x5555
/* BE7F10 80240330 34635556 */ ori $v1, $v1, 0x5556
/* BE7F14 80240334 00430018 */ mult $v0, $v1
/* BE7F18 80240338 000227C3 */ sra $a0, $v0, 0x1f
/* BE7F1C 8024033C 00004010 */ mfhi $t0
/* BE7F20 80240340 01042023 */ subu $a0, $t0, $a0
/* BE7F24 80240344 00041840 */ sll $v1, $a0, 1
/* BE7F28 80240348 00641821 */ addu $v1, $v1, $a0
/* BE7F2C 8024034C 00431023 */ subu $v0, $v0, $v1
/* BE7F30 80240350 24430002 */ addiu $v1, $v0, 2
/* BE7F34 80240354 AE430074 */ sw $v1, 0x74($s2)
/* BE7F38 80240358 8E62002C */ lw $v0, 0x2c($s3)
/* BE7F3C 8024035C 18400009 */ blez $v0, .L80240384
/* BE7F40 80240360 24020004 */ addiu $v0, $zero, 4
/* BE7F44 80240364 8E620004 */ lw $v0, 4($s3)
/* BE7F48 80240368 18400006 */ blez $v0, .L80240384
/* BE7F4C 8024036C 24020004 */ addiu $v0, $zero, 4
/* BE7F50 80240370 8E620008 */ lw $v0, 8($s3)
/* BE7F54 80240374 18400003 */ blez $v0, .L80240384
/* BE7F58 80240378 24020004 */ addiu $v0, $zero, 4
/* BE7F5C 8024037C 14600002 */ bnez $v1, .L80240388
/* BE7F60 80240380 00000000 */ nop
.L80240384:
/* BE7F64 80240384 AE420070 */ sw $v0, 0x70($s2)
.L80240388:
/* BE7F68 80240388 0C00A67F */ jal rand_int
/* BE7F6C 8024038C 24042710 */ addiu $a0, $zero, 0x2710
/* BE7F70 80240390 3C0351EB */ lui $v1, 0x51eb
/* BE7F74 80240394 3463851F */ ori $v1, $v1, 0x851f
/* BE7F78 80240398 00430018 */ mult $v0, $v1
/* BE7F7C 8024039C 00021FC3 */ sra $v1, $v0, 0x1f
/* BE7F80 802403A0 00004010 */ mfhi $t0
/* BE7F84 802403A4 00082143 */ sra $a0, $t0, 5
/* BE7F88 802403A8 00832023 */ subu $a0, $a0, $v1
/* BE7F8C 802403AC 00041840 */ sll $v1, $a0, 1
/* BE7F90 802403B0 00641821 */ addu $v1, $v1, $a0
/* BE7F94 802403B4 000318C0 */ sll $v1, $v1, 3
/* BE7F98 802403B8 00641821 */ addu $v1, $v1, $a0
/* BE7F9C 802403BC 00031880 */ sll $v1, $v1, 2
/* BE7FA0 802403C0 8E640004 */ lw $a0, 4($s3)
/* BE7FA4 802403C4 00431023 */ subu $v0, $v0, $v1
/* BE7FA8 802403C8 0044102A */ slt $v0, $v0, $a0
/* BE7FAC 802403CC 10400002 */ beqz $v0, .L802403D8
/* BE7FB0 802403D0 24020004 */ addiu $v0, $zero, 4
.L802403D4:
/* BE7FB4 802403D4 AE420070 */ sw $v0, 0x70($s2)
.L802403D8:
/* BE7FB8 802403D8 8FBF0044 */ lw $ra, 0x44($sp)
/* BE7FBC 802403DC 8FB40040 */ lw $s4, 0x40($sp)
/* BE7FC0 802403E0 8FB3003C */ lw $s3, 0x3c($sp)
/* BE7FC4 802403E4 8FB20038 */ lw $s2, 0x38($sp)
/* BE7FC8 802403E8 8FB10034 */ lw $s1, 0x34($sp)
/* BE7FCC 802403EC 8FB00030 */ lw $s0, 0x30($sp)
/* BE7FD0 802403F0 D7B60050 */ ldc1 $f22, 0x50($sp)
/* BE7FD4 802403F4 D7B40048 */ ldc1 $f20, 0x48($sp)
/* BE7FD8 802403F8 03E00008 */ jr $ra
/* BE7FDC 802403FC 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240400_BE7FE0
/* BE7FE0 80240400 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE7FE4 80240404 AFB3001C */ sw $s3, 0x1c($sp)
/* BE7FE8 80240408 0080982D */ daddu $s3, $a0, $zero
/* BE7FEC 8024040C AFBF0020 */ sw $ra, 0x20($sp)
/* BE7FF0 80240410 AFB20018 */ sw $s2, 0x18($sp)
/* BE7FF4 80240414 AFB10014 */ sw $s1, 0x14($sp)
/* BE7FF8 80240418 AFB00010 */ sw $s0, 0x10($sp)
/* BE7FFC 8024041C 8E720148 */ lw $s2, 0x148($s3)
/* BE8000 80240420 86440008 */ lh $a0, 8($s2)
/* BE8004 80240424 0C00EABB */ jal get_npc_unsafe
/* BE8008 80240428 00A0882D */ daddu $s1, $a1, $zero
/* BE800C 8024042C 8E240008 */ lw $a0, 8($s1)
/* BE8010 80240430 0040802D */ daddu $s0, $v0, $zero
/* BE8014 80240434 00041FC2 */ srl $v1, $a0, 0x1f
/* BE8018 80240438 00832021 */ addu $a0, $a0, $v1
/* BE801C 8024043C 00042043 */ sra $a0, $a0, 1
/* BE8020 80240440 0C00A67F */ jal rand_int
/* BE8024 80240444 24840001 */ addiu $a0, $a0, 1
/* BE8028 80240448 8E230008 */ lw $v1, 8($s1)
/* BE802C 8024044C 240400B4 */ addiu $a0, $zero, 0xb4
/* BE8030 80240450 00032FC2 */ srl $a1, $v1, 0x1f
/* BE8034 80240454 00651821 */ addu $v1, $v1, $a1
/* BE8038 80240458 00031843 */ sra $v1, $v1, 1
/* BE803C 8024045C 00621821 */ addu $v1, $v1, $v0
/* BE8040 80240460 0C00A67F */ jal rand_int
/* BE8044 80240464 A603008E */ sh $v1, 0x8e($s0)
/* BE8048 80240468 C60C000C */ lwc1 $f12, 0xc($s0)
/* BE804C 8024046C 44820000 */ mtc1 $v0, $f0
/* BE8050 80240470 00000000 */ nop
/* BE8054 80240474 46800020 */ cvt.s.w $f0, $f0
/* BE8058 80240478 46006300 */ add.s $f12, $f12, $f0
/* BE805C 8024047C 3C0142B4 */ lui $at, 0x42b4
/* BE8060 80240480 44810000 */ mtc1 $at, $f0
/* BE8064 80240484 0C00A6C9 */ jal clamp_angle
/* BE8068 80240488 46006301 */ sub.s $f12, $f12, $f0
/* BE806C 8024048C E600000C */ swc1 $f0, 0xc($s0)
/* BE8070 80240490 8E4200CC */ lw $v0, 0xcc($s2)
/* BE8074 80240494 8C420000 */ lw $v0, ($v0)
/* BE8078 80240498 AE020028 */ sw $v0, 0x28($s0)
/* BE807C 8024049C 24020003 */ addiu $v0, $zero, 3
/* BE8080 802404A0 AE620070 */ sw $v0, 0x70($s3)
/* BE8084 802404A4 8FBF0020 */ lw $ra, 0x20($sp)
/* BE8088 802404A8 8FB3001C */ lw $s3, 0x1c($sp)
/* BE808C 802404AC 8FB20018 */ lw $s2, 0x18($sp)
/* BE8090 802404B0 8FB10014 */ lw $s1, 0x14($sp)
/* BE8094 802404B4 8FB00010 */ lw $s0, 0x10($sp)
/* BE8098 802404B8 03E00008 */ jr $ra
/* BE809C 802404BC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,120 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802404C0_BE80A0
/* BE80A0 802404C0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE80A4 802404C4 AFB40040 */ sw $s4, 0x40($sp)
/* BE80A8 802404C8 0080A02D */ daddu $s4, $a0, $zero
/* BE80AC 802404CC AFBF0044 */ sw $ra, 0x44($sp)
/* BE80B0 802404D0 AFB3003C */ sw $s3, 0x3c($sp)
/* BE80B4 802404D4 AFB20038 */ sw $s2, 0x38($sp)
/* BE80B8 802404D8 AFB10034 */ sw $s1, 0x34($sp)
/* BE80BC 802404DC AFB00030 */ sw $s0, 0x30($sp)
/* BE80C0 802404E0 8E910148 */ lw $s1, 0x148($s4)
/* BE80C4 802404E4 00A0902D */ daddu $s2, $a1, $zero
/* BE80C8 802404E8 86240008 */ lh $a0, 8($s1)
/* BE80CC 802404EC 0C00EABB */ jal get_npc_unsafe
/* BE80D0 802404F0 00C0982D */ daddu $s3, $a2, $zero
/* BE80D4 802404F4 8E430014 */ lw $v1, 0x14($s2)
/* BE80D8 802404F8 04600031 */ bltz $v1, .L802405C0
/* BE80DC 802404FC 0040802D */ daddu $s0, $v0, $zero
/* BE80E0 80240500 0260202D */ daddu $a0, $s3, $zero
/* BE80E4 80240504 AFA00010 */ sw $zero, 0x10($sp)
/* BE80E8 80240508 8E460024 */ lw $a2, 0x24($s2)
/* BE80EC 8024050C 8E470028 */ lw $a3, 0x28($s2)
/* BE80F0 80240510 0C01242D */ jal func_800490B4
/* BE80F4 80240514 0220282D */ daddu $a1, $s1, $zero
/* BE80F8 80240518 10400029 */ beqz $v0, .L802405C0
/* BE80FC 8024051C 0000202D */ daddu $a0, $zero, $zero
/* BE8100 80240520 0200282D */ daddu $a1, $s0, $zero
/* BE8104 80240524 0000302D */ daddu $a2, $zero, $zero
/* BE8108 80240528 860300A8 */ lh $v1, 0xa8($s0)
/* BE810C 8024052C 3C013F80 */ lui $at, 0x3f80
/* BE8110 80240530 44810000 */ mtc1 $at, $f0
/* BE8114 80240534 3C014000 */ lui $at, 0x4000
/* BE8118 80240538 44811000 */ mtc1 $at, $f2
/* BE811C 8024053C 3C01C1A0 */ lui $at, 0xc1a0
/* BE8120 80240540 44812000 */ mtc1 $at, $f4
/* BE8124 80240544 2402000F */ addiu $v0, $zero, 0xf
/* BE8128 80240548 AFA2001C */ sw $v0, 0x1c($sp)
/* BE812C 8024054C 44833000 */ mtc1 $v1, $f6
/* BE8130 80240550 00000000 */ nop
/* BE8134 80240554 468031A0 */ cvt.s.w $f6, $f6
/* BE8138 80240558 44073000 */ mfc1 $a3, $f6
/* BE813C 8024055C 27A20028 */ addiu $v0, $sp, 0x28
/* BE8140 80240560 AFA20020 */ sw $v0, 0x20($sp)
/* BE8144 80240564 E7A00010 */ swc1 $f0, 0x10($sp)
/* BE8148 80240568 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE814C 8024056C 0C01BFA4 */ jal fx_emote
/* BE8150 80240570 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE8154 80240574 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE8158 80240578 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE815C 8024057C C60C0038 */ lwc1 $f12, 0x38($s0)
/* BE8160 80240580 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BE8164 80240584 8C460028 */ lw $a2, 0x28($v0)
/* BE8168 80240588 0C00A720 */ jal atan2
/* BE816C 8024058C 8C470030 */ lw $a3, 0x30($v0)
/* BE8170 80240590 0200202D */ daddu $a0, $s0, $zero
/* BE8174 80240594 240502F4 */ addiu $a1, $zero, 0x2f4
/* BE8178 80240598 3C060020 */ lui $a2, 0x20
/* BE817C 8024059C 0C012530 */ jal func_800494C0
/* BE8180 802405A0 E480000C */ swc1 $f0, 0xc($a0)
/* BE8184 802405A4 8E220018 */ lw $v0, 0x18($s1)
/* BE8188 802405A8 9442002A */ lhu $v0, 0x2a($v0)
/* BE818C 802405AC 30420001 */ andi $v0, $v0, 1
/* BE8190 802405B0 14400029 */ bnez $v0, .L80240658
/* BE8194 802405B4 2402000A */ addiu $v0, $zero, 0xa
/* BE8198 802405B8 08090196 */ j .L80240658
/* BE819C 802405BC 2402000C */ addiu $v0, $zero, 0xc
.L802405C0:
/* BE81A0 802405C0 8602008C */ lh $v0, 0x8c($s0)
/* BE81A4 802405C4 14400025 */ bnez $v0, .L8024065C
/* BE81A8 802405C8 00000000 */ nop
/* BE81AC 802405CC 9602008E */ lhu $v0, 0x8e($s0)
/* BE81B0 802405D0 2442FFFF */ addiu $v0, $v0, -1
/* BE81B4 802405D4 A602008E */ sh $v0, 0x8e($s0)
/* BE81B8 802405D8 00021400 */ sll $v0, $v0, 0x10
/* BE81BC 802405DC 1440001F */ bnez $v0, .L8024065C
/* BE81C0 802405E0 00000000 */ nop
/* BE81C4 802405E4 8E820074 */ lw $v0, 0x74($s4)
/* BE81C8 802405E8 2442FFFF */ addiu $v0, $v0, -1
/* BE81CC 802405EC 10400019 */ beqz $v0, .L80240654
/* BE81D0 802405F0 AE820074 */ sw $v0, 0x74($s4)
/* BE81D4 802405F4 8E220018 */ lw $v0, 0x18($s1)
/* BE81D8 802405F8 9442002A */ lhu $v0, 0x2a($v0)
/* BE81DC 802405FC 30420010 */ andi $v0, $v0, 0x10
/* BE81E0 80240600 14400007 */ bnez $v0, .L80240620
/* BE81E4 80240604 00000000 */ nop
/* BE81E8 80240608 C600000C */ lwc1 $f0, 0xc($s0)
/* BE81EC 8024060C 3C014334 */ lui $at, 0x4334
/* BE81F0 80240610 44816000 */ mtc1 $at, $f12
/* BE81F4 80240614 0C00A6C9 */ jal clamp_angle
/* BE81F8 80240618 460C0300 */ add.s $f12, $f0, $f12
/* BE81FC 8024061C E600000C */ swc1 $f0, 0xc($s0)
.L80240620:
/* BE8200 80240620 8E440008 */ lw $a0, 8($s2)
/* BE8204 80240624 000417C2 */ srl $v0, $a0, 0x1f
/* BE8208 80240628 00822021 */ addu $a0, $a0, $v0
/* BE820C 8024062C 00042043 */ sra $a0, $a0, 1
/* BE8210 80240630 0C00A67F */ jal rand_int
/* BE8214 80240634 24840001 */ addiu $a0, $a0, 1
/* BE8218 80240638 8E430008 */ lw $v1, 8($s2)
/* BE821C 8024063C 000327C2 */ srl $a0, $v1, 0x1f
/* BE8220 80240640 00641821 */ addu $v1, $v1, $a0
/* BE8224 80240644 00031843 */ sra $v1, $v1, 1
/* BE8228 80240648 00621821 */ addu $v1, $v1, $v0
/* BE822C 8024064C 08090197 */ j .L8024065C
/* BE8230 80240650 A603008E */ sh $v1, 0x8e($s0)
.L80240654:
/* BE8234 80240654 24020004 */ addiu $v0, $zero, 4
.L80240658:
/* BE8238 80240658 AE820070 */ sw $v0, 0x70($s4)
.L8024065C:
/* BE823C 8024065C 8FBF0044 */ lw $ra, 0x44($sp)
/* BE8240 80240660 8FB40040 */ lw $s4, 0x40($sp)
/* BE8244 80240664 8FB3003C */ lw $s3, 0x3c($sp)
/* BE8248 80240668 8FB20038 */ lw $s2, 0x38($sp)
/* BE824C 8024066C 8FB10034 */ lw $s1, 0x34($sp)
/* BE8250 80240670 8FB00030 */ lw $s0, 0x30($sp)
/* BE8254 80240674 03E00008 */ jr $ra
/* BE8258 80240678 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,52 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024067C_BE825C
/* BE825C 8024067C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE8260 80240680 AFB10014 */ sw $s1, 0x14($sp)
/* BE8264 80240684 0080882D */ daddu $s1, $a0, $zero
/* BE8268 80240688 AFBF001C */ sw $ra, 0x1c($sp)
/* BE826C 8024068C AFB20018 */ sw $s2, 0x18($sp)
/* BE8270 80240690 AFB00010 */ sw $s0, 0x10($sp)
/* BE8274 80240694 8E300148 */ lw $s0, 0x148($s1)
/* BE8278 80240698 86040008 */ lh $a0, 8($s0)
/* BE827C 8024069C 0C00EABB */ jal get_npc_unsafe
/* BE8280 802406A0 00A0902D */ daddu $s2, $a1, $zero
/* BE8284 802406A4 8E230078 */ lw $v1, 0x78($s1)
/* BE8288 802406A8 24630001 */ addiu $v1, $v1, 1
/* BE828C 802406AC AE230078 */ sw $v1, 0x78($s1)
/* BE8290 802406B0 8E0400D0 */ lw $a0, 0xd0($s0)
/* BE8294 802406B4 8C840000 */ lw $a0, ($a0)
/* BE8298 802406B8 0064182A */ slt $v1, $v1, $a0
/* BE829C 802406BC 14600002 */ bnez $v1, .L802406C8
/* BE82A0 802406C0 0040282D */ daddu $a1, $v0, $zero
/* BE82A4 802406C4 AE200078 */ sw $zero, 0x78($s1)
.L802406C8:
/* BE82A8 802406C8 8E0200CC */ lw $v0, 0xcc($s0)
/* BE82AC 802406CC 8C420004 */ lw $v0, 4($v0)
/* BE82B0 802406D0 ACA20028 */ sw $v0, 0x28($a1)
/* BE82B4 802406D4 8E0200D0 */ lw $v0, 0xd0($s0)
/* BE82B8 802406D8 8C42007C */ lw $v0, 0x7c($v0)
/* BE82BC 802406DC 04410004 */ bgez $v0, .L802406F0
/* BE82C0 802406E0 00000000 */ nop
/* BE82C4 802406E4 C6400000 */ lwc1 $f0, ($s2)
/* BE82C8 802406E8 080901C4 */ j .L80240710
/* BE82CC 802406EC E4A00018 */ swc1 $f0, 0x18($a1)
.L802406F0:
/* BE82D0 802406F0 3C018024 */ lui $at, 0x8024
/* BE82D4 802406F4 D4225058 */ ldc1 $f2, 0x5058($at)
/* BE82D8 802406F8 44820000 */ mtc1 $v0, $f0
/* BE82DC 802406FC 00000000 */ nop
/* BE82E0 80240700 46800021 */ cvt.d.w $f0, $f0
/* BE82E4 80240704 46220003 */ div.d $f0, $f0, $f2
/* BE82E8 80240708 46200020 */ cvt.s.d $f0, $f0
/* BE82EC 8024070C E4A00018 */ swc1 $f0, 0x18($a1)
.L80240710:
/* BE82F0 80240710 24020001 */ addiu $v0, $zero, 1
/* BE82F4 80240714 AE220070 */ sw $v0, 0x70($s1)
/* BE82F8 80240718 8FBF001C */ lw $ra, 0x1c($sp)
/* BE82FC 8024071C 8FB20018 */ lw $s2, 0x18($sp)
/* BE8300 80240720 8FB10014 */ lw $s1, 0x14($sp)
/* BE8304 80240724 8FB00010 */ lw $s0, 0x10($sp)
/* BE8308 80240728 03E00008 */ jr $ra
/* BE830C 8024072C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240730_BE8310
/* BE8310 80240730 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE8314 80240734 AFB10014 */ sw $s1, 0x14($sp)
/* BE8318 80240738 0080882D */ daddu $s1, $a0, $zero
/* BE831C 8024073C AFBF0018 */ sw $ra, 0x18($sp)
/* BE8320 80240740 AFB00010 */ sw $s0, 0x10($sp)
/* BE8324 80240744 8E300148 */ lw $s0, 0x148($s1)
/* BE8328 80240748 0C00EABB */ jal get_npc_unsafe
/* BE832C 8024074C 86040008 */ lh $a0, 8($s0)
/* BE8330 80240750 8E0300CC */ lw $v1, 0xcc($s0)
/* BE8334 80240754 3C014120 */ lui $at, 0x4120
/* BE8338 80240758 44812000 */ mtc1 $at, $f4
/* BE833C 8024075C 3C014000 */ lui $at, 0x4000
/* BE8340 80240760 44810000 */ mtc1 $at, $f0
/* BE8344 80240764 C442003C */ lwc1 $f2, 0x3c($v0)
/* BE8348 80240768 8C640010 */ lw $a0, 0x10($v1)
/* BE834C 8024076C 8C430000 */ lw $v1, ($v0)
/* BE8350 80240770 E444001C */ swc1 $f4, 0x1c($v0)
/* BE8354 80240774 E4400014 */ swc1 $f0, 0x14($v0)
/* BE8358 80240778 E4420064 */ swc1 $f2, 0x64($v0)
/* BE835C 8024077C 34630800 */ ori $v1, $v1, 0x800
/* BE8360 80240780 AC430000 */ sw $v1, ($v0)
/* BE8364 80240784 AC440028 */ sw $a0, 0x28($v0)
/* BE8368 80240788 2402000B */ addiu $v0, $zero, 0xb
/* BE836C 8024078C AE220070 */ sw $v0, 0x70($s1)
/* BE8370 80240790 8FBF0018 */ lw $ra, 0x18($sp)
/* BE8374 80240794 8FB10014 */ lw $s1, 0x14($sp)
/* BE8378 80240798 8FB00010 */ lw $s0, 0x10($sp)
/* BE837C 8024079C 03E00008 */ jr $ra
/* BE8380 802407A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,35 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802407A4_BE8384
/* BE8384 802407A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE8388 802407A8 AFB00010 */ sw $s0, 0x10($sp)
/* BE838C 802407AC 0080802D */ daddu $s0, $a0, $zero
/* BE8390 802407B0 AFBF0014 */ sw $ra, 0x14($sp)
/* BE8394 802407B4 8E020148 */ lw $v0, 0x148($s0)
/* BE8398 802407B8 0C00EABB */ jal get_npc_unsafe
/* BE839C 802407BC 84440008 */ lh $a0, 8($v0)
/* BE83A0 802407C0 0040202D */ daddu $a0, $v0, $zero
/* BE83A4 802407C4 C482003C */ lwc1 $f2, 0x3c($a0)
/* BE83A8 802407C8 C480001C */ lwc1 $f0, 0x1c($a0)
/* BE83AC 802407CC 46001080 */ add.s $f2, $f2, $f0
/* BE83B0 802407D0 C4840014 */ lwc1 $f4, 0x14($a0)
/* BE83B4 802407D4 46040001 */ sub.s $f0, $f0, $f4
/* BE83B8 802407D8 C4840064 */ lwc1 $f4, 0x64($a0)
/* BE83BC 802407DC 4602203C */ c.lt.s $f4, $f2
/* BE83C0 802407E0 E482003C */ swc1 $f2, 0x3c($a0)
/* BE83C4 802407E4 45010009 */ bc1t .L8024080C
/* BE83C8 802407E8 E480001C */ swc1 $f0, 0x1c($a0)
/* BE83CC 802407EC 8C820000 */ lw $v0, ($a0)
/* BE83D0 802407F0 2403F7FF */ addiu $v1, $zero, -0x801
/* BE83D4 802407F4 E484003C */ swc1 $f4, 0x3c($a0)
/* BE83D8 802407F8 AC80001C */ sw $zero, 0x1c($a0)
/* BE83DC 802407FC 00431024 */ and $v0, $v0, $v1
/* BE83E0 80240800 AC820000 */ sw $v0, ($a0)
/* BE83E4 80240804 2402000C */ addiu $v0, $zero, 0xc
/* BE83E8 80240808 AE020070 */ sw $v0, 0x70($s0)
.L8024080C:
/* BE83EC 8024080C 8FBF0014 */ lw $ra, 0x14($sp)
/* BE83F0 80240810 8FB00010 */ lw $s0, 0x10($sp)
/* BE83F4 80240814 03E00008 */ jr $ra
/* BE83F8 80240818 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,82 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024081C_BE83FC
/* BE83FC 8024081C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BE8400 80240820 AFB3001C */ sw $s3, 0x1c($sp)
/* BE8404 80240824 0080982D */ daddu $s3, $a0, $zero
/* BE8408 80240828 AFBF0020 */ sw $ra, 0x20($sp)
/* BE840C 8024082C AFB20018 */ sw $s2, 0x18($sp)
/* BE8410 80240830 AFB10014 */ sw $s1, 0x14($sp)
/* BE8414 80240834 AFB00010 */ sw $s0, 0x10($sp)
/* BE8418 80240838 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BE841C 8024083C 8E710148 */ lw $s1, 0x148($s3)
/* BE8420 80240840 86240008 */ lh $a0, 8($s1)
/* BE8424 80240844 0C00EABB */ jal get_npc_unsafe
/* BE8428 80240848 00A0802D */ daddu $s0, $a1, $zero
/* BE842C 8024084C 8E040020 */ lw $a0, 0x20($s0)
/* BE8430 80240850 0040902D */ daddu $s2, $v0, $zero
/* BE8434 80240854 00041FC2 */ srl $v1, $a0, 0x1f
/* BE8438 80240858 00832021 */ addu $a0, $a0, $v1
/* BE843C 8024085C 00042043 */ sra $a0, $a0, 1
/* BE8440 80240860 0C00A67F */ jal rand_int
/* BE8444 80240864 24840001 */ addiu $a0, $a0, 1
/* BE8448 80240868 8E030020 */ lw $v1, 0x20($s0)
/* BE844C 8024086C C64C0038 */ lwc1 $f12, 0x38($s2)
/* BE8450 80240870 000327C2 */ srl $a0, $v1, 0x1f
/* BE8454 80240874 00641821 */ addu $v1, $v1, $a0
/* BE8458 80240878 00031843 */ sra $v1, $v1, 1
/* BE845C 8024087C 00621821 */ addu $v1, $v1, $v0
/* BE8460 80240880 A643008E */ sh $v1, 0x8e($s2)
/* BE8464 80240884 8E2200CC */ lw $v0, 0xcc($s1)
/* BE8468 80240888 C64E0040 */ lwc1 $f14, 0x40($s2)
/* BE846C 8024088C 8C42000C */ lw $v0, 0xc($v0)
/* BE8470 80240890 AE420028 */ sw $v0, 0x28($s2)
/* BE8474 80240894 C6000018 */ lwc1 $f0, 0x18($s0)
/* BE8478 80240898 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BE847C 8024089C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BE8480 802408A0 E6400018 */ swc1 $f0, 0x18($s2)
/* BE8484 802408A4 8C460028 */ lw $a2, 0x28($v0)
/* BE8488 802408A8 0C00A720 */ jal atan2
/* BE848C 802408AC 8C470030 */ lw $a3, 0x30($v0)
/* BE8490 802408B0 46000506 */ mov.s $f20, $f0
/* BE8494 802408B4 C64C000C */ lwc1 $f12, 0xc($s2)
/* BE8498 802408B8 0C00A70A */ jal get_clamped_angle_diff
/* BE849C 802408BC 4600A386 */ mov.s $f14, $f20
/* BE84A0 802408C0 46000086 */ mov.s $f2, $f0
/* BE84A4 802408C4 8E02001C */ lw $v0, 0x1c($s0)
/* BE84A8 802408C8 46001005 */ abs.s $f0, $f2
/* BE84AC 802408CC 44822000 */ mtc1 $v0, $f4
/* BE84B0 802408D0 00000000 */ nop
/* BE84B4 802408D4 46802120 */ cvt.s.w $f4, $f4
/* BE84B8 802408D8 4600203C */ c.lt.s $f4, $f0
/* BE84BC 802408DC 00000000 */ nop
/* BE84C0 802408E0 4500000D */ bc1f .L80240918
/* BE84C4 802408E4 00000000 */ nop
/* BE84C8 802408E8 44800000 */ mtc1 $zero, $f0
/* BE84CC 802408EC C654000C */ lwc1 $f20, 0xc($s2)
/* BE84D0 802408F0 4600103C */ c.lt.s $f2, $f0
/* BE84D4 802408F4 00000000 */ nop
/* BE84D8 802408F8 45000006 */ bc1f .L80240914
/* BE84DC 802408FC 00021023 */ negu $v0, $v0
/* BE84E0 80240900 44820000 */ mtc1 $v0, $f0
/* BE84E4 80240904 00000000 */ nop
/* BE84E8 80240908 46800020 */ cvt.s.w $f0, $f0
/* BE84EC 8024090C 08090246 */ j .L80240918
/* BE84F0 80240910 4600A500 */ add.s $f20, $f20, $f0
.L80240914:
/* BE84F4 80240914 4604A500 */ add.s $f20, $f20, $f4
.L80240918:
/* BE84F8 80240918 0C00A6C9 */ jal clamp_angle
/* BE84FC 8024091C 4600A306 */ mov.s $f12, $f20
/* BE8500 80240920 2402000D */ addiu $v0, $zero, 0xd
/* BE8504 80240924 E640000C */ swc1 $f0, 0xc($s2)
/* BE8508 80240928 AE620070 */ sw $v0, 0x70($s3)
/* BE850C 8024092C 8FBF0020 */ lw $ra, 0x20($sp)
/* BE8510 80240930 8FB3001C */ lw $s3, 0x1c($sp)
/* BE8514 80240934 8FB20018 */ lw $s2, 0x18($sp)
/* BE8518 80240938 8FB10014 */ lw $s1, 0x14($sp)
/* BE851C 8024093C 8FB00010 */ lw $s0, 0x10($sp)
/* BE8520 80240940 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BE8524 80240944 03E00008 */ jr $ra
/* BE8528 80240948 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,80 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024094C_BE852C
/* BE852C 8024094C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE8530 80240950 AFB3003C */ sw $s3, 0x3c($sp)
/* BE8534 80240954 0080982D */ daddu $s3, $a0, $zero
/* BE8538 80240958 AFBF0040 */ sw $ra, 0x40($sp)
/* BE853C 8024095C AFB20038 */ sw $s2, 0x38($sp)
/* BE8540 80240960 AFB10034 */ sw $s1, 0x34($sp)
/* BE8544 80240964 AFB00030 */ sw $s0, 0x30($sp)
/* BE8548 80240968 8E720148 */ lw $s2, 0x148($s3)
/* BE854C 8024096C 00A0882D */ daddu $s1, $a1, $zero
/* BE8550 80240970 86440008 */ lh $a0, 8($s2)
/* BE8554 80240974 0C00EABB */ jal get_npc_unsafe
/* BE8558 80240978 00C0802D */ daddu $s0, $a2, $zero
/* BE855C 8024097C 0200202D */ daddu $a0, $s0, $zero
/* BE8560 80240980 0240282D */ daddu $a1, $s2, $zero
/* BE8564 80240984 24030001 */ addiu $v1, $zero, 1
/* BE8568 80240988 AFA30010 */ sw $v1, 0x10($sp)
/* BE856C 8024098C 8E260024 */ lw $a2, 0x24($s1)
/* BE8570 80240990 8E270028 */ lw $a3, 0x28($s1)
/* BE8574 80240994 0C01242D */ jal func_800490B4
/* BE8578 80240998 0040802D */ daddu $s0, $v0, $zero
/* BE857C 8024099C 1440001E */ bnez $v0, .L80240A18
/* BE8580 802409A0 0200202D */ daddu $a0, $s0, $zero
/* BE8584 802409A4 24040002 */ addiu $a0, $zero, 2
/* BE8588 802409A8 0200282D */ daddu $a1, $s0, $zero
/* BE858C 802409AC 0000302D */ daddu $a2, $zero, $zero
/* BE8590 802409B0 860300A8 */ lh $v1, 0xa8($s0)
/* BE8594 802409B4 3C013F80 */ lui $at, 0x3f80
/* BE8598 802409B8 44810000 */ mtc1 $at, $f0
/* BE859C 802409BC 3C014000 */ lui $at, 0x4000
/* BE85A0 802409C0 44811000 */ mtc1 $at, $f2
/* BE85A4 802409C4 3C01C1A0 */ lui $at, 0xc1a0
/* BE85A8 802409C8 44812000 */ mtc1 $at, $f4
/* BE85AC 802409CC 2402000F */ addiu $v0, $zero, 0xf
/* BE85B0 802409D0 AFA2001C */ sw $v0, 0x1c($sp)
/* BE85B4 802409D4 44833000 */ mtc1 $v1, $f6
/* BE85B8 802409D8 00000000 */ nop
/* BE85BC 802409DC 468031A0 */ cvt.s.w $f6, $f6
/* BE85C0 802409E0 44073000 */ mfc1 $a3, $f6
/* BE85C4 802409E4 27A20028 */ addiu $v0, $sp, 0x28
/* BE85C8 802409E8 AFA20020 */ sw $v0, 0x20($sp)
/* BE85CC 802409EC E7A00010 */ swc1 $f0, 0x10($sp)
/* BE85D0 802409F0 E7A20014 */ swc1 $f2, 0x14($sp)
/* BE85D4 802409F4 0C01BFA4 */ jal fx_emote
/* BE85D8 802409F8 E7A40018 */ swc1 $f4, 0x18($sp)
/* BE85DC 802409FC 8E4200CC */ lw $v0, 0xcc($s2)
/* BE85E0 80240A00 8C430000 */ lw $v1, ($v0)
/* BE85E4 80240A04 24020019 */ addiu $v0, $zero, 0x19
/* BE85E8 80240A08 A602008E */ sh $v0, 0x8e($s0)
/* BE85EC 80240A0C 2402000E */ addiu $v0, $zero, 0xe
/* BE85F0 80240A10 08090293 */ j .L80240A4C
/* BE85F4 80240A14 AE030028 */ sw $v1, 0x28($s0)
.L80240A18:
/* BE85F8 80240A18 0C00F598 */ jal func_8003D660
/* BE85FC 80240A1C 24050001 */ addiu $a1, $zero, 1
/* BE8600 80240A20 8E050018 */ lw $a1, 0x18($s0)
/* BE8604 80240A24 8E06000C */ lw $a2, 0xc($s0)
/* BE8608 80240A28 0C00EA95 */ jal npc_move_heading
/* BE860C 80240A2C 0200202D */ daddu $a0, $s0, $zero
/* BE8610 80240A30 8602008E */ lh $v0, 0x8e($s0)
/* BE8614 80240A34 9603008E */ lhu $v1, 0x8e($s0)
/* BE8618 80240A38 18400003 */ blez $v0, .L80240A48
/* BE861C 80240A3C 2462FFFF */ addiu $v0, $v1, -1
/* BE8620 80240A40 08090294 */ j .L80240A50
/* BE8624 80240A44 A602008E */ sh $v0, 0x8e($s0)
.L80240A48:
/* BE8628 80240A48 2402000C */ addiu $v0, $zero, 0xc
.L80240A4C:
/* BE862C 80240A4C AE620070 */ sw $v0, 0x70($s3)
.L80240A50:
/* BE8630 80240A50 8FBF0040 */ lw $ra, 0x40($sp)
/* BE8634 80240A54 8FB3003C */ lw $s3, 0x3c($sp)
/* BE8638 80240A58 8FB20038 */ lw $s2, 0x38($sp)
/* BE863C 80240A5C 8FB10034 */ lw $s1, 0x34($sp)
/* BE8640 80240A60 8FB00030 */ lw $s0, 0x30($sp)
/* BE8644 80240A64 03E00008 */ jr $ra
/* BE8648 80240A68 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,32 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240A6C_BE864C
/* BE864C 80240A6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE8650 80240A70 AFB10014 */ sw $s1, 0x14($sp)
/* BE8654 80240A74 0080882D */ daddu $s1, $a0, $zero
/* BE8658 80240A78 AFBF0018 */ sw $ra, 0x18($sp)
/* BE865C 80240A7C AFB00010 */ sw $s0, 0x10($sp)
/* BE8660 80240A80 8E300148 */ lw $s0, 0x148($s1)
/* BE8664 80240A84 0C00EABB */ jal get_npc_unsafe
/* BE8668 80240A88 86040008 */ lh $a0, 8($s0)
/* BE866C 80240A8C 9443008E */ lhu $v1, 0x8e($v0)
/* BE8670 80240A90 2463FFFF */ addiu $v1, $v1, -1
/* BE8674 80240A94 A443008E */ sh $v1, 0x8e($v0)
/* BE8678 80240A98 00031C00 */ sll $v1, $v1, 0x10
/* BE867C 80240A9C 14600008 */ bnez $v1, .L80240AC0
/* BE8680 80240AA0 00000000 */ nop
/* BE8684 80240AA4 8E0200B0 */ lw $v0, 0xb0($s0)
/* BE8688 80240AA8 30420080 */ andi $v0, $v0, 0x80
/* BE868C 80240AAC 10400003 */ beqz $v0, .L80240ABC
/* BE8690 80240AB0 2402000F */ addiu $v0, $zero, 0xf
/* BE8694 80240AB4 080902B0 */ j .L80240AC0
/* BE8698 80240AB8 AE220070 */ sw $v0, 0x70($s1)
.L80240ABC:
/* BE869C 80240ABC AE200070 */ sw $zero, 0x70($s1)
.L80240AC0:
/* BE86A0 80240AC0 8FBF0018 */ lw $ra, 0x18($sp)
/* BE86A4 80240AC4 8FB10014 */ lw $s1, 0x14($sp)
/* BE86A8 80240AC8 8FB00010 */ lw $s0, 0x10($sp)
/* BE86AC 80240ACC 03E00008 */ jr $ra
/* BE86B0 80240AD0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,55 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240AD4_BE86B4
/* BE86B4 80240AD4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BE86B8 80240AD8 AFB10014 */ sw $s1, 0x14($sp)
/* BE86BC 80240ADC 0080882D */ daddu $s1, $a0, $zero
/* BE86C0 80240AE0 AFBF001C */ sw $ra, 0x1c($sp)
/* BE86C4 80240AE4 AFB20018 */ sw $s2, 0x18($sp)
/* BE86C8 80240AE8 AFB00010 */ sw $s0, 0x10($sp)
/* BE86CC 80240AEC 8E300148 */ lw $s0, 0x148($s1)
/* BE86D0 80240AF0 86040008 */ lh $a0, 8($s0)
/* BE86D4 80240AF4 0C00EABB */ jal get_npc_unsafe
/* BE86D8 80240AF8 00A0902D */ daddu $s2, $a1, $zero
/* BE86DC 80240AFC 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE86E0 80240B00 8E240078 */ lw $a0, 0x78($s1)
/* BE86E4 80240B04 8C630000 */ lw $v1, ($v1)
/* BE86E8 80240B08 0083182A */ slt $v1, $a0, $v1
/* BE86EC 80240B0C 10600013 */ beqz $v1, .L80240B5C
/* BE86F0 80240B10 0040302D */ daddu $a2, $v0, $zero
/* BE86F4 80240B14 00041040 */ sll $v0, $a0, 1
/* BE86F8 80240B18 00441021 */ addu $v0, $v0, $a0
/* BE86FC 80240B1C 00022880 */ sll $a1, $v0, 2
.L80240B20:
/* BE8700 80240B20 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE8704 80240B24 C4C2003C */ lwc1 $f2, 0x3c($a2)
/* BE8708 80240B28 00A31021 */ addu $v0, $a1, $v1
/* BE870C 80240B2C C4400008 */ lwc1 $f0, 8($v0)
/* BE8710 80240B30 46800020 */ cvt.s.w $f0, $f0
/* BE8714 80240B34 4602003E */ c.le.s $f0, $f2
/* BE8718 80240B38 00000000 */ nop
/* BE871C 80240B3C 45020003 */ bc1fl .L80240B4C
/* BE8720 80240B40 24840001 */ addiu $a0, $a0, 1
/* BE8724 80240B44 080902D7 */ j .L80240B5C
/* BE8728 80240B48 AE240078 */ sw $a0, 0x78($s1)
.L80240B4C:
/* BE872C 80240B4C 8C620000 */ lw $v0, ($v1)
/* BE8730 80240B50 0082102A */ slt $v0, $a0, $v0
/* BE8734 80240B54 1440FFF2 */ bnez $v0, .L80240B20
/* BE8738 80240B58 24A5000C */ addiu $a1, $a1, 0xc
.L80240B5C:
/* BE873C 80240B5C C6400000 */ lwc1 $f0, ($s2)
/* BE8740 80240B60 E4C00018 */ swc1 $f0, 0x18($a2)
/* BE8744 80240B64 8E0200CC */ lw $v0, 0xcc($s0)
/* BE8748 80240B68 8C420004 */ lw $v0, 4($v0)
/* BE874C 80240B6C ACC20028 */ sw $v0, 0x28($a2)
/* BE8750 80240B70 24020001 */ addiu $v0, $zero, 1
/* BE8754 80240B74 AE200074 */ sw $zero, 0x74($s1)
/* BE8758 80240B78 AE220070 */ sw $v0, 0x70($s1)
/* BE875C 80240B7C 8FBF001C */ lw $ra, 0x1c($sp)
/* BE8760 80240B80 8FB20018 */ lw $s2, 0x18($sp)
/* BE8764 80240B84 8FB10014 */ lw $s1, 0x14($sp)
/* BE8768 80240B88 8FB00010 */ lw $s0, 0x10($sp)
/* BE876C 80240B8C 03E00008 */ jr $ra
/* BE8770 80240B90 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,202 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240B94_BE8774
/* BE8774 80240B94 27BDFF98 */ addiu $sp, $sp, -0x68
/* BE8778 80240B98 AFB40058 */ sw $s4, 0x58($sp)
/* BE877C 80240B9C 0080A02D */ daddu $s4, $a0, $zero
/* BE8780 80240BA0 AFBF0060 */ sw $ra, 0x60($sp)
/* BE8784 80240BA4 AFB5005C */ sw $s5, 0x5c($sp)
/* BE8788 80240BA8 AFB30054 */ sw $s3, 0x54($sp)
/* BE878C 80240BAC AFB20050 */ sw $s2, 0x50($sp)
/* BE8790 80240BB0 AFB1004C */ sw $s1, 0x4c($sp)
/* BE8794 80240BB4 AFB00048 */ sw $s0, 0x48($sp)
/* BE8798 80240BB8 8E910148 */ lw $s1, 0x148($s4)
/* BE879C 80240BBC 86240008 */ lh $a0, 8($s1)
/* BE87A0 80240BC0 0C00EABB */ jal get_npc_unsafe
/* BE87A4 80240BC4 00A0802D */ daddu $s0, $a1, $zero
/* BE87A8 80240BC8 8E83000C */ lw $v1, 0xc($s4)
/* BE87AC 80240BCC 0280202D */ daddu $a0, $s4, $zero
/* BE87B0 80240BD0 8C650000 */ lw $a1, ($v1)
/* BE87B4 80240BD4 0C0B1EAF */ jal get_variable
/* BE87B8 80240BD8 0040902D */ daddu $s2, $v0, $zero
/* BE87BC 80240BDC AFA00018 */ sw $zero, 0x18($sp)
/* BE87C0 80240BE0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE87C4 80240BE4 8C630094 */ lw $v1, 0x94($v1)
/* BE87C8 80240BE8 AFA3001C */ sw $v1, 0x1c($sp)
/* BE87CC 80240BEC 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE87D0 80240BF0 8C630080 */ lw $v1, 0x80($v1)
/* BE87D4 80240BF4 AFA30020 */ sw $v1, 0x20($sp)
/* BE87D8 80240BF8 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE87DC 80240BFC 8C630088 */ lw $v1, 0x88($v1)
/* BE87E0 80240C00 AFA30024 */ sw $v1, 0x24($sp)
/* BE87E4 80240C04 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE87E8 80240C08 8C63008C */ lw $v1, 0x8c($v1)
/* BE87EC 80240C0C 27B50018 */ addiu $s5, $sp, 0x18
/* BE87F0 80240C10 AFA30028 */ sw $v1, 0x28($sp)
/* BE87F4 80240C14 8E2300D0 */ lw $v1, 0xd0($s1)
/* BE87F8 80240C18 3C014282 */ lui $at, 0x4282
/* BE87FC 80240C1C 44810000 */ mtc1 $at, $f0
/* BE8800 80240C20 8C630090 */ lw $v1, 0x90($v1)
/* BE8804 80240C24 0040982D */ daddu $s3, $v0, $zero
/* BE8808 80240C28 E7A00030 */ swc1 $f0, 0x30($sp)
/* BE880C 80240C2C A7A00034 */ sh $zero, 0x34($sp)
/* BE8810 80240C30 16000005 */ bnez $s0, .L80240C48
/* BE8814 80240C34 AFA3002C */ sw $v1, 0x2c($sp)
/* BE8818 80240C38 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE881C 80240C3C 30420004 */ andi $v0, $v0, 4
/* BE8820 80240C40 10400044 */ beqz $v0, .L80240D54
/* BE8824 80240C44 00000000 */ nop
.L80240C48:
/* BE8828 80240C48 2404F7FF */ addiu $a0, $zero, -0x801
/* BE882C 80240C4C AE800070 */ sw $zero, 0x70($s4)
/* BE8830 80240C50 A640008E */ sh $zero, 0x8e($s2)
/* BE8834 80240C54 8E2200CC */ lw $v0, 0xcc($s1)
/* BE8838 80240C58 8E430000 */ lw $v1, ($s2)
/* BE883C 80240C5C 8C420000 */ lw $v0, ($v0)
/* BE8840 80240C60 00641824 */ and $v1, $v1, $a0
/* BE8844 80240C64 AE430000 */ sw $v1, ($s2)
/* BE8848 80240C68 AE420028 */ sw $v0, 0x28($s2)
/* BE884C 80240C6C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BE8850 80240C70 8C420098 */ lw $v0, 0x98($v0)
/* BE8854 80240C74 54400005 */ bnel $v0, $zero, .L80240C8C
/* BE8858 80240C78 2402FDFF */ addiu $v0, $zero, -0x201
/* BE885C 80240C7C 34620200 */ ori $v0, $v1, 0x200
/* BE8860 80240C80 2403FFF7 */ addiu $v1, $zero, -9
/* BE8864 80240C84 08090325 */ j .L80240C94
/* BE8868 80240C88 00431024 */ and $v0, $v0, $v1
.L80240C8C:
/* BE886C 80240C8C 00621024 */ and $v0, $v1, $v0
/* BE8870 80240C90 34420008 */ ori $v0, $v0, 8
.L80240C94:
/* BE8874 80240C94 AE420000 */ sw $v0, ($s2)
/* BE8878 80240C98 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE887C 80240C9C 30420004 */ andi $v0, $v0, 4
/* BE8880 80240CA0 10400008 */ beqz $v0, .L80240CC4
/* BE8884 80240CA4 24020063 */ addiu $v0, $zero, 0x63
/* BE8888 80240CA8 AE820070 */ sw $v0, 0x70($s4)
/* BE888C 80240CAC AE800074 */ sw $zero, 0x74($s4)
/* BE8890 80240CB0 8E2200B0 */ lw $v0, 0xb0($s1)
/* BE8894 80240CB4 2403FFFB */ addiu $v1, $zero, -5
/* BE8898 80240CB8 00431024 */ and $v0, $v0, $v1
/* BE889C 80240CBC 0809033C */ j .L80240CF0
/* BE88A0 80240CC0 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240CC4:
/* BE88A4 80240CC4 8E220000 */ lw $v0, ($s1)
/* BE88A8 80240CC8 3C034000 */ lui $v1, 0x4000
/* BE88AC 80240CCC 00431024 */ and $v0, $v0, $v1
/* BE88B0 80240CD0 10400007 */ beqz $v0, .L80240CF0
/* BE88B4 80240CD4 3C03BFFF */ lui $v1, 0xbfff
/* BE88B8 80240CD8 2402000C */ addiu $v0, $zero, 0xc
/* BE88BC 80240CDC AE820070 */ sw $v0, 0x70($s4)
/* BE88C0 80240CE0 8E220000 */ lw $v0, ($s1)
/* BE88C4 80240CE4 3463FFFF */ ori $v1, $v1, 0xffff
/* BE88C8 80240CE8 00431024 */ and $v0, $v0, $v1
/* BE88CC 80240CEC AE220000 */ sw $v0, ($s1)
.L80240CF0:
/* BE88D0 80240CF0 27A50038 */ addiu $a1, $sp, 0x38
/* BE88D4 80240CF4 27A6003C */ addiu $a2, $sp, 0x3c
/* BE88D8 80240CF8 C6400038 */ lwc1 $f0, 0x38($s2)
/* BE88DC 80240CFC 864200A8 */ lh $v0, 0xa8($s2)
/* BE88E0 80240D00 3C0142C8 */ lui $at, 0x42c8
/* BE88E4 80240D04 44812000 */ mtc1 $at, $f4
/* BE88E8 80240D08 44823000 */ mtc1 $v0, $f6
/* BE88EC 80240D0C 00000000 */ nop
/* BE88F0 80240D10 468031A0 */ cvt.s.w $f6, $f6
/* BE88F4 80240D14 27A20044 */ addiu $v0, $sp, 0x44
/* BE88F8 80240D18 E7A00038 */ swc1 $f0, 0x38($sp)
/* BE88FC 80240D1C C640003C */ lwc1 $f0, 0x3c($s2)
/* BE8900 80240D20 C6420040 */ lwc1 $f2, 0x40($s2)
/* BE8904 80240D24 46060000 */ add.s $f0, $f0, $f6
/* BE8908 80240D28 E7A40044 */ swc1 $f4, 0x44($sp)
/* BE890C 80240D2C E7A20040 */ swc1 $f2, 0x40($sp)
/* BE8910 80240D30 E7A0003C */ swc1 $f0, 0x3c($sp)
/* BE8914 80240D34 AFA20010 */ sw $v0, 0x10($sp)
/* BE8918 80240D38 8E440080 */ lw $a0, 0x80($s2)
/* BE891C 80240D3C 0C0372DF */ jal func_800DCB7C
/* BE8920 80240D40 27A70040 */ addiu $a3, $sp, 0x40
/* BE8924 80240D44 10400003 */ beqz $v0, .L80240D54
/* BE8928 80240D48 00000000 */ nop
/* BE892C 80240D4C C7A0003C */ lwc1 $f0, 0x3c($sp)
/* BE8930 80240D50 E640003C */ swc1 $f0, 0x3c($s2)
.L80240D54:
/* BE8934 80240D54 8E830070 */ lw $v1, 0x70($s4)
/* BE8938 80240D58 2C620064 */ sltiu $v0, $v1, 0x64
/* BE893C 80240D5C 10400042 */ beqz $v0, .L80240E68
/* BE8940 80240D60 00031080 */ sll $v0, $v1, 2
/* BE8944 80240D64 3C018024 */ lui $at, 0x8024
/* BE8948 80240D68 00220821 */ addu $at, $at, $v0
/* BE894C 80240D6C 8C225060 */ lw $v0, 0x5060($at)
/* BE8950 80240D70 00400008 */ jr $v0
/* BE8954 80240D74 00000000 */ nop
/* BE8958 80240D78 0280202D */ daddu $a0, $s4, $zero
/* BE895C 80240D7C 0260282D */ daddu $a1, $s3, $zero
/* BE8960 80240D80 0C090000 */ jal func_80240000
/* BE8964 80240D84 02A0302D */ daddu $a2, $s5, $zero
/* BE8968 80240D88 0280202D */ daddu $a0, $s4, $zero
/* BE896C 80240D8C 0260282D */ daddu $a1, $s3, $zero
/* BE8970 80240D90 0C090056 */ jal func_80240158
/* BE8974 80240D94 02A0302D */ daddu $a2, $s5, $zero
/* BE8978 80240D98 0809039A */ j .L80240E68
/* BE897C 80240D9C 00000000 */ nop
/* BE8980 80240DA0 0280202D */ daddu $a0, $s4, $zero
/* BE8984 80240DA4 0260282D */ daddu $a1, $s3, $zero
/* BE8988 80240DA8 0C090100 */ jal func_80240400
/* BE898C 80240DAC 02A0302D */ daddu $a2, $s5, $zero
/* BE8990 80240DB0 0280202D */ daddu $a0, $s4, $zero
/* BE8994 80240DB4 0260282D */ daddu $a1, $s3, $zero
/* BE8998 80240DB8 0C090130 */ jal func_802404C0
/* BE899C 80240DBC 02A0302D */ daddu $a2, $s5, $zero
/* BE89A0 80240DC0 0809039A */ j .L80240E68
/* BE89A4 80240DC4 00000000 */ nop
/* BE89A8 80240DC8 0280202D */ daddu $a0, $s4, $zero
/* BE89AC 80240DCC 0260282D */ daddu $a1, $s3, $zero
/* BE89B0 80240DD0 0C09019F */ jal func_8024067C
/* BE89B4 80240DD4 02A0302D */ daddu $a2, $s5, $zero
/* BE89B8 80240DD8 0809039A */ j .L80240E68
/* BE89BC 80240DDC 00000000 */ nop
/* BE89C0 80240DE0 0280202D */ daddu $a0, $s4, $zero
/* BE89C4 80240DE4 0260282D */ daddu $a1, $s3, $zero
/* BE89C8 80240DE8 0C0901CC */ jal func_80240730
/* BE89CC 80240DEC 02A0302D */ daddu $a2, $s5, $zero
/* BE89D0 80240DF0 0280202D */ daddu $a0, $s4, $zero
/* BE89D4 80240DF4 0260282D */ daddu $a1, $s3, $zero
/* BE89D8 80240DF8 0C0901E9 */ jal func_802407A4
/* BE89DC 80240DFC 02A0302D */ daddu $a2, $s5, $zero
/* BE89E0 80240E00 0809039A */ j .L80240E68
/* BE89E4 80240E04 00000000 */ nop
/* BE89E8 80240E08 0280202D */ daddu $a0, $s4, $zero
/* BE89EC 80240E0C 0260282D */ daddu $a1, $s3, $zero
/* BE89F0 80240E10 0C090207 */ jal func_8024081C
/* BE89F4 80240E14 02A0302D */ daddu $a2, $s5, $zero
/* BE89F8 80240E18 0280202D */ daddu $a0, $s4, $zero
/* BE89FC 80240E1C 0260282D */ daddu $a1, $s3, $zero
/* BE8A00 80240E20 0C090253 */ jal func_8024094C
/* BE8A04 80240E24 02A0302D */ daddu $a2, $s5, $zero
/* BE8A08 80240E28 0809039A */ j .L80240E68
/* BE8A0C 80240E2C 00000000 */ nop
/* BE8A10 80240E30 0280202D */ daddu $a0, $s4, $zero
/* BE8A14 80240E34 0260282D */ daddu $a1, $s3, $zero
/* BE8A18 80240E38 0C09029B */ jal func_80240A6C
/* BE8A1C 80240E3C 02A0302D */ daddu $a2, $s5, $zero
/* BE8A20 80240E40 0809039A */ j .L80240E68
/* BE8A24 80240E44 00000000 */ nop
/* BE8A28 80240E48 0280202D */ daddu $a0, $s4, $zero
/* BE8A2C 80240E4C 0260282D */ daddu $a1, $s3, $zero
/* BE8A30 80240E50 0C0902B5 */ jal func_80240AD4
/* BE8A34 80240E54 02A0302D */ daddu $a2, $s5, $zero
/* BE8A38 80240E58 0809039A */ j .L80240E68
/* BE8A3C 80240E5C 00000000 */ nop
/* BE8A40 80240E60 0C0129CF */ jal func_8004A73C
/* BE8A44 80240E64 0280202D */ daddu $a0, $s4, $zero
.L80240E68:
/* BE8A48 80240E68 8FBF0060 */ lw $ra, 0x60($sp)
/* BE8A4C 80240E6C 8FB5005C */ lw $s5, 0x5c($sp)
/* BE8A50 80240E70 8FB40058 */ lw $s4, 0x58($sp)
/* BE8A54 80240E74 8FB30054 */ lw $s3, 0x54($sp)
/* BE8A58 80240E78 8FB20050 */ lw $s2, 0x50($sp)
/* BE8A5C 80240E7C 8FB1004C */ lw $s1, 0x4c($sp)
/* BE8A60 80240E80 8FB00048 */ lw $s0, 0x48($sp)
/* BE8A64 80240E84 0000102D */ daddu $v0, $zero, $zero
/* BE8A68 80240E88 03E00008 */ jr $ra
/* BE8A6C 80240E8C 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -0,0 +1,126 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240E90_BE8A70
/* BE8A70 80240E90 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BE8A74 80240E94 AFB20030 */ sw $s2, 0x30($sp)
/* BE8A78 80240E98 0080902D */ daddu $s2, $a0, $zero
/* BE8A7C 80240E9C AFBF0034 */ sw $ra, 0x34($sp)
/* BE8A80 80240EA0 AFB1002C */ sw $s1, 0x2c($sp)
/* BE8A84 80240EA4 AFB00028 */ sw $s0, 0x28($sp)
/* BE8A88 80240EA8 F7B60040 */ sdc1 $f22, 0x40($sp)
/* BE8A8C 80240EAC F7B40038 */ sdc1 $f20, 0x38($sp)
/* BE8A90 80240EB0 8E500148 */ lw $s0, 0x148($s2)
/* BE8A94 80240EB4 0C00EABB */ jal get_npc_unsafe
/* BE8A98 80240EB8 86040008 */ lh $a0, 8($s0)
/* BE8A9C 80240EBC 0040882D */ daddu $s1, $v0, $zero
/* BE8AA0 80240EC0 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BE8AA4 80240EC4 8E430078 */ lw $v1, 0x78($s2)
/* BE8AA8 80240EC8 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BE8AAC 80240ECC 00031040 */ sll $v0, $v1, 1
/* BE8AB0 80240ED0 00431021 */ addu $v0, $v0, $v1
/* BE8AB4 80240ED4 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE8AB8 80240ED8 00021080 */ sll $v0, $v0, 2
/* BE8ABC 80240EDC 00431021 */ addu $v0, $v0, $v1
/* BE8AC0 80240EE0 C4560004 */ lwc1 $f22, 4($v0)
/* BE8AC4 80240EE4 4680B5A0 */ cvt.s.w $f22, $f22
/* BE8AC8 80240EE8 C454000C */ lwc1 $f20, 0xc($v0)
/* BE8ACC 80240EEC 4680A520 */ cvt.s.w $f20, $f20
/* BE8AD0 80240EF0 4406B000 */ mfc1 $a2, $f22
/* BE8AD4 80240EF4 4407A000 */ mfc1 $a3, $f20
/* BE8AD8 80240EF8 E7AC0018 */ swc1 $f12, 0x18($sp)
/* BE8ADC 80240EFC 0C00A720 */ jal atan2
/* BE8AE0 80240F00 E7AE0020 */ swc1 $f14, 0x20($sp)
/* BE8AE4 80240F04 8E250018 */ lw $a1, 0x18($s1)
/* BE8AE8 80240F08 44060000 */ mfc1 $a2, $f0
/* BE8AEC 80240F0C 0220202D */ daddu $a0, $s1, $zero
/* BE8AF0 80240F10 0C00EA95 */ jal npc_move_heading
/* BE8AF4 80240F14 AE26000C */ sw $a2, 0xc($s1)
/* BE8AF8 80240F18 27A50018 */ addiu $a1, $sp, 0x18
/* BE8AFC 80240F1C 27A6001C */ addiu $a2, $sp, 0x1c
/* BE8B00 80240F20 C6200038 */ lwc1 $f0, 0x38($s1)
/* BE8B04 80240F24 8E430078 */ lw $v1, 0x78($s2)
/* BE8B08 80240F28 3C01447A */ lui $at, 0x447a
/* BE8B0C 80240F2C 44812000 */ mtc1 $at, $f4
/* BE8B10 80240F30 00031040 */ sll $v0, $v1, 1
/* BE8B14 80240F34 00431021 */ addu $v0, $v0, $v1
/* BE8B18 80240F38 00021080 */ sll $v0, $v0, 2
/* BE8B1C 80240F3C E7A00018 */ swc1 $f0, 0x18($sp)
/* BE8B20 80240F40 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE8B24 80240F44 C620003C */ lwc1 $f0, 0x3c($s1)
/* BE8B28 80240F48 C6220040 */ lwc1 $f2, 0x40($s1)
/* BE8B2C 80240F4C 00431021 */ addu $v0, $v0, $v1
/* BE8B30 80240F50 C4460008 */ lwc1 $f6, 8($v0)
/* BE8B34 80240F54 468031A0 */ cvt.s.w $f6, $f6
/* BE8B38 80240F58 27A20024 */ addiu $v0, $sp, 0x24
/* BE8B3C 80240F5C 46060000 */ add.s $f0, $f0, $f6
/* BE8B40 80240F60 E7A20020 */ swc1 $f2, 0x20($sp)
/* BE8B44 80240F64 E7A40024 */ swc1 $f4, 0x24($sp)
/* BE8B48 80240F68 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BE8B4C 80240F6C AFA20010 */ sw $v0, 0x10($sp)
/* BE8B50 80240F70 8E240080 */ lw $a0, 0x80($s1)
/* BE8B54 80240F74 0C0372DF */ jal func_800DCB7C
/* BE8B58 80240F78 27A70020 */ addiu $a3, $sp, 0x20
/* BE8B5C 80240F7C 8E430078 */ lw $v1, 0x78($s2)
/* BE8B60 80240F80 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* BE8B64 80240F84 00031040 */ sll $v0, $v1, 1
/* BE8B68 80240F88 00431021 */ addu $v0, $v0, $v1
/* BE8B6C 80240F8C 8E0300D0 */ lw $v1, 0xd0($s0)
/* BE8B70 80240F90 00021080 */ sll $v0, $v0, 2
/* BE8B74 80240F94 00431021 */ addu $v0, $v0, $v1
/* BE8B78 80240F98 C4400008 */ lwc1 $f0, 8($v0)
/* BE8B7C 80240F9C 46800020 */ cvt.s.w $f0, $f0
/* BE8B80 80240FA0 46001080 */ add.s $f2, $f2, $f0
/* BE8B84 80240FA4 C620003C */ lwc1 $f0, 0x3c($s1)
/* BE8B88 80240FA8 3C014000 */ lui $at, 0x4000
/* BE8B8C 80240FAC 44813800 */ mtc1 $at, $f7
/* BE8B90 80240FB0 44803000 */ mtc1 $zero, $f6
/* BE8B94 80240FB4 46001001 */ sub.s $f0, $f2, $f0
/* BE8B98 80240FB8 E7A2001C */ swc1 $f2, 0x1c($sp)
/* BE8B9C 80240FBC 46000121 */ cvt.d.s $f4, $f0
/* BE8BA0 80240FC0 4624303C */ c.lt.d $f6, $f4
/* BE8BA4 80240FC4 00000000 */ nop
/* BE8BA8 80240FC8 45000005 */ bc1f .L80240FE0
/* BE8BAC 80240FCC E7A00024 */ swc1 $f0, 0x24($sp)
/* BE8BB0 80240FD0 C620003C */ lwc1 $f0, 0x3c($s1)
/* BE8BB4 80240FD4 46000021 */ cvt.d.s $f0, $f0
/* BE8BB8 80240FD8 08090403 */ j .L8024100C
/* BE8BBC 80240FDC 46260000 */ add.d $f0, $f0, $f6
.L80240FE0:
/* BE8BC0 80240FE0 3C01C000 */ lui $at, 0xc000
/* BE8BC4 80240FE4 44810800 */ mtc1 $at, $f1
/* BE8BC8 80240FE8 44800000 */ mtc1 $zero, $f0
/* BE8BCC 80240FEC 00000000 */ nop
/* BE8BD0 80240FF0 4620203C */ c.lt.d $f4, $f0
/* BE8BD4 80240FF4 00000000 */ nop
/* BE8BD8 80240FF8 45020006 */ bc1fl .L80241014
/* BE8BDC 80240FFC E622003C */ swc1 $f2, 0x3c($s1)
/* BE8BE0 80241000 C620003C */ lwc1 $f0, 0x3c($s1)
/* BE8BE4 80241004 46000021 */ cvt.d.s $f0, $f0
/* BE8BE8 80241008 46260001 */ sub.d $f0, $f0, $f6
.L8024100C:
/* BE8BEC 8024100C 46200020 */ cvt.s.d $f0, $f0
/* BE8BF0 80241010 E620003C */ swc1 $f0, 0x3c($s1)
.L80241014:
/* BE8BF4 80241014 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BE8BF8 80241018 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BE8BFC 8024101C 4406B000 */ mfc1 $a2, $f22
/* BE8C00 80241020 4407A000 */ mfc1 $a3, $f20
/* BE8C04 80241024 0C00A7B5 */ jal dist2D
/* BE8C08 80241028 00000000 */ nop
/* BE8C0C 8024102C C6220018 */ lwc1 $f2, 0x18($s1)
/* BE8C10 80241030 4600103C */ c.lt.s $f2, $f0
/* BE8C14 80241034 00000000 */ nop
/* BE8C18 80241038 45010003 */ bc1t .L80241048
/* BE8C1C 8024103C E7A00024 */ swc1 $f0, 0x24($sp)
/* BE8C20 80241040 24020002 */ addiu $v0, $zero, 2
/* BE8C24 80241044 AE420070 */ sw $v0, 0x70($s2)
.L80241048:
/* BE8C28 80241048 8FBF0034 */ lw $ra, 0x34($sp)
/* BE8C2C 8024104C 8FB20030 */ lw $s2, 0x30($sp)
/* BE8C30 80241050 8FB1002C */ lw $s1, 0x2c($sp)
/* BE8C34 80241054 8FB00028 */ lw $s0, 0x28($sp)
/* BE8C38 80241058 D7B60040 */ ldc1 $f22, 0x40($sp)
/* BE8C3C 8024105C D7B40038 */ ldc1 $f20, 0x38($sp)
/* BE8C40 80241060 03E00008 */ jr $ra
/* BE8C44 80241064 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -0,0 +1,59 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241068_BE8C48
/* BE8C48 80241068 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BE8C4C 8024106C AFB10014 */ sw $s1, 0x14($sp)
/* BE8C50 80241070 0080882D */ daddu $s1, $a0, $zero
/* BE8C54 80241074 AFBF0020 */ sw $ra, 0x20($sp)
/* BE8C58 80241078 AFB3001C */ sw $s3, 0x1c($sp)
/* BE8C5C 8024107C AFB20018 */ sw $s2, 0x18($sp)
/* BE8C60 80241080 AFB00010 */ sw $s0, 0x10($sp)
/* BE8C64 80241084 8E320148 */ lw $s2, 0x148($s1)
/* BE8C68 80241088 86440008 */ lh $a0, 8($s2)
/* BE8C6C 8024108C 0C00EABB */ jal get_npc_unsafe
/* BE8C70 80241090 00A0982D */ daddu $s3, $a1, $zero
/* BE8C74 80241094 0040802D */ daddu $s0, $v0, $zero
/* BE8C78 80241098 9602008E */ lhu $v0, 0x8e($s0)
/* BE8C7C 8024109C 2442FFFF */ addiu $v0, $v0, -1
/* BE8C80 802410A0 A602008E */ sh $v0, 0x8e($s0)
/* BE8C84 802410A4 00021400 */ sll $v0, $v0, 0x10
/* BE8C88 802410A8 0441001D */ bgez $v0, .L80241120
/* BE8C8C 802410AC 00000000 */ nop
/* BE8C90 802410B0 8E220074 */ lw $v0, 0x74($s1)
/* BE8C94 802410B4 2442FFFF */ addiu $v0, $v0, -1
/* BE8C98 802410B8 04400014 */ bltz $v0, .L8024110C
/* BE8C9C 802410BC AE220074 */ sw $v0, 0x74($s1)
/* BE8CA0 802410C0 C600000C */ lwc1 $f0, 0xc($s0)
/* BE8CA4 802410C4 3C014334 */ lui $at, 0x4334
/* BE8CA8 802410C8 44816000 */ mtc1 $at, $f12
/* BE8CAC 802410CC 0C00A6C9 */ jal clamp_angle
/* BE8CB0 802410D0 460C0300 */ add.s $f12, $f0, $f12
/* BE8CB4 802410D4 E600000C */ swc1 $f0, 0xc($s0)
/* BE8CB8 802410D8 8E640008 */ lw $a0, 8($s3)
/* BE8CBC 802410DC 000417C2 */ srl $v0, $a0, 0x1f
/* BE8CC0 802410E0 00822021 */ addu $a0, $a0, $v0
/* BE8CC4 802410E4 00042043 */ sra $a0, $a0, 1
/* BE8CC8 802410E8 0C00A67F */ jal rand_int
/* BE8CCC 802410EC 24840001 */ addiu $a0, $a0, 1
/* BE8CD0 802410F0 8E630008 */ lw $v1, 8($s3)
/* BE8CD4 802410F4 000327C2 */ srl $a0, $v1, 0x1f
/* BE8CD8 802410F8 00641821 */ addu $v1, $v1, $a0
/* BE8CDC 802410FC 00031843 */ sra $v1, $v1, 1
/* BE8CE0 80241100 00621821 */ addu $v1, $v1, $v0
/* BE8CE4 80241104 08090448 */ j .L80241120
/* BE8CE8 80241108 A603008E */ sh $v1, 0x8e($s0)
.L8024110C:
/* BE8CEC 8024110C 24020004 */ addiu $v0, $zero, 4
/* BE8CF0 80241110 AE220070 */ sw $v0, 0x70($s1)
/* BE8CF4 80241114 8E4200CC */ lw $v0, 0xcc($s2)
/* BE8CF8 80241118 8C420000 */ lw $v0, ($v0)
/* BE8CFC 8024111C AE020028 */ sw $v0, 0x28($s0)
.L80241120:
/* BE8D00 80241120 8FBF0020 */ lw $ra, 0x20($sp)
/* BE8D04 80241124 8FB3001C */ lw $s3, 0x1c($sp)
/* BE8D08 80241128 8FB20018 */ lw $s2, 0x18($sp)
/* BE8D0C 8024112C 8FB10014 */ lw $s1, 0x14($sp)
/* BE8D10 80241130 8FB00010 */ lw $s0, 0x10($sp)
/* BE8D14 80241134 03E00008 */ jr $ra
/* BE8D18 80241138 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,99 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024113C_BE8D1C
/* BE8D1C 8024113C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BE8D20 80241140 AFB40040 */ sw $s4, 0x40($sp)
/* BE8D24 80241144 0080A02D */ daddu $s4, $a0, $zero
/* BE8D28 80241148 AFBF0048 */ sw $ra, 0x48($sp)
/* BE8D2C 8024114C AFB50044 */ sw $s5, 0x44($sp)
/* BE8D30 80241150 AFB3003C */ sw $s3, 0x3c($sp)
/* BE8D34 80241154 AFB20038 */ sw $s2, 0x38($sp)
/* BE8D38 80241158 AFB10034 */ sw $s1, 0x34($sp)
/* BE8D3C 8024115C AFB00030 */ sw $s0, 0x30($sp)
/* BE8D40 80241160 8E930148 */ lw $s3, 0x148($s4)
/* BE8D44 80241164 86640008 */ lh $a0, 8($s3)
/* BE8D48 80241168 8E90000C */ lw $s0, 0xc($s4)
/* BE8D4C 8024116C 0C00EABB */ jal get_npc_unsafe
/* BE8D50 80241170 00A0882D */ daddu $s1, $a1, $zero
/* BE8D54 80241174 0280202D */ daddu $a0, $s4, $zero
/* BE8D58 80241178 8E050000 */ lw $a1, ($s0)
/* BE8D5C 8024117C 0C0B1EAF */ jal get_variable
/* BE8D60 80241180 0040A82D */ daddu $s5, $v0, $zero
/* BE8D64 80241184 AFA00010 */ sw $zero, 0x10($sp)
/* BE8D68 80241188 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE8D6C 8024118C 8C630094 */ lw $v1, 0x94($v1)
/* BE8D70 80241190 AFA30014 */ sw $v1, 0x14($sp)
/* BE8D74 80241194 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE8D78 80241198 8C630080 */ lw $v1, 0x80($v1)
/* BE8D7C 8024119C AFA30018 */ sw $v1, 0x18($sp)
/* BE8D80 802411A0 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE8D84 802411A4 8C630088 */ lw $v1, 0x88($v1)
/* BE8D88 802411A8 AFA3001C */ sw $v1, 0x1c($sp)
/* BE8D8C 802411AC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE8D90 802411B0 8C63008C */ lw $v1, 0x8c($v1)
/* BE8D94 802411B4 27B20010 */ addiu $s2, $sp, 0x10
/* BE8D98 802411B8 AFA30020 */ sw $v1, 0x20($sp)
/* BE8D9C 802411BC 8E6300D0 */ lw $v1, 0xd0($s3)
/* BE8DA0 802411C0 3C0142C8 */ lui $at, 0x42c8
/* BE8DA4 802411C4 44810000 */ mtc1 $at, $f0
/* BE8DA8 802411C8 8C630090 */ lw $v1, 0x90($v1)
/* BE8DAC 802411CC 0040802D */ daddu $s0, $v0, $zero
/* BE8DB0 802411D0 E7A00028 */ swc1 $f0, 0x28($sp)
/* BE8DB4 802411D4 A7A0002C */ sh $zero, 0x2c($sp)
/* BE8DB8 802411D8 12200007 */ beqz $s1, .L802411F8
/* BE8DBC 802411DC AFA30024 */ sw $v1, 0x24($sp)
/* BE8DC0 802411E0 AE800070 */ sw $zero, 0x70($s4)
/* BE8DC4 802411E4 8EA20000 */ lw $v0, ($s5)
/* BE8DC8 802411E8 2403F7FF */ addiu $v1, $zero, -0x801
/* BE8DCC 802411EC A6A0008E */ sh $zero, 0x8e($s5)
/* BE8DD0 802411F0 00431024 */ and $v0, $v0, $v1
/* BE8DD4 802411F4 AEA20000 */ sw $v0, ($s5)
.L802411F8:
/* BE8DD8 802411F8 8E830070 */ lw $v1, 0x70($s4)
/* BE8DDC 802411FC 2C620005 */ sltiu $v0, $v1, 5
/* BE8DE0 80241200 1040001E */ beqz $v0, .L8024127C
/* BE8DE4 80241204 00031080 */ sll $v0, $v1, 2
/* BE8DE8 80241208 3C018024 */ lui $at, 0x8024
/* BE8DEC 8024120C 00220821 */ addu $at, $at, $v0
/* BE8DF0 80241210 8C2251F0 */ lw $v0, 0x51f0($at)
/* BE8DF4 80241214 00400008 */ jr $v0
/* BE8DF8 80241218 00000000 */ nop
/* BE8DFC 8024121C 0280202D */ daddu $a0, $s4, $zero
/* BE8E00 80241220 0200282D */ daddu $a1, $s0, $zero
/* BE8E04 80241224 0C090000 */ jal func_80240000
/* BE8E08 80241228 0240302D */ daddu $a2, $s2, $zero
/* BE8E0C 8024122C 0280202D */ daddu $a0, $s4, $zero
/* BE8E10 80241230 0200282D */ daddu $a1, $s0, $zero
/* BE8E14 80241234 0C0903A4 */ jal func_80240E90
/* BE8E18 80241238 0240302D */ daddu $a2, $s2, $zero
/* BE8E1C 8024123C 0809049F */ j .L8024127C
/* BE8E20 80241240 00000000 */ nop
/* BE8E24 80241244 0280202D */ daddu $a0, $s4, $zero
/* BE8E28 80241248 0200282D */ daddu $a1, $s0, $zero
/* BE8E2C 8024124C 0C090100 */ jal func_80240400
/* BE8E30 80241250 0240302D */ daddu $a2, $s2, $zero
/* BE8E34 80241254 0280202D */ daddu $a0, $s4, $zero
/* BE8E38 80241258 0200282D */ daddu $a1, $s0, $zero
/* BE8E3C 8024125C 0C09041A */ jal func_80241068
/* BE8E40 80241260 0240302D */ daddu $a2, $s2, $zero
/* BE8E44 80241264 0809049F */ j .L8024127C
/* BE8E48 80241268 00000000 */ nop
/* BE8E4C 8024126C 0280202D */ daddu $a0, $s4, $zero
/* BE8E50 80241270 0200282D */ daddu $a1, $s0, $zero
/* BE8E54 80241274 0C09019F */ jal func_8024067C
/* BE8E58 80241278 0240302D */ daddu $a2, $s2, $zero
.L8024127C:
/* BE8E5C 8024127C C6A0003C */ lwc1 $f0, 0x3c($s5)
/* BE8E60 80241280 4600008D */ trunc.w.s $f2, $f0
/* BE8E64 80241284 E662006C */ swc1 $f2, 0x6c($s3)
/* BE8E68 80241288 8FBF0048 */ lw $ra, 0x48($sp)
/* BE8E6C 8024128C 8FB50044 */ lw $s5, 0x44($sp)
/* BE8E70 80241290 8FB40040 */ lw $s4, 0x40($sp)
/* BE8E74 80241294 8FB3003C */ lw $s3, 0x3c($sp)
/* BE8E78 80241298 8FB20038 */ lw $s2, 0x38($sp)
/* BE8E7C 8024129C 8FB10034 */ lw $s1, 0x34($sp)
/* BE8E80 802412A0 8FB00030 */ lw $s0, 0x30($sp)
/* BE8E84 802412A4 0000102D */ daddu $v0, $zero, $zero
/* BE8E88 802412A8 03E00008 */ jr $ra
/* BE8E8C 802412AC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,10 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802412B0_BE8E90
/* BE8E90 802412B0 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* BE8E94 802412B4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* BE8E98 802412B8 8C420010 */ lw $v0, 0x10($v0)
/* BE8E9C 802412BC 00021042 */ srl $v0, $v0, 1
/* BE8EA0 802412C0 03E00008 */ jr $ra
/* BE8EA4 802412C4 30420002 */ andi $v0, $v0, 2

View File

@ -0,0 +1,18 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802412C8_BE8EA8
/* BE8EA8 802412C8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BE8EAC 802412CC AFBF0010 */ sw $ra, 0x10($sp)
/* BE8EB0 802412D0 8C82000C */ lw $v0, 0xc($a0)
/* BE8EB4 802412D4 0C0B1EAF */ jal get_variable
/* BE8EB8 802412D8 8C450000 */ lw $a1, ($v0)
/* BE8EBC 802412DC 0C03AC5A */ jal func_800EB168
/* BE8EC0 802412E0 0040202D */ daddu $a0, $v0, $zero
/* BE8EC4 802412E4 8FBF0010 */ lw $ra, 0x10($sp)
/* BE8EC8 802412E8 24020002 */ addiu $v0, $zero, 2
/* BE8ECC 802412EC 03E00008 */ jr $ra
/* BE8ED0 802412F0 27BD0018 */ addiu $sp, $sp, 0x18
/* BE8ED4 802412F4 00000000 */ nop
/* BE8ED8 802412F8 00000000 */ nop
/* BE8EDC 802412FC 00000000 */ nop

View File

@ -0,0 +1,23 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240000_BECDF0
/* BECDF0 80240000 27BDFFE0 */ addiu $sp, $sp, -0x20
/* BECDF4 80240004 AFBF001C */ sw $ra, 0x1c($sp)
/* BECDF8 80240008 AFB00018 */ sw $s0, 0x18($sp)
/* BECDFC 8024000C 8C900084 */ lw $s0, 0x84($a0)
/* BECE00 80240010 C6000008 */ lwc1 $f0, 8($s0)
/* BECE04 80240014 240400A2 */ addiu $a0, $zero, 0xa2
/* BECE08 80240018 E7A00010 */ swc1 $f0, 0x10($sp)
/* BECE0C 8024001C 8E060000 */ lw $a2, ($s0)
/* BECE10 80240020 8E070004 */ lw $a3, 4($s0)
/* BECE14 80240024 0C05267B */ jal func_801499EC
/* BECE18 80240028 0000282D */ daddu $a1, $zero, $zero
/* BECE1C 8024002C 86020044 */ lh $v0, 0x44($s0)
/* BECE20 80240030 8FBF001C */ lw $ra, 0x1c($sp)
/* BECE24 80240034 8FB00018 */ lw $s0, 0x18($sp)
/* BECE28 80240038 28420002 */ slti $v0, $v0, 2
/* BECE2C 8024003C 38420001 */ xori $v0, $v0, 1
/* BECE30 80240040 00021040 */ sll $v0, $v0, 1
/* BECE34 80240044 03E00008 */ jr $ra
/* BECE38 80240048 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,93 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024004C_BECE3C
/* BECE3C 8024004C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BECE40 80240050 AFB20020 */ sw $s2, 0x20($sp)
/* BECE44 80240054 0080902D */ daddu $s2, $a0, $zero
/* BECE48 80240058 AFBF0024 */ sw $ra, 0x24($sp)
/* BECE4C 8024005C AFB1001C */ sw $s1, 0x1c($sp)
/* BECE50 80240060 AFB00018 */ sw $s0, 0x18($sp)
/* BECE54 80240064 10A0004A */ beqz $a1, .L80240190
/* BECE58 80240068 8E51000C */ lw $s1, 0xc($s2)
/* BECE5C 8024006C 0C00AB39 */ jal heap_malloc
/* BECE60 80240070 24040058 */ addiu $a0, $zero, 0x58
/* BECE64 80240074 0000202D */ daddu $a0, $zero, $zero
/* BECE68 80240078 3C05FD05 */ lui $a1, 0xfd05
/* BECE6C 8024007C 34A50F81 */ ori $a1, $a1, 0xf81
/* BECE70 80240080 0040802D */ daddu $s0, $v0, $zero
/* BECE74 80240084 0200302D */ daddu $a2, $s0, $zero
/* BECE78 80240088 0C0B2026 */ jal set_variable
/* BECE7C 8024008C AE500084 */ sw $s0, 0x84($s2)
/* BECE80 80240090 8E250000 */ lw $a1, ($s1)
/* BECE84 80240094 26310004 */ addiu $s1, $s1, 4
/* BECE88 80240098 0C0B1EAF */ jal get_variable
/* BECE8C 8024009C 0240202D */ daddu $a0, $s2, $zero
/* BECE90 802400A0 AE020038 */ sw $v0, 0x38($s0)
/* BECE94 802400A4 8E250000 */ lw $a1, ($s1)
/* BECE98 802400A8 26310004 */ addiu $s1, $s1, 4
/* BECE9C 802400AC 0C0B1EAF */ jal get_variable
/* BECEA0 802400B0 0240202D */ daddu $a0, $s2, $zero
/* BECEA4 802400B4 AE02003C */ sw $v0, 0x3c($s0)
/* BECEA8 802400B8 8E250000 */ lw $a1, ($s1)
/* BECEAC 802400BC 26310004 */ addiu $s1, $s1, 4
/* BECEB0 802400C0 0C0B210B */ jal get_float_variable
/* BECEB4 802400C4 0240202D */ daddu $a0, $s2, $zero
/* BECEB8 802400C8 E600000C */ swc1 $f0, 0xc($s0)
/* BECEBC 802400CC 8E250000 */ lw $a1, ($s1)
/* BECEC0 802400D0 26310004 */ addiu $s1, $s1, 4
/* BECEC4 802400D4 0C0B210B */ jal get_float_variable
/* BECEC8 802400D8 0240202D */ daddu $a0, $s2, $zero
/* BECECC 802400DC E6000010 */ swc1 $f0, 0x10($s0)
/* BECED0 802400E0 8E250000 */ lw $a1, ($s1)
/* BECED4 802400E4 26310004 */ addiu $s1, $s1, 4
/* BECED8 802400E8 0C0B210B */ jal get_float_variable
/* BECEDC 802400EC 0240202D */ daddu $a0, $s2, $zero
/* BECEE0 802400F0 E6000014 */ swc1 $f0, 0x14($s0)
/* BECEE4 802400F4 8E250000 */ lw $a1, ($s1)
/* BECEE8 802400F8 26310004 */ addiu $s1, $s1, 4
/* BECEEC 802400FC 0C0B210B */ jal get_float_variable
/* BECEF0 80240100 0240202D */ daddu $a0, $s2, $zero
/* BECEF4 80240104 E6000018 */ swc1 $f0, 0x18($s0)
/* BECEF8 80240108 8E250000 */ lw $a1, ($s1)
/* BECEFC 8024010C 26310004 */ addiu $s1, $s1, 4
/* BECF00 80240110 0C0B210B */ jal get_float_variable
/* BECF04 80240114 0240202D */ daddu $a0, $s2, $zero
/* BECF08 80240118 E600001C */ swc1 $f0, 0x1c($s0)
/* BECF0C 8024011C 8E250000 */ lw $a1, ($s1)
/* BECF10 80240120 26310004 */ addiu $s1, $s1, 4
/* BECF14 80240124 0C0B210B */ jal get_float_variable
/* BECF18 80240128 0240202D */ daddu $a0, $s2, $zero
/* BECF1C 8024012C E6000020 */ swc1 $f0, 0x20($s0)
/* BECF20 80240130 8E250000 */ lw $a1, ($s1)
/* BECF24 80240134 26310004 */ addiu $s1, $s1, 4
/* BECF28 80240138 0C0B210B */ jal get_float_variable
/* BECF2C 8024013C 0240202D */ daddu $a0, $s2, $zero
/* BECF30 80240140 E6000024 */ swc1 $f0, 0x24($s0)
/* BECF34 80240144 8E250000 */ lw $a1, ($s1)
/* BECF38 80240148 0C0B210B */ jal get_float_variable
/* BECF3C 8024014C 0240202D */ daddu $a0, $s2, $zero
/* BECF40 80240150 3C013F80 */ lui $at, 0x3f80
/* BECF44 80240154 44811000 */ mtc1 $at, $f2
/* BECF48 80240158 E6000028 */ swc1 $f0, 0x28($s0)
/* BECF4C 8024015C AFA00014 */ sw $zero, 0x14($sp)
/* BECF50 80240160 E7A20010 */ swc1 $f2, 0x10($sp)
/* BECF54 80240164 8E05000C */ lw $a1, 0xc($s0)
/* BECF58 80240168 8E060010 */ lw $a2, 0x10($s0)
/* BECF5C 8024016C 8E070014 */ lw $a3, 0x14($s0)
/* BECF60 80240170 0C01CA6C */ jal func_800729B0
/* BECF64 80240174 24040002 */ addiu $a0, $zero, 2
/* BECF68 80240178 AE020050 */ sw $v0, 0x50($s0)
/* BECF6C 8024017C A600004E */ sh $zero, 0x4e($s0)
/* BECF70 80240180 A6000048 */ sh $zero, 0x48($s0)
/* BECF74 80240184 A600004A */ sh $zero, 0x4a($s0)
/* BECF78 80240188 A6000044 */ sh $zero, 0x44($s0)
/* BECF7C 8024018C A6000046 */ sh $zero, 0x46($s0)
.L80240190:
/* BECF80 80240190 8FBF0024 */ lw $ra, 0x24($sp)
/* BECF84 80240194 8FB20020 */ lw $s2, 0x20($sp)
/* BECF88 80240198 8FB1001C */ lw $s1, 0x1c($sp)
/* BECF8C 8024019C 8FB00018 */ lw $s0, 0x18($sp)
/* BECF90 802401A0 24020002 */ addiu $v0, $zero, 2
/* BECF94 802401A4 03E00008 */ jr $ra
/* BECF98 802401A8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,272 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802401AC_BECF9C
/* BECF9C 802401AC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BECFA0 802401B0 AFBF0020 */ sw $ra, 0x20($sp)
/* BECFA4 802401B4 AFB1001C */ sw $s1, 0x1c($sp)
/* BECFA8 802401B8 AFB00018 */ sw $s0, 0x18($sp)
/* BECFAC 802401BC 8C910084 */ lw $s1, 0x84($a0)
/* BECFB0 802401C0 86230044 */ lh $v1, 0x44($s1)
/* BECFB4 802401C4 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* BECFB8 802401C8 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* BECFBC 802401CC 2C620005 */ sltiu $v0, $v1, 5
/* BECFC0 802401D0 1040008A */ beqz $v0, .L802403FC
/* BECFC4 802401D4 00031080 */ sll $v0, $v1, 2
/* BECFC8 802401D8 3C018024 */ lui $at, 0x8024
/* BECFCC 802401DC 00220821 */ addu $at, $at, $v0
/* BECFD0 802401E0 8C227900 */ lw $v0, 0x7900($at)
/* BECFD4 802401E4 00400008 */ jr $v0
/* BECFD8 802401E8 00000000 */ nop
/* BECFDC 802401EC 8E22003C */ lw $v0, 0x3c($s1)
/* BECFE0 802401F0 86270046 */ lh $a3, 0x46($s1)
/* BECFE4 802401F4 AFA20010 */ sw $v0, 0x10($sp)
/* BECFE8 802401F8 8E250010 */ lw $a1, 0x10($s1)
/* BECFEC 802401FC 8E26001C */ lw $a2, 0x1c($s1)
/* BECFF0 80240200 0C00A8ED */ jal update_lerp
/* BECFF4 80240204 24040005 */ addiu $a0, $zero, 5
/* BECFF8 80240208 86270046 */ lh $a3, 0x46($s1)
/* BECFFC 8024020C 8E22003C */ lw $v0, 0x3c($s1)
/* BED000 80240210 E6200004 */ swc1 $f0, 4($s1)
/* BED004 80240214 AFA20010 */ sw $v0, 0x10($sp)
/* BED008 80240218 8E25000C */ lw $a1, 0xc($s1)
/* BED00C 8024021C 8E260018 */ lw $a2, 0x18($s1)
/* BED010 80240220 0C00A8ED */ jal update_lerp
/* BED014 80240224 0000202D */ daddu $a0, $zero, $zero
/* BED018 80240228 86270046 */ lh $a3, 0x46($s1)
/* BED01C 8024022C 8E22003C */ lw $v0, 0x3c($s1)
/* BED020 80240230 E6200000 */ swc1 $f0, ($s1)
/* BED024 80240234 AFA20010 */ sw $v0, 0x10($sp)
/* BED028 80240238 8E250014 */ lw $a1, 0x14($s1)
/* BED02C 8024023C 8E260020 */ lw $a2, 0x20($s1)
/* BED030 80240240 0C00A8ED */ jal update_lerp
/* BED034 80240244 0000202D */ daddu $a0, $zero, $zero
/* BED038 80240248 8E220050 */ lw $v0, 0x50($s1)
/* BED03C 8024024C E6200008 */ swc1 $f0, 8($s1)
/* BED040 80240250 C6200000 */ lwc1 $f0, ($s1)
/* BED044 80240254 8C42000C */ lw $v0, 0xc($v0)
/* BED048 80240258 E4400008 */ swc1 $f0, 8($v0)
/* BED04C 8024025C 8E220050 */ lw $v0, 0x50($s1)
/* BED050 80240260 C6200004 */ lwc1 $f0, 4($s1)
/* BED054 80240264 8C42000C */ lw $v0, 0xc($v0)
/* BED058 80240268 E440000C */ swc1 $f0, 0xc($v0)
/* BED05C 8024026C 8E220050 */ lw $v0, 0x50($s1)
/* BED060 80240270 C6200008 */ lwc1 $f0, 8($s1)
/* BED064 80240274 8C42000C */ lw $v0, 0xc($v0)
/* BED068 80240278 E4400010 */ swc1 $f0, 0x10($v0)
/* BED06C 8024027C 96220046 */ lhu $v0, 0x46($s1)
/* BED070 80240280 8E23003C */ lw $v1, 0x3c($s1)
/* BED074 80240284 24420001 */ addiu $v0, $v0, 1
/* BED078 80240288 A6220046 */ sh $v0, 0x46($s1)
/* BED07C 8024028C 00021400 */ sll $v0, $v0, 0x10
/* BED080 80240290 00021403 */ sra $v0, $v0, 0x10
/* BED084 80240294 0043102A */ slt $v0, $v0, $v1
/* BED088 80240298 14400058 */ bnez $v0, .L802403FC
/* BED08C 8024029C 24020001 */ addiu $v0, $zero, 1
/* BED090 802402A0 A6220044 */ sh $v0, 0x44($s1)
/* BED094 802402A4 080900FF */ j .L802403FC
/* BED098 802402A8 A6200046 */ sh $zero, 0x46($s1)
/* BED09C 802402AC 96220046 */ lhu $v0, 0x46($s1)
/* BED0A0 802402B0 24420001 */ addiu $v0, $v0, 1
/* BED0A4 802402B4 A6220046 */ sh $v0, 0x46($s1)
/* BED0A8 802402B8 00021400 */ sll $v0, $v0, 0x10
/* BED0AC 802402BC 00021403 */ sra $v0, $v0, 0x10
/* BED0B0 802402C0 2842003C */ slti $v0, $v0, 0x3c
/* BED0B4 802402C4 1440004D */ bnez $v0, .L802403FC
/* BED0B8 802402C8 24020002 */ addiu $v0, $zero, 2
/* BED0BC 802402CC 8E230050 */ lw $v1, 0x50($s1)
/* BED0C0 802402D0 A6220044 */ sh $v0, 0x44($s1)
/* BED0C4 802402D4 A6200046 */ sh $zero, 0x46($s1)
/* BED0C8 802402D8 8C63000C */ lw $v1, 0xc($v1)
/* BED0CC 802402DC 24020001 */ addiu $v0, $zero, 1
/* BED0D0 802402E0 AC620070 */ sw $v0, 0x70($v1)
/* BED0D4 802402E4 8E220050 */ lw $v0, 0x50($s1)
/* BED0D8 802402E8 8C42000C */ lw $v0, 0xc($v0)
/* BED0DC 802402EC 080900FF */ j .L802403FC
/* BED0E0 802402F0 AC400074 */ sw $zero, 0x74($v0)
/* BED0E4 802402F4 96220046 */ lhu $v0, 0x46($s1)
/* BED0E8 802402F8 24420001 */ addiu $v0, $v0, 1
/* BED0EC 802402FC A6220046 */ sh $v0, 0x46($s1)
/* BED0F0 80240300 00021400 */ sll $v0, $v0, 0x10
/* BED0F4 80240304 00021403 */ sra $v0, $v0, 0x10
/* BED0F8 80240308 2842003C */ slti $v0, $v0, 0x3c
/* BED0FC 8024030C 1440003B */ bnez $v0, .L802403FC
/* BED100 80240310 00000000 */ nop
/* BED104 80240314 3C013F80 */ lui $at, 0x3f80
/* BED108 80240318 44810000 */ mtc1 $at, $f0
/* BED10C 8024031C AFA00014 */ sw $zero, 0x14($sp)
/* BED110 80240320 E7A00010 */ swc1 $f0, 0x10($sp)
/* BED114 80240324 8E250018 */ lw $a1, 0x18($s1)
/* BED118 80240328 8E26001C */ lw $a2, 0x1c($s1)
/* BED11C 8024032C 8E270020 */ lw $a3, 0x20($s1)
/* BED120 80240330 0C01C9AC */ jal func_800726B0
/* BED124 80240334 24040001 */ addiu $a0, $zero, 1
/* BED128 80240338 AE220054 */ sw $v0, 0x54($s1)
/* BED12C 8024033C 8C43000C */ lw $v1, 0xc($v0)
/* BED130 80240340 9222003B */ lbu $v0, 0x3b($s1)
/* BED134 80240344 A0620034 */ sb $v0, 0x34($v1)
/* BED138 80240348 8E220054 */ lw $v0, 0x54($s1)
/* BED13C 8024034C 8C42000C */ lw $v0, 0xc($v0)
/* BED140 80240350 AC400020 */ sw $zero, 0x20($v0)
/* BED144 80240354 8E250018 */ lw $a1, 0x18($s1)
/* BED148 80240358 8E260028 */ lw $a2, 0x28($s1)
/* BED14C 8024035C 8E270020 */ lw $a3, 0x20($s1)
/* BED150 80240360 0C044898 */ jal create_shadow_type
/* BED154 80240364 0000202D */ daddu $a0, $zero, $zero
/* BED158 80240368 3C014210 */ lui $at, 0x4210
/* BED15C 8024036C 44810000 */ mtc1 $at, $f0
/* BED160 80240370 AE220040 */ sw $v0, 0x40($s1)
/* BED164 80240374 24020003 */ addiu $v0, $zero, 3
/* BED168 80240378 A6220044 */ sh $v0, 0x44($s1)
/* BED16C 8024037C 24020001 */ addiu $v0, $zero, 1
/* BED170 80240380 A6200046 */ sh $zero, 0x46($s1)
/* BED174 80240384 AE20002C */ sw $zero, 0x2c($s1)
/* BED178 80240388 A6220048 */ sh $v0, 0x48($s1)
/* BED17C 8024038C 080900FF */ j .L802403FC
/* BED180 80240390 E6200030 */ swc1 $f0, 0x30($s1)
/* BED184 80240394 0000202D */ daddu $a0, $zero, $zero
/* BED188 80240398 3C054210 */ lui $a1, 0x4210
/* BED18C 8024039C 3C064198 */ lui $a2, 0x4198
/* BED190 802403A0 86270046 */ lh $a3, 0x46($s1)
/* BED194 802403A4 24020078 */ addiu $v0, $zero, 0x78
/* BED198 802403A8 0C00A8ED */ jal update_lerp
/* BED19C 802403AC AFA20010 */ sw $v0, 0x10($sp)
/* BED1A0 802403B0 96220046 */ lhu $v0, 0x46($s1)
/* BED1A4 802403B4 E6200030 */ swc1 $f0, 0x30($s1)
/* BED1A8 802403B8 24420001 */ addiu $v0, $v0, 1
/* BED1AC 802403BC A6220046 */ sh $v0, 0x46($s1)
/* BED1B0 802403C0 00021400 */ sll $v0, $v0, 0x10
/* BED1B4 802403C4 00021403 */ sra $v0, $v0, 0x10
/* BED1B8 802403C8 28420078 */ slti $v0, $v0, 0x78
/* BED1BC 802403CC 1440000B */ bnez $v0, .L802403FC
/* BED1C0 802403D0 24030001 */ addiu $v1, $zero, 1
/* BED1C4 802403D4 C620002C */ lwc1 $f0, 0x2c($s1)
/* BED1C8 802403D8 24020002 */ addiu $v0, $zero, 2
/* BED1CC 802403DC A6220048 */ sh $v0, 0x48($s1)
/* BED1D0 802403E0 24020004 */ addiu $v0, $zero, 4
/* BED1D4 802403E4 A620004C */ sh $zero, 0x4c($s1)
/* BED1D8 802403E8 A623004A */ sh $v1, 0x4a($s1)
/* BED1DC 802403EC A623004E */ sh $v1, 0x4e($s1)
/* BED1E0 802403F0 A6220044 */ sh $v0, 0x44($s1)
/* BED1E4 802403F4 A6200046 */ sh $zero, 0x46($s1)
/* BED1E8 802403F8 E6200034 */ swc1 $f0, 0x34($s1)
.L802403FC:
/* BED1EC 802403FC 8623004A */ lh $v1, 0x4a($s1)
/* BED1F0 80240400 24020001 */ addiu $v0, $zero, 1
/* BED1F4 80240404 10620005 */ beq $v1, $v0, .L8024041C
/* BED1F8 80240408 24020002 */ addiu $v0, $zero, 2
/* BED1FC 8024040C 1062001E */ beq $v1, $v0, .L80240488
/* BED200 80240410 00000000 */ nop
/* BED204 80240414 0809014C */ j .L80240530
/* BED208 80240418 00000000 */ nop
.L8024041C:
/* BED20C 8024041C 8627004C */ lh $a3, 0x4c($s1)
/* BED210 80240420 24100078 */ addiu $s0, $zero, 0x78
/* BED214 80240424 AFB00010 */ sw $s0, 0x10($sp)
/* BED218 80240428 8E250034 */ lw $a1, 0x34($s1)
/* BED21C 8024042C 3C0644B4 */ lui $a2, 0x44b4
/* BED220 80240430 0C00A8ED */ jal update_lerp
/* BED224 80240434 24040004 */ addiu $a0, $zero, 4
/* BED228 80240438 8627004C */ lh $a3, 0x4c($s1)
/* BED22C 8024043C E620002C */ swc1 $f0, 0x2c($s1)
/* BED230 80240440 AFB00010 */ sw $s0, 0x10($sp)
/* BED234 80240444 8E25001C */ lw $a1, 0x1c($s1)
/* BED238 80240448 8E260024 */ lw $a2, 0x24($s1)
/* BED23C 8024044C 0C00A8ED */ jal update_lerp
/* BED240 80240450 2404000A */ addiu $a0, $zero, 0xa
/* BED244 80240454 9622004C */ lhu $v0, 0x4c($s1)
/* BED248 80240458 E6200004 */ swc1 $f0, 4($s1)
/* BED24C 8024045C 24420001 */ addiu $v0, $v0, 1
/* BED250 80240460 A622004C */ sh $v0, 0x4c($s1)
/* BED254 80240464 00021400 */ sll $v0, $v0, 0x10
/* BED258 80240468 00021403 */ sra $v0, $v0, 0x10
/* BED25C 8024046C 0050102A */ slt $v0, $v0, $s0
/* BED260 80240470 1440002F */ bnez $v0, .L80240530
/* BED264 80240474 2402010E */ addiu $v0, $zero, 0x10e
/* BED268 80240478 A622004C */ sh $v0, 0x4c($s1)
/* BED26C 8024047C 24020002 */ addiu $v0, $zero, 2
/* BED270 80240480 0809014B */ j .L8024052C
/* BED274 80240484 A622004A */ sh $v0, 0x4a($s1)
.L80240488:
/* BED278 80240488 8622004C */ lh $v0, 0x4c($s1)
/* BED27C 8024048C 44826000 */ mtc1 $v0, $f12
/* BED280 80240490 00000000 */ nop
/* BED284 80240494 0C00A8BB */ jal sin_deg
/* BED288 80240498 46806320 */ cvt.s.w $f12, $f12
/* BED28C 8024049C 3C013F80 */ lui $at, 0x3f80
/* BED290 802404A0 44811000 */ mtc1 $at, $f2
/* BED294 802404A4 00000000 */ nop
/* BED298 802404A8 46020000 */ add.s $f0, $f0, $f2
/* BED29C 802404AC 46000000 */ add.s $f0, $f0, $f0
/* BED2A0 802404B0 C6220024 */ lwc1 $f2, 0x24($s1)
/* BED2A4 802404B4 8622004C */ lh $v0, 0x4c($s1)
/* BED2A8 802404B8 46001080 */ add.s $f2, $f2, $f0
/* BED2AC 802404BC 24420008 */ addiu $v0, $v0, 8
/* BED2B0 802404C0 44826000 */ mtc1 $v0, $f12
/* BED2B4 802404C4 00000000 */ nop
/* BED2B8 802404C8 46806320 */ cvt.s.w $f12, $f12
/* BED2BC 802404CC 0C00A6C9 */ jal clamp_angle
/* BED2C0 802404D0 E6220004 */ swc1 $f2, 4($s1)
/* BED2C4 802404D4 4600010D */ trunc.w.s $f4, $f0
/* BED2C8 802404D8 44022000 */ mfc1 $v0, $f4
/* BED2CC 802404DC C6200004 */ lwc1 $f0, 4($s1)
/* BED2D0 802404E0 A622004C */ sh $v0, 0x4c($s1)
/* BED2D4 802404E4 C60C0028 */ lwc1 $f12, 0x28($s0)
/* BED2D8 802404E8 8E060030 */ lw $a2, 0x30($s0)
/* BED2DC 802404EC 3C0141A0 */ lui $at, 0x41a0
/* BED2E0 802404F0 44817000 */ mtc1 $at, $f14
/* BED2E4 802404F4 E7A00010 */ swc1 $f0, 0x10($sp)
/* BED2E8 802404F8 C602002C */ lwc1 $f2, 0x2c($s0)
/* BED2EC 802404FC C6200008 */ lwc1 $f0, 8($s1)
/* BED2F0 80240500 E7A00014 */ swc1 $f0, 0x14($sp)
/* BED2F4 80240504 8E270000 */ lw $a3, ($s1)
/* BED2F8 80240508 0C00A7CB */ jal dist3D
/* BED2FC 8024050C 460E1380 */ add.s $f14, $f2, $f14
/* BED300 80240510 3C0141F0 */ lui $at, 0x41f0
/* BED304 80240514 44811000 */ mtc1 $at, $f2
/* BED308 80240518 00000000 */ nop
/* BED30C 8024051C 4600103C */ c.lt.s $f2, $f0
/* BED310 80240520 00000000 */ nop
/* BED314 80240524 45010002 */ bc1t .L80240530
/* BED318 80240528 24020003 */ addiu $v0, $zero, 3
.L8024052C:
/* BED31C 8024052C A622004E */ sh $v0, 0x4e($s1)
.L80240530:
/* BED320 80240530 86230048 */ lh $v1, 0x48($s1)
/* BED324 80240534 24020001 */ addiu $v0, $zero, 1
/* BED328 80240538 10620005 */ beq $v1, $v0, .L80240550
/* BED32C 8024053C 24020002 */ addiu $v0, $zero, 2
/* BED330 80240540 10620008 */ beq $v1, $v0, .L80240564
/* BED334 80240544 00000000 */ nop
/* BED338 80240548 08090169 */ j .L802405A4
/* BED33C 8024054C 00000000 */ nop
.L80240550:
/* BED340 80240550 C620002C */ lwc1 $f0, 0x2c($s1)
/* BED344 80240554 C62C0030 */ lwc1 $f12, 0x30($s1)
/* BED348 80240558 0C00A6C9 */ jal clamp_angle
/* BED34C 8024055C 460C0300 */ add.s $f12, $f0, $f12
/* BED350 80240560 E620002C */ swc1 $f0, 0x2c($s1)
.L80240564:
/* BED354 80240564 8E220054 */ lw $v0, 0x54($s1)
/* BED358 80240568 C620002C */ lwc1 $f0, 0x2c($s1)
/* BED35C 8024056C 8C42000C */ lw $v0, 0xc($v0)
/* BED360 80240570 E4400024 */ swc1 $f0, 0x24($v0)
/* BED364 80240574 8E220054 */ lw $v0, 0x54($s1)
/* BED368 80240578 C6200018 */ lwc1 $f0, 0x18($s1)
/* BED36C 8024057C 8C42000C */ lw $v0, 0xc($v0)
/* BED370 80240580 E4400004 */ swc1 $f0, 4($v0)
/* BED374 80240584 8E220054 */ lw $v0, 0x54($s1)
/* BED378 80240588 C6200004 */ lwc1 $f0, 4($s1)
/* BED37C 8024058C 8C42000C */ lw $v0, 0xc($v0)
/* BED380 80240590 E4400008 */ swc1 $f0, 8($v0)
/* BED384 80240594 8E220054 */ lw $v0, 0x54($s1)
/* BED388 80240598 C6200020 */ lwc1 $f0, 0x20($s1)
/* BED38C 8024059C 8C42000C */ lw $v0, 0xc($v0)
/* BED390 802405A0 E440000C */ swc1 $f0, 0xc($v0)
.L802405A4:
/* BED394 802405A4 8FBF0020 */ lw $ra, 0x20($sp)
/* BED398 802405A8 8FB1001C */ lw $s1, 0x1c($sp)
/* BED39C 802405AC 8FB00018 */ lw $s0, 0x18($sp)
/* BED3A0 802405B0 0000102D */ daddu $v0, $zero, $zero
/* BED3A4 802405B4 03E00008 */ jr $ra
/* BED3A8 802405B8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,20 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802405BC_BED3AC
/* BED3AC 802405BC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* BED3B0 802405C0 AFB00010 */ sw $s0, 0x10($sp)
/* BED3B4 802405C4 0080802D */ daddu $s0, $a0, $zero
/* BED3B8 802405C8 AFBF0014 */ sw $ra, 0x14($sp)
/* BED3BC 802405CC 8E02000C */ lw $v0, 0xc($s0)
/* BED3C0 802405D0 0C0B1EAF */ jal get_variable
/* BED3C4 802405D4 8C450000 */ lw $a1, ($v0)
/* BED3C8 802405D8 8E030084 */ lw $v1, 0x84($s0)
/* BED3CC 802405DC 8FBF0014 */ lw $ra, 0x14($sp)
/* BED3D0 802405E0 8463004E */ lh $v1, 0x4e($v1)
/* BED3D4 802405E4 8FB00010 */ lw $s0, 0x10($sp)
/* BED3D8 802405E8 00621826 */ xor $v1, $v1, $v0
/* BED3DC 802405EC 2C630001 */ sltiu $v1, $v1, 1
/* BED3E0 802405F0 00031040 */ sll $v0, $v1, 1
/* BED3E4 802405F4 03E00008 */ jr $ra
/* BED3E8 802405F8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,72 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802405FC_BED3EC
/* BED3EC 802405FC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BED3F0 80240600 AFB20020 */ sw $s2, 0x20($sp)
/* BED3F4 80240604 0080902D */ daddu $s2, $a0, $zero
/* BED3F8 80240608 AFBF0024 */ sw $ra, 0x24($sp)
/* BED3FC 8024060C AFB1001C */ sw $s1, 0x1c($sp)
/* BED400 80240610 AFB00018 */ sw $s0, 0x18($sp)
/* BED404 80240614 10A00035 */ beqz $a1, .L802406EC
/* BED408 80240618 8E51000C */ lw $s1, 0xc($s2)
/* BED40C 8024061C 0C00AB39 */ jal heap_malloc
/* BED410 80240620 24040058 */ addiu $a0, $zero, 0x58
/* BED414 80240624 0040802D */ daddu $s0, $v0, $zero
/* BED418 80240628 AE500084 */ sw $s0, 0x84($s2)
/* BED41C 8024062C 8E250000 */ lw $a1, ($s1)
/* BED420 80240630 26310004 */ addiu $s1, $s1, 4
/* BED424 80240634 0C0B1EAF */ jal get_variable
/* BED428 80240638 0240202D */ daddu $a0, $s2, $zero
/* BED42C 8024063C AE020038 */ sw $v0, 0x38($s0)
/* BED430 80240640 8E250000 */ lw $a1, ($s1)
/* BED434 80240644 26310004 */ addiu $s1, $s1, 4
/* BED438 80240648 0C0B210B */ jal get_float_variable
/* BED43C 8024064C 0240202D */ daddu $a0, $s2, $zero
/* BED440 80240650 E6000018 */ swc1 $f0, 0x18($s0)
/* BED444 80240654 8E250000 */ lw $a1, ($s1)
/* BED448 80240658 26310004 */ addiu $s1, $s1, 4
/* BED44C 8024065C 0C0B210B */ jal get_float_variable
/* BED450 80240660 0240202D */ daddu $a0, $s2, $zero
/* BED454 80240664 E6000024 */ swc1 $f0, 0x24($s0)
/* BED458 80240668 8E250000 */ lw $a1, ($s1)
/* BED45C 8024066C 26310004 */ addiu $s1, $s1, 4
/* BED460 80240670 0C0B210B */ jal get_float_variable
/* BED464 80240674 0240202D */ daddu $a0, $s2, $zero
/* BED468 80240678 E6000020 */ swc1 $f0, 0x20($s0)
/* BED46C 8024067C 8E250000 */ lw $a1, ($s1)
/* BED470 80240680 0C0B210B */ jal get_float_variable
/* BED474 80240684 0240202D */ daddu $a0, $s2, $zero
/* BED478 80240688 3C013F80 */ lui $at, 0x3f80
/* BED47C 8024068C 44811000 */ mtc1 $at, $f2
/* BED480 80240690 E6000028 */ swc1 $f0, 0x28($s0)
/* BED484 80240694 AFA00014 */ sw $zero, 0x14($sp)
/* BED488 80240698 E7A20010 */ swc1 $f2, 0x10($sp)
/* BED48C 8024069C 8E050018 */ lw $a1, 0x18($s0)
/* BED490 802406A0 8E060024 */ lw $a2, 0x24($s0)
/* BED494 802406A4 8E070020 */ lw $a3, 0x20($s0)
/* BED498 802406A8 0C01C9AC */ jal func_800726B0
/* BED49C 802406AC 24040001 */ addiu $a0, $zero, 1
/* BED4A0 802406B0 AE020054 */ sw $v0, 0x54($s0)
/* BED4A4 802406B4 8C43000C */ lw $v1, 0xc($v0)
/* BED4A8 802406B8 9202003B */ lbu $v0, 0x3b($s0)
/* BED4AC 802406BC A0620034 */ sb $v0, 0x34($v1)
/* BED4B0 802406C0 8E020054 */ lw $v0, 0x54($s0)
/* BED4B4 802406C4 8C42000C */ lw $v0, 0xc($v0)
/* BED4B8 802406C8 AC400020 */ sw $zero, 0x20($v0)
/* BED4BC 802406CC 8E050018 */ lw $a1, 0x18($s0)
/* BED4C0 802406D0 8E060028 */ lw $a2, 0x28($s0)
/* BED4C4 802406D4 8E070020 */ lw $a3, 0x20($s0)
/* BED4C8 802406D8 0C044898 */ jal create_shadow_type
/* BED4CC 802406DC 0000202D */ daddu $a0, $zero, $zero
/* BED4D0 802406E0 AE020040 */ sw $v0, 0x40($s0)
/* BED4D4 802406E4 2402010E */ addiu $v0, $zero, 0x10e
/* BED4D8 802406E8 A602004C */ sh $v0, 0x4c($s0)
.L802406EC:
/* BED4DC 802406EC 8FBF0024 */ lw $ra, 0x24($sp)
/* BED4E0 802406F0 8FB20020 */ lw $s2, 0x20($sp)
/* BED4E4 802406F4 8FB1001C */ lw $s1, 0x1c($sp)
/* BED4E8 802406F8 8FB00018 */ lw $s0, 0x18($sp)
/* BED4EC 802406FC 24020002 */ addiu $v0, $zero, 2
/* BED4F0 80240700 03E00008 */ jr $ra
/* BED4F4 80240704 27BD0028 */ addiu $sp, $sp, 0x28

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