d_a_npc_fish (#1880)

This commit is contained in:
Noah McQueen 2023-08-13 21:59:03 -06:00 committed by GitHub
parent 7e8fd320bd
commit 9ae61771ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 174 additions and 547 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 30.962168% | 1113568 | 3596544
.text | 30.963614% | 1113620 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 38.239976% | 1537504 | 4020672
Total | 38.241269% | 1537556 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 38.239976% | 1537504 | 4020672
RELs | 34.121230% | 3924052 | 11500324
Total | 35.188180% | 5461556 | 15520996
main.dol | 38.241269% | 1537556 | 4020672
RELs | 34.213471% | 3934660 | 11500324
Total | 35.256861% | 5472216 | 15520996
## RELs
@ -59,7 +59,7 @@ d_a_b_zant_sima | 40.995025% | 1648 | 4020
d_a_balloon_2D | 29.886212% | 3572 | 11952
d_a_bd | 31.115418% | 5780 | 18576
d_a_bg | 41.505376% | 3860 | 9300
d_a_bg_obj | 32.434657% | 6304 | 19436
d_a_bg_obj | 69.911504% | 13588 | 19436
d_a_boomerang | 43.861338% | 10932 | 24924
d_a_bullet | 42.660550% | 2604 | 6104
d_a_canoe | 28.479263% | 4944 | 17360
@ -200,9 +200,9 @@ d_a_kytag05 | 100.000000% | 816 | 816
d_a_kytag06 | 100.000000% | 14140 | 14140
d_a_kytag07 | 100.000000% | 1272 | 1272
d_a_kytag08 | 35.590421% | 1724 | 4844
d_a_kytag09 | 49.936948% | 1584 | 3172
d_a_kytag09 | 100.000000% | 3172 | 3172
d_a_kytag10 | 43.413978% | 1292 | 2976
d_a_kytag11 | 52.643172% | 956 | 1816
d_a_kytag11 | 100.000000% | 1816 | 1816
d_a_kytag12 | 20.217129% | 3352 | 16580
d_a_kytag13 | 30.696576% | 2080 | 6776
d_a_kytag14 | 100.000000% | 1408 | 1408
@ -211,7 +211,7 @@ d_a_kytag16 | 100.000000% | 2296 | 2296
d_a_kytag17 | 100.000000% | 752 | 752
d_a_mant | 86.020312% | 40316 | 46868
d_a_mg_fish | 26.024167% | 17660 | 67860
d_a_mg_fshop | 36.363636% | 9360 | 25740
d_a_mg_fshop | 36.658897% | 9436 | 25740
d_a_mg_rod | 24.484345% | 23836 | 97352
d_a_midna | 22.953368% | 12404 | 54040
d_a_mirror | 48.001631% | 4708 | 9808
@ -242,7 +242,7 @@ d_a_npc_du | 35.940410% | 3860 | 10740
d_a_npc_fairy | 39.344262% | 19776 | 50264
d_a_npc_fairy_seirei | 42.302956% | 5496 | 12992
d_a_npc_fguard | 42.375887% | 2868 | 6768
d_a_npc_fish | 79.939819% | 3188 | 3988
d_a_npc_fish | 100.000000% | 3988 | 3988
d_a_npc_gnd | 36.965399% | 6880 | 18612
d_a_npc_gra | 30.387241% | 20120 | 66212
d_a_npc_grc | 32.984636% | 8072 | 24472
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 34.121230% | 3924052 | 11500324
Total | 34.213471% | 3934660 | 11500324

View File

@ -1,166 +0,0 @@
lbl_80542254:
/* 80542254 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80542258 7C 08 02 A6 */ mflr r0
/* 8054225C 90 01 00 84 */ stw r0, 0x84(r1)
/* 80542260 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 80542264 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */
/* 80542268 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8054226C F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */
/* 80542270 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 80542274 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */
/* 80542278 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 8054227C F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */
/* 80542280 39 61 00 40 */ addi r11, r1, 0x40
/* 80542284 4B E1 FF 51 */ bl _savegpr_27
/* 80542288 7C 7D 1B 78 */ mr r29, r3
/* 8054228C 3C 80 80 54 */ lis r4, cNullVec__6Z2Calc@ha /* 0x805424E4@ha */
/* 80542290 3B C4 24 E4 */ addi r30, r4, cNullVec__6Z2Calc@l /* 0x805424E4@l */
/* 80542294 3C 80 80 54 */ lis r4, lit_3787@ha /* 0x805424C0@ha */
/* 80542298 3B E4 24 C0 */ addi r31, r4, lit_3787@l /* 0x805424C0@l */
/* 8054229C 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 805422A0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 805422A4 40 82 00 1C */ bne lbl_805422C0
/* 805422A8 28 1D 00 00 */ cmplwi r29, 0
/* 805422AC 41 82 00 08 */ beq lbl_805422B4
/* 805422B0 4B AD 68 B5 */ bl __ct__10fopAc_ac_cFv
lbl_805422B4:
/* 805422B4 80 1D 04 A0 */ lwz r0, 0x4a0(r29)
/* 805422B8 60 00 00 08 */ ori r0, r0, 8
/* 805422BC 90 1D 04 A0 */ stw r0, 0x4a0(r29)
lbl_805422C0:
/* 805422C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805422C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805422C8 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 805422CC 3C 80 80 54 */ lis r4, d_a_npc_fish__stringBase0@ha /* 0x805424DC@ha */
/* 805422D0 38 84 24 DC */ addi r4, r4, d_a_npc_fish__stringBase0@l /* 0x805424DC@l */
/* 805422D4 4B E2 66 C1 */ bl strcmp
/* 805422D8 2C 03 00 00 */ cmpwi r3, 0
/* 805422DC 41 82 00 0C */ beq lbl_805422E8
/* 805422E0 38 60 00 05 */ li r3, 5
/* 805422E4 48 00 01 9C */ b lbl_80542480
lbl_805422E8:
/* 805422E8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 805422EC 3B 83 CA 54 */ addi r28, r3, g_env_light@l /* 0x8042CA54@l */
/* 805422F0 38 80 00 00 */ li r4, 0
/* 805422F4 88 1C 12 FE */ lbz r0, 0x12fe(r28)
/* 805422F8 28 00 00 02 */ cmplwi r0, 2
/* 805422FC 40 82 00 0C */ bne lbl_80542308
/* 80542300 38 80 00 A0 */ li r4, 0xa0
/* 80542304 48 00 00 10 */ b lbl_80542314
lbl_80542308:
/* 80542308 28 00 00 03 */ cmplwi r0, 3
/* 8054230C 40 82 00 08 */ bne lbl_80542314
/* 80542310 38 80 00 40 */ li r4, 0x40
lbl_80542314:
/* 80542314 2C 04 00 00 */ cmpwi r4, 0
/* 80542318 41 82 00 44 */ beq lbl_8054235C
/* 8054231C C0 1F 00 00 */ lfs f0, 0(r31)
/* 80542320 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80542324 C0 1F 00 04 */ lfs f0, 4(r31)
/* 80542328 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8054232C C0 1F 00 08 */ lfs f0, 8(r31)
/* 80542330 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80542334 38 60 01 16 */ li r3, 0x116
/* 80542338 64 84 FF 01 */ oris r4, r4, 0xff01
/* 8054233C 60 84 0E 00 */ ori r4, r4, 0xe00
/* 80542340 38 A1 00 10 */ addi r5, r1, 0x10
/* 80542344 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 80542348 7C 06 07 74 */ extsb r6, r0
/* 8054234C 38 E0 00 00 */ li r7, 0
/* 80542350 39 00 00 00 */ li r8, 0
/* 80542354 39 20 FF FF */ li r9, -1
/* 80542358 4B AD 7A 41 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc
lbl_8054235C:
/* 8054235C 88 1C 12 FE */ lbz r0, 0x12fe(r28)
/* 80542360 28 00 00 02 */ cmplwi r0, 2
/* 80542364 40 82 00 7C */ bne lbl_805423E0
/* 80542368 3B 80 00 00 */ li r28, 0
/* 8054236C C3 BF 00 0C */ lfs f29, 0xc(r31)
/* 80542370 C3 DF 00 14 */ lfs f30, 0x14(r31)
/* 80542374 C3 FF 00 04 */ lfs f31, 4(r31)
lbl_80542378:
/* 80542378 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 8054237C 4B D2 56 11 */ bl cM_rndFX__Ff
/* 80542380 EF 9D 08 2A */ fadds f28, f29, f1
/* 80542384 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 80542388 4B D2 56 05 */ bl cM_rndFX__Ff
/* 8054238C EC 1E 08 2A */ fadds f0, f30, f1
/* 80542390 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80542394 D3 E1 00 14 */ stfs f31, 0x14(r1)
/* 80542398 D3 81 00 18 */ stfs f28, 0x18(r1)
/* 8054239C 38 61 00 08 */ addi r3, r1, 8
/* 805423A0 38 80 00 00 */ li r4, 0
/* 805423A4 38 A0 00 00 */ li r5, 0
/* 805423A8 38 C0 FF FF */ li r6, -1
/* 805423AC 4B D2 50 49 */ bl __ct__5csXyzFsss
/* 805423B0 38 60 02 E2 */ li r3, 0x2e2
/* 805423B4 38 80 00 00 */ li r4, 0
/* 805423B8 38 A1 00 10 */ addi r5, r1, 0x10
/* 805423BC 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 805423C0 7C 06 07 74 */ extsb r6, r0
/* 805423C4 38 E1 00 08 */ addi r7, r1, 8
/* 805423C8 39 00 00 00 */ li r8, 0
/* 805423CC 39 20 FF FF */ li r9, -1
/* 805423D0 4B AD 79 C9 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc
/* 805423D4 3B 9C 00 01 */ addi r28, r28, 1
/* 805423D8 2C 1C 00 04 */ cmpwi r28, 4
/* 805423DC 41 80 FF 9C */ blt lbl_80542378
lbl_805423E0:
/* 805423E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805423E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805423E8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805423EC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805423F0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805423F4 A0 84 03 9E */ lhz r4, 0x39e(r4)
/* 805423F8 4B AF 25 C5 */ bl isEventBit__11dSv_event_cCFUs
/* 805423FC 2C 03 00 00 */ cmpwi r3, 0
/* 80542400 41 82 00 14 */ beq lbl_80542414
/* 80542404 7F A3 EB 78 */ mr r3, r29
/* 80542408 38 9E 03 F4 */ addi r4, r30, 0x3f4
/* 8054240C 4B FF FD 8D */ bl fish_set__FP10fopAc_ac_cP11fish_data_s
/* 80542410 48 00 00 6C */ b lbl_8054247C
lbl_80542414:
/* 80542414 7F A3 EB 78 */ mr r3, r29
/* 80542418 38 9E 00 20 */ addi r4, r30, 0x20
/* 8054241C 4B FF FD 7D */ bl fish_set__FP10fopAc_ac_cP11fish_data_s
/* 80542420 3B 60 00 00 */ li r27, 0
/* 80542424 3B 80 00 00 */ li r28, 0
/* 80542428 C3 FF 00 18 */ lfs f31, 0x18(r31)
lbl_8054242C:
/* 8054242C 38 9E 08 54 */ addi r4, r30, 0x854
/* 80542430 7C 84 E2 14 */ add r4, r4, r28
/* 80542434 C0 04 00 04 */ lfs f0, 4(r4)
/* 80542438 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8054243C D3 E1 00 14 */ stfs f31, 0x14(r1)
/* 80542440 C0 04 00 08 */ lfs f0, 8(r4)
/* 80542444 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80542448 38 60 01 0F */ li r3, 0x10f
/* 8054244C 88 84 00 00 */ lbz r4, 0(r4)
/* 80542450 38 A1 00 10 */ addi r5, r1, 0x10
/* 80542454 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 80542458 7C 06 07 74 */ extsb r6, r0
/* 8054245C 38 E0 00 00 */ li r7, 0
/* 80542460 39 00 00 00 */ li r8, 0
/* 80542464 39 20 FF FF */ li r9, -1
/* 80542468 4B AD 79 31 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc
/* 8054246C 3B 7B 00 01 */ addi r27, r27, 1
/* 80542470 2C 1B 00 0C */ cmpwi r27, 0xc
/* 80542474 3B 9C 00 0C */ addi r28, r28, 0xc
/* 80542478 41 80 FF B4 */ blt lbl_8054242C
lbl_8054247C:
/* 8054247C 38 60 00 05 */ li r3, 5
lbl_80542480:
/* 80542480 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */
/* 80542484 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80542488 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */
/* 8054248C CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80542490 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */
/* 80542494 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 80542498 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */
/* 8054249C CB 81 00 40 */ lfd f28, 0x40(r1)
/* 805424A0 39 61 00 40 */ addi r11, r1, 0x40
/* 805424A4 4B E1 FD 7D */ bl _restgpr_27
/* 805424A8 80 01 00 84 */ lwz r0, 0x84(r1)
/* 805424AC 7C 08 03 A6 */ mtlr r0
/* 805424B0 38 21 00 80 */ addi r1, r1, 0x80
/* 805424B4 4E 80 00 20 */ blr

View File

@ -1,51 +0,0 @@
lbl_80542198:
/* 80542198 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8054219C 7C 08 02 A6 */ mflr r0
/* 805421A0 90 01 00 34 */ stw r0, 0x34(r1)
/* 805421A4 39 61 00 30 */ addi r11, r1, 0x30
/* 805421A8 4B E2 00 31 */ bl _savegpr_28
/* 805421AC 7C 7C 1B 78 */ mr r28, r3
/* 805421B0 7C 9D 23 78 */ mr r29, r4
/* 805421B4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 805421B8 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 805421BC 3B C0 00 00 */ li r30, 0
lbl_805421C0:
/* 805421C0 80 1D 00 00 */ lwz r0, 0(r29)
/* 805421C4 2C 00 00 00 */ cmpwi r0, 0
/* 805421C8 41 80 00 74 */ blt lbl_8054223C
/* 805421CC 7C 04 03 78 */ mr r4, r0
/* 805421D0 C0 1D 00 04 */ lfs f0, 4(r29)
/* 805421D4 D0 01 00 08 */ stfs f0, 8(r1)
/* 805421D8 C0 1D 00 08 */ lfs f0, 8(r29)
/* 805421DC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 805421E0 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 805421E4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 805421E8 28 00 00 01 */ cmplwi r0, 1
/* 805421EC 40 82 00 14 */ bne lbl_80542200
/* 805421F0 88 1F 12 FE */ lbz r0, 0x12fe(r31)
/* 805421F4 28 00 00 02 */ cmplwi r0, 2
/* 805421F8 41 82 00 08 */ beq lbl_80542200
/* 805421FC 38 80 00 02 */ li r4, 2
lbl_80542200:
/* 80542200 88 1D 00 10 */ lbz r0, 0x10(r29)
/* 80542204 54 00 40 2E */ slwi r0, r0, 8
/* 80542208 7C 84 03 78 */ or r4, r4, r0
/* 8054220C 38 60 01 36 */ li r3, 0x136
/* 80542210 38 A1 00 08 */ addi r5, r1, 8
/* 80542214 88 1C 04 E2 */ lbz r0, 0x4e2(r28)
/* 80542218 7C 06 07 74 */ extsb r6, r0
/* 8054221C 38 E0 00 00 */ li r7, 0
/* 80542220 39 00 00 00 */ li r8, 0
/* 80542224 39 20 FF FF */ li r9, -1
/* 80542228 4B AD 7B 71 */ bl fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc
/* 8054222C 3B DE 00 01 */ addi r30, r30, 1
/* 80542230 2C 1E 00 64 */ cmpwi r30, 0x64
/* 80542234 3B BD 00 14 */ addi r29, r29, 0x14
/* 80542238 41 80 FF 88 */ blt lbl_805421C0
lbl_8054223C:
/* 8054223C 39 61 00 30 */ addi r11, r1, 0x30
/* 80542240 4B E1 FF E5 */ bl _restgpr_28
/* 80542244 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80542248 7C 08 03 A6 */ mtlr r0
/* 8054224C 38 21 00 30 */ addi r1, r1, 0x30
/* 80542250 4E 80 00 20 */ blr

View File

@ -2,5 +2,16 @@
#define D_A_NPC_FISH_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class npc_fish_class : public fopAc_ac_c {
/* 0x568 */ u8 field_0x568[0x5b4 - 0x568]; // unused in TU, unsure of type
};
struct fish_data_s {
/* 0x00 */ int param;
/* 0x04 */ Vec pos;
/* 0x10 */ u8 field_0x10;
};
#endif /* D_A_NPC_FISH_H */

View File

@ -1,163 +1,50 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_npc_fish
//
#include "rel/d/a/npc/d_a_npc_fish/d_a_npc_fish.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct npc_fish_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct fish_data_s {};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
};
struct cXyz {};
//
// Forward References:
//
extern "C" static bool daNpc_Fish_Draw__FP14npc_fish_class();
extern "C" static bool daNpc_Fish_Execute__FP14npc_fish_class();
extern "C" static bool daNpc_Fish_IsDelete__FP14npc_fish_class();
extern "C" static bool daNpc_Fish_Delete__FP14npc_fish_class();
extern "C" static void fish_set__FP10fopAc_ac_cP11fish_data_s();
extern "C" static void daNpc_Fish_Create__FP10fopAc_ac_c();
extern "C" extern char const* const d_a_npc_fish__stringBase0;
extern "C" extern void* g_profile_NPC_FISH[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void __ct__5csXyzFsss();
extern "C" void cM_rndFX__Ff();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
//
// Declarations:
//
/* 80542178-80542180 000078 0008+00 1/0 0/0 0/0 .text daNpc_Fish_Draw__FP14npc_fish_class
*/
static bool daNpc_Fish_Draw(npc_fish_class* param_0) {
return true;
/* 80542178-80542180 000078 0008+00 1/0 0/0 0/0 .text daNpc_Fish_Draw__FP14npc_fish_class */
static int daNpc_Fish_Draw(npc_fish_class* i_this) {
return 1;
}
/* 80542180-80542188 000080 0008+00 1/0 0/0 0/0 .text daNpc_Fish_Execute__FP14npc_fish_class */
static bool daNpc_Fish_Execute(npc_fish_class* param_0) {
return true;
static int daNpc_Fish_Execute(npc_fish_class* i_this) {
return 1;
}
/* 80542188-80542190 000088 0008+00 1/0 0/0 0/0 .text daNpc_Fish_IsDelete__FP14npc_fish_class */
static bool daNpc_Fish_IsDelete(npc_fish_class* param_0) {
return true;
static int daNpc_Fish_IsDelete(npc_fish_class* i_this) {
return 1;
}
/* 80542190-80542198 000090 0008+00 1/0 0/0 0/0 .text daNpc_Fish_Delete__FP14npc_fish_class */
static bool daNpc_Fish_Delete(npc_fish_class* param_0) {
return true;
static int daNpc_Fish_Delete(npc_fish_class* i_this) {
return 1;
}
/* 80542198-80542254 000098 00BC+00 1/1 0/0 0/0 .text fish_set__FP10fopAc_ac_cP11fish_data_s */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fish_set(fopAc_ac_c* param_0, fish_data_s* param_1) {
nofralloc
#include "asm/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish/fish_set__FP10fopAc_ac_cP11fish_data_s.s"
static void fish_set(fopAc_ac_c* i_this, fish_data_s* data) {
dScnKy_env_light_c* envLight = i_dKy_getEnvlight();
cXyz pos;
for (int i = 0; i < 100; i++, data++) {
if (data->param < 0) {
return;
}
u32 param = data->param;
pos = data->pos;
if ((param == 1u) && envLight->field_0x12fe != 2) {
param = 2;
}
param |= data->field_0x10 << 8;
fopAcM_create(PROC_MG_FISH, param, &pos, fopAcM_GetRoomNo(i_this), NULL, NULL, -1);
}
}
#pragma pop
/* ############################################################################################## */
/* 805424C0-805424C4 000000 0004+00 1/1 0/0 0/0 .rodata @3787 */
SECTION_RODATA static f32 const lit_3787 = -3382.0f;
COMPILER_STRIP_GATE(0x805424C0, &lit_3787);
/* 805424C4-805424C8 000004 0004+00 0/1 0/0 0/0 .rodata @3788 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3788[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805424C4, &lit_3788);
#pragma pop
/* 805424C8-805424CC 000008 0004+00 0/1 0/0 0/0 .rodata @3789 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3789 = -7473.0f;
COMPILER_STRIP_GATE(0x805424C8, &lit_3789);
#pragma pop
/* 805424CC-805424D0 00000C 0004+00 0/1 0/0 0/0 .rodata @3790 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3790 = -7865.0f;
COMPILER_STRIP_GATE(0x805424CC, &lit_3790);
#pragma pop
/* 805424D0-805424D4 000010 0004+00 0/1 0/0 0/0 .rodata @3791 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3791 = 700.0f;
COMPILER_STRIP_GATE(0x805424D0, &lit_3791);
#pragma pop
/* 805424D4-805424D8 000014 0004+00 0/1 0/0 0/0 .rodata @3792 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3792 = -2936.0f;
COMPILER_STRIP_GATE(0x805424D4, &lit_3792);
#pragma pop
/* 805424D8-805424DC 000018 0004+00 0/1 0/0 0/0 .rodata @3793 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3793 = -180.0f;
COMPILER_STRIP_GATE(0x805424D8, &lit_3793);
#pragma pop
/* 805424DC-805424DC 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_805424DC = "F_SP127";
#pragma pop
/* 805424E4-805424F0 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
@ -178,199 +65,145 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
#pragma pop
/* 80542504-805428D8 000020 03D4+00 0/1 0/0 0/0 .data fish_d127_S */
#pragma push
#pragma force_active on
SECTION_DATA static u8 fish_d127_S[980] = {
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
0x45, 0xBD, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0x8E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x45, 0xC0, 0x98, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0x63, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x45, 0xC3, 0x70, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x44, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x45, 0xC7, 0x08, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x44, 0x18, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
0x45, 0xC9, 0xE0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x43, 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x09, 0x45, 0xC5, 0x60, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x43, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x45, 0xBD, 0x18, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x43, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x45, 0xB6, 0xE8, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x43, 0x8A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
0x45, 0xB3, 0xF8, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x43, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0x45, 0xAC, 0x90, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0x05, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xC5, 0x75, 0xB0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0x3C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC5, 0x53, 0x50, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x59, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
0xC5, 0x3B, 0x70, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x61, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0xC5, 0x26, 0xC0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x7F, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC5, 0x1E, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0x91, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC5, 0x13, 0xB0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x9A, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
0xC4, 0xEB, 0x20, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xA1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0xC4, 0xA8, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xA1, 0x50, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC4, 0x3E, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0x9E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xC2, 0x5C, 0x00, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x9E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
0x44, 0x2E, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x9A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0x45, 0x92, 0xB0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0xE7, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x45, 0x85, 0xA0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x44, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x45, 0x8E, 0x40, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x44, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
0x45, 0x9B, 0x98, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x43, 0xB7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0x44, 0x89, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x95, 0x28, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x44, 0xD2, 0x20, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0x93, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x45, 0x1C, 0x20, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x97, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
0x45, 0x81, 0x58, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xA1, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x05, 0x45, 0x8C, 0x08, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x02, 0xA0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x45, 0x80, 0x48, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x44, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x45, 0x61, 0xF0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x44, 0x84, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
0x45, 0x46, 0x50, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x45, 0x14, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x2B, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x44, 0xEE, 0xE0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC4, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x44, 0xBA, 0x20, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC4, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
0x44, 0xC4, 0x20, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x2B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x44, 0xF4, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x66, 0xA0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x45, 0x3C, 0x30, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC5, 0x8D, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC5, 0x8F, 0xC0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x41, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0x45, 0x62, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x94, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
static fish_data_s fish_d127_S[49] = {
{20, {0.f, 0.f, 0.f}, 0}, {22, {0.f, 0.f, 0.f}, 0},
{21, {0.f, 0.f, 0.f}, 0}, {24, {0.f, 0.f, 0.f}, 0},
{25, {0.f, 0.f, 0.f}, 0}, {26, {0.f, 0.f, 0.f}, 0},
{27, {0.f, 0.f, 0.f}, 0}, {6, {6064.f, -80.0f, 1138.f}, 0},
{6, {6163.f, -80.f, 911.f}, 0}, {6, {6254.f, -80.f, 769.f}, 0},
{9, {6369.f, -80.f, 611.f}, 0}, {9, {6460.f, -80.f, 372.f}, 0},
{9, {6316.f, -80.f, 152.f}, 0}, {8, {6051.f, -80.f, 166.f}, 0},
{5, {5853.f, -80.f, 277.f}, 0}, {5, {5759.f, -80.f, 506.f}, 0},
{5, {5522.f, -80.f, 533.f}, 0}, {6, {-3931.f, -80.f, 3020.f}, 0},
{5, {-3381.f, -80.f, 3473.f}, 0}, {5, {-2999.f, -80.f, 3608.f}, 0},
{6, {-2668.f, -80.f, 4088.f}, 0}, {5, {-2528.f, -80.f, 4649.f}, 0},
{5, {-2363.f, -80.f, 4953.f}, 0}, {6, {-1881.f, -80.f, 5180.f}, 0},
{5, {-1344.f, -80.f, 5162.f}, 0}, {5, {-760.f, -80.f, 5062.f}, 0},
{6, {-55.f, -80.f, 5064.f}, 0}, {5, {697.f, -80.f, 4958.f}, 0},
{5, {4694.f, -80.f, 1852.f}, 0}, {5, {4276.f, -80.f, 1496.f}, 0},
{5, {4552.f, -80.f, 1848.f}, 0}, {6, {4979.f, -80.f, 367.f}, 0},
{5, {1096.f, -80.f, 4773.f}, 0}, {6, {1681.f, -80.f, 4705.f}, 0},
{8, {2498.f, -80.f, 4834.f}, 0}, {5, {4139.f, -80.f, 5178.f}, 0},
{5, {4481.f, -80.f, 2090.f}, 0}, {6, {4105.f, -80.f, 1628.f}, 0},
{5, {3615.f, -80.f, 1058.f}, 0}, {8, {3173.f, -80.f, -215.f}, 0},
{6, {2376.f, -80.f, -684.f}, 0}, {5, {1911.f, -80.f, -927.f}, 0},
{6, {1489.f, -80.f, -1940.f}, 0}, {9, {1569.f, -80.f, -2745.f}, 0},
{8, {1954.f, -80.f, -3690.f}, 0}, {9, {3011.f, -80.f, -4520.f}, 0},
{8, {-4600.f, -80.f, 3100.f}, 0}, {7, {3616.f, -80.f, -4739.f}, 0},
{-1, {0.f, 0.f, 0.f}, 0},
};
#pragma pop
/* 805428D8-80542D38 0003F4 0460+00 0/1 0/0 0/0 .data fish_d127 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 fish_d127[1120] = {
0x00, 0x00, 0x00, 0x00, 0xC5, 0x8F, 0xE8, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x5C, 0x60, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xA5, 0xA0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0x33, 0xB0, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xDF, 0xD8, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x81, 0x60, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xFF, 0x08, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x84, 0x58, 0x00, 0x2C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC6, 0x11, 0xE8, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x20, 0xD0, 0x00,
0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x0B, 0xD4, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC4, 0x89, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xDF, 0x88, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x74, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xE7, 0x70, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x5C, 0x40, 0x00, 0x33, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC5, 0xBF, 0xD0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC3, 0x98, 0x80, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xBE, 0xA0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC5, 0x34, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xAD, 0x28, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x23, 0xC0, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xA9, 0x68, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0xA5, 0xC0, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x78, 0xE0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x30, 0xA0, 0x00,
0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xC5, 0x5E, 0xF0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC5, 0x96, 0xE0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x85, 0xF0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC5, 0xCB, 0x60, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xC5, 0x80, 0xF0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC6, 0x00, 0xCC, 0x00, 0x47, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0xD0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0xFA, 0x28, 0x00,
0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x87, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC5, 0xF9, 0x18, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xC5, 0x05, 0x60, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC6, 0x03, 0xB8, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0xC4, 0x85, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0xBE, 0x30, 0x00, 0x3E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x43, 0xA4, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0xAB, 0xE0, 0x00,
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xD4, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC5, 0xC0, 0xB0, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x45, 0x1E, 0x60, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x80, 0x48, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0xE5, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x47, 0xB0, 0x00, 0x2E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0xD0, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC5, 0x00, 0xD0, 0x00,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFE, 0xC0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC4, 0x77, 0x40, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x58, 0xD0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC3, 0x18, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC4, 0x5D, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0xAF, 0x40, 0x00, 0x2B, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC3, 0x69, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x44, 0xBC, 0x00, 0x00,
0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x0D, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x44, 0xB0, 0xE0, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xAA, 0x00, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0xC3, 0xFA, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC4, 0x6D, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xED, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x43, 0xEB, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xA0, 0xA0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0xC3, 0x53, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0xC4, 0x8F, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x65, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x23, 0x40, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0x9B, 0x60, 0x00,
0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x27, 0xC0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0xC2, 0xE8, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x1A, 0xF0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0xA5, 0xC0, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC4, 0xDA, 0x00, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xAC, 0x28, 0x00, 0x26, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC4, 0x56, 0xC0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xAA, 0xF0, 0x00,
0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x72, 0xC0, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x45, 0xA9, 0x68, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xEA, 0xA0, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x45, 0x98, 0x70, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x6C, 0x80, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0xAE, 0x50, 0x00, 0x27, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x45, 0xA8, 0x98, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x0C, 0x70, 0x00,
0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x83, 0x88, 0x00, 0xC2, 0xA0, 0x00, 0x00,
0x44, 0x78, 0x80, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC5, 0x43, 0x90, 0x00,
0xC2, 0xA0, 0x00, 0x00, 0x44, 0xC1, 0x80, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xC5, 0x85, 0xD0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0xC4, 0xAC, 0xA0, 0x00, 0x41, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xC4, 0xA4, 0xA0, 0x00, 0xC2, 0xA0, 0x00, 0x00, 0x45, 0x1D, 0x30, 0x00,
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x12, 0xBC, 0x00, 0xC4, 0x1F, 0x40, 0x00,
0x43, 0xC1, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x0D, 0x84, 0x00,
0xC4, 0x28, 0xC0, 0x00, 0xC4, 0x40, 0x80, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC5, 0xAD, 0xD0, 0x00, 0xC4, 0x28, 0xC0, 0x00, 0xC5, 0x04, 0x30, 0x00, 0x35, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC5, 0x6F, 0xD0, 0x00, 0xC4, 0x08, 0x80, 0x00, 0xC5, 0x33, 0x70, 0x00,
0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xA4, 0x00, 0x00, 0xC4, 0x6E, 0xC0, 0x00,
0x44, 0xC8, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x28, 0x10, 0x00,
0xC4, 0x61, 0x40, 0x00, 0xC2, 0xFC, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
static fish_data_s fish_d127[56] = {
{0, {-4605.0f, -80.f, 3526.f}, 45}, {0, {-5300.0f, -80.0f, 2875.0f}, 46},
{0, {-7163.0f, -80.0f, 4140.0f}, 47}, {0, {-8161.0f, -80.0f, 4235.0f}, 44},
{0, {-9338.0f, -80.0f, 2573.0f}, 43}, {0, {-8949.0f, -80.0f, -1096.0f}, 50},
{0, {-7153.0f, -80.0f, -979.0f}, 52}, {0, {-7406.0f, -80.0f, -881.0f}, 51},
{0, {-6138.0f, -80.0f, -305.0f}, 45}, {0, {-6100.0f, -80.0f, -2880.0f}, 53},
{0, {-5541.0f, -80.0f, -655.0f}, 51}, {0, {-5421.0f, -80.0f, -1326.0f}, 46},
{0, {-3982.0f, -80.0f, -2826.0f}, 43}, {2, {-3567.0f, -80.0f, -4828.0f}, 64},
{0, {-4286.0f, -80.0f, -6508.0f}, 47}, {1, {-4126.0f, -80.0f, -8243.0f}, 71},
{0, {-2717.0f, -80.0f, -8005.0f}, 49}, {0, {-1084.0f, -80.0f, -7971.0f}, 52},
{2, {-2134.0f, -80.0f, -8430.0f}, 63}, {2, {-1064.0f, -80.0f, -6086.0f}, 62},
{2, {329.0f, -80.0f, -5500.0f}, 66}, {0, {1698.0f, -80.0f, -6166.0f}, 46},
{2, {2534.0f, -80.0f, -4105.0f}, 65}, {0, {1836.0f, -80.0f, -3195.0f}, 46},
{0, {1668.0f, -80.0f, -2061.0f}, 48}, {0, {2038.0f, -80.0f, -989.0f}, 45},
{0, {3469.0f, -80.0f, -152.0f}, 49}, {0, {-885.0f, -80.0f, 1402.0f}, 43},
{0, {-233.0f, -80.0f, 1504.0f}, 45}, {0, {564.0f, -80.0f, 1415.0f}, 44},
{0, {-85.0f, -80.0f, 0.0f}, 46}, {2, {-500.0f, -80.0f, -200.0f}, 63},
{0, {-950.0f, -80.0f, 450.0f}, 48}, {0, {-1898.0f, -80.0f, 470.0f}, 46},
{0, {-1285.0f, -80.0f, -211.0f}, 46}, {2, {-1146.0f, -80.0f, -916.0f}, 59},
{0, {-2612.0f, -80.0f, -1243.0f}, 47}, {0, {-2684.0f, -80.0f, -116.0f}, 46},
{0, {-2479.0f, -80.0f, 5304.0f}, 39}, {0, {-1744.0f, -80.0f, 5509.0f}, 38},
{0, {-859.0f, -80.0f, 5470.0f}, 41}, {0, {971.0f, -80.0f, 5421.0f}, 37},
{0, {1877.0f, -80.0f, 4878.0f}, 42}, {0, {3784.0f, -80.0f, 5578.0f}, 39},
{0, {5395.0f, -80.0f, 2247.0f}, 37}, {0, {4209.0f, -80.0f, 994.0f}, 41},
{3, {-3129.0f, -80.0f, 1548.0f}, 61}, {3, {-4282.0f, -80.0f, -1381.0f}, 65},
{3, {-1317.0f, -80.0f, 2515.0f}, 63}, {0, {-9391.0f, -637.0f, 386.0f}, 51},
{0, {-9057.0f, -675.0f, -770.0f}, 52}, {0, {-5562.0f, -675.0f, -2115.0f}, 53},
{0, {-3837.0f, -546.0f, -2871.0f}, 51}, {0, {-328.0f, -955.0f, 1600.0f}, 52},
{0, {-2689.0f, -901.0f, -126.0f}, 53}, {-1, {0.0f, 0.0f, 0.0f}, 0}};
struct fish_pos {
u8 param;
f32 pos_x;
f32 pos_z;
};
#pragma pop
/* 80542D38-80542DC8 000854 0090+00 0/1 0/0 0/0 .data lf_pos */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lf_pos[144] = {
0x0A, 0x00, 0x00, 0x00, 0xC5, 0x22, 0xA0, 0x00, 0x45, 0x9C, 0x40, 0x00, 0x0A, 0x00, 0x00, 0x00,
0xC4, 0x57, 0xC0, 0x00, 0x45, 0x9F, 0x38, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x44, 0x0D, 0x80, 0x00,
0x45, 0x9C, 0xB8, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x45, 0x60, 0xA0, 0x00, 0x45, 0x93, 0xE0, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x45, 0xBC, 0x20, 0x00, 0x43, 0xD5, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x45, 0x30, 0x90, 0x00, 0x42, 0x9A, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x45, 0x54, 0x40, 0x00,
0x45, 0x9D, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x44, 0xF5, 0x40, 0x00, 0xC5, 0xB4, 0xE8, 0x00,
0x10, 0x00, 0x00, 0x00, 0xC4, 0xBB, 0x80, 0x00, 0x44, 0x26, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00,
0xC5, 0xBA, 0x00, 0x00, 0xC5, 0x2C, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0xC5, 0xE3, 0x08, 0x00,
0xC4, 0x2F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xC6, 0x0B, 0x84, 0x00, 0xC4, 0x1D, 0x80, 0x00,
static fish_pos lf_pos[12] = {
{10, -2602.f, 5000.f}, {10, -863.f, 5095.f}, {10, 566.f, 5015.f}, {10, 3594.f, 4732.f},
{10, 6020.f, 426.f}, {10, 2825.f, 77.f}, {10, 3396.f, 5024.f}, {10, 1962.f, -5789.f},
{16, -1500.f, 665.f}, {16, -5952.f, -2760.f}, {16, -7265.f, -700.f}, {16, -8929.f, -630.f},
};
#pragma pop
/* 80542254-805424B8 000154 0264+00 1/0 0/0 0/0 .text daNpc_Fish_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daNpc_Fish_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/npc/d_a_npc_fish/d_a_npc_fish/daNpc_Fish_Create__FP10fopAc_ac_c.s"
/* 80542254-805424B8 000154 0264+00 1/0 0/0 0/0 .text daNpc_Fish_Create__FP10fopAc_ac_c */
static int daNpc_Fish_Create(fopAc_ac_c* i_this) {
cXyz pos;
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) npc_fish_class();
fopAcM_OnCondition(i_this, 8);
}
if (strcmp(dComIfGp_getStartStageName(), "F_SP127")) {
return 5;
} else {
dScnKy_env_light_c* envLight = i_dKy_getEnvlight();
s32 param = 0;
if (envLight->field_0x12fe == 2) {
param = 160;
} else if (envLight->field_0x12fe == 3) {
param = 64;
}
if (param != 0) {
pos.set(-3382.0f, 0.0f, -7473.0f);
fopAcM_create(PROC_OBJ_LP, 0xFF010E00 | param, &pos, fopAcM_GetRoomNo(i_this), NULL,
NULL, -1);
}
}
if (g_env_light.field_0x12fe == 2) {
for (int i = 0; i < 4; i++) {
pos.set(cM_rndFX(700.0f) + -2936.0f, 0.0f, cM_rndFX(700.0f) + -7865.0f);
csXyz angle(0, 0, -1);
fopAcM_create(PROC_FR, 0, &pos, fopAcM_GetRoomNo(i_this), &angle, NULL, -1);
}
}
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[463])) {
fish_set(i_this, fish_d127);
} else {
fish_set(i_this, fish_d127_S);
for (int i = 0; i < 12; i++) {
pos.set(lf_pos[i].pos_x, -180.0f, lf_pos[i].pos_z);
fopAcM_create(PROC_NPC_LF, lf_pos[i].param, &pos, fopAcM_GetRoomNo(i_this), NULL, NULL,
-1);
}
}
return 5;
}
#pragma pop
/* ############################################################################################## */
/* 80542DC8-80542DE8 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Fish_Method */
SECTION_DATA static void* l_daNpc_Fish_Method[8] = {
(void*)daNpc_Fish_Create__FP10fopAc_ac_c,
(void*)daNpc_Fish_Delete__FP14npc_fish_class,
(void*)daNpc_Fish_Execute__FP14npc_fish_class,
(void*)daNpc_Fish_IsDelete__FP14npc_fish_class,
(void*)daNpc_Fish_Draw__FP14npc_fish_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daNpc_Fish_Method = {
(process_method_func)daNpc_Fish_Create, (process_method_func)daNpc_Fish_Delete,
(process_method_func)daNpc_Fish_Execute, (process_method_func)daNpc_Fish_IsDelete,
(process_method_func)daNpc_Fish_Draw,
};
/* 80542DE8-80542E18 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_FISH */
SECTION_DATA extern void* g_profile_NPC_FISH[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01350000, (void*)&g_fpcLf_Method,
(void*)0x000005B4, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02CF0000, (void*)&l_daNpc_Fish_Method,
(void*)0x00040100, (void*)0x00060000,
extern actor_process_profile_definition g_profile_NPC_FISH = {
-3,
7,
-3,
PROC_NPC_FISH,
&g_fpcLf_Method.mBase,
sizeof(npc_fish_class),
0,
0,
&g_fopAc_Method.base,
719,
&l_daNpc_Fish_Method,
0x40100,
0,
6,
};
/* 805424DC-805424DC 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */