mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-11-27 15:20:37 +00:00
Match + link remaining 6 Otakara mgrs
BombOtakaraMgr.cpp, ElecOtakaraMgr.cpp, FireOtakaraMgr.cpp, GasOtakaraMgr.cpp, OtakaraBaseMgr.cpp, WaterOtakaraMgr.cpp
This commit is contained in:
parent
8a86b92294
commit
698c2d8d66
@ -1,339 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
lbl_8048D3D8:
|
||||
.asciz "/enemy/data/BombOtakara/otakara_bomb_s3tc.bti"
|
||||
.balign 4
|
||||
lbl_8048D408: # Shift-JIS
|
||||
.4byte 0x836F834E
|
||||
.4byte 0x835F8393
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.balign 4
|
||||
lbl_8048D428:
|
||||
.asciz "BombOtakaraMgr.cpp"
|
||||
.balign 4
|
||||
lbl_8048D43C:
|
||||
.asciz "P2Assert"
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game11BombOtakara3Mgr
|
||||
__vt__Q34Game11BombOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11BombOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11BombOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11BombOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11BombOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11BombOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11BombOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11BombOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11BombOtakara3MgrFv
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.balign 8
|
||||
"cOtakaraChangeTexName__Q34Game11BombOtakara28@unnamed@BombOtakaraMgr_cpp@": # local object
|
||||
.4byte lbl_8048D3D8
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game11BombOtakara3MgrFiUc
|
||||
__ct__Q34Game11BombOtakara3MgrFiUc:
|
||||
/* 802F92D0 002F6210 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802F92D4 002F6214 7C 08 02 A6 */ mflr r0
|
||||
/* 802F92D8 002F6218 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802F92DC 002F621C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802F92E0 002F6220 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802F92E4 002F6224 4B FB CB B5 */ bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
/* 802F92E8 002F6228 3C 60 80 4D */ lis r3, __vt__Q34Game11BombOtakara3Mgr@ha
|
||||
/* 802F92EC 002F622C 3C 80 80 49 */ lis r4, lbl_8048D408@ha
|
||||
/* 802F92F0 002F6230 38 A3 5A 20 */ addi r5, r3, __vt__Q34Game11BombOtakara3Mgr@l
|
||||
/* 802F92F4 002F6234 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802F92F8 002F6238 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802F92FC 002F623C 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802F9300 002F6240 38 04 D4 08 */ addi r0, r4, lbl_8048D408@l
|
||||
/* 802F9304 002F6244 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802F9308 002F6248 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802F930C 002F624C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802F9310 002F6250 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802F9314 002F6254 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F9318 002F6258 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802F931C 002F625C 4E 80 00 20 */ blr
|
||||
|
||||
.global doAlloc__Q34Game11BombOtakara3MgrFv
|
||||
doAlloc__Q34Game11BombOtakara3MgrFv:
|
||||
/* 802F9320 002F6260 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802F9324 002F6264 7C 08 02 A6 */ mflr r0
|
||||
/* 802F9328 002F6268 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802F932C 002F626C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802F9330 002F6270 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802F9334 002F6274 38 60 08 A8 */ li r3, 0x8a8
|
||||
/* 802F9338 002F6278 4B D2 AB 6D */ bl __nw__FUl
|
||||
/* 802F933C 002F627C 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802F9340 002F6280 41 82 00 0C */ beq lbl_802F934C
|
||||
/* 802F9344 002F6284 4B FB EA 21 */ bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
/* 802F9348 002F6288 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802F934C:
|
||||
/* 802F934C 002F628C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802F9350 002F6290 4B E3 65 4D */ bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
/* 802F9354 002F6294 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802F9358 002F6298 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802F935C 002F629C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F9360 002F62A0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802F9364 002F62A4 4E 80 00 20 */ blr
|
||||
|
||||
.global createObj__Q34Game11BombOtakara3MgrFi
|
||||
createObj__Q34Game11BombOtakara3MgrFi:
|
||||
/* 802F9368 002F62A8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802F936C 002F62AC 7C 08 02 A6 */ mflr r0
|
||||
/* 802F9370 002F62B0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802F9374 002F62B4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802F9378 002F62B8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802F937C 002F62BC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802F9380 002F62C0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802F9384 002F62C4 1C 7F 03 04 */ mulli r3, r31, 0x304
|
||||
/* 802F9388 002F62C8 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 802F938C 002F62CC 4B D2 AC 21 */ bl __nwa__FUl
|
||||
/* 802F9390 002F62D0 3C 80 80 30 */ lis r4, __ct__Q34Game11BombOtakara3ObjFv@ha
|
||||
/* 802F9394 002F62D4 3C A0 80 30 */ lis r5, __dt__Q34Game11BombOtakara3ObjFv@ha
|
||||
/* 802F9398 002F62D8 38 84 96 24 */ addi r4, r4, __ct__Q34Game11BombOtakara3ObjFv@l
|
||||
/* 802F939C 002F62DC 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802F93A0 002F62E0 38 A5 93 C8 */ addi r5, r5, __dt__Q34Game11BombOtakara3ObjFv@l
|
||||
/* 802F93A4 002F62E4 38 C0 03 04 */ li r6, 0x304
|
||||
/* 802F93A8 002F62E8 4B DC 86 49 */ bl __construct_new_array
|
||||
/* 802F93AC 002F62EC 90 7E 00 48 */ stw r3, 0x48(r30)
|
||||
/* 802F93B0 002F62F0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802F93B4 002F62F4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802F93B8 002F62F8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802F93BC 002F62FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F93C0 002F6300 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802F93C4 002F6304 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11BombOtakara3ObjFv
|
||||
__dt__Q34Game11BombOtakara3ObjFv:
|
||||
/* 802F93C8 002F6308 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802F93CC 002F630C 7C 08 02 A6 */ mflr r0
|
||||
/* 802F93D0 002F6310 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802F93D4 002F6314 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802F93D8 002F6318 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802F93DC 002F631C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802F93E0 002F6320 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802F93E4 002F6324 41 82 00 B4 */ beq lbl_802F9498
|
||||
/* 802F93E8 002F6328 3C 60 80 4D */ lis r3, __vt__Q34Game11BombOtakara3Obj@ha
|
||||
/* 802F93EC 002F632C 38 BE 02 F4 */ addi r5, r30, 0x2f4
|
||||
/* 802F93F0 002F6330 38 83 5B 08 */ addi r4, r3, __vt__Q34Game11BombOtakara3Obj@l
|
||||
/* 802F93F4 002F6334 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802F93F8 002F6338 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802F93FC 002F633C 38 04 03 24 */ addi r0, r4, 0x324
|
||||
/* 802F9400 002F6340 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802F9404 002F6344 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802F9408 002F6348 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802F940C 002F634C 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802F9410 002F6350 7C 03 28 50 */ subf r0, r3, r5
|
||||
/* 802F9414 002F6354 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802F9418 002F6358 41 82 00 70 */ beq lbl_802F9488
|
||||
/* 802F941C 002F635C 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
/* 802F9420 002F6360 38 83 F0 84 */ addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
/* 802F9424 002F6364 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802F9428 002F6368 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802F942C 002F636C 38 04 03 24 */ addi r0, r4, 0x324
|
||||
/* 802F9430 002F6370 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802F9434 002F6374 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802F9438 002F6378 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802F943C 002F637C 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802F9440 002F6380 7C 03 28 50 */ subf r0, r3, r5
|
||||
/* 802F9444 002F6384 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802F9448 002F6388 41 82 00 40 */ beq lbl_802F9488
|
||||
/* 802F944C 002F638C 3C 60 80 4B */ lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
/* 802F9450 002F6390 38 1E 02 BC */ addi r0, r30, 0x2bc
|
||||
/* 802F9454 002F6394 38 83 A3 24 */ addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
/* 802F9458 002F6398 38 7E 02 90 */ addi r3, r30, 0x290
|
||||
/* 802F945C 002F639C 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802F9460 002F63A0 38 A4 01 B0 */ addi r5, r4, 0x1b0
|
||||
/* 802F9464 002F63A4 38 C4 02 F8 */ addi r6, r4, 0x2f8
|
||||
/* 802F9468 002F63A8 38 80 FF FF */ li r4, -1
|
||||
/* 802F946C 002F63AC 90 BE 01 78 */ stw r5, 0x178(r30)
|
||||
/* 802F9470 002F63B0 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802F9474 002F63B4 90 C5 00 00 */ stw r6, 0(r5)
|
||||
/* 802F9478 002F63B8 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802F947C 002F63BC 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802F9480 002F63C0 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802F9484 002F63C4 48 11 81 05 */ bl __dt__5CNodeFv
|
||||
lbl_802F9488:
|
||||
/* 802F9488 002F63C8 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802F948C 002F63CC 40 81 00 0C */ ble lbl_802F9498
|
||||
/* 802F9490 002F63D0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802F9494 002F63D4 4B D2 AC 21 */ bl __dl__FPv
|
||||
lbl_802F9498:
|
||||
/* 802F9498 002F63D8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802F949C 002F63DC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802F94A0 002F63E0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802F94A4 002F63E4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802F94A8 002F63E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F94AC 002F63EC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802F94B0 002F63F0 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemy__Q34Game11BombOtakara3MgrFi
|
||||
getEnemy__Q34Game11BombOtakara3MgrFi:
|
||||
/* 802F94B4 002F63F4 1C 04 03 04 */ mulli r0, r4, 0x304
|
||||
/* 802F94B8 002F63F8 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802F94BC 002F63FC 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802F94C0 002F6400 4E 80 00 20 */ blr
|
||||
|
||||
.global loadTexData__Q34Game11BombOtakara3MgrFv
|
||||
loadTexData__Q34Game11BombOtakara3MgrFv:
|
||||
/* 802F94C4 002F6404 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802F94C8 002F6408 7C 08 02 A6 */ mflr r0
|
||||
/* 802F94CC 002F640C 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802F94D0 002F6410 38 00 00 00 */ li r0, 0
|
||||
/* 802F94D4 002F6414 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 802F94D8 002F6418 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802F94DC 002F641C 90 03 00 44 */ stw r0, 0x44(r3)
|
||||
/* 802F94E0 002F6420 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802F94E4 002F6424 80 8D 85 08 */ lwz r4, "cOtakaraChangeTexName__Q34Game11BombOtakara28@unnamed@BombOtakaraMgr_cpp@"@sda21(r13)
|
||||
/* 802F94E8 002F6428 48 15 30 F1 */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 802F94EC 002F642C 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 802F94F0 002F6430 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802F94F4 002F6434 48 15 32 AD */ bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 802F94F8 002F6438 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802F94FC 002F643C 41 82 00 0C */ beq lbl_802F9508
|
||||
/* 802F9500 002F6440 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802F9504 002F6444 90 1F 00 44 */ stw r0, 0x44(r31)
|
||||
lbl_802F9508:
|
||||
/* 802F9508 002F6448 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 802F950C 002F644C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802F9510 002F6450 40 82 00 20 */ bne lbl_802F9530
|
||||
/* 802F9514 002F6454 3C 60 80 49 */ lis r3, lbl_8048D428@ha
|
||||
/* 802F9518 002F6458 3C A0 80 49 */ lis r5, lbl_8048D43C@ha
|
||||
/* 802F951C 002F645C 38 63 D4 28 */ addi r3, r3, lbl_8048D428@l
|
||||
/* 802F9520 002F6460 38 80 00 53 */ li r4, 0x53
|
||||
/* 802F9524 002F6464 38 A5 D4 3C */ addi r5, r5, lbl_8048D43C@l
|
||||
/* 802F9528 002F6468 4C C6 31 82 */ crclr 6
|
||||
/* 802F952C 002F646C 4B D3 11 15 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802F9530:
|
||||
/* 802F9530 002F6470 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802F9534 002F6474 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802F9538 002F6478 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F953C 002F647C 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802F9540 002F6480 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11BombOtakara3MgrFv
|
||||
__dt__Q34Game11BombOtakara3MgrFv:
|
||||
/* 802F9544 002F6484 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802F9548 002F6488 7C 08 02 A6 */ mflr r0
|
||||
/* 802F954C 002F648C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802F9550 002F6490 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802F9554 002F6494 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802F9558 002F6498 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802F955C 002F649C 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802F9560 002F64A0 41 82 00 90 */ beq lbl_802F95F0
|
||||
/* 802F9564 002F64A4 3C 60 80 4D */ lis r3, __vt__Q34Game11BombOtakara3Mgr@ha
|
||||
/* 802F9568 002F64A8 38 63 5A 20 */ addi r3, r3, __vt__Q34Game11BombOtakara3Mgr@l
|
||||
/* 802F956C 002F64AC 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802F9570 002F64B0 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802F9574 002F64B4 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802F9578 002F64B8 41 82 00 68 */ beq lbl_802F95E0
|
||||
/* 802F957C 002F64BC 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802F9580 002F64C0 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802F9584 002F64C4 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802F9588 002F64C8 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802F958C 002F64CC 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802F9590 002F64D0 41 82 00 50 */ beq lbl_802F95E0
|
||||
/* 802F9594 002F64D4 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802F9598 002F64D8 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802F959C 002F64DC 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802F95A0 002F64E0 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802F95A4 002F64E4 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802F95A8 002F64E8 41 82 00 38 */ beq lbl_802F95E0
|
||||
/* 802F95AC 002F64EC 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802F95B0 002F64F0 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802F95B4 002F64F4 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802F95B8 002F64F8 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802F95BC 002F64FC 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802F95C0 002F6500 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802F95C4 002F6504 41 82 00 1C */ beq lbl_802F95E0
|
||||
/* 802F95C8 002F6508 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802F95CC 002F650C 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802F95D0 002F6510 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802F95D4 002F6514 38 80 00 00 */ li r4, 0
|
||||
/* 802F95D8 002F6518 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802F95DC 002F651C 48 11 7F AD */ bl __dt__5CNodeFv
|
||||
lbl_802F95E0:
|
||||
/* 802F95E0 002F6520 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802F95E4 002F6524 40 81 00 0C */ ble lbl_802F95F0
|
||||
/* 802F95E8 002F6528 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802F95EC 002F652C 4B D2 AA C9 */ bl __dl__FPv
|
||||
lbl_802F95F0:
|
||||
/* 802F95F0 002F6530 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802F95F4 002F6534 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802F95F8 002F6538 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802F95FC 002F653C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802F9600 002F6540 7C 08 03 A6 */ mtlr r0
|
||||
/* 802F9604 002F6544 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802F9608 002F6548 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game11BombOtakara3MgrFv
|
||||
getEnemyTypeID__Q34Game11BombOtakara3MgrFv:
|
||||
/* 802F960C 002F654C 38 60 00 5D */ li r3, 0x5d
|
||||
/* 802F9610 002F6550 4E 80 00 20 */ blr
|
||||
|
||||
.global getChangeTexture__Q34Game11BombOtakara3MgrFv
|
||||
getChangeTexture__Q34Game11BombOtakara3MgrFv:
|
||||
/* 802F9614 002F6554 80 63 00 44 */ lwz r3, 0x44(r3)
|
||||
/* 802F9618 002F6558 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game11BombOtakara3MgrFv"
|
||||
"@4@__dt__Q34Game11BombOtakara3MgrFv":
|
||||
/* 802F961C 002F655C 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802F9620 002F6560 4B FF FF 24 */ b __dt__Q34Game11BombOtakara3MgrFv
|
@ -1,344 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
.global lbl_8048A840
|
||||
lbl_8048A840:
|
||||
.asciz "/enemy/data/ElecOtakara/otakara_yellow_s3tc.bti"
|
||||
.global lbl_8048A870
|
||||
lbl_8048A870:
|
||||
.4byte 0x93648B43
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048A88C
|
||||
lbl_8048A88C:
|
||||
.asciz "ElecOtakaraMgr.cpp"
|
||||
.skip 1
|
||||
.global lbl_8048A8A0
|
||||
lbl_8048A8A0:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game11ElecOtakara3Mgr
|
||||
__vt__Q34Game11ElecOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11ElecOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11ElecOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11ElecOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.balign 8
|
||||
.global "cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A840
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game11ElecOtakara3MgrFiUc
|
||||
__ct__Q34Game11ElecOtakara3MgrFiUc:
|
||||
/* 802B9780 002B66C0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B9784 002B66C4 7C 08 02 A6 */ mflr r0
|
||||
/* 802B9788 002B66C8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B978C 002B66CC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B9790 002B66D0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B9794 002B66D4 4B FF C7 05 */ bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
/* 802B9798 002B66D8 3C 60 80 4D */ lis r3, __vt__Q34Game11ElecOtakara3Mgr@ha
|
||||
/* 802B979C 002B66DC 3C 80 80 49 */ lis r4, lbl_8048A870@ha
|
||||
/* 802B97A0 002B66E0 38 A3 01 30 */ addi r5, r3, __vt__Q34Game11ElecOtakara3Mgr@l
|
||||
/* 802B97A4 002B66E4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B97A8 002B66E8 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802B97AC 002B66EC 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802B97B0 002B66F0 38 04 A8 70 */ addi r0, r4, lbl_8048A870@l
|
||||
/* 802B97B4 002B66F4 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802B97B8 002B66F8 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802B97BC 002B66FC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B97C0 002B6700 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B97C4 002B6704 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B97C8 002B6708 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B97CC 002B670C 4E 80 00 20 */ blr
|
||||
|
||||
.global doAlloc__Q34Game11ElecOtakara3MgrFv
|
||||
doAlloc__Q34Game11ElecOtakara3MgrFv:
|
||||
/* 802B97D0 002B6710 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B97D4 002B6714 7C 08 02 A6 */ mflr r0
|
||||
/* 802B97D8 002B6718 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B97DC 002B671C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B97E0 002B6720 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B97E4 002B6724 38 60 08 A8 */ li r3, 0x8a8
|
||||
/* 802B97E8 002B6728 4B D6 A6 BD */ bl __nw__FUl
|
||||
/* 802B97EC 002B672C 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802B97F0 002B6730 41 82 00 0C */ beq lbl_802B97FC
|
||||
/* 802B97F4 002B6734 4B FF E5 71 */ bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
/* 802B97F8 002B6738 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802B97FC:
|
||||
/* 802B97FC 002B673C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B9800 002B6740 4B E7 60 9D */ bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
/* 802B9804 002B6744 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9808 002B6748 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B980C 002B674C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B9810 002B6750 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9814 002B6754 4E 80 00 20 */ blr
|
||||
|
||||
.global createObj__Q34Game11ElecOtakara3MgrFi
|
||||
createObj__Q34Game11ElecOtakara3MgrFi:
|
||||
/* 802B9818 002B6758 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B981C 002B675C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B9820 002B6760 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B9824 002B6764 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B9828 002B6768 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B982C 002B676C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B9830 002B6770 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802B9834 002B6774 1C 7F 03 08 */ mulli r3, r31, 0x308
|
||||
/* 802B9838 002B6778 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 802B983C 002B677C 4B D6 A7 71 */ bl __nwa__FUl
|
||||
/* 802B9840 002B6780 3C 80 80 2C */ lis r4, __ct__Q34Game11ElecOtakara3ObjFv@ha
|
||||
/* 802B9844 002B6784 3C A0 80 2C */ lis r5, __dt__Q34Game11ElecOtakara3ObjFv@ha
|
||||
/* 802B9848 002B6788 38 84 9A D8 */ addi r4, r4, __ct__Q34Game11ElecOtakara3ObjFv@l
|
||||
/* 802B984C 002B678C 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802B9850 002B6790 38 A5 98 78 */ addi r5, r5, __dt__Q34Game11ElecOtakara3ObjFv@l
|
||||
/* 802B9854 002B6794 38 C0 03 08 */ li r6, 0x308
|
||||
/* 802B9858 002B6798 4B E0 81 99 */ bl __construct_new_array
|
||||
/* 802B985C 002B679C 90 7E 00 48 */ stw r3, 0x48(r30)
|
||||
/* 802B9860 002B67A0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9864 002B67A4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B9868 002B67A8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B986C 002B67AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B9870 002B67B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9874 002B67B4 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11ElecOtakara3ObjFv
|
||||
__dt__Q34Game11ElecOtakara3ObjFv:
|
||||
/* 802B9878 002B67B8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B987C 002B67BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B9880 002B67C0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B9884 002B67C4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B9888 002B67C8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B988C 002B67CC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B9890 002B67D0 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B9894 002B67D4 41 82 00 B8 */ beq lbl_802B994C
|
||||
/* 802B9898 002B67D8 3C 60 80 4D */ lis r3, __vt__Q34Game11ElecOtakara3Obj@ha
|
||||
/* 802B989C 002B67DC 38 1E 02 F8 */ addi r0, r30, 0x2f8
|
||||
/* 802B98A0 002B67E0 38 83 02 48 */ addi r4, r3, __vt__Q34Game11ElecOtakara3Obj@l
|
||||
/* 802B98A4 002B67E4 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B98A8 002B67E8 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B98AC 002B67EC 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B98B0 002B67F0 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B98B4 002B67F4 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B98B8 002B67F8 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B98BC 002B67FC 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B98C0 002B6800 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B98C4 002B6804 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B98C8 002B6808 41 82 00 74 */ beq lbl_802B993C
|
||||
/* 802B98CC 002B680C 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
/* 802B98D0 002B6810 38 1E 02 F4 */ addi r0, r30, 0x2f4
|
||||
/* 802B98D4 002B6814 38 83 F0 84 */ addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
/* 802B98D8 002B6818 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B98DC 002B681C 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B98E0 002B6820 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B98E4 002B6824 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B98E8 002B6828 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B98EC 002B682C 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B98F0 002B6830 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B98F4 002B6834 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B98F8 002B6838 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B98FC 002B683C 41 82 00 40 */ beq lbl_802B993C
|
||||
/* 802B9900 002B6840 3C 60 80 4B */ lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
/* 802B9904 002B6844 38 1E 02 BC */ addi r0, r30, 0x2bc
|
||||
/* 802B9908 002B6848 38 83 A3 24 */ addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
/* 802B990C 002B684C 38 7E 02 90 */ addi r3, r30, 0x290
|
||||
/* 802B9910 002B6850 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B9914 002B6854 38 A4 01 B0 */ addi r5, r4, 0x1b0
|
||||
/* 802B9918 002B6858 38 C4 02 F8 */ addi r6, r4, 0x2f8
|
||||
/* 802B991C 002B685C 38 80 FF FF */ li r4, -1
|
||||
/* 802B9920 002B6860 90 BE 01 78 */ stw r5, 0x178(r30)
|
||||
/* 802B9924 002B6864 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B9928 002B6868 90 C5 00 00 */ stw r6, 0(r5)
|
||||
/* 802B992C 002B686C 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B9930 002B6870 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802B9934 002B6874 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802B9938 002B6878 48 15 7C 51 */ bl __dt__5CNodeFv
|
||||
lbl_802B993C:
|
||||
/* 802B993C 002B687C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B9940 002B6880 40 81 00 0C */ ble lbl_802B994C
|
||||
/* 802B9944 002B6884 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9948 002B6888 4B D6 A7 6D */ bl __dl__FPv
|
||||
lbl_802B994C:
|
||||
/* 802B994C 002B688C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9950 002B6890 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9954 002B6894 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B9958 002B6898 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B995C 002B689C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B9960 002B68A0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9964 002B68A4 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemy__Q34Game11ElecOtakara3MgrFi
|
||||
getEnemy__Q34Game11ElecOtakara3MgrFi:
|
||||
/* 802B9968 002B68A8 1C 04 03 08 */ mulli r0, r4, 0x308
|
||||
/* 802B996C 002B68AC 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802B9970 002B68B0 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802B9974 002B68B4 4E 80 00 20 */ blr
|
||||
|
||||
.global loadTexData__Q34Game11ElecOtakara3MgrFv
|
||||
loadTexData__Q34Game11ElecOtakara3MgrFv:
|
||||
/* 802B9978 002B68B8 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802B997C 002B68BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B9980 002B68C0 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802B9984 002B68C4 38 00 00 00 */ li r0, 0
|
||||
/* 802B9988 002B68C8 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 802B998C 002B68CC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B9990 002B68D0 90 03 00 44 */ stw r0, 0x44(r3)
|
||||
/* 802B9994 002B68D4 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B9998 002B68D8 80 8D 84 F8 */ lwz r4, "cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@"@sda21(r13)
|
||||
/* 802B999C 002B68DC 48 19 2C 3D */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 802B99A0 002B68E0 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 802B99A4 002B68E4 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802B99A8 002B68E8 48 19 2D F9 */ bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 802B99AC 002B68EC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B99B0 002B68F0 41 82 00 0C */ beq lbl_802B99BC
|
||||
/* 802B99B4 002B68F4 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802B99B8 002B68F8 90 1F 00 44 */ stw r0, 0x44(r31)
|
||||
lbl_802B99BC:
|
||||
/* 802B99BC 002B68FC 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 802B99C0 002B6900 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802B99C4 002B6904 40 82 00 20 */ bne lbl_802B99E4
|
||||
/* 802B99C8 002B6908 3C 60 80 49 */ lis r3, lbl_8048A88C@ha
|
||||
/* 802B99CC 002B690C 3C A0 80 49 */ lis r5, lbl_8048A8A0@ha
|
||||
/* 802B99D0 002B6910 38 63 A8 8C */ addi r3, r3, lbl_8048A88C@l
|
||||
/* 802B99D4 002B6914 38 80 00 53 */ li r4, 0x53
|
||||
/* 802B99D8 002B6918 38 A5 A8 A0 */ addi r5, r5, lbl_8048A8A0@l
|
||||
/* 802B99DC 002B691C 4C C6 31 82 */ crclr 6
|
||||
/* 802B99E0 002B6920 4B D7 0C 61 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802B99E4:
|
||||
/* 802B99E4 002B6924 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802B99E8 002B6928 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802B99EC 002B692C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B99F0 002B6930 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802B99F4 002B6934 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11ElecOtakara3MgrFv
|
||||
__dt__Q34Game11ElecOtakara3MgrFv:
|
||||
/* 802B99F8 002B6938 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B99FC 002B693C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B9A00 002B6940 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B9A04 002B6944 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B9A08 002B6948 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B9A0C 002B694C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B9A10 002B6950 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B9A14 002B6954 41 82 00 90 */ beq lbl_802B9AA4
|
||||
/* 802B9A18 002B6958 3C 60 80 4D */ lis r3, __vt__Q34Game11ElecOtakara3Mgr@ha
|
||||
/* 802B9A1C 002B695C 38 63 01 30 */ addi r3, r3, __vt__Q34Game11ElecOtakara3Mgr@l
|
||||
/* 802B9A20 002B6960 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B9A24 002B6964 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9A28 002B6968 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9A2C 002B696C 41 82 00 68 */ beq lbl_802B9A94
|
||||
/* 802B9A30 002B6970 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B9A34 002B6974 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B9A38 002B6978 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B9A3C 002B697C 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9A40 002B6980 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9A44 002B6984 41 82 00 50 */ beq lbl_802B9A94
|
||||
/* 802B9A48 002B6988 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802B9A4C 002B698C 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802B9A50 002B6990 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B9A54 002B6994 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9A58 002B6998 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9A5C 002B699C 41 82 00 38 */ beq lbl_802B9A94
|
||||
/* 802B9A60 002B69A0 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802B9A64 002B69A4 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802B9A68 002B69A8 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802B9A6C 002B69AC 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B9A70 002B69B0 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9A74 002B69B4 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9A78 002B69B8 41 82 00 1C */ beq lbl_802B9A94
|
||||
/* 802B9A7C 002B69BC 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802B9A80 002B69C0 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802B9A84 002B69C4 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802B9A88 002B69C8 38 80 00 00 */ li r4, 0
|
||||
/* 802B9A8C 002B69CC 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9A90 002B69D0 48 15 7A F9 */ bl __dt__5CNodeFv
|
||||
lbl_802B9A94:
|
||||
/* 802B9A94 002B69D4 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B9A98 002B69D8 40 81 00 0C */ ble lbl_802B9AA4
|
||||
/* 802B9A9C 002B69DC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9AA0 002B69E0 4B D6 A6 15 */ bl __dl__FPv
|
||||
lbl_802B9AA4:
|
||||
/* 802B9AA4 002B69E4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9AA8 002B69E8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9AAC 002B69EC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B9AB0 002B69F0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B9AB4 002B69F4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B9AB8 002B69F8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9ABC 002B69FC 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game11ElecOtakara3MgrFv
|
||||
getEnemyTypeID__Q34Game11ElecOtakara3MgrFv:
|
||||
/* 802B9AC0 002B6A00 38 60 00 3E */ li r3, 0x3e
|
||||
/* 802B9AC4 002B6A04 4E 80 00 20 */ blr
|
||||
|
||||
.global getChangeTexture__Q34Game11ElecOtakara3MgrFv
|
||||
getChangeTexture__Q34Game11ElecOtakara3MgrFv:
|
||||
/* 802B9AC8 002B6A08 80 63 00 44 */ lwz r3, 0x44(r3)
|
||||
/* 802B9ACC 002B6A0C 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game11ElecOtakara3MgrFv"
|
||||
"@4@__dt__Q34Game11ElecOtakara3MgrFv":
|
||||
/* 802B9AD0 002B6A10 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802B9AD4 002B6A14 4B FF FF 24 */ b __dt__Q34Game11ElecOtakara3MgrFv
|
@ -1,691 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
.global lbl_8048A3B8
|
||||
lbl_8048A3B8:
|
||||
.asciz "246-FireOtakaraMgr"
|
||||
.skip 1
|
||||
.global lbl_8048A3CC
|
||||
lbl_8048A3CC:
|
||||
.asciz "/enemy/data/FireOtakara/otakara_red_s3tc.bti"
|
||||
.skip 3
|
||||
.global lbl_8048A3FC
|
||||
lbl_8048A3FC:
|
||||
.4byte 0x89CE8349
|
||||
.4byte 0x835E834A
|
||||
.4byte 0x83898380
|
||||
.4byte 0x8356837D
|
||||
.4byte 0x836C815B
|
||||
.4byte 0x83578383
|
||||
.4byte 0x00000000
|
||||
.4byte 0x4F74616B
|
||||
.4byte 0x61726142
|
||||
.4byte 0x61736550
|
||||
.4byte 0x61726D73
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83898343
|
||||
.4byte 0x83740000
|
||||
.4byte 0x836D815B
|
||||
.4byte 0x837D838B
|
||||
.4byte 0x8341835E
|
||||
.4byte 0x8362834E
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x8341835E
|
||||
.4byte 0x8362834E
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x834C8383
|
||||
.4byte 0x83628360
|
||||
.4byte 0x00000000
|
||||
.4byte 0x43726561
|
||||
.4byte 0x74757265
|
||||
.4byte 0x3A3A5072
|
||||
.4byte 0x6F706572
|
||||
.4byte 0x74790000
|
||||
.4byte 0x66726963
|
||||
.4byte 0x74696F6E
|
||||
.4byte 0x286E6F74
|
||||
.4byte 0x20757365
|
||||
.4byte 0x64290000
|
||||
.4byte 0x77616C6C
|
||||
.4byte 0x5265666C
|
||||
.4byte 0x65637469
|
||||
.4byte 0x6F6E0000
|
||||
.4byte 0x66616365
|
||||
.4byte 0x44697241
|
||||
.4byte 0x646A7573
|
||||
.4byte 0x74000000
|
||||
.4byte 0x626F756E
|
||||
.4byte 0x63654661
|
||||
.4byte 0x63746F72
|
||||
.4byte 0x00000000
|
||||
.4byte 0x456E656D
|
||||
.4byte 0x79506172
|
||||
.4byte 0x6D734261
|
||||
.4byte 0x73650000
|
||||
.4byte 0x83898343
|
||||
.4byte 0x837482CC
|
||||
.4byte 0x8D8282B3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x83898343
|
||||
.4byte 0x837489F1
|
||||
.4byte 0x959C97A6
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8C7889FA
|
||||
.4byte 0x83898343
|
||||
.4byte 0x83740000
|
||||
.4byte 0x837D8362
|
||||
.4byte 0x837682C6
|
||||
.4byte 0x82CC9396
|
||||
.4byte 0x82E80000
|
||||
.4byte 0x837D8362
|
||||
.4byte 0x837682C6
|
||||
.4byte 0x82CC82A0
|
||||
.4byte 0x82BD82E8
|
||||
.4byte 0x837C838A
|
||||
.4byte 0x83538393
|
||||
.4byte 0x82CC9149
|
||||
.4byte 0x92E80000
|
||||
.4byte 0x8373834E
|
||||
.4byte 0x837E8393
|
||||
.4byte 0x82C682CC
|
||||
.4byte 0x82A082BD
|
||||
.4byte 0x82E80000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83588350
|
||||
.4byte 0x815B838B
|
||||
.4byte 0x585A0000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83588350
|
||||
.4byte 0x815B838B
|
||||
.4byte 0x59000000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x8374838C
|
||||
.4byte 0x815B8380
|
||||
.4byte 0x00000000
|
||||
.4byte 0x89F1935D
|
||||
.4byte 0x91AC9378
|
||||
.4byte 0x97A60000
|
||||
.4byte 0x89F1935D
|
||||
.4byte 0x8DC591E5
|
||||
.4byte 0x91AC9378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8365838A
|
||||
.4byte 0x8367838A
|
||||
.4byte 0x815B0000
|
||||
.4byte 0x837A815B
|
||||
.4byte 0x838094CD
|
||||
.4byte 0x88CD0000
|
||||
.4byte 0x83768389
|
||||
.4byte 0x83438378
|
||||
.4byte 0x815B8367
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8E8B8A45
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8E8B8A45
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x92548DF5
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x92548DF5
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x97CD0000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x94CD88CD
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x97A60000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x89C2945C
|
||||
.4byte 0x94CD88CD
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x89C2945C
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x83718362
|
||||
.4byte 0x836794CD
|
||||
.4byte 0x88CD0000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x83718362
|
||||
.4byte 0x83678A70
|
||||
.4byte 0x93780000
|
||||
.4byte 0x8C7889FA
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x90CE89BB
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x83718362
|
||||
.4byte 0x83768368
|
||||
.4byte 0x838D8362
|
||||
.4byte 0x8376835F
|
||||
.4byte 0x8381815B
|
||||
.4byte 0x83570000
|
||||
.4byte 0x926E906B
|
||||
.4byte 0x8B4390E2
|
||||
.4byte 0x8A6D97A7
|
||||
.4byte 0x00000000
|
||||
.4byte 0x926E906B
|
||||
.4byte 0x8B4390E2
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82600000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82500000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82610000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82510000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82620000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82520000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82630000
|
||||
.global lbl_8048A740
|
||||
lbl_8048A740:
|
||||
.asciz "FireOtakaraMgr.cpp"
|
||||
.skip 1
|
||||
.global lbl_8048A754
|
||||
lbl_8048A754:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game11FireOtakara3Mgr
|
||||
__vt__Q34Game11FireOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11FireOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11FireOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11FireOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11FireOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11FireOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11FireOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11FireOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11FireOtakara3MgrFv
|
||||
.global __vt__Q34Game11OtakaraBase5Parms
|
||||
__vt__Q34Game11OtakaraBase5Parms:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte read__Q34Game11OtakaraBase5ParmsFR6Stream
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.balign 8
|
||||
.global "cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A3CC
|
||||
|
||||
.section .sdata2, "a" # 0x80516360 - 0x80520E40
|
||||
.balign 8
|
||||
.global lbl_8051C2E8
|
||||
lbl_8051C2E8:
|
||||
.4byte 0x42C80000
|
||||
.global lbl_8051C2EC
|
||||
lbl_8051C2EC:
|
||||
.4byte 0x00000000
|
||||
.global lbl_8051C2F0
|
||||
lbl_8051C2F0:
|
||||
.4byte 0x461C4000
|
||||
.global lbl_8051C2F4
|
||||
lbl_8051C2F4:
|
||||
.float 1.0
|
||||
.global lbl_8051C2F8
|
||||
lbl_8051C2F8:
|
||||
.4byte 0x41200000
|
||||
.global lbl_8051C2FC
|
||||
lbl_8051C2FC:
|
||||
.4byte 0x3FA00000
|
||||
.global lbl_8051C300
|
||||
lbl_8051C300:
|
||||
.4byte 0x40200000
|
||||
.4byte 0x00000000
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game11FireOtakara3MgrFiUc
|
||||
__ct__Q34Game11FireOtakara3MgrFiUc:
|
||||
/* 802B7CCC 002B4C0C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B7CD0 002B4C10 7C 08 02 A6 */ mflr r0
|
||||
/* 802B7CD4 002B4C14 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B7CD8 002B4C18 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B7CDC 002B4C1C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B7CE0 002B4C20 4B FF E1 B9 */ bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
/* 802B7CE4 002B4C24 3C 60 80 4D */ lis r3, __vt__Q34Game11FireOtakara3Mgr@ha
|
||||
/* 802B7CE8 002B4C28 3C 80 80 49 */ lis r4, lbl_8048A3FC@ha
|
||||
/* 802B7CEC 002B4C2C 38 A3 F3 D8 */ addi r5, r3, __vt__Q34Game11FireOtakara3Mgr@l
|
||||
/* 802B7CF0 002B4C30 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B7CF4 002B4C34 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802B7CF8 002B4C38 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802B7CFC 002B4C3C 38 04 A3 FC */ addi r0, r4, lbl_8048A3FC@l
|
||||
/* 802B7D00 002B4C40 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802B7D04 002B4C44 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802B7D08 002B4C48 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B7D0C 002B4C4C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B7D10 002B4C50 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B7D14 002B4C54 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B7D18 002B4C58 4E 80 00 20 */ blr
|
||||
|
||||
.global doAlloc__Q34Game11FireOtakara3MgrFv
|
||||
doAlloc__Q34Game11FireOtakara3MgrFv:
|
||||
/* 802B7D1C 002B4C5C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B7D20 002B4C60 7C 08 02 A6 */ mflr r0
|
||||
/* 802B7D24 002B4C64 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B7D28 002B4C68 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B7D2C 002B4C6C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B7D30 002B4C70 38 60 08 A8 */ li r3, 0x8a8
|
||||
/* 802B7D34 002B4C74 4B D6 C1 71 */ bl __nw__FUl
|
||||
/* 802B7D38 002B4C78 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802B7D3C 002B4C7C 41 82 00 0C */ beq lbl_802B7D48
|
||||
/* 802B7D40 002B4C80 48 00 00 25 */ bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
/* 802B7D44 002B4C84 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802B7D48:
|
||||
/* 802B7D48 002B4C88 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B7D4C 002B4C8C 4B E7 7B 51 */ bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
/* 802B7D50 002B4C90 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B7D54 002B4C94 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B7D58 002B4C98 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B7D5C 002B4C9C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B7D60 002B4CA0 4E 80 00 20 */ blr
|
||||
|
||||
.global __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
__ct__Q34Game11OtakaraBase5ParmsFv:
|
||||
/* 802B7D64 002B4CA4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B7D68 002B4CA8 7C 08 02 A6 */ mflr r0
|
||||
/* 802B7D6C 002B4CAC 3C 80 80 49 */ lis r4, lbl_8048A3B8@ha
|
||||
/* 802B7D70 002B4CB0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B7D74 002B4CB4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B7D78 002B4CB8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B7D7C 002B4CBC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B7D80 002B4CC0 3B C4 A3 B8 */ addi r30, r4, lbl_8048A3B8@l
|
||||
/* 802B7D84 002B4CC4 4B E5 1A 19 */ bl __ct__Q24Game14EnemyParmsBaseFv
|
||||
/* 802B7D88 002B4CC8 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase5Parms@ha
|
||||
/* 802B7D8C 002B4CCC 3C A0 66 70 */ lis r5, 0x66703031@ha
|
||||
/* 802B7D90 002B4CD0 38 03 F4 BC */ addi r0, r3, __vt__Q34Game11OtakaraBase5Parms@l
|
||||
/* 802B7D94 002B4CD4 38 9F 08 A4 */ addi r4, r31, 0x8a4
|
||||
/* 802B7D98 002B4CD8 90 1F 00 D8 */ stw r0, 0xd8(r31)
|
||||
/* 802B7D9C 002B4CDC 38 E0 00 00 */ li r7, 0
|
||||
/* 802B7DA0 002B4CE0 38 1E 00 60 */ addi r0, r30, 0x60
|
||||
/* 802B7DA4 002B4CE4 38 7F 08 04 */ addi r3, r31, 0x804
|
||||
/* 802B7DA8 002B4CE8 90 9F 07 F8 */ stw r4, 0x7f8(r31)
|
||||
/* 802B7DAC 002B4CEC 38 9F 07 F8 */ addi r4, r31, 0x7f8
|
||||
/* 802B7DB0 002B4CF0 38 A5 30 31 */ addi r5, r5, 0x66703031@l
|
||||
/* 802B7DB4 002B4CF4 38 DE 00 74 */ addi r6, r30, 0x74
|
||||
/* 802B7DB8 002B4CF8 90 FF 07 FC */ stw r7, 0x7fc(r31)
|
||||
/* 802B7DBC 002B4CFC 90 1F 08 00 */ stw r0, 0x800(r31)
|
||||
/* 802B7DC0 002B4D00 48 15 B8 99 */ bl __ct__8BaseParmFP10ParametersUlPc
|
||||
/* 802B7DC4 002B4D04 3C 60 80 4B */ lis r3, "__vt__7Parm<f>"@ha
|
||||
/* 802B7DC8 002B4D08 3C A0 66 70 */ lis r5, 0x66703130@ha
|
||||
/* 802B7DCC 002B4D0C 38 03 AC BC */ addi r0, r3, "__vt__7Parm<f>"@l
|
||||
/* 802B7DD0 002B4D10 C0 02 DF 88 */ lfs f0, lbl_8051C2E8@sda21(r2)
|
||||
/* 802B7DD4 002B4D14 90 1F 08 04 */ stw r0, 0x804(r31)
|
||||
/* 802B7DD8 002B4D18 38 7F 08 2C */ addi r3, r31, 0x82c
|
||||
/* 802B7DDC 002B4D1C C0 22 DF 8C */ lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
/* 802B7DE0 002B4D20 38 9F 07 F8 */ addi r4, r31, 0x7f8
|
||||
/* 802B7DE4 002B4D24 D0 1F 08 1C */ stfs f0, 0x81c(r31)
|
||||
/* 802B7DE8 002B4D28 38 A5 31 30 */ addi r5, r5, 0x66703130@l
|
||||
/* 802B7DEC 002B4D2C C0 02 DF 90 */ lfs f0, lbl_8051C2F0@sda21(r2)
|
||||
/* 802B7DF0 002B4D30 38 DE 00 84 */ addi r6, r30, 0x84
|
||||
/* 802B7DF4 002B4D34 D0 3F 08 24 */ stfs f1, 0x824(r31)
|
||||
/* 802B7DF8 002B4D38 D0 1F 08 28 */ stfs f0, 0x828(r31)
|
||||
/* 802B7DFC 002B4D3C 48 15 B8 5D */ bl __ct__8BaseParmFP10ParametersUlPc
|
||||
/* 802B7E00 002B4D40 3C 60 80 4B */ lis r3, "__vt__7Parm<f>"@ha
|
||||
/* 802B7E04 002B4D44 3C A0 66 70 */ lis r5, 0x66703131@ha
|
||||
/* 802B7E08 002B4D48 38 03 AC BC */ addi r0, r3, "__vt__7Parm<f>"@l
|
||||
/* 802B7E0C 002B4D4C C0 02 DF 94 */ lfs f0, lbl_8051C2F4@sda21(r2)
|
||||
/* 802B7E10 002B4D50 90 1F 08 2C */ stw r0, 0x82c(r31)
|
||||
/* 802B7E14 002B4D54 38 7F 08 54 */ addi r3, r31, 0x854
|
||||
/* 802B7E18 002B4D58 C0 22 DF 8C */ lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
/* 802B7E1C 002B4D5C 38 9F 07 F8 */ addi r4, r31, 0x7f8
|
||||
/* 802B7E20 002B4D60 D0 1F 08 44 */ stfs f0, 0x844(r31)
|
||||
/* 802B7E24 002B4D64 38 A5 31 31 */ addi r5, r5, 0x66703131@l
|
||||
/* 802B7E28 002B4D68 C0 02 DF 98 */ lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
/* 802B7E2C 002B4D6C 38 DE 00 98 */ addi r6, r30, 0x98
|
||||
/* 802B7E30 002B4D70 D0 3F 08 4C */ stfs f1, 0x84c(r31)
|
||||
/* 802B7E34 002B4D74 D0 1F 08 50 */ stfs f0, 0x850(r31)
|
||||
/* 802B7E38 002B4D78 48 15 B8 21 */ bl __ct__8BaseParmFP10ParametersUlPc
|
||||
/* 802B7E3C 002B4D7C 3C 60 80 4B */ lis r3, "__vt__7Parm<f>"@ha
|
||||
/* 802B7E40 002B4D80 3C A0 66 70 */ lis r5, 0x66703231@ha
|
||||
/* 802B7E44 002B4D84 38 03 AC BC */ addi r0, r3, "__vt__7Parm<f>"@l
|
||||
/* 802B7E48 002B4D88 C0 02 DF 9C */ lfs f0, lbl_8051C2FC@sda21(r2)
|
||||
/* 802B7E4C 002B4D8C 90 1F 08 54 */ stw r0, 0x854(r31)
|
||||
/* 802B7E50 002B4D90 38 7F 08 7C */ addi r3, r31, 0x87c
|
||||
/* 802B7E54 002B4D94 C0 22 DF 8C */ lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
/* 802B7E58 002B4D98 38 9F 07 F8 */ addi r4, r31, 0x7f8
|
||||
/* 802B7E5C 002B4D9C D0 1F 08 6C */ stfs f0, 0x86c(r31)
|
||||
/* 802B7E60 002B4DA0 38 A5 32 31 */ addi r5, r5, 0x66703231@l
|
||||
/* 802B7E64 002B4DA4 C0 02 DF 98 */ lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
/* 802B7E68 002B4DA8 38 DE 00 AC */ addi r6, r30, 0xac
|
||||
/* 802B7E6C 002B4DAC D0 3F 08 74 */ stfs f1, 0x874(r31)
|
||||
/* 802B7E70 002B4DB0 D0 1F 08 78 */ stfs f0, 0x878(r31)
|
||||
/* 802B7E74 002B4DB4 48 15 B7 E5 */ bl __ct__8BaseParmFP10ParametersUlPc
|
||||
/* 802B7E78 002B4DB8 3C 60 80 4B */ lis r3, "__vt__7Parm<f>"@ha
|
||||
/* 802B7E7C 002B4DBC C0 42 DF A0 */ lfs f2, lbl_8051C300@sda21(r2)
|
||||
/* 802B7E80 002B4DC0 38 03 AC BC */ addi r0, r3, "__vt__7Parm<f>"@l
|
||||
/* 802B7E84 002B4DC4 C0 22 DF 8C */ lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
/* 802B7E88 002B4DC8 90 1F 08 7C */ stw r0, 0x87c(r31)
|
||||
/* 802B7E8C 002B4DCC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B7E90 002B4DD0 C0 02 DF 98 */ lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
/* 802B7E94 002B4DD4 D0 5F 08 94 */ stfs f2, 0x894(r31)
|
||||
/* 802B7E98 002B4DD8 D0 3F 08 9C */ stfs f1, 0x89c(r31)
|
||||
/* 802B7E9C 002B4DDC D0 1F 08 A0 */ stfs f0, 0x8a0(r31)
|
||||
/* 802B7EA0 002B4DE0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B7EA4 002B4DE4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B7EA8 002B4DE8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B7EAC 002B4DEC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B7EB0 002B4DF0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B7EB4 002B4DF4 4E 80 00 20 */ blr
|
||||
|
||||
.global createObj__Q34Game11FireOtakara3MgrFi
|
||||
createObj__Q34Game11FireOtakara3MgrFi:
|
||||
/* 802B7EB8 002B4DF8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B7EBC 002B4DFC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B7EC0 002B4E00 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B7EC4 002B4E04 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B7EC8 002B4E08 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B7ECC 002B4E0C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B7ED0 002B4E10 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802B7ED4 002B4E14 1C 7F 03 08 */ mulli r3, r31, 0x308
|
||||
/* 802B7ED8 002B4E18 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 802B7EDC 002B4E1C 4B D6 C0 D1 */ bl __nwa__FUl
|
||||
/* 802B7EE0 002B4E20 3C 80 80 2C */ lis r4, __ct__Q34Game11FireOtakara3ObjFv@ha
|
||||
/* 802B7EE4 002B4E24 3C A0 80 2B */ lis r5, __dt__Q34Game11FireOtakara3ObjFv@ha
|
||||
/* 802B7EE8 002B4E28 38 84 81 C8 */ addi r4, r4, __ct__Q34Game11FireOtakara3ObjFv@l
|
||||
/* 802B7EEC 002B4E2C 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802B7EF0 002B4E30 38 A5 7F 18 */ addi r5, r5, __dt__Q34Game11FireOtakara3ObjFv@l
|
||||
/* 802B7EF4 002B4E34 38 C0 03 08 */ li r6, 0x308
|
||||
/* 802B7EF8 002B4E38 4B E0 9A F9 */ bl __construct_new_array
|
||||
/* 802B7EFC 002B4E3C 90 7E 00 48 */ stw r3, 0x48(r30)
|
||||
/* 802B7F00 002B4E40 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B7F04 002B4E44 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B7F08 002B4E48 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B7F0C 002B4E4C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B7F10 002B4E50 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B7F14 002B4E54 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11FireOtakara3ObjFv
|
||||
__dt__Q34Game11FireOtakara3ObjFv:
|
||||
/* 802B7F18 002B4E58 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B7F1C 002B4E5C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B7F20 002B4E60 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B7F24 002B4E64 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B7F28 002B4E68 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B7F2C 002B4E6C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B7F30 002B4E70 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B7F34 002B4E74 41 82 00 B8 */ beq lbl_802B7FEC
|
||||
/* 802B7F38 002B4E78 3C 60 80 4D */ lis r3, __vt__Q34Game11FireOtakara3Obj@ha
|
||||
/* 802B7F3C 002B4E7C 38 1E 02 F8 */ addi r0, r30, 0x2f8
|
||||
/* 802B7F40 002B4E80 38 83 F4 F8 */ addi r4, r3, __vt__Q34Game11FireOtakara3Obj@l
|
||||
/* 802B7F44 002B4E84 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B7F48 002B4E88 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B7F4C 002B4E8C 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B7F50 002B4E90 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B7F54 002B4E94 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B7F58 002B4E98 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B7F5C 002B4E9C 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B7F60 002B4EA0 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B7F64 002B4EA4 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B7F68 002B4EA8 41 82 00 74 */ beq lbl_802B7FDC
|
||||
/* 802B7F6C 002B4EAC 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
/* 802B7F70 002B4EB0 38 1E 02 F4 */ addi r0, r30, 0x2f4
|
||||
/* 802B7F74 002B4EB4 38 83 F0 84 */ addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
/* 802B7F78 002B4EB8 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B7F7C 002B4EBC 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B7F80 002B4EC0 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B7F84 002B4EC4 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B7F88 002B4EC8 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B7F8C 002B4ECC 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B7F90 002B4ED0 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B7F94 002B4ED4 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B7F98 002B4ED8 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B7F9C 002B4EDC 41 82 00 40 */ beq lbl_802B7FDC
|
||||
/* 802B7FA0 002B4EE0 3C 60 80 4B */ lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
/* 802B7FA4 002B4EE4 38 1E 02 BC */ addi r0, r30, 0x2bc
|
||||
/* 802B7FA8 002B4EE8 38 83 A3 24 */ addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
/* 802B7FAC 002B4EEC 38 7E 02 90 */ addi r3, r30, 0x290
|
||||
/* 802B7FB0 002B4EF0 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B7FB4 002B4EF4 38 A4 01 B0 */ addi r5, r4, 0x1b0
|
||||
/* 802B7FB8 002B4EF8 38 C4 02 F8 */ addi r6, r4, 0x2f8
|
||||
/* 802B7FBC 002B4EFC 38 80 FF FF */ li r4, -1
|
||||
/* 802B7FC0 002B4F00 90 BE 01 78 */ stw r5, 0x178(r30)
|
||||
/* 802B7FC4 002B4F04 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B7FC8 002B4F08 90 C5 00 00 */ stw r6, 0(r5)
|
||||
/* 802B7FCC 002B4F0C 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B7FD0 002B4F10 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802B7FD4 002B4F14 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802B7FD8 002B4F18 48 15 95 B1 */ bl __dt__5CNodeFv
|
||||
lbl_802B7FDC:
|
||||
/* 802B7FDC 002B4F1C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B7FE0 002B4F20 40 81 00 0C */ ble lbl_802B7FEC
|
||||
/* 802B7FE4 002B4F24 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B7FE8 002B4F28 4B D6 C0 CD */ bl __dl__FPv
|
||||
lbl_802B7FEC:
|
||||
/* 802B7FEC 002B4F2C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B7FF0 002B4F30 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B7FF4 002B4F34 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B7FF8 002B4F38 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B7FFC 002B4F3C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8000 002B4F40 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B8004 002B4F44 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemy__Q34Game11FireOtakara3MgrFi
|
||||
getEnemy__Q34Game11FireOtakara3MgrFi:
|
||||
/* 802B8008 002B4F48 1C 04 03 08 */ mulli r0, r4, 0x308
|
||||
/* 802B800C 002B4F4C 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802B8010 002B4F50 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802B8014 002B4F54 4E 80 00 20 */ blr
|
||||
|
||||
.global loadTexData__Q34Game11FireOtakara3MgrFv
|
||||
loadTexData__Q34Game11FireOtakara3MgrFv:
|
||||
/* 802B8018 002B4F58 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802B801C 002B4F5C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8020 002B4F60 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802B8024 002B4F64 38 00 00 00 */ li r0, 0
|
||||
/* 802B8028 002B4F68 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 802B802C 002B4F6C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B8030 002B4F70 90 03 00 44 */ stw r0, 0x44(r3)
|
||||
/* 802B8034 002B4F74 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B8038 002B4F78 80 8D 84 E0 */ lwz r4, "cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@"@sda21(r13)
|
||||
/* 802B803C 002B4F7C 48 19 45 9D */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 802B8040 002B4F80 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 802B8044 002B4F84 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802B8048 002B4F88 48 19 47 59 */ bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 802B804C 002B4F8C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B8050 002B4F90 41 82 00 0C */ beq lbl_802B805C
|
||||
/* 802B8054 002B4F94 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802B8058 002B4F98 90 1F 00 44 */ stw r0, 0x44(r31)
|
||||
lbl_802B805C:
|
||||
/* 802B805C 002B4F9C 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 802B8060 002B4FA0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802B8064 002B4FA4 40 82 00 20 */ bne lbl_802B8084
|
||||
/* 802B8068 002B4FA8 3C 60 80 49 */ lis r3, lbl_8048A740@ha
|
||||
/* 802B806C 002B4FAC 3C A0 80 49 */ lis r5, lbl_8048A754@ha
|
||||
/* 802B8070 002B4FB0 38 63 A7 40 */ addi r3, r3, lbl_8048A740@l
|
||||
/* 802B8074 002B4FB4 38 80 00 53 */ li r4, 0x53
|
||||
/* 802B8078 002B4FB8 38 A5 A7 54 */ addi r5, r5, lbl_8048A754@l
|
||||
/* 802B807C 002B4FBC 4C C6 31 82 */ crclr 6
|
||||
/* 802B8080 002B4FC0 4B D7 25 C1 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802B8084:
|
||||
/* 802B8084 002B4FC4 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802B8088 002B4FC8 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802B808C 002B4FCC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8090 002B4FD0 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802B8094 002B4FD4 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11FireOtakara3MgrFv
|
||||
__dt__Q34Game11FireOtakara3MgrFv:
|
||||
/* 802B8098 002B4FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B809C 002B4FDC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B80A0 002B4FE0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B80A4 002B4FE4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B80A8 002B4FE8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B80AC 002B4FEC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B80B0 002B4FF0 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B80B4 002B4FF4 41 82 00 90 */ beq lbl_802B8144
|
||||
/* 802B80B8 002B4FF8 3C 60 80 4D */ lis r3, __vt__Q34Game11FireOtakara3Mgr@ha
|
||||
/* 802B80BC 002B4FFC 38 63 F3 D8 */ addi r3, r3, __vt__Q34Game11FireOtakara3Mgr@l
|
||||
/* 802B80C0 002B5000 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B80C4 002B5004 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B80C8 002B5008 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B80CC 002B500C 41 82 00 68 */ beq lbl_802B8134
|
||||
/* 802B80D0 002B5010 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B80D4 002B5014 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B80D8 002B5018 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B80DC 002B501C 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B80E0 002B5020 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B80E4 002B5024 41 82 00 50 */ beq lbl_802B8134
|
||||
/* 802B80E8 002B5028 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802B80EC 002B502C 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802B80F0 002B5030 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B80F4 002B5034 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B80F8 002B5038 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B80FC 002B503C 41 82 00 38 */ beq lbl_802B8134
|
||||
/* 802B8100 002B5040 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802B8104 002B5044 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802B8108 002B5048 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802B810C 002B504C 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B8110 002B5050 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B8114 002B5054 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B8118 002B5058 41 82 00 1C */ beq lbl_802B8134
|
||||
/* 802B811C 002B505C 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802B8120 002B5060 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802B8124 002B5064 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802B8128 002B5068 38 80 00 00 */ li r4, 0
|
||||
/* 802B812C 002B506C 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B8130 002B5070 48 15 94 59 */ bl __dt__5CNodeFv
|
||||
lbl_802B8134:
|
||||
/* 802B8134 002B5074 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B8138 002B5078 40 81 00 0C */ ble lbl_802B8144
|
||||
/* 802B813C 002B507C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B8140 002B5080 4B D6 BF 75 */ bl __dl__FPv
|
||||
lbl_802B8144:
|
||||
/* 802B8144 002B5084 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8148 002B5088 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B814C 002B508C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B8150 002B5090 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B8154 002B5094 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8158 002B5098 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B815C 002B509C 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game11FireOtakara3MgrFv
|
||||
getEnemyTypeID__Q34Game11FireOtakara3MgrFv:
|
||||
/* 802B8160 002B50A0 38 60 00 3B */ li r3, 0x3b
|
||||
/* 802B8164 002B50A4 4E 80 00 20 */ blr
|
||||
|
||||
.global getChangeTexture__Q34Game11FireOtakara3MgrFv
|
||||
getChangeTexture__Q34Game11FireOtakara3MgrFv:
|
||||
/* 802B8168 002B50A8 80 63 00 44 */ lwz r3, 0x44(r3)
|
||||
/* 802B816C 002B50AC 4E 80 00 20 */ blr
|
||||
|
||||
.global read__Q34Game11OtakaraBase5ParmsFR6Stream
|
||||
read__Q34Game11OtakaraBase5ParmsFR6Stream:
|
||||
/* 802B8170 002B50B0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B8174 002B50B4 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8178 002B50B8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B817C 002B50BC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8180 002B50C0 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B8184 002B50C4 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B8188 002B50C8 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802B818C 002B50CC 48 15 B6 69 */ bl read__10ParametersFR6Stream
|
||||
/* 802B8190 002B50D0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802B8194 002B50D4 38 7E 00 E0 */ addi r3, r30, 0xe0
|
||||
/* 802B8198 002B50D8 48 15 B6 5D */ bl read__10ParametersFR6Stream
|
||||
/* 802B819C 002B50DC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802B81A0 002B50E0 38 7E 07 F8 */ addi r3, r30, 0x7f8
|
||||
/* 802B81A4 002B50E4 48 15 B6 51 */ bl read__10ParametersFR6Stream
|
||||
/* 802B81A8 002B50E8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B81AC 002B50EC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B81B0 002B50F0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B81B4 002B50F4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B81B8 002B50F8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B81BC 002B50FC 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game11FireOtakara3MgrFv"
|
||||
"@4@__dt__Q34Game11FireOtakara3MgrFv":
|
||||
/* 802B81C0 002B5100 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802B81C4 002B5104 4B FF FE D4 */ b __dt__Q34Game11FireOtakara3MgrFv
|
@ -1,345 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
.global lbl_8048A7D0
|
||||
lbl_8048A7D0:
|
||||
.asciz "/enemy/data/GasOtakara/otakara_purple_s3tc.bti"
|
||||
.skip 1
|
||||
.global lbl_8048A800
|
||||
lbl_8048A800:
|
||||
.4byte 0x834B8358
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048A81C
|
||||
lbl_8048A81C:
|
||||
.asciz "GasOtakaraMgr.cpp"
|
||||
.skip 2
|
||||
.global lbl_8048A830
|
||||
lbl_8048A830:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game10GasOtakara3Mgr
|
||||
__vt__Q34Game10GasOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game10GasOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game10GasOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game10GasOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game10GasOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game10GasOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game10GasOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game10GasOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game10GasOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.balign 8
|
||||
.global "cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A7D0
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game10GasOtakara3MgrFiUc
|
||||
__ct__Q34Game10GasOtakara3MgrFiUc:
|
||||
/* 802B8F3C 002B5E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B8F40 002B5E80 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8F44 002B5E84 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B8F48 002B5E88 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8F4C 002B5E8C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B8F50 002B5E90 4B FF CF 49 */ bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
/* 802B8F54 002B5E94 3C 60 80 4D */ lis r3, __vt__Q34Game10GasOtakara3Mgr@ha
|
||||
/* 802B8F58 002B5E98 3C 80 80 49 */ lis r4, lbl_8048A800@ha
|
||||
/* 802B8F5C 002B5E9C 38 A3 FC C0 */ addi r5, r3, __vt__Q34Game10GasOtakara3Mgr@l
|
||||
/* 802B8F60 002B5EA0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B8F64 002B5EA4 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802B8F68 002B5EA8 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802B8F6C 002B5EAC 38 04 A8 00 */ addi r0, r4, lbl_8048A800@l
|
||||
/* 802B8F70 002B5EB0 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802B8F74 002B5EB4 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802B8F78 002B5EB8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B8F7C 002B5EBC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8F80 002B5EC0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8F84 002B5EC4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B8F88 002B5EC8 4E 80 00 20 */ blr
|
||||
|
||||
.global doAlloc__Q34Game10GasOtakara3MgrFv
|
||||
doAlloc__Q34Game10GasOtakara3MgrFv:
|
||||
/* 802B8F8C 002B5ECC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B8F90 002B5ED0 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8F94 002B5ED4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B8F98 002B5ED8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8F9C 002B5EDC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B8FA0 002B5EE0 38 60 08 A8 */ li r3, 0x8a8
|
||||
/* 802B8FA4 002B5EE4 4B D6 AF 01 */ bl __nw__FUl
|
||||
/* 802B8FA8 002B5EE8 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802B8FAC 002B5EEC 41 82 00 0C */ beq lbl_802B8FB8
|
||||
/* 802B8FB0 002B5EF0 4B FF ED B5 */ bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
/* 802B8FB4 002B5EF4 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802B8FB8:
|
||||
/* 802B8FB8 002B5EF8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B8FBC 002B5EFC 4B E7 68 E1 */ bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
/* 802B8FC0 002B5F00 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8FC4 002B5F04 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B8FC8 002B5F08 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8FCC 002B5F0C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B8FD0 002B5F10 4E 80 00 20 */ blr
|
||||
|
||||
.global createObj__Q34Game10GasOtakara3MgrFi
|
||||
createObj__Q34Game10GasOtakara3MgrFi:
|
||||
/* 802B8FD4 002B5F14 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B8FD8 002B5F18 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8FDC 002B5F1C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B8FE0 002B5F20 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8FE4 002B5F24 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B8FE8 002B5F28 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B8FEC 002B5F2C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802B8FF0 002B5F30 1C 7F 03 08 */ mulli r3, r31, 0x308
|
||||
/* 802B8FF4 002B5F34 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 802B8FF8 002B5F38 4B D6 AF B5 */ bl __nwa__FUl
|
||||
/* 802B8FFC 002B5F3C 3C 80 80 2C */ lis r4, __ct__Q34Game10GasOtakara3ObjFv@ha
|
||||
/* 802B9000 002B5F40 3C A0 80 2C */ lis r5, __dt__Q34Game10GasOtakara3ObjFv@ha
|
||||
/* 802B9004 002B5F44 38 84 92 94 */ addi r4, r4, __ct__Q34Game10GasOtakara3ObjFv@l
|
||||
/* 802B9008 002B5F48 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802B900C 002B5F4C 38 A5 90 34 */ addi r5, r5, __dt__Q34Game10GasOtakara3ObjFv@l
|
||||
/* 802B9010 002B5F50 38 C0 03 08 */ li r6, 0x308
|
||||
/* 802B9014 002B5F54 4B E0 89 DD */ bl __construct_new_array
|
||||
/* 802B9018 002B5F58 90 7E 00 48 */ stw r3, 0x48(r30)
|
||||
/* 802B901C 002B5F5C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9020 002B5F60 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B9024 002B5F64 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B9028 002B5F68 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B902C 002B5F6C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9030 002B5F70 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game10GasOtakara3ObjFv
|
||||
__dt__Q34Game10GasOtakara3ObjFv:
|
||||
/* 802B9034 002B5F74 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B9038 002B5F78 7C 08 02 A6 */ mflr r0
|
||||
/* 802B903C 002B5F7C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B9040 002B5F80 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B9044 002B5F84 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B9048 002B5F88 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B904C 002B5F8C 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B9050 002B5F90 41 82 00 B8 */ beq lbl_802B9108
|
||||
/* 802B9054 002B5F94 3C 60 80 4D */ lis r3, __vt__Q34Game10GasOtakara3Obj@ha
|
||||
/* 802B9058 002B5F98 38 1E 02 F8 */ addi r0, r30, 0x2f8
|
||||
/* 802B905C 002B5F9C 38 83 FD D8 */ addi r4, r3, __vt__Q34Game10GasOtakara3Obj@l
|
||||
/* 802B9060 002B5FA0 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B9064 002B5FA4 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B9068 002B5FA8 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B906C 002B5FAC 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B9070 002B5FB0 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B9074 002B5FB4 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B9078 002B5FB8 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B907C 002B5FBC 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B9080 002B5FC0 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B9084 002B5FC4 41 82 00 74 */ beq lbl_802B90F8
|
||||
/* 802B9088 002B5FC8 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
/* 802B908C 002B5FCC 38 1E 02 F4 */ addi r0, r30, 0x2f4
|
||||
/* 802B9090 002B5FD0 38 83 F0 84 */ addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
/* 802B9094 002B5FD4 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B9098 002B5FD8 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B909C 002B5FDC 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B90A0 002B5FE0 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B90A4 002B5FE4 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B90A8 002B5FE8 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B90AC 002B5FEC 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B90B0 002B5FF0 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B90B4 002B5FF4 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B90B8 002B5FF8 41 82 00 40 */ beq lbl_802B90F8
|
||||
/* 802B90BC 002B5FFC 3C 60 80 4B */ lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
/* 802B90C0 002B6000 38 1E 02 BC */ addi r0, r30, 0x2bc
|
||||
/* 802B90C4 002B6004 38 83 A3 24 */ addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
/* 802B90C8 002B6008 38 7E 02 90 */ addi r3, r30, 0x290
|
||||
/* 802B90CC 002B600C 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B90D0 002B6010 38 A4 01 B0 */ addi r5, r4, 0x1b0
|
||||
/* 802B90D4 002B6014 38 C4 02 F8 */ addi r6, r4, 0x2f8
|
||||
/* 802B90D8 002B6018 38 80 FF FF */ li r4, -1
|
||||
/* 802B90DC 002B601C 90 BE 01 78 */ stw r5, 0x178(r30)
|
||||
/* 802B90E0 002B6020 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B90E4 002B6024 90 C5 00 00 */ stw r6, 0(r5)
|
||||
/* 802B90E8 002B6028 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B90EC 002B602C 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802B90F0 002B6030 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802B90F4 002B6034 48 15 84 95 */ bl __dt__5CNodeFv
|
||||
lbl_802B90F8:
|
||||
/* 802B90F8 002B6038 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B90FC 002B603C 40 81 00 0C */ ble lbl_802B9108
|
||||
/* 802B9100 002B6040 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9104 002B6044 4B D6 AF B1 */ bl __dl__FPv
|
||||
lbl_802B9108:
|
||||
/* 802B9108 002B6048 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B910C 002B604C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9110 002B6050 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B9114 002B6054 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B9118 002B6058 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B911C 002B605C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9120 002B6060 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemy__Q34Game10GasOtakara3MgrFi
|
||||
getEnemy__Q34Game10GasOtakara3MgrFi:
|
||||
/* 802B9124 002B6064 1C 04 03 08 */ mulli r0, r4, 0x308
|
||||
/* 802B9128 002B6068 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802B912C 002B606C 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802B9130 002B6070 4E 80 00 20 */ blr
|
||||
|
||||
.global loadTexData__Q34Game10GasOtakara3MgrFv
|
||||
loadTexData__Q34Game10GasOtakara3MgrFv:
|
||||
/* 802B9134 002B6074 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802B9138 002B6078 7C 08 02 A6 */ mflr r0
|
||||
/* 802B913C 002B607C 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802B9140 002B6080 38 00 00 00 */ li r0, 0
|
||||
/* 802B9144 002B6084 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 802B9148 002B6088 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B914C 002B608C 90 03 00 44 */ stw r0, 0x44(r3)
|
||||
/* 802B9150 002B6090 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B9154 002B6094 80 8D 84 F0 */ lwz r4, "cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@"@sda21(r13)
|
||||
/* 802B9158 002B6098 48 19 34 81 */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 802B915C 002B609C 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 802B9160 002B60A0 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802B9164 002B60A4 48 19 36 3D */ bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 802B9168 002B60A8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B916C 002B60AC 41 82 00 0C */ beq lbl_802B9178
|
||||
/* 802B9170 002B60B0 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802B9174 002B60B4 90 1F 00 44 */ stw r0, 0x44(r31)
|
||||
lbl_802B9178:
|
||||
/* 802B9178 002B60B8 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 802B917C 002B60BC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802B9180 002B60C0 40 82 00 20 */ bne lbl_802B91A0
|
||||
/* 802B9184 002B60C4 3C 60 80 49 */ lis r3, lbl_8048A81C@ha
|
||||
/* 802B9188 002B60C8 3C A0 80 49 */ lis r5, lbl_8048A830@ha
|
||||
/* 802B918C 002B60CC 38 63 A8 1C */ addi r3, r3, lbl_8048A81C@l
|
||||
/* 802B9190 002B60D0 38 80 00 53 */ li r4, 0x53
|
||||
/* 802B9194 002B60D4 38 A5 A8 30 */ addi r5, r5, lbl_8048A830@l
|
||||
/* 802B9198 002B60D8 4C C6 31 82 */ crclr 6
|
||||
/* 802B919C 002B60DC 4B D7 14 A5 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802B91A0:
|
||||
/* 802B91A0 002B60E0 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802B91A4 002B60E4 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802B91A8 002B60E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B91AC 002B60EC 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802B91B0 002B60F0 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game10GasOtakara3MgrFv
|
||||
__dt__Q34Game10GasOtakara3MgrFv:
|
||||
/* 802B91B4 002B60F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B91B8 002B60F8 7C 08 02 A6 */ mflr r0
|
||||
/* 802B91BC 002B60FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B91C0 002B6100 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B91C4 002B6104 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B91C8 002B6108 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B91CC 002B610C 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B91D0 002B6110 41 82 00 90 */ beq lbl_802B9260
|
||||
/* 802B91D4 002B6114 3C 60 80 4D */ lis r3, __vt__Q34Game10GasOtakara3Mgr@ha
|
||||
/* 802B91D8 002B6118 38 63 FC C0 */ addi r3, r3, __vt__Q34Game10GasOtakara3Mgr@l
|
||||
/* 802B91DC 002B611C 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B91E0 002B6120 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B91E4 002B6124 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B91E8 002B6128 41 82 00 68 */ beq lbl_802B9250
|
||||
/* 802B91EC 002B612C 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B91F0 002B6130 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B91F4 002B6134 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B91F8 002B6138 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B91FC 002B613C 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9200 002B6140 41 82 00 50 */ beq lbl_802B9250
|
||||
/* 802B9204 002B6144 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802B9208 002B6148 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802B920C 002B614C 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B9210 002B6150 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9214 002B6154 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9218 002B6158 41 82 00 38 */ beq lbl_802B9250
|
||||
/* 802B921C 002B615C 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802B9220 002B6160 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802B9224 002B6164 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802B9228 002B6168 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B922C 002B616C 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B9230 002B6170 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B9234 002B6174 41 82 00 1C */ beq lbl_802B9250
|
||||
/* 802B9238 002B6178 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802B923C 002B617C 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802B9240 002B6180 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802B9244 002B6184 38 80 00 00 */ li r4, 0
|
||||
/* 802B9248 002B6188 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B924C 002B618C 48 15 83 3D */ bl __dt__5CNodeFv
|
||||
lbl_802B9250:
|
||||
/* 802B9250 002B6190 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B9254 002B6194 40 81 00 0C */ ble lbl_802B9260
|
||||
/* 802B9258 002B6198 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B925C 002B619C 4B D6 AE 59 */ bl __dl__FPv
|
||||
lbl_802B9260:
|
||||
/* 802B9260 002B61A0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B9264 002B61A4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B9268 002B61A8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B926C 002B61AC 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B9270 002B61B0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B9274 002B61B4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B9278 002B61B8 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game10GasOtakara3MgrFv
|
||||
getEnemyTypeID__Q34Game10GasOtakara3MgrFv:
|
||||
/* 802B927C 002B61BC 38 60 00 3D */ li r3, 0x3d
|
||||
/* 802B9280 002B61C0 4E 80 00 20 */ blr
|
||||
|
||||
.global getChangeTexture__Q34Game10GasOtakara3MgrFv
|
||||
getChangeTexture__Q34Game10GasOtakara3MgrFv:
|
||||
/* 802B9284 002B61C4 80 63 00 44 */ lwz r3, 0x44(r3)
|
||||
/* 802B9288 002B61C8 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game10GasOtakara3MgrFv"
|
||||
"@4@__dt__Q34Game10GasOtakara3MgrFv":
|
||||
/* 802B928C 002B61CC 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802B9290 002B61D0 4B FF FF 24 */ b __dt__Q34Game10GasOtakara3MgrFv
|
@ -1,368 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
lbl_8048A338:
|
||||
.asciz "246-OtakaraBaseMgr"
|
||||
.balign 4
|
||||
lbl_8048A34C: # Shift-JIS
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
lbl_8048A364: # EnemyID array
|
||||
.4byte 0x0000003B
|
||||
.4byte 0x0000003C
|
||||
.4byte 0x0000003D
|
||||
.4byte 0x0000003E
|
||||
.4byte 0x0000005D
|
||||
lbl_8048A378: # EnemyID array
|
||||
.4byte 0x0000003B
|
||||
.4byte 0x0000003C
|
||||
.4byte 0x0000003D
|
||||
.4byte 0x0000003E
|
||||
.4byte 0x0000005D
|
||||
.balign 4
|
||||
lbl_8048A38C:
|
||||
.asciz "OtakaraBaseMgr.cpp"
|
||||
.balign 4
|
||||
lbl_8048A3A0:
|
||||
.asciz "P2Assert"
|
||||
.balign 4
|
||||
lbl_8048A3AC:
|
||||
.asciz "mat_body"
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game11OtakaraBase3Mgr
|
||||
__vt__Q34Game11OtakaraBase3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11OtakaraBase3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAlloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnemyTypeID__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte 0
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
__ct__Q34Game11OtakaraBase3MgrFiUc:
|
||||
/* 802B5E98 002B2DD8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B5E9C 002B2DDC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B5EA0 002B2DE0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B5EA4 002B2DE4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B5EA8 002B2DE8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B5EAC 002B2DEC 4B E7 8D E9 */ bl __ct__Q24Game12EnemyMgrBaseFiUc
|
||||
/* 802B5EB0 002B2DF0 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B5EB4 002B2DF4 3C 80 80 49 */ lis r4, lbl_8048A34C@ha
|
||||
/* 802B5EB8 002B2DF8 38 A3 EF 90 */ addi r5, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B5EBC 002B2DFC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B5EC0 002B2E00 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802B5EC4 002B2E04 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802B5EC8 002B2E08 38 04 A3 4C */ addi r0, r4, lbl_8048A34C@l
|
||||
/* 802B5ECC 002B2E0C 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802B5ED0 002B2E10 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802B5ED4 002B2E14 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B5ED8 002B2E18 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B5EDC 002B2E1C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B5EE0 002B2E20 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B5EE4 002B2E24 4E 80 00 20 */ blr
|
||||
|
||||
.global loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
loadModelData__Q34Game11OtakaraBase3MgrFv:
|
||||
/* 802B5EE8 002B2E28 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802B5EEC 002B2E2C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B5EF0 002B2E30 3C 80 80 49 */ lis r4, lbl_8048A364@ha
|
||||
/* 802B5EF4 002B2E34 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802B5EF8 002B2E38 38 E4 A3 64 */ addi r7, r4, lbl_8048A364@l
|
||||
/* 802B5EFC 002B2E3C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
||||
/* 802B5F00 002B2E40 3B E1 00 08 */ addi r31, r1, 8
|
||||
/* 802B5F04 002B2E44 93 C1 00 28 */ stw r30, 0x28(r1)
|
||||
/* 802B5F08 002B2E48 3B C0 00 00 */ li r30, 0
|
||||
/* 802B5F0C 002B2E4C 93 A1 00 24 */ stw r29, 0x24(r1)
|
||||
/* 802B5F10 002B2E50 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802B5F14 002B2E54 80 C7 00 00 */ lwz r6, 0(r7)
|
||||
/* 802B5F18 002B2E58 80 A7 00 04 */ lwz r5, 4(r7)
|
||||
/* 802B5F1C 002B2E5C 80 87 00 08 */ lwz r4, 8(r7)
|
||||
/* 802B5F20 002B2E60 80 67 00 0C */ lwz r3, 0xc(r7)
|
||||
/* 802B5F24 002B2E64 80 07 00 10 */ lwz r0, 0x10(r7)
|
||||
/* 802B5F28 002B2E68 90 C1 00 08 */ stw r6, 8(r1)
|
||||
/* 802B5F2C 002B2E6C 90 A1 00 0C */ stw r5, 0xc(r1)
|
||||
/* 802B5F30 002B2E70 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 802B5F34 002B2E74 90 61 00 14 */ stw r3, 0x14(r1)
|
||||
/* 802B5F38 002B2E78 90 01 00 18 */ stw r0, 0x18(r1)
|
||||
lbl_802B5F3C:
|
||||
/* 802B5F3C 002B2E7C 80 6D 91 E0 */ lwz r3, generalEnemyMgr__4Game@sda21(r13)
|
||||
/* 802B5F40 002B2E80 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
/* 802B5F44 002B2E84 4B E5 7D 61 */ bl getEnemyMgr__Q24Game15GeneralEnemyMgrFi
|
||||
/* 802B5F48 002B2E88 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B5F4C 002B2E8C 41 82 00 24 */ beq lbl_802B5F70
|
||||
/* 802B5F50 002B2E90 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802B5F54 002B2E94 81 8C 00 74 */ lwz r12, 0x74(r12)
|
||||
/* 802B5F58 002B2E98 7D 89 03 A6 */ mtctr r12
|
||||
/* 802B5F5C 002B2E9C 4E 80 04 21 */ bctrl
|
||||
/* 802B5F60 002B2EA0 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B5F64 002B2EA4 41 82 00 0C */ beq lbl_802B5F70
|
||||
/* 802B5F68 002B2EA8 90 7D 00 1C */ stw r3, 0x1c(r29)
|
||||
/* 802B5F6C 002B2EAC 48 00 00 1C */ b lbl_802B5F88
|
||||
lbl_802B5F70:
|
||||
/* 802B5F70 002B2EB0 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 802B5F74 002B2EB4 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 802B5F78 002B2EB8 2C 1E 00 05 */ cmpwi r30, 5
|
||||
/* 802B5F7C 002B2EBC 41 80 FF C0 */ blt lbl_802B5F3C
|
||||
/* 802B5F80 002B2EC0 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802B5F84 002B2EC4 4B E7 A1 89 */ bl loadModelData__Q24Game12EnemyMgrBaseFv
|
||||
lbl_802B5F88:
|
||||
/* 802B5F88 002B2EC8 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802B5F8C 002B2ECC 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
||||
/* 802B5F90 002B2ED0 83 C1 00 28 */ lwz r30, 0x28(r1)
|
||||
/* 802B5F94 002B2ED4 83 A1 00 24 */ lwz r29, 0x24(r1)
|
||||
/* 802B5F98 002B2ED8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B5F9C 002B2EDC 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802B5FA0 002B2EE0 4E 80 00 20 */ blr
|
||||
|
||||
.global loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
loadAnimData__Q34Game11OtakaraBase3MgrFv:
|
||||
/* 802B5FA4 002B2EE4 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802B5FA8 002B2EE8 7C 08 02 A6 */ mflr r0
|
||||
/* 802B5FAC 002B2EEC 3C 80 80 49 */ lis r4, lbl_8048A378@ha
|
||||
/* 802B5FB0 002B2EF0 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802B5FB4 002B2EF4 38 E4 A3 78 */ addi r7, r4, lbl_8048A378@l
|
||||
/* 802B5FB8 002B2EF8 93 E1 00 2C */ stw r31, 0x2c(r1)
|
||||
/* 802B5FBC 002B2EFC 3B E1 00 08 */ addi r31, r1, 8
|
||||
/* 802B5FC0 002B2F00 93 C1 00 28 */ stw r30, 0x28(r1)
|
||||
/* 802B5FC4 002B2F04 3B C0 00 00 */ li r30, 0
|
||||
/* 802B5FC8 002B2F08 93 A1 00 24 */ stw r29, 0x24(r1)
|
||||
/* 802B5FCC 002B2F0C 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802B5FD0 002B2F10 80 C7 00 00 */ lwz r6, 0(r7)
|
||||
/* 802B5FD4 002B2F14 80 A7 00 04 */ lwz r5, 4(r7)
|
||||
/* 802B5FD8 002B2F18 80 87 00 08 */ lwz r4, 8(r7)
|
||||
/* 802B5FDC 002B2F1C 80 67 00 0C */ lwz r3, 0xc(r7)
|
||||
/* 802B5FE0 002B2F20 80 07 00 10 */ lwz r0, 0x10(r7)
|
||||
/* 802B5FE4 002B2F24 90 C1 00 08 */ stw r6, 8(r1)
|
||||
/* 802B5FE8 002B2F28 90 A1 00 0C */ stw r5, 0xc(r1)
|
||||
/* 802B5FEC 002B2F2C 90 81 00 10 */ stw r4, 0x10(r1)
|
||||
/* 802B5FF0 002B2F30 90 61 00 14 */ stw r3, 0x14(r1)
|
||||
/* 802B5FF4 002B2F34 90 01 00 18 */ stw r0, 0x18(r1)
|
||||
lbl_802B5FF8:
|
||||
/* 802B5FF8 002B2F38 80 6D 91 E0 */ lwz r3, generalEnemyMgr__4Game@sda21(r13)
|
||||
/* 802B5FFC 002B2F3C 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
/* 802B6000 002B2F40 4B E5 7C A5 */ bl getEnemyMgr__Q24Game15GeneralEnemyMgrFi
|
||||
/* 802B6004 002B2F44 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B6008 002B2F48 41 82 00 18 */ beq lbl_802B6020
|
||||
/* 802B600C 002B2F4C 80 03 00 20 */ lwz r0, 0x20(r3)
|
||||
/* 802B6010 002B2F50 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802B6014 002B2F54 41 82 00 0C */ beq lbl_802B6020
|
||||
/* 802B6018 002B2F58 90 1D 00 20 */ stw r0, 0x20(r29)
|
||||
/* 802B601C 002B2F5C 48 00 00 1C */ b lbl_802B6038
|
||||
lbl_802B6020:
|
||||
/* 802B6020 002B2F60 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 802B6024 002B2F64 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 802B6028 002B2F68 2C 1E 00 05 */ cmpwi r30, 5
|
||||
/* 802B602C 002B2F6C 41 80 FF CC */ blt lbl_802B5FF8
|
||||
/* 802B6030 002B2F70 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802B6034 002B2F74 4B E7 A1 99 */ bl loadAnimData__Q24Game12EnemyMgrBaseFv
|
||||
lbl_802B6038:
|
||||
/* 802B6038 002B2F78 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802B603C 002B2F7C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
||||
/* 802B6040 002B2F80 83 C1 00 28 */ lwz r30, 0x28(r1)
|
||||
/* 802B6044 002B2F84 83 A1 00 24 */ lwz r29, 0x24(r1)
|
||||
/* 802B6048 002B2F88 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B604C 002B2F8C 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802B6050 002B2F90 4E 80 00 20 */ blr
|
||||
|
||||
.global createModel__Q34Game11OtakaraBase3MgrFv
|
||||
createModel__Q34Game11OtakaraBase3MgrFv:
|
||||
/* 802B6054 002B2F94 94 21 FF B0 */ stwu r1, -0x50(r1)
|
||||
/* 802B6058 002B2F98 7C 08 02 A6 */ mflr r0
|
||||
/* 802B605C 002B2F9C 3C 80 80 49 */ lis r4, lbl_8048A338@ha
|
||||
/* 802B6060 002B2FA0 90 01 00 54 */ stw r0, 0x54(r1)
|
||||
/* 802B6064 002B2FA4 93 E1 00 4C */ stw r31, 0x4c(r1)
|
||||
/* 802B6068 002B2FA8 3B E4 A3 38 */ addi r31, r4, lbl_8048A338@l
|
||||
/* 802B606C 002B2FAC 93 C1 00 48 */ stw r30, 0x48(r1)
|
||||
/* 802B6070 002B2FB0 93 A1 00 44 */ stw r29, 0x44(r1)
|
||||
/* 802B6074 002B2FB4 93 81 00 40 */ stw r28, 0x40(r1)
|
||||
/* 802B6078 002B2FB8 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 802B607C 002B2FBC 38 60 00 14 */ li r3, 0x14
|
||||
/* 802B6080 002B2FC0 4B D6 DE 25 */ bl __nw__FUl
|
||||
/* 802B6084 002B2FC4 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B6088 002B2FC8 41 82 00 18 */ beq lbl_802B60A0
|
||||
/* 802B608C 002B2FCC 80 9C 00 1C */ lwz r4, 0x1c(r28)
|
||||
/* 802B6090 002B2FD0 3C A0 00 08 */ lis r5, 8
|
||||
/* 802B6094 002B2FD4 88 DC 00 24 */ lbz r6, 0x24(r28)
|
||||
/* 802B6098 002B2FD8 48 18 81 41 */ bl __ct__Q28SysShape5ModelFP12J3DModelDataUlUl
|
||||
/* 802B609C 002B2FDC 7C 7E 1B 78 */ mr r30, r3
|
||||
lbl_802B60A0:
|
||||
/* 802B60A0 002B2FE0 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802B60A4 002B2FE4 40 82 00 18 */ bne lbl_802B60BC
|
||||
/* 802B60A8 002B2FE8 38 7F 00 54 */ addi r3, r31, 0x54
|
||||
/* 802B60AC 002B2FEC 38 BF 00 68 */ addi r5, r31, 0x68
|
||||
/* 802B60B0 002B2FF0 38 80 00 88 */ li r4, 0x88
|
||||
/* 802B60B4 002B2FF4 4C C6 31 82 */ crclr 6
|
||||
/* 802B60B8 002B2FF8 4B D7 45 89 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802B60BC:
|
||||
/* 802B60BC 002B2FFC 3B A0 00 00 */ li r29, 0
|
||||
/* 802B60C0 002B3000 48 00 00 40 */ b lbl_802B6100
|
||||
lbl_802B60C4:
|
||||
/* 802B60C4 002B3004 80 64 00 64 */ lwz r3, 0x64(r4)
|
||||
/* 802B60C8 002B3008 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802B60CC 002B300C 4B D7 8D 51 */ bl getName__10JUTNameTabCFUs
|
||||
/* 802B60D0 002B3010 38 9F 00 74 */ addi r4, r31, 0x74
|
||||
/* 802B60D4 002B3014 4B E1 45 ED */ bl strcmp
|
||||
/* 802B60D8 002B3018 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802B60DC 002B301C 40 82 00 20 */ bne lbl_802B60FC
|
||||
/* 802B60E0 002B3020 80 9E 00 08 */ lwz r4, 8(r30)
|
||||
/* 802B60E4 002B3024 57 A3 32 B2 */ rlwinm r3, r29, 6, 0xa, 0x19
|
||||
/* 802B60E8 002B3028 38 03 00 2C */ addi r0, r3, 0x2c
|
||||
/* 802B60EC 002B302C 80 64 00 C0 */ lwz r3, 0xc0(r4)
|
||||
/* 802B60F0 002B3030 3C 80 04 02 */ lis r4, 0x402
|
||||
/* 802B60F4 002B3034 7C 63 00 2E */ lwzx r3, r3, r0
|
||||
/* 802B60F8 002B3038 4B DA A1 E1 */ bl newDifferedDisplayList__14J3DShapePacketFUl
|
||||
lbl_802B60FC:
|
||||
/* 802B60FC 002B303C 3B BD 00 01 */ addi r29, r29, 1
|
||||
lbl_802B6100:
|
||||
/* 802B6100 002B3040 80 9C 00 1C */ lwz r4, 0x1c(r28)
|
||||
/* 802B6104 002B3044 57 A0 04 3E */ clrlwi r0, r29, 0x10
|
||||
/* 802B6108 002B3048 A0 64 00 5C */ lhz r3, 0x5c(r4)
|
||||
/* 802B610C 002B304C 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 802B6110 002B3050 41 80 FF B4 */ blt lbl_802B60C4
|
||||
/* 802B6114 002B3054 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B6118 002B3058 4B E3 41 89 */ bl PSMTXIdentity
|
||||
/* 802B611C 002B305C 3C 80 80 51 */ lis r4, j3dSys@ha
|
||||
/* 802B6120 002B3060 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B6124 002B3064 38 84 F2 30 */ addi r4, r4, j3dSys@l
|
||||
/* 802B6128 002B3068 4B E3 41 A5 */ bl PSMTXCopy
|
||||
/* 802B612C 002B306C 83 FE 00 08 */ lwz r31, 8(r30)
|
||||
/* 802B6130 002B3070 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B6134 002B3074 81 9F 00 00 */ lwz r12, 0(r31)
|
||||
/* 802B6138 002B3078 81 8C 00 10 */ lwz r12, 0x10(r12)
|
||||
/* 802B613C 002B307C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802B6140 002B3080 4E 80 04 21 */ bctrl
|
||||
/* 802B6144 002B3084 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B6148 002B3088 81 9F 00 00 */ lwz r12, 0(r31)
|
||||
/* 802B614C 002B308C 81 8C 00 14 */ lwz r12, 0x14(r12)
|
||||
/* 802B6150 002B3090 7D 89 03 A6 */ mtctr r12
|
||||
/* 802B6154 002B3094 4E 80 04 21 */ bctrl
|
||||
/* 802B6158 002B3098 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B615C 002B309C 4B DB 07 C9 */ bl makeDL__8J3DModelFv
|
||||
/* 802B6160 002B30A0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B6164 002B30A4 4B DB 06 91 */ bl lock__8J3DModelFv
|
||||
/* 802B6168 002B30A8 80 01 00 54 */ lwz r0, 0x54(r1)
|
||||
/* 802B616C 002B30AC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B6170 002B30B0 83 E1 00 4C */ lwz r31, 0x4c(r1)
|
||||
/* 802B6174 002B30B4 83 C1 00 48 */ lwz r30, 0x48(r1)
|
||||
/* 802B6178 002B30B8 83 A1 00 44 */ lwz r29, 0x44(r1)
|
||||
/* 802B617C 002B30BC 83 81 00 40 */ lwz r28, 0x40(r1)
|
||||
/* 802B6180 002B30C0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B6184 002B30C4 38 21 00 50 */ addi r1, r1, 0x50
|
||||
/* 802B6188 002B30C8 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11OtakaraBase3MgrFv
|
||||
__dt__Q34Game11OtakaraBase3MgrFv: # weak function
|
||||
/* 802B618C 002B30CC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B6190 002B30D0 7C 08 02 A6 */ mflr r0
|
||||
/* 802B6194 002B30D4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B6198 002B30D8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B619C 002B30DC 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B61A0 002B30E0 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B61A4 002B30E4 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B61A8 002B30E8 41 82 00 78 */ beq lbl_802B6220
|
||||
/* 802B61AC 002B30EC 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B61B0 002B30F0 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B61B4 002B30F4 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B61B8 002B30F8 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B61BC 002B30FC 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B61C0 002B3100 41 82 00 50 */ beq lbl_802B6210
|
||||
/* 802B61C4 002B3104 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802B61C8 002B3108 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802B61CC 002B310C 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B61D0 002B3110 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B61D4 002B3114 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B61D8 002B3118 41 82 00 38 */ beq lbl_802B6210
|
||||
/* 802B61DC 002B311C 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802B61E0 002B3120 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802B61E4 002B3124 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802B61E8 002B3128 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B61EC 002B312C 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B61F0 002B3130 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B61F4 002B3134 41 82 00 1C */ beq lbl_802B6210
|
||||
/* 802B61F8 002B3138 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802B61FC 002B313C 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802B6200 002B3140 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802B6204 002B3144 38 80 00 00 */ li r4, 0
|
||||
/* 802B6208 002B3148 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B620C 002B314C 48 15 B3 7D */ bl __dt__5CNodeFv
|
||||
lbl_802B6210:
|
||||
/* 802B6210 002B3150 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B6214 002B3154 40 81 00 0C */ ble lbl_802B6220
|
||||
/* 802B6218 002B3158 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B621C 002B315C 4B D6 DE 99 */ bl __dl__FPv
|
||||
lbl_802B6220:
|
||||
/* 802B6220 002B3160 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B6224 002B3164 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B6228 002B3168 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B622C 002B316C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B6230 002B3170 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B6234 002B3174 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B6238 002B3178 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game11OtakaraBase3MgrFv
|
||||
getEnemyTypeID__Q34Game11OtakaraBase3MgrFv: # weak function
|
||||
/* 802B623C 002B317C 38 60 00 3B */ li r3, 0x3b
|
||||
/* 802B6240 002B3180 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game11OtakaraBase3MgrFv"
|
||||
"@4@__dt__Q34Game11OtakaraBase3MgrFv": # weak function
|
||||
/* 802B6244 002B3184 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802B6248 002B3188 4B FF FF 44 */ b __dt__Q34Game11OtakaraBase3MgrFv
|
@ -1,344 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 8
|
||||
.global lbl_8048A760
|
||||
lbl_8048A760:
|
||||
.asciz "/enemy/data/WaterOtakara/otakara_blue_s3tc.bti"
|
||||
.skip 1
|
||||
.global lbl_8048A790
|
||||
lbl_8048A790:
|
||||
.4byte 0x90858349
|
||||
.4byte 0x835E834A
|
||||
.4byte 0x83898380
|
||||
.4byte 0x8356837D
|
||||
.4byte 0x836C815B
|
||||
.4byte 0x83578383
|
||||
.4byte 0x00000000
|
||||
.global lbl_8048A7AC
|
||||
lbl_8048A7AC:
|
||||
.asciz "WaterOtakaraMgr.cpp"
|
||||
.global lbl_8048A7C0
|
||||
lbl_8048A7C0:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 8
|
||||
.global __vt__Q34Game12WaterOtakara3Mgr
|
||||
__vt__Q34Game12WaterOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game12WaterOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game12WaterOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game12WaterOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.balign 8
|
||||
.global "cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A760
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game12WaterOtakara3MgrFiUc
|
||||
__ct__Q34Game12WaterOtakara3MgrFiUc:
|
||||
/* 802B86E0 002B5620 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B86E4 002B5624 7C 08 02 A6 */ mflr r0
|
||||
/* 802B86E8 002B5628 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B86EC 002B562C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B86F0 002B5630 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B86F4 002B5634 4B FF D7 A5 */ bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
/* 802B86F8 002B5638 3C 60 80 4D */ lis r3, __vt__Q34Game12WaterOtakara3Mgr@ha
|
||||
/* 802B86FC 002B563C 3C 80 80 49 */ lis r4, lbl_8048A790@ha
|
||||
/* 802B8700 002B5640 38 A3 F8 50 */ addi r5, r3, __vt__Q34Game12WaterOtakara3Mgr@l
|
||||
/* 802B8704 002B5644 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B8708 002B5648 90 BF 00 00 */ stw r5, 0(r31)
|
||||
/* 802B870C 002B564C 38 A5 00 38 */ addi r5, r5, 0x38
|
||||
/* 802B8710 002B5650 38 04 A7 90 */ addi r0, r4, lbl_8048A790@l
|
||||
/* 802B8714 002B5654 90 BF 00 04 */ stw r5, 4(r31)
|
||||
/* 802B8718 002B5658 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802B871C 002B565C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B8720 002B5660 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8724 002B5664 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8728 002B5668 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B872C 002B566C 4E 80 00 20 */ blr
|
||||
|
||||
.global doAlloc__Q34Game12WaterOtakara3MgrFv
|
||||
doAlloc__Q34Game12WaterOtakara3MgrFv:
|
||||
/* 802B8730 002B5670 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B8734 002B5674 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8738 002B5678 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B873C 002B567C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8740 002B5680 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B8744 002B5684 38 60 08 A8 */ li r3, 0x8a8
|
||||
/* 802B8748 002B5688 4B D6 B7 5D */ bl __nw__FUl
|
||||
/* 802B874C 002B568C 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802B8750 002B5690 41 82 00 0C */ beq lbl_802B875C
|
||||
/* 802B8754 002B5694 4B FF F6 11 */ bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
/* 802B8758 002B5698 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802B875C:
|
||||
/* 802B875C 002B569C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802B8760 002B56A0 4B E7 71 3D */ bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
/* 802B8764 002B56A4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8768 002B56A8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B876C 002B56AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8770 002B56B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B8774 002B56B4 4E 80 00 20 */ blr
|
||||
|
||||
.global createObj__Q34Game12WaterOtakara3MgrFi
|
||||
createObj__Q34Game12WaterOtakara3MgrFi:
|
||||
/* 802B8778 002B56B8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B877C 002B56BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8780 002B56C0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B8784 002B56C4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8788 002B56C8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B878C 002B56CC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B8790 002B56D0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802B8794 002B56D4 1C 7F 03 08 */ mulli r3, r31, 0x308
|
||||
/* 802B8798 002B56D8 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 802B879C 002B56DC 4B D6 B8 11 */ bl __nwa__FUl
|
||||
/* 802B87A0 002B56E0 3C 80 80 2C */ lis r4, __ct__Q34Game12WaterOtakara3ObjFv@ha
|
||||
/* 802B87A4 002B56E4 3C A0 80 2C */ lis r5, __dt__Q34Game12WaterOtakara3ObjFv@ha
|
||||
/* 802B87A8 002B56E8 38 84 8A 38 */ addi r4, r4, __ct__Q34Game12WaterOtakara3ObjFv@l
|
||||
/* 802B87AC 002B56EC 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802B87B0 002B56F0 38 A5 87 D8 */ addi r5, r5, __dt__Q34Game12WaterOtakara3ObjFv@l
|
||||
/* 802B87B4 002B56F4 38 C0 03 08 */ li r6, 0x308
|
||||
/* 802B87B8 002B56F8 4B E0 92 39 */ bl __construct_new_array
|
||||
/* 802B87BC 002B56FC 90 7E 00 48 */ stw r3, 0x48(r30)
|
||||
/* 802B87C0 002B5700 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B87C4 002B5704 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B87C8 002B5708 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B87CC 002B570C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B87D0 002B5710 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B87D4 002B5714 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game12WaterOtakara3ObjFv
|
||||
__dt__Q34Game12WaterOtakara3ObjFv:
|
||||
/* 802B87D8 002B5718 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B87DC 002B571C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B87E0 002B5720 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B87E4 002B5724 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B87E8 002B5728 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B87EC 002B572C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B87F0 002B5730 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B87F4 002B5734 41 82 00 B8 */ beq lbl_802B88AC
|
||||
/* 802B87F8 002B5738 3C 60 80 4D */ lis r3, __vt__Q34Game12WaterOtakara3Obj@ha
|
||||
/* 802B87FC 002B573C 38 1E 02 F8 */ addi r0, r30, 0x2f8
|
||||
/* 802B8800 002B5740 38 83 F9 68 */ addi r4, r3, __vt__Q34Game12WaterOtakara3Obj@l
|
||||
/* 802B8804 002B5744 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B8808 002B5748 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B880C 002B574C 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B8810 002B5750 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B8814 002B5754 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B8818 002B5758 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B881C 002B575C 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B8820 002B5760 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B8824 002B5764 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B8828 002B5768 41 82 00 74 */ beq lbl_802B889C
|
||||
/* 802B882C 002B576C 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
/* 802B8830 002B5770 38 1E 02 F4 */ addi r0, r30, 0x2f4
|
||||
/* 802B8834 002B5774 38 83 F0 84 */ addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
/* 802B8838 002B5778 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B883C 002B577C 38 64 01 B0 */ addi r3, r4, 0x1b0
|
||||
/* 802B8840 002B5780 38 84 03 24 */ addi r4, r4, 0x324
|
||||
/* 802B8844 002B5784 90 7E 01 78 */ stw r3, 0x178(r30)
|
||||
/* 802B8848 002B5788 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B884C 002B578C 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802B8850 002B5790 80 7E 01 7C */ lwz r3, 0x17c(r30)
|
||||
/* 802B8854 002B5794 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802B8858 002B5798 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802B885C 002B579C 41 82 00 40 */ beq lbl_802B889C
|
||||
/* 802B8860 002B57A0 3C 60 80 4B */ lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
/* 802B8864 002B57A4 38 1E 02 BC */ addi r0, r30, 0x2bc
|
||||
/* 802B8868 002B57A8 38 83 A3 24 */ addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
/* 802B886C 002B57AC 38 7E 02 90 */ addi r3, r30, 0x290
|
||||
/* 802B8870 002B57B0 90 9E 00 00 */ stw r4, 0(r30)
|
||||
/* 802B8874 002B57B4 38 A4 01 B0 */ addi r5, r4, 0x1b0
|
||||
/* 802B8878 002B57B8 38 C4 02 F8 */ addi r6, r4, 0x2f8
|
||||
/* 802B887C 002B57BC 38 80 FF FF */ li r4, -1
|
||||
/* 802B8880 002B57C0 90 BE 01 78 */ stw r5, 0x178(r30)
|
||||
/* 802B8884 002B57C4 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B8888 002B57C8 90 C5 00 00 */ stw r6, 0(r5)
|
||||
/* 802B888C 002B57CC 80 BE 01 7C */ lwz r5, 0x17c(r30)
|
||||
/* 802B8890 002B57D0 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802B8894 002B57D4 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802B8898 002B57D8 48 15 8C F1 */ bl __dt__5CNodeFv
|
||||
lbl_802B889C:
|
||||
/* 802B889C 002B57DC 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B88A0 002B57E0 40 81 00 0C */ ble lbl_802B88AC
|
||||
/* 802B88A4 002B57E4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B88A8 002B57E8 4B D6 B8 0D */ bl __dl__FPv
|
||||
lbl_802B88AC:
|
||||
/* 802B88AC 002B57EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B88B0 002B57F0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B88B4 002B57F4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B88B8 002B57F8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B88BC 002B57FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B88C0 002B5800 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B88C4 002B5804 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemy__Q34Game12WaterOtakara3MgrFi
|
||||
getEnemy__Q34Game12WaterOtakara3MgrFi:
|
||||
/* 802B88C8 002B5808 1C 04 03 08 */ mulli r0, r4, 0x308
|
||||
/* 802B88CC 002B580C 80 63 00 48 */ lwz r3, 0x48(r3)
|
||||
/* 802B88D0 002B5810 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802B88D4 002B5814 4E 80 00 20 */ blr
|
||||
|
||||
.global loadTexData__Q34Game12WaterOtakara3MgrFv
|
||||
loadTexData__Q34Game12WaterOtakara3MgrFv:
|
||||
/* 802B88D8 002B5818 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 802B88DC 002B581C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B88E0 002B5820 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 802B88E4 002B5824 38 00 00 00 */ li r0, 0
|
||||
/* 802B88E8 002B5828 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 802B88EC 002B582C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802B88F0 002B5830 90 03 00 44 */ stw r0, 0x44(r3)
|
||||
/* 802B88F4 002B5834 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802B88F8 002B5838 80 8D 84 E8 */ lwz r4, "cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@"@sda21(r13)
|
||||
/* 802B88FC 002B583C 48 19 3C DD */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 802B8900 002B5840 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 802B8904 002B5844 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802B8908 002B5848 48 19 3E 99 */ bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 802B890C 002B584C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802B8910 002B5850 41 82 00 0C */ beq lbl_802B891C
|
||||
/* 802B8914 002B5854 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802B8918 002B5858 90 1F 00 44 */ stw r0, 0x44(r31)
|
||||
lbl_802B891C:
|
||||
/* 802B891C 002B585C 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 802B8920 002B5860 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802B8924 002B5864 40 82 00 20 */ bne lbl_802B8944
|
||||
/* 802B8928 002B5868 3C 60 80 49 */ lis r3, lbl_8048A7AC@ha
|
||||
/* 802B892C 002B586C 3C A0 80 49 */ lis r5, lbl_8048A7C0@ha
|
||||
/* 802B8930 002B5870 38 63 A7 AC */ addi r3, r3, lbl_8048A7AC@l
|
||||
/* 802B8934 002B5874 38 80 00 53 */ li r4, 0x53
|
||||
/* 802B8938 002B5878 38 A5 A7 C0 */ addi r5, r5, lbl_8048A7C0@l
|
||||
/* 802B893C 002B587C 4C C6 31 82 */ crclr 6
|
||||
/* 802B8940 002B5880 4B D7 1D 01 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802B8944:
|
||||
/* 802B8944 002B5884 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802B8948 002B5888 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802B894C 002B588C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8950 002B5890 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802B8954 002B5894 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game12WaterOtakara3MgrFv
|
||||
__dt__Q34Game12WaterOtakara3MgrFv:
|
||||
/* 802B8958 002B5898 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802B895C 002B589C 7C 08 02 A6 */ mflr r0
|
||||
/* 802B8960 002B58A0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802B8964 002B58A4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802B8968 002B58A8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802B896C 002B58AC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802B8970 002B58B0 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802B8974 002B58B4 41 82 00 90 */ beq lbl_802B8A04
|
||||
/* 802B8978 002B58B8 3C 60 80 4D */ lis r3, __vt__Q34Game12WaterOtakara3Mgr@ha
|
||||
/* 802B897C 002B58BC 38 63 F8 50 */ addi r3, r3, __vt__Q34Game12WaterOtakara3Mgr@l
|
||||
/* 802B8980 002B58C0 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B8984 002B58C4 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B8988 002B58C8 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B898C 002B58CC 41 82 00 68 */ beq lbl_802B89F4
|
||||
/* 802B8990 002B58D0 3C 60 80 4D */ lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
/* 802B8994 002B58D4 38 63 EF 90 */ addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
/* 802B8998 002B58D8 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B899C 002B58DC 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B89A0 002B58E0 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B89A4 002B58E4 41 82 00 50 */ beq lbl_802B89F4
|
||||
/* 802B89A8 002B58E8 3C 60 80 4B */ lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
/* 802B89AC 002B58EC 38 63 F8 A0 */ addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
/* 802B89B0 002B58F0 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B89B4 002B58F4 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B89B8 002B58F8 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B89BC 002B58FC 41 82 00 38 */ beq lbl_802B89F4
|
||||
/* 802B89C0 002B5900 3C 60 80 4B */ lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
/* 802B89C4 002B5904 34 1E 00 04 */ addic. r0, r30, 4
|
||||
/* 802B89C8 002B5908 38 63 AC FC */ addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
/* 802B89CC 002B590C 90 7E 00 00 */ stw r3, 0(r30)
|
||||
/* 802B89D0 002B5910 38 03 00 38 */ addi r0, r3, 0x38
|
||||
/* 802B89D4 002B5914 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B89D8 002B5918 41 82 00 1C */ beq lbl_802B89F4
|
||||
/* 802B89DC 002B591C 3C 80 80 4B */ lis r4, __vt__16GenericContainer@ha
|
||||
/* 802B89E0 002B5920 38 7E 00 04 */ addi r3, r30, 4
|
||||
/* 802B89E4 002B5924 38 04 AC DC */ addi r0, r4, __vt__16GenericContainer@l
|
||||
/* 802B89E8 002B5928 38 80 00 00 */ li r4, 0
|
||||
/* 802B89EC 002B592C 90 1E 00 04 */ stw r0, 4(r30)
|
||||
/* 802B89F0 002B5930 48 15 8B 99 */ bl __dt__5CNodeFv
|
||||
lbl_802B89F4:
|
||||
/* 802B89F4 002B5934 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802B89F8 002B5938 40 81 00 0C */ ble lbl_802B8A04
|
||||
/* 802B89FC 002B593C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B8A00 002B5940 4B D6 B6 B5 */ bl __dl__FPv
|
||||
lbl_802B8A04:
|
||||
/* 802B8A04 002B5944 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802B8A08 002B5948 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802B8A0C 002B594C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802B8A10 002B5950 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802B8A14 002B5954 7C 08 03 A6 */ mtlr r0
|
||||
/* 802B8A18 002B5958 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802B8A1C 002B595C 4E 80 00 20 */ blr
|
||||
|
||||
.global getEnemyTypeID__Q34Game12WaterOtakara3MgrFv
|
||||
getEnemyTypeID__Q34Game12WaterOtakara3MgrFv:
|
||||
/* 802B8A20 002B5960 38 60 00 3C */ li r3, 0x3c
|
||||
/* 802B8A24 002B5964 4E 80 00 20 */ blr
|
||||
|
||||
.global getChangeTexture__Q34Game12WaterOtakara3MgrFv
|
||||
getChangeTexture__Q34Game12WaterOtakara3MgrFv:
|
||||
/* 802B8A28 002B5968 80 63 00 44 */ lwz r3, 0x44(r3)
|
||||
/* 802B8A2C 002B596C 4E 80 00 20 */ blr
|
||||
|
||||
.global "@4@__dt__Q34Game12WaterOtakara3MgrFv"
|
||||
"@4@__dt__Q34Game12WaterOtakara3MgrFv":
|
||||
/* 802B8A30 002B5970 38 63 FF FC */ addi r3, r3, -4
|
||||
/* 802B8A34 002B5974 4B FF FF 24 */ b __dt__Q34Game12WaterOtakara3MgrFv
|
@ -176,23 +176,20 @@
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TyreShadow.cpp">TyreShadow.cpp</a> | 9782 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeJointMgr.cpp">SnakeJointMgr.cpp</a> | 10097 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TankMgr.cpp">TankMgr.cpp</a> | 10362 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FartMgr.cpp">FartMgr.cpp</a> | 10451 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FtankMgr.cpp">FtankMgr.cpp</a> | 10480 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KoganemushiMgr.cpp">KoganemushiMgr.cpp</a> | 10725 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UjiaMgr.cpp">UjiaMgr.cpp</a> | 10743 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/GasOtakaraMgr.cpp">GasOtakaraMgr.cpp</a> | 10840 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TadpoleMgr.cpp">TadpoleMgr.cpp</a> | 10849 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ElecOtakaraMgr.cpp">ElecOtakaraMgr.cpp</a> | 10862 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BombOtakaraMgr.cpp">BombOtakaraMgr.cpp</a> | 10878 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/WaterOtakaraMgr.cpp">WaterOtakaraMgr.cpp</a> | 10899 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/OtakaraBaseMgr.cpp">OtakaraBaseMgr.cpp</a> | 10924 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KumaKochappyMgr.cpp">KumaKochappyMgr.cpp</a> | 11025 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KoganeMgr.cpp">KoganeMgr.cpp</a> | 11185 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/WtankMgr.cpp">WtankMgr.cpp</a> | 11992 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ContRumble.cpp">ContRumble.cpp</a> | 12392 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/QueenShadow.cpp">QueenShadow.cpp</a> | 12549 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UmimushiShadow.cpp">UmimushiShadow.cpp</a> | 12906 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BabyState.cpp">BabyState.cpp</a> | 13418 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FireChappyMgr.cpp">FireChappyMgr.cpp</a> | 14133 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/JointShadowBase.cpp">JointShadowBase.cpp</a> | 14974 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BigFootShadow.cpp">BigFootShadow.cpp</a> | 15684 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BabyMgr.cpp">BabyMgr.cpp</a> | 16149 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UjibMgr.cpp">UjibMgr.cpp</a> | 16206 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ElecBugMgr.cpp">ElecBugMgr.cpp</a> | 16551 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ArmorMgr.cpp">ArmorMgr.cpp</a> | 16656 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KumaChappyMgr.cpp">KumaChappyMgr.cpp</a> | 17296 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/HoudaiShadow.cpp">HoudaiShadow.cpp</a> | 17519 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FrogMgr.cpp">FrogMgr.cpp</a> | 17706 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TobiMgr.cpp">TobiMgr.cpp</a> | 18165 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ImomushiMgr.cpp">ImomushiMgr.cpp</a> | 18181 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/DamagumoShadow.cpp">DamagumoShadow.cpp</a> | 18421 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeWholeMgr.cpp">SnakeWholeMgr.cpp</a> | 18937 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/GasHibaMgr.cpp">GasHibaMgr.cpp</a> | 19211 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeWholeShadow.cpp">SnakeWholeShadow.cpp</a> | 19376 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeCrowShadow.cpp">SnakeCrowShadow.cpp</a> | 19417 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeCrowMgr.cpp">SnakeCrowMgr.cpp</a> | 19487 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FireOtakaraMgr.cpp">FireOtakaraMgr.cpp</a> | 20409 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/MaroFrog.cpp">MaroFrog.cpp</a> | 20927 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UjiaMgr.cpp">UjiaMgr.cpp</a> | 10743 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TadpoleMgr.cpp">TadpoleMgr.cpp</a> | 10849 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KumaKochappyMgr.cpp">KumaKochappyMgr.cpp</a> | 11025 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KoganeMgr.cpp">KoganeMgr.cpp</a> | 11185 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/WtankMgr.cpp">WtankMgr.cpp</a> | 11992 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ContRumble.cpp">ContRumble.cpp</a> | 12392 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/QueenShadow.cpp">QueenShadow.cpp</a> | 12549 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UmimushiShadow.cpp">UmimushiShadow.cpp</a> | 12906 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BabyState.cpp">BabyState.cpp</a> | 13418 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FireChappyMgr.cpp">FireChappyMgr.cpp</a> | 14133 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/JointShadowBase.cpp">JointShadowBase.cpp</a> | 14974 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BigFootShadow.cpp">BigFootShadow.cpp</a> | 15684 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BabyMgr.cpp">BabyMgr.cpp</a> | 16149 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/UjibMgr.cpp">UjibMgr.cpp</a> | 16206 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ElecBugMgr.cpp">ElecBugMgr.cpp</a> | 16551 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ArmorMgr.cpp">ArmorMgr.cpp</a> | 16656 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KumaChappyMgr.cpp">KumaChappyMgr.cpp</a> | 17296 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/HoudaiShadow.cpp">HoudaiShadow.cpp</a> | 17519 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FrogMgr.cpp">FrogMgr.cpp</a> | 17706 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/TobiMgr.cpp">TobiMgr.cpp</a> | 18165 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ImomushiMgr.cpp">ImomushiMgr.cpp</a> | 18181 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/DamagumoShadow.cpp">DamagumoShadow.cpp</a> | 18421 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeWholeMgr.cpp">SnakeWholeMgr.cpp</a> | 18937 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/GasHibaMgr.cpp">GasHibaMgr.cpp</a> | 19211 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeWholeShadow.cpp">SnakeWholeShadow.cpp</a> | 19376 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeCrowShadow.cpp">SnakeCrowShadow.cpp</a> | 19417 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/SnakeCrowMgr.cpp">SnakeCrowMgr.cpp</a> | 19487 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/MaroFrog.cpp">MaroFrog.cpp</a> | 20927 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FixMiniHoudaiMgr.cpp">FixMiniHoudaiMgr.cpp</a> | 20947 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/FuefukiMgr.cpp">FuefukiMgr.cpp</a> | 21052 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/MapUnitGenerator.cpp">MapUnitGenerator.cpp</a> | 21275 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/KurageMgr.cpp">KurageMgr.cpp</a> | 21344 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/OniKurageMgr.cpp">OniKurageMgr.cpp</a> | 21526 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/RumbleMgr.cpp">RumbleMgr.cpp</a> | 21535 |
|
||||
@ -208,6 +205,9 @@
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/ElecHibaMgr.cpp">ElecHibaMgr.cpp</a> | 27244 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/LeafChappy.cpp">LeafChappy.cpp</a> | 27467 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/OtakaraBase.cpp">OtakaraBase.cpp</a> | 28244 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/BigFootMgr.cpp">BigFootMgr.cpp</a> | 28748 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/RandMapMgr.cpp">RandMapMgr.cpp</a> | 28857 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/NormMiniHoudaiMgr.cpp">NormMiniHoudaiMgr.cpp</a> | 28966 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/Tadpole.cpp">Tadpole.cpp</a> | 29151 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/IKSystemBase.cpp">IKSystemBase.cpp</a> | 30143 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/Fart.cpp">Fart.cpp</a> | 30891 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/Hana.cpp">Hana.cpp</a> | 31982 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectNishimuraU/Ftank.cpp">Ftank.cpp</a> | 33732 |
|
||||
|
||||
### <section id="plugProjectOgawaU">plugProjectOgawaU</section>
|
||||
| File | Size (bytes) | File | Size (bytes) |
|
||||
|
@ -40,13 +40,19 @@ struct Obj : public OtakaraBase::Obj {
|
||||
struct Mgr : public OtakaraBase::Mgr {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual ResTIMG* getChangeTexture(); // _E0 (weak)
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_BombOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() // _E0 (weak)
|
||||
{
|
||||
return m_changeTexture;
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = OtakaraBase::Mgr
|
||||
|
@ -38,13 +38,19 @@ struct Obj : public OtakaraBase::Obj {
|
||||
struct Mgr : public OtakaraBase::Mgr {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual ResTIMG* getChangeTexture(); // _E0 (weak)
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_ElecOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() // _E0 (weak)
|
||||
{
|
||||
return m_changeTexture;
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = OtakaraBase::Mgr
|
||||
|
@ -38,13 +38,19 @@ struct Obj : public OtakaraBase::Obj {
|
||||
struct Mgr : public OtakaraBase::Mgr {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual ResTIMG* getChangeTexture(); // _E0 (weak)
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_FireOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() // _E0 (weak)
|
||||
{
|
||||
return m_changeTexture;
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = OtakaraBase::Mgr
|
||||
|
@ -38,13 +38,19 @@ struct Obj : public OtakaraBase::Obj {
|
||||
struct Mgr : public OtakaraBase::Mgr {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual ResTIMG* getChangeTexture(); // _E0 (weak)
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_GasOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() // _E0 (weak)
|
||||
{
|
||||
return m_changeTexture;
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = OtakaraBase::Mgr
|
||||
|
@ -127,21 +127,32 @@ struct Obj : public EnemyBase {
|
||||
struct Mgr : public EnemyMgrBase {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual SysShape::Model* createModel(); // _B0
|
||||
virtual void loadModelData(); // _C8
|
||||
virtual void loadAnimData(); // _CC
|
||||
virtual ResTIMG* getChangeTexture() = 0; // _E0
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
|
||||
virtual SysShape::Model* createModel(); // _B0
|
||||
virtual void loadModelData(); // _C8
|
||||
virtual void loadAnimData(); // _CC
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_FireOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() = 0; // _E0
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_44 = EnemyMgrBase
|
||||
u8 _44[0x4]; // _44, unknown
|
||||
ResTIMG* m_changeTexture; // _44
|
||||
};
|
||||
|
||||
struct Parms : public EnemyParmsBase {
|
||||
struct ProperParms : Parameters {
|
||||
// inline ProperParms; // probably
|
||||
inline ProperParms()
|
||||
: Parameters(nullptr, "OtakaraBaseParms")
|
||||
, m_fp01(this, 'fp01', "オタカラライフ", 100.0f, 0.0f, 10000.0f) // 'otakara life'
|
||||
, m_fp10(this, 'fp10', "ノーマルアタック", 1.0f, 0.0f, 10.0f) // 'normal attack'
|
||||
, m_fp11(this, 'fp11', "オタカラアタック", 1.25f, 0.0f, 10.0f) // 'otakara attack'
|
||||
, m_fp21(this, 'fp21', "オタカラキャッチ", 2.5f, 0.0f, 10.0f) // 'treasure catch'
|
||||
{
|
||||
}
|
||||
|
||||
Parm<f32> m_fp01; // _804
|
||||
Parm<f32> m_fp10; // _82C
|
||||
@ -149,9 +160,14 @@ struct Parms : public EnemyParmsBase {
|
||||
Parm<f32> m_fp21; // _87C
|
||||
};
|
||||
|
||||
Parms();
|
||||
Parms() { }
|
||||
|
||||
virtual void read(Stream&); // _08 (weak)
|
||||
virtual void read(Stream& stream) // _08 (weak)
|
||||
{
|
||||
CreatureParms::read(stream);
|
||||
m_general.read(stream);
|
||||
m_properParms.read(stream);
|
||||
}
|
||||
|
||||
// _00-_7F8 = EnemyParmsBase
|
||||
ProperParms m_properParms; // _7F8
|
||||
|
@ -41,13 +41,19 @@ struct Obj : public OtakaraBase::Obj {
|
||||
struct Mgr : public OtakaraBase::Mgr {
|
||||
Mgr(int objLimit, u8 modelType);
|
||||
|
||||
virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual ResTIMG* getChangeTexture(); // _E0 (weak)
|
||||
// virtual ~Mgr(); // _58 (weak)
|
||||
virtual void createObj(int); // _A0
|
||||
virtual EnemyBase* getEnemy(int); // _A4
|
||||
virtual void doAlloc(); // _A8
|
||||
virtual void loadTexData(); // _D0
|
||||
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
|
||||
{
|
||||
return EnemyTypeID::EnemyID_WaterOtakara;
|
||||
}
|
||||
virtual ResTIMG* getChangeTexture() // _E0 (weak)
|
||||
{
|
||||
return m_changeTexture;
|
||||
}
|
||||
|
||||
// _00 = VTBL
|
||||
// _00-_48 = OtakaraBase::Mgr
|
||||
|
12
obj_files.mk
12
obj_files.mk
@ -774,15 +774,15 @@ NISHIMURA:=\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/BombSarai.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/OtakaraBaseState.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/OtakaraBaseAnimator.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/OtakaraBaseMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/OtakaraBaseMgr.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/OtakaraBase.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/FireOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/FireOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/FireOtakara.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/WaterOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/WaterOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/WaterOtakara.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/GasOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/GasOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/GasOtakara.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/ElecOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/ElecOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/ElecOtakara.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/ImomushiState.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/ImomushiAnimator.o\
|
||||
@ -838,7 +838,7 @@ NISHIMURA:=\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/BigTreasureAttack.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/SnakeCrowShadow.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/SnakeWholeShadow.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/BombOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/BombOtakaraMgr.o\
|
||||
$(BUILD_DIR)/src/plugProjectNishimuraU/BombOtakara.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/DangoMushiState.o\
|
||||
$(BUILD_DIR)/asm/plugProjectNishimuraU/DangoMushiMgr.o\
|
||||
|
@ -1,132 +1,22 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048D3D8
|
||||
lbl_8048D3D8:
|
||||
.asciz "/enemy/data/BombOtakara/otakara_bomb_s3tc.bti"
|
||||
.skip 2
|
||||
.global lbl_8048D408
|
||||
lbl_8048D408:
|
||||
.4byte 0x836F834E
|
||||
.4byte 0x835F8393
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048D428
|
||||
lbl_8048D428:
|
||||
.asciz "BombOtakaraMgr.cpp"
|
||||
.skip 1
|
||||
.global lbl_8048D43C
|
||||
lbl_8048D43C:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game11BombOtakara3Mgr
|
||||
__vt__Q34Game11BombOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11BombOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11BombOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11BombOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11BombOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11BombOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11BombOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11BombOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11BombOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.global
|
||||
"cOtakaraChangeTexName__Q34Game11BombOtakara28@unnamed@BombOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game11BombOtakara28@unnamed@BombOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048D3D8
|
||||
*/
|
||||
#include "Game/Entities/BombOtakara.h"
|
||||
#include "LoadResource.h"
|
||||
|
||||
namespace Game {
|
||||
namespace BombOtakara {
|
||||
|
||||
namespace {
|
||||
static const char* cOtakaraChangeTexName = "/enemy/data/BombOtakara/otakara_bomb_s3tc.bti";
|
||||
} // namespace
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F92D0
|
||||
* Size: 000050
|
||||
*/
|
||||
BombOtakara::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: OtakaraBase::Mgr(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
lis r3, __vt__Q34Game11BombOtakara3Mgr@ha
|
||||
lis r4, lbl_8048D408@ha
|
||||
addi r5, r3, __vt__Q34Game11BombOtakara3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048D408@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "バクダンオタカラムシマネージャ"; // starburst otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -134,299 +24,37 @@ BombOtakara::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802F9320
|
||||
* Size: 000048
|
||||
*/
|
||||
void BombOtakara::Mgr::doAlloc()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
li r3, 0x8a8
|
||||
bl __nw__FUl
|
||||
or. r4, r3, r3
|
||||
beq lbl_802F934C
|
||||
bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
mr r4, r3
|
||||
|
||||
lbl_802F934C:
|
||||
mr r3, r31
|
||||
bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::doAlloc() { init(new OtakaraBase::Parms); }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F9368
|
||||
* Size: 000060
|
||||
*/
|
||||
void BombOtakara::Mgr::createObj(int)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
mulli r3, r31, 0x304
|
||||
addi r3, r3, 0x10
|
||||
bl __nwa__FUl
|
||||
lis r4, __ct__Q34Game11BombOtakara3ObjFv@ha
|
||||
lis r5, __dt__Q34Game11BombOtakara3ObjFv@ha
|
||||
addi r4, r4, __ct__Q34Game11BombOtakara3ObjFv@l
|
||||
mr r7, r31
|
||||
addi r5, r5, __dt__Q34Game11BombOtakara3ObjFv@l
|
||||
li r6, 0x304
|
||||
bl __construct_new_array
|
||||
stw r3, 0x48(r30)
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F93C8
|
||||
* Size: 0000EC
|
||||
*/
|
||||
BombOtakara::Obj::~Obj()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802F9498
|
||||
lis r3, __vt__Q34Game11BombOtakara3Obj@ha
|
||||
addi r5, r30, 0x2f4
|
||||
addi r4, r3, __vt__Q34Game11BombOtakara3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r0, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r0, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r5
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802F9488
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r0, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r0, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r5
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802F9488
|
||||
lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
addi r0, r30, 0x2bc
|
||||
addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
addi r3, r30, 0x290
|
||||
stw r4, 0(r30)
|
||||
addi r5, r4, 0x1b0
|
||||
addi r6, r4, 0x2f8
|
||||
li r4, -1
|
||||
stw r5, 0x178(r30)
|
||||
lwz r5, 0x17c(r30)
|
||||
stw r6, 0(r5)
|
||||
lwz r5, 0x17c(r30)
|
||||
subf r0, r5, r0
|
||||
stw r0, 0xc(r5)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802F9488:
|
||||
extsh. r0, r31
|
||||
ble lbl_802F9498
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802F9498:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::createObj(int count) { m_obj = new Obj[count]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F94B4
|
||||
* Size: 000010
|
||||
*/
|
||||
void BombOtakara::Mgr::getEnemy(int)
|
||||
{
|
||||
/*
|
||||
mulli r0, r4, 0x304
|
||||
lwz r3, 0x48(r3)
|
||||
add r3, r3, r0
|
||||
blr
|
||||
*/
|
||||
}
|
||||
EnemyBase* Mgr::getEnemy(int index) { return &m_obj[index]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F94C4
|
||||
* Size: 000080
|
||||
*/
|
||||
void BombOtakara::Mgr::loadTexData()
|
||||
void Mgr::loadTexData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
mflr r0
|
||||
stw r0, 0x44(r1)
|
||||
li r0, 0
|
||||
stw r31, 0x3c(r1)
|
||||
mr r31, r3
|
||||
stw r0, 0x44(r3)
|
||||
addi r3, r1, 8
|
||||
lwz r4,
|
||||
"cOtakaraChangeTexName__Q34Game11BombOtakara28@unnamed@BombOtakaraMgr_cpp@"@sda21(r13)
|
||||
bl __ct__Q212LoadResource3ArgFPCc
|
||||
lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
addi r4, r1, 8
|
||||
bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
cmplwi r3, 0
|
||||
beq lbl_802F9508
|
||||
lwz r0, 0x30(r3)
|
||||
stw r0, 0x44(r31)
|
||||
|
||||
lbl_802F9508:
|
||||
lwz r0, 0x44(r31)
|
||||
cmplwi r0, 0
|
||||
bne lbl_802F9530
|
||||
lis r3, lbl_8048D428@ha
|
||||
lis r5, lbl_8048D43C@ha
|
||||
addi r3, r3, lbl_8048D428@l
|
||||
li r4, 0x53
|
||||
addi r5, r5, lbl_8048D43C@l
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802F9530:
|
||||
lwz r0, 0x44(r1)
|
||||
lwz r31, 0x3c(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x40
|
||||
blr
|
||||
*/
|
||||
m_changeTexture = nullptr;
|
||||
LoadResource::Arg loadArg(cOtakaraChangeTexName);
|
||||
LoadResource::Node* resource = gLoadResourceMgr->load(loadArg);
|
||||
if (resource) {
|
||||
m_changeTexture = static_cast<ResTIMG*>(resource->_30);
|
||||
}
|
||||
P2ASSERTLINE(83, m_changeTexture);
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F9544
|
||||
* Size: 0000C8
|
||||
*/
|
||||
BombOtakara::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802F95F0
|
||||
lis r3, __vt__Q34Game11BombOtakara3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11BombOtakara3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802F95E0
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802F95E0
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802F95E0
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802F95E0
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802F95E0:
|
||||
extsh. r0, r31
|
||||
ble lbl_802F95F0
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802F95F0:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F960C
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 BombOtakara::Mgr::getEnemyTypeID() { return 0x5D; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F9614
|
||||
* Size: 000008
|
||||
*/
|
||||
void BombOtakara::Mgr::getChangeTexture()
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x44(r3)
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802F961C
|
||||
* Size: 000008
|
||||
*/
|
||||
BombOtakara::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game11BombOtakara3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace BombOtakara
|
||||
} // namespace Game
|
||||
|
@ -1,130 +1,22 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048A840
|
||||
lbl_8048A840:
|
||||
.asciz "/enemy/data/ElecOtakara/otakara_yellow_s3tc.bti"
|
||||
.global lbl_8048A870
|
||||
lbl_8048A870:
|
||||
.4byte 0x93648B43
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048A88C
|
||||
lbl_8048A88C:
|
||||
.asciz "ElecOtakaraMgr.cpp"
|
||||
.skip 1
|
||||
.global lbl_8048A8A0
|
||||
lbl_8048A8A0:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game11ElecOtakara3Mgr
|
||||
__vt__Q34Game11ElecOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11ElecOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11ElecOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11ElecOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11ElecOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.global
|
||||
"cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A840
|
||||
*/
|
||||
#include "Game/Entities/ElecOtakara.h"
|
||||
#include "LoadResource.h"
|
||||
|
||||
namespace Game {
|
||||
namespace ElecOtakara {
|
||||
|
||||
namespace {
|
||||
static const char* cOtakaraChangeTexName = "/enemy/data/ElecOtakara/otakara_yellow_s3tc.bti";
|
||||
} // namespace
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9780
|
||||
* Size: 000050
|
||||
*/
|
||||
ElecOtakara::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: OtakaraBase::Mgr(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
lis r3, __vt__Q34Game11ElecOtakara3Mgr@ha
|
||||
lis r4, lbl_8048A870@ha
|
||||
addi r5, r3, __vt__Q34Game11ElecOtakara3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048A870@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "電気オタカラムシマネージャ"; // electric otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -132,300 +24,37 @@ ElecOtakara::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802B97D0
|
||||
* Size: 000048
|
||||
*/
|
||||
void ElecOtakara::Mgr::doAlloc()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
li r3, 0x8a8
|
||||
bl __nw__FUl
|
||||
or. r4, r3, r3
|
||||
beq lbl_802B97FC
|
||||
bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
mr r4, r3
|
||||
|
||||
lbl_802B97FC:
|
||||
mr r3, r31
|
||||
bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::doAlloc() { init(new OtakaraBase::Parms); }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9818
|
||||
* Size: 000060
|
||||
*/
|
||||
void ElecOtakara::Mgr::createObj(int)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
mulli r3, r31, 0x308
|
||||
addi r3, r3, 0x10
|
||||
bl __nwa__FUl
|
||||
lis r4, __ct__Q34Game11ElecOtakara3ObjFv@ha
|
||||
lis r5, __dt__Q34Game11ElecOtakara3ObjFv@ha
|
||||
addi r4, r4, __ct__Q34Game11ElecOtakara3ObjFv@l
|
||||
mr r7, r31
|
||||
addi r5, r5, __dt__Q34Game11ElecOtakara3ObjFv@l
|
||||
li r6, 0x308
|
||||
bl __construct_new_array
|
||||
stw r3, 0x48(r30)
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9878
|
||||
* Size: 0000F0
|
||||
*/
|
||||
ElecOtakara::Obj::~Obj()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B994C
|
||||
lis r3, __vt__Q34Game11ElecOtakara3Obj@ha
|
||||
addi r0, r30, 0x2f8
|
||||
addi r4, r3, __vt__Q34Game11ElecOtakara3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B993C
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
addi r0, r30, 0x2f4
|
||||
addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B993C
|
||||
lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
addi r0, r30, 0x2bc
|
||||
addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
addi r3, r30, 0x290
|
||||
stw r4, 0(r30)
|
||||
addi r5, r4, 0x1b0
|
||||
addi r6, r4, 0x2f8
|
||||
li r4, -1
|
||||
stw r5, 0x178(r30)
|
||||
lwz r5, 0x17c(r30)
|
||||
stw r6, 0(r5)
|
||||
lwz r5, 0x17c(r30)
|
||||
subf r0, r5, r0
|
||||
stw r0, 0xc(r5)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B993C:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B994C
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B994C:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::createObj(int count) { m_obj = new Obj[count]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9968
|
||||
* Size: 000010
|
||||
*/
|
||||
void ElecOtakara::Mgr::getEnemy(int)
|
||||
{
|
||||
/*
|
||||
mulli r0, r4, 0x308
|
||||
lwz r3, 0x48(r3)
|
||||
add r3, r3, r0
|
||||
blr
|
||||
*/
|
||||
}
|
||||
EnemyBase* Mgr::getEnemy(int index) { return &m_obj[index]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9978
|
||||
* Size: 000080
|
||||
*/
|
||||
void ElecOtakara::Mgr::loadTexData()
|
||||
void Mgr::loadTexData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
mflr r0
|
||||
stw r0, 0x44(r1)
|
||||
li r0, 0
|
||||
stw r31, 0x3c(r1)
|
||||
mr r31, r3
|
||||
stw r0, 0x44(r3)
|
||||
addi r3, r1, 8
|
||||
lwz r4,
|
||||
"cOtakaraChangeTexName__Q34Game11ElecOtakara28@unnamed@ElecOtakaraMgr_cpp@"@sda21(r13)
|
||||
bl __ct__Q212LoadResource3ArgFPCc
|
||||
lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
addi r4, r1, 8
|
||||
bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B99BC
|
||||
lwz r0, 0x30(r3)
|
||||
stw r0, 0x44(r31)
|
||||
|
||||
lbl_802B99BC:
|
||||
lwz r0, 0x44(r31)
|
||||
cmplwi r0, 0
|
||||
bne lbl_802B99E4
|
||||
lis r3, lbl_8048A88C@ha
|
||||
lis r5, lbl_8048A8A0@ha
|
||||
addi r3, r3, lbl_8048A88C@l
|
||||
li r4, 0x53
|
||||
addi r5, r5, lbl_8048A8A0@l
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802B99E4:
|
||||
lwz r0, 0x44(r1)
|
||||
lwz r31, 0x3c(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x40
|
||||
blr
|
||||
*/
|
||||
m_changeTexture = nullptr;
|
||||
LoadResource::Arg loadArg(cOtakaraChangeTexName);
|
||||
LoadResource::Node* resource = gLoadResourceMgr->load(loadArg);
|
||||
if (resource) {
|
||||
m_changeTexture = static_cast<ResTIMG*>(resource->_30);
|
||||
}
|
||||
P2ASSERTLINE(83, m_changeTexture);
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B99F8
|
||||
* Size: 0000C8
|
||||
*/
|
||||
ElecOtakara::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B9AA4
|
||||
lis r3, __vt__Q34Game11ElecOtakara3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11ElecOtakara3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9A94
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9A94
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9A94
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9A94
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B9A94:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B9AA4
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B9AA4:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9AC0
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 ElecOtakara::Mgr::getEnemyTypeID() { return 0x3E; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9AC8
|
||||
* Size: 000008
|
||||
*/
|
||||
void ElecOtakara::Mgr::getChangeTexture()
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x44(r3)
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9AD0
|
||||
* Size: 000008
|
||||
*/
|
||||
ElecOtakara::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game11ElecOtakara3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace ElecOtakara
|
||||
} // namespace Game
|
||||
|
@ -1,365 +1,24 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048A3B8
|
||||
lbl_8048A3B8:
|
||||
.asciz "246-FireOtakaraMgr"
|
||||
.skip 1
|
||||
.global lbl_8048A3CC
|
||||
lbl_8048A3CC:
|
||||
.asciz "/enemy/data/FireOtakara/otakara_red_s3tc.bti"
|
||||
.skip 3
|
||||
.global lbl_8048A3FC
|
||||
lbl_8048A3FC:
|
||||
.4byte 0x89CE8349
|
||||
.4byte 0x835E834A
|
||||
.4byte 0x83898380
|
||||
.4byte 0x8356837D
|
||||
.4byte 0x836C815B
|
||||
.4byte 0x83578383
|
||||
.4byte 0x00000000
|
||||
.4byte 0x4F74616B
|
||||
.4byte 0x61726142
|
||||
.4byte 0x61736550
|
||||
.4byte 0x61726D73
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83898343
|
||||
.4byte 0x83740000
|
||||
.4byte 0x836D815B
|
||||
.4byte 0x837D838B
|
||||
.4byte 0x8341835E
|
||||
.4byte 0x8362834E
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x8341835E
|
||||
.4byte 0x8362834E
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x834C8383
|
||||
.4byte 0x83628360
|
||||
.4byte 0x00000000
|
||||
.4byte 0x43726561
|
||||
.4byte 0x74757265
|
||||
.4byte 0x3A3A5072
|
||||
.4byte 0x6F706572
|
||||
.4byte 0x74790000
|
||||
.4byte 0x66726963
|
||||
.4byte 0x74696F6E
|
||||
.4byte 0x286E6F74
|
||||
.4byte 0x20757365
|
||||
.4byte 0x64290000
|
||||
.4byte 0x77616C6C
|
||||
.4byte 0x5265666C
|
||||
.4byte 0x65637469
|
||||
.4byte 0x6F6E0000
|
||||
.4byte 0x66616365
|
||||
.4byte 0x44697241
|
||||
.4byte 0x646A7573
|
||||
.4byte 0x74000000
|
||||
.4byte 0x626F756E
|
||||
.4byte 0x63654661
|
||||
.4byte 0x63746F72
|
||||
.4byte 0x00000000
|
||||
.4byte 0x456E656D
|
||||
.4byte 0x79506172
|
||||
.4byte 0x6D734261
|
||||
.4byte 0x73650000
|
||||
.4byte 0x83898343
|
||||
.4byte 0x837482CC
|
||||
.4byte 0x8D8282B3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x83898343
|
||||
.4byte 0x837489F1
|
||||
.4byte 0x959C97A6
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8C7889FA
|
||||
.4byte 0x83898343
|
||||
.4byte 0x83740000
|
||||
.4byte 0x837D8362
|
||||
.4byte 0x837682C6
|
||||
.4byte 0x82CC9396
|
||||
.4byte 0x82E80000
|
||||
.4byte 0x837D8362
|
||||
.4byte 0x837682C6
|
||||
.4byte 0x82CC82A0
|
||||
.4byte 0x82BD82E8
|
||||
.4byte 0x837C838A
|
||||
.4byte 0x83538393
|
||||
.4byte 0x82CC9149
|
||||
.4byte 0x92E80000
|
||||
.4byte 0x8373834E
|
||||
.4byte 0x837E8393
|
||||
.4byte 0x82C682CC
|
||||
.4byte 0x82A082BD
|
||||
.4byte 0x82E80000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83588350
|
||||
.4byte 0x815B838B
|
||||
.4byte 0x585A0000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83588350
|
||||
.4byte 0x815B838B
|
||||
.4byte 0x59000000
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x8374838C
|
||||
.4byte 0x815B8380
|
||||
.4byte 0x00000000
|
||||
.4byte 0x89F1935D
|
||||
.4byte 0x91AC9378
|
||||
.4byte 0x97A60000
|
||||
.4byte 0x89F1935D
|
||||
.4byte 0x8DC591E5
|
||||
.4byte 0x91AC9378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8365838A
|
||||
.4byte 0x8367838A
|
||||
.4byte 0x815B0000
|
||||
.4byte 0x837A815B
|
||||
.4byte 0x838094CD
|
||||
.4byte 0x88CD0000
|
||||
.4byte 0x83768389
|
||||
.4byte 0x83438378
|
||||
.4byte 0x815B8367
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8E8B8A45
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8E8B8A45
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x92548DF5
|
||||
.4byte 0x8B9797A3
|
||||
.4byte 0x00000000
|
||||
.4byte 0x92548DF5
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x97CD0000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x835F8381
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x94CD88CD
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x97A60000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x89C2945C
|
||||
.4byte 0x94CD88CD
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x89C2945C
|
||||
.4byte 0x8A709378
|
||||
.4byte 0x00000000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x83718362
|
||||
.4byte 0x836794CD
|
||||
.4byte 0x88CD0000
|
||||
.4byte 0x8D558C82
|
||||
.4byte 0x83718362
|
||||
.4byte 0x83678A70
|
||||
.4byte 0x93780000
|
||||
.4byte 0x8C7889FA
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x90CE89BB
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x83718362
|
||||
.4byte 0x83768368
|
||||
.4byte 0x838D8362
|
||||
.4byte 0x8376835F
|
||||
.4byte 0x8381815B
|
||||
.4byte 0x83570000
|
||||
.4byte 0x926E906B
|
||||
.4byte 0x8B4390E2
|
||||
.4byte 0x8A6D97A7
|
||||
.4byte 0x00000000
|
||||
.4byte 0x926E906B
|
||||
.4byte 0x8B4390E2
|
||||
.4byte 0x8E9E8AD4
|
||||
.4byte 0x00000000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82600000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82500000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82610000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82510000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82620000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x92A39574
|
||||
.4byte 0x82520000
|
||||
.4byte 0x905582E8
|
||||
.4byte 0x95A582A2
|
||||
.4byte 0x91C58C82
|
||||
.4byte 0x82630000
|
||||
.global lbl_8048A740
|
||||
lbl_8048A740:
|
||||
.asciz "FireOtakaraMgr.cpp"
|
||||
.skip 1
|
||||
.global lbl_8048A754
|
||||
lbl_8048A754:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game11FireOtakara3Mgr
|
||||
__vt__Q34Game11FireOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11FireOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11FireOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game11FireOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game11FireOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game11FireOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game11FireOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game11FireOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game11FireOtakara3MgrFv
|
||||
.global __vt__Q34Game11OtakaraBase5Parms
|
||||
__vt__Q34Game11OtakaraBase5Parms:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte read__Q34Game11OtakaraBase5ParmsFR6Stream
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.global
|
||||
"cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A3CC
|
||||
|
||||
.section .sdata2, "a" # 0x80516360 - 0x80520E40
|
||||
.global lbl_8051C2E8
|
||||
lbl_8051C2E8:
|
||||
.4byte 0x42C80000
|
||||
.global lbl_8051C2EC
|
||||
lbl_8051C2EC:
|
||||
.4byte 0x00000000
|
||||
.global lbl_8051C2F0
|
||||
lbl_8051C2F0:
|
||||
.4byte 0x461C4000
|
||||
.global lbl_8051C2F4
|
||||
lbl_8051C2F4:
|
||||
.float 1.0
|
||||
.global lbl_8051C2F8
|
||||
lbl_8051C2F8:
|
||||
.4byte 0x41200000
|
||||
.global lbl_8051C2FC
|
||||
lbl_8051C2FC:
|
||||
.4byte 0x3FA00000
|
||||
.global lbl_8051C300
|
||||
lbl_8051C300:
|
||||
.4byte 0x40200000
|
||||
.4byte 0x00000000
|
||||
*/
|
||||
#include "Game/Entities/FireOtakara.h"
|
||||
#include "LoadResource.h"
|
||||
|
||||
namespace Game {
|
||||
namespace FireOtakara {
|
||||
|
||||
static const char fireOtakaraMgrName[] = "246-FireOtakaraMgr";
|
||||
|
||||
namespace {
|
||||
static const char* cOtakaraChangeTexName = "/enemy/data/FireOtakara/otakara_red_s3tc.bti";
|
||||
} // namespace
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B7CCC
|
||||
* Size: 000050
|
||||
*/
|
||||
FireOtakara::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: OtakaraBase::Mgr(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
lis r3, __vt__Q34Game11FireOtakara3Mgr@ha
|
||||
lis r4, lbl_8048A3FC@ha
|
||||
addi r5, r3, __vt__Q34Game11FireOtakara3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048A3FC@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "火オタカラムシマネージャ"; // fire otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -367,427 +26,37 @@ FireOtakara::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802B7D1C
|
||||
* Size: 000048
|
||||
*/
|
||||
void FireOtakara::Mgr::doAlloc()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
li r3, 0x8a8
|
||||
bl __nw__FUl
|
||||
or. r4, r3, r3
|
||||
beq lbl_802B7D48
|
||||
bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
mr r4, r3
|
||||
|
||||
lbl_802B7D48:
|
||||
mr r3, r31
|
||||
bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B7D64
|
||||
* Size: 000154
|
||||
*/
|
||||
OtakaraBase::Parms::Parms()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
lis r4, lbl_8048A3B8@ha
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
stw r30, 8(r1)
|
||||
addi r30, r4, lbl_8048A3B8@l
|
||||
bl __ct__Q24Game14EnemyParmsBaseFv
|
||||
lis r3, __vt__Q34Game11OtakaraBase5Parms@ha
|
||||
lis r5, 0x66703031@ha
|
||||
addi r0, r3, __vt__Q34Game11OtakaraBase5Parms@l
|
||||
addi r4, r31, 0x8a4
|
||||
stw r0, 0xd8(r31)
|
||||
li r7, 0
|
||||
addi r0, r30, 0x60
|
||||
addi r3, r31, 0x804
|
||||
stw r4, 0x7f8(r31)
|
||||
addi r4, r31, 0x7f8
|
||||
addi r5, r5, 0x66703031@l
|
||||
addi r6, r30, 0x74
|
||||
stw r7, 0x7fc(r31)
|
||||
stw r0, 0x800(r31)
|
||||
bl __ct__8BaseParmFP10ParametersUlPc
|
||||
lis r3, "__vt__7Parm<f>"@ha
|
||||
lis r5, 0x66703130@ha
|
||||
addi r0, r3, "__vt__7Parm<f>"@l
|
||||
lfs f0, lbl_8051C2E8@sda21(r2)
|
||||
stw r0, 0x804(r31)
|
||||
addi r3, r31, 0x82c
|
||||
lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
addi r4, r31, 0x7f8
|
||||
stfs f0, 0x81c(r31)
|
||||
addi r5, r5, 0x66703130@l
|
||||
lfs f0, lbl_8051C2F0@sda21(r2)
|
||||
addi r6, r30, 0x84
|
||||
stfs f1, 0x824(r31)
|
||||
stfs f0, 0x828(r31)
|
||||
bl __ct__8BaseParmFP10ParametersUlPc
|
||||
lis r3, "__vt__7Parm<f>"@ha
|
||||
lis r5, 0x66703131@ha
|
||||
addi r0, r3, "__vt__7Parm<f>"@l
|
||||
lfs f0, lbl_8051C2F4@sda21(r2)
|
||||
stw r0, 0x82c(r31)
|
||||
addi r3, r31, 0x854
|
||||
lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
addi r4, r31, 0x7f8
|
||||
stfs f0, 0x844(r31)
|
||||
addi r5, r5, 0x66703131@l
|
||||
lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
addi r6, r30, 0x98
|
||||
stfs f1, 0x84c(r31)
|
||||
stfs f0, 0x850(r31)
|
||||
bl __ct__8BaseParmFP10ParametersUlPc
|
||||
lis r3, "__vt__7Parm<f>"@ha
|
||||
lis r5, 0x66703231@ha
|
||||
addi r0, r3, "__vt__7Parm<f>"@l
|
||||
lfs f0, lbl_8051C2FC@sda21(r2)
|
||||
stw r0, 0x854(r31)
|
||||
addi r3, r31, 0x87c
|
||||
lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
addi r4, r31, 0x7f8
|
||||
stfs f0, 0x86c(r31)
|
||||
addi r5, r5, 0x66703231@l
|
||||
lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
addi r6, r30, 0xac
|
||||
stfs f1, 0x874(r31)
|
||||
stfs f0, 0x878(r31)
|
||||
bl __ct__8BaseParmFP10ParametersUlPc
|
||||
lis r3, "__vt__7Parm<f>"@ha
|
||||
lfs f2, lbl_8051C300@sda21(r2)
|
||||
addi r0, r3, "__vt__7Parm<f>"@l
|
||||
lfs f1, lbl_8051C2EC@sda21(r2)
|
||||
stw r0, 0x87c(r31)
|
||||
mr r3, r31
|
||||
lfs f0, lbl_8051C2F8@sda21(r2)
|
||||
stfs f2, 0x894(r31)
|
||||
stfs f1, 0x89c(r31)
|
||||
stfs f0, 0x8a0(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::doAlloc() { init(new OtakaraBase::Parms); }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B7EB8
|
||||
* Size: 000060
|
||||
*/
|
||||
void FireOtakara::Mgr::createObj(int)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
mulli r3, r31, 0x308
|
||||
addi r3, r3, 0x10
|
||||
bl __nwa__FUl
|
||||
lis r4, __ct__Q34Game11FireOtakara3ObjFv@ha
|
||||
lis r5, __dt__Q34Game11FireOtakara3ObjFv@ha
|
||||
addi r4, r4, __ct__Q34Game11FireOtakara3ObjFv@l
|
||||
mr r7, r31
|
||||
addi r5, r5, __dt__Q34Game11FireOtakara3ObjFv@l
|
||||
li r6, 0x308
|
||||
bl __construct_new_array
|
||||
stw r3, 0x48(r30)
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B7F18
|
||||
* Size: 0000F0
|
||||
*/
|
||||
FireOtakara::Obj::~Obj()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B7FEC
|
||||
lis r3, __vt__Q34Game11FireOtakara3Obj@ha
|
||||
addi r0, r30, 0x2f8
|
||||
addi r4, r3, __vt__Q34Game11FireOtakara3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B7FDC
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
addi r0, r30, 0x2f4
|
||||
addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B7FDC
|
||||
lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
addi r0, r30, 0x2bc
|
||||
addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
addi r3, r30, 0x290
|
||||
stw r4, 0(r30)
|
||||
addi r5, r4, 0x1b0
|
||||
addi r6, r4, 0x2f8
|
||||
li r4, -1
|
||||
stw r5, 0x178(r30)
|
||||
lwz r5, 0x17c(r30)
|
||||
stw r6, 0(r5)
|
||||
lwz r5, 0x17c(r30)
|
||||
subf r0, r5, r0
|
||||
stw r0, 0xc(r5)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B7FDC:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B7FEC
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B7FEC:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::createObj(int count) { m_obj = new Obj[count]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8008
|
||||
* Size: 000010
|
||||
*/
|
||||
void FireOtakara::Mgr::getEnemy(int)
|
||||
{
|
||||
/*
|
||||
mulli r0, r4, 0x308
|
||||
lwz r3, 0x48(r3)
|
||||
add r3, r3, r0
|
||||
blr
|
||||
*/
|
||||
}
|
||||
EnemyBase* Mgr::getEnemy(int index) { return &m_obj[index]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8018
|
||||
* Size: 000080
|
||||
*/
|
||||
void FireOtakara::Mgr::loadTexData()
|
||||
void Mgr::loadTexData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
mflr r0
|
||||
stw r0, 0x44(r1)
|
||||
li r0, 0
|
||||
stw r31, 0x3c(r1)
|
||||
mr r31, r3
|
||||
stw r0, 0x44(r3)
|
||||
addi r3, r1, 8
|
||||
lwz r4,
|
||||
"cOtakaraChangeTexName__Q34Game11FireOtakara28@unnamed@FireOtakaraMgr_cpp@"@sda21(r13)
|
||||
bl __ct__Q212LoadResource3ArgFPCc
|
||||
lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
addi r4, r1, 8
|
||||
bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B805C
|
||||
lwz r0, 0x30(r3)
|
||||
stw r0, 0x44(r31)
|
||||
|
||||
lbl_802B805C:
|
||||
lwz r0, 0x44(r31)
|
||||
cmplwi r0, 0
|
||||
bne lbl_802B8084
|
||||
lis r3, lbl_8048A740@ha
|
||||
lis r5, lbl_8048A754@ha
|
||||
addi r3, r3, lbl_8048A740@l
|
||||
li r4, 0x53
|
||||
addi r5, r5, lbl_8048A754@l
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802B8084:
|
||||
lwz r0, 0x44(r1)
|
||||
lwz r31, 0x3c(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x40
|
||||
blr
|
||||
*/
|
||||
m_changeTexture = nullptr;
|
||||
LoadResource::Arg loadArg(cOtakaraChangeTexName);
|
||||
LoadResource::Node* resource = gLoadResourceMgr->load(loadArg);
|
||||
if (resource) {
|
||||
m_changeTexture = static_cast<ResTIMG*>(resource->_30);
|
||||
}
|
||||
P2ASSERTLINE(83, m_changeTexture);
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8098
|
||||
* Size: 0000C8
|
||||
*/
|
||||
FireOtakara::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B8144
|
||||
lis r3, __vt__Q34Game11FireOtakara3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11FireOtakara3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B8134
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B8134
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B8134
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B8134
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B8134:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B8144
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B8144:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8160
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 FireOtakara::Mgr::getEnemyTypeID() { return 0x3B; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8168
|
||||
* Size: 000008
|
||||
*/
|
||||
void FireOtakara::Mgr::getChangeTexture()
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x44(r3)
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8170
|
||||
* Size: 000050
|
||||
*/
|
||||
void OtakaraBase::Parms::read(Stream&)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
bl read__10ParametersFR6Stream
|
||||
mr r4, r31
|
||||
addi r3, r30, 0xe0
|
||||
bl read__10ParametersFR6Stream
|
||||
mr r4, r31
|
||||
addi r3, r30, 0x7f8
|
||||
bl read__10ParametersFR6Stream
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B81C0
|
||||
* Size: 000008
|
||||
*/
|
||||
FireOtakara::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game11FireOtakara3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace FireOtakara
|
||||
} // namespace Game
|
||||
|
@ -1,131 +1,22 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048A7D0
|
||||
lbl_8048A7D0:
|
||||
.asciz "/enemy/data/GasOtakara/otakara_purple_s3tc.bti"
|
||||
.skip 1
|
||||
.global lbl_8048A800
|
||||
lbl_8048A800:
|
||||
.4byte 0x834B8358
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048A81C
|
||||
lbl_8048A81C:
|
||||
.asciz "GasOtakaraMgr.cpp"
|
||||
.skip 2
|
||||
.global lbl_8048A830
|
||||
lbl_8048A830:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game10GasOtakara3Mgr
|
||||
__vt__Q34Game10GasOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game10GasOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game10GasOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game10GasOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game10GasOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game10GasOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game10GasOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game10GasOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game10GasOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.global
|
||||
"cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A7D0
|
||||
*/
|
||||
#include "Game/Entities/GasOtakara.h"
|
||||
#include "LoadResource.h"
|
||||
|
||||
namespace Game {
|
||||
namespace GasOtakara {
|
||||
|
||||
namespace {
|
||||
static const char* cOtakaraChangeTexName = "/enemy/data/GasOtakara/otakara_purple_s3tc.bti";
|
||||
} // namespace
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8F3C
|
||||
* Size: 000050
|
||||
*/
|
||||
GasOtakara::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: OtakaraBase::Mgr(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
lis r3, __vt__Q34Game10GasOtakara3Mgr@ha
|
||||
lis r4, lbl_8048A800@ha
|
||||
addi r5, r3, __vt__Q34Game10GasOtakara3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048A800@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "ガスオタカラムシマネージャ"; // gas otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -133,300 +24,37 @@ GasOtakara::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802B8F8C
|
||||
* Size: 000048
|
||||
*/
|
||||
void GasOtakara::Mgr::doAlloc()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
li r3, 0x8a8
|
||||
bl __nw__FUl
|
||||
or. r4, r3, r3
|
||||
beq lbl_802B8FB8
|
||||
bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
mr r4, r3
|
||||
|
||||
lbl_802B8FB8:
|
||||
mr r3, r31
|
||||
bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::doAlloc() { init(new OtakaraBase::Parms); }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8FD4
|
||||
* Size: 000060
|
||||
*/
|
||||
void GasOtakara::Mgr::createObj(int)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
mulli r3, r31, 0x308
|
||||
addi r3, r3, 0x10
|
||||
bl __nwa__FUl
|
||||
lis r4, __ct__Q34Game10GasOtakara3ObjFv@ha
|
||||
lis r5, __dt__Q34Game10GasOtakara3ObjFv@ha
|
||||
addi r4, r4, __ct__Q34Game10GasOtakara3ObjFv@l
|
||||
mr r7, r31
|
||||
addi r5, r5, __dt__Q34Game10GasOtakara3ObjFv@l
|
||||
li r6, 0x308
|
||||
bl __construct_new_array
|
||||
stw r3, 0x48(r30)
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9034
|
||||
* Size: 0000F0
|
||||
*/
|
||||
GasOtakara::Obj::~Obj()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B9108
|
||||
lis r3, __vt__Q34Game10GasOtakara3Obj@ha
|
||||
addi r0, r30, 0x2f8
|
||||
addi r4, r3, __vt__Q34Game10GasOtakara3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B90F8
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
addi r0, r30, 0x2f4
|
||||
addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B90F8
|
||||
lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
addi r0, r30, 0x2bc
|
||||
addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
addi r3, r30, 0x290
|
||||
stw r4, 0(r30)
|
||||
addi r5, r4, 0x1b0
|
||||
addi r6, r4, 0x2f8
|
||||
li r4, -1
|
||||
stw r5, 0x178(r30)
|
||||
lwz r5, 0x17c(r30)
|
||||
stw r6, 0(r5)
|
||||
lwz r5, 0x17c(r30)
|
||||
subf r0, r5, r0
|
||||
stw r0, 0xc(r5)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B90F8:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B9108
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B9108:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::createObj(int count) { m_obj = new Obj[count]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9124
|
||||
* Size: 000010
|
||||
*/
|
||||
void GasOtakara::Mgr::getEnemy(int)
|
||||
{
|
||||
/*
|
||||
mulli r0, r4, 0x308
|
||||
lwz r3, 0x48(r3)
|
||||
add r3, r3, r0
|
||||
blr
|
||||
*/
|
||||
}
|
||||
EnemyBase* Mgr::getEnemy(int index) { return &m_obj[index]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9134
|
||||
* Size: 000080
|
||||
*/
|
||||
void GasOtakara::Mgr::loadTexData()
|
||||
void Mgr::loadTexData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
mflr r0
|
||||
stw r0, 0x44(r1)
|
||||
li r0, 0
|
||||
stw r31, 0x3c(r1)
|
||||
mr r31, r3
|
||||
stw r0, 0x44(r3)
|
||||
addi r3, r1, 8
|
||||
lwz r4,
|
||||
"cOtakaraChangeTexName__Q34Game10GasOtakara27@unnamed@GasOtakaraMgr_cpp@"@sda21(r13)
|
||||
bl __ct__Q212LoadResource3ArgFPCc
|
||||
lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
addi r4, r1, 8
|
||||
bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B9178
|
||||
lwz r0, 0x30(r3)
|
||||
stw r0, 0x44(r31)
|
||||
|
||||
lbl_802B9178:
|
||||
lwz r0, 0x44(r31)
|
||||
cmplwi r0, 0
|
||||
bne lbl_802B91A0
|
||||
lis r3, lbl_8048A81C@ha
|
||||
lis r5, lbl_8048A830@ha
|
||||
addi r3, r3, lbl_8048A81C@l
|
||||
li r4, 0x53
|
||||
addi r5, r5, lbl_8048A830@l
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802B91A0:
|
||||
lwz r0, 0x44(r1)
|
||||
lwz r31, 0x3c(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x40
|
||||
blr
|
||||
*/
|
||||
m_changeTexture = nullptr;
|
||||
LoadResource::Arg loadArg(cOtakaraChangeTexName);
|
||||
LoadResource::Node* resource = gLoadResourceMgr->load(loadArg);
|
||||
if (resource) {
|
||||
m_changeTexture = static_cast<ResTIMG*>(resource->_30);
|
||||
}
|
||||
P2ASSERTLINE(83, m_changeTexture);
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B91B4
|
||||
* Size: 0000C8
|
||||
*/
|
||||
GasOtakara::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B9260
|
||||
lis r3, __vt__Q34Game10GasOtakara3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game10GasOtakara3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9250
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9250
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9250
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B9250
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B9250:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B9260
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B9260:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B927C
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 GasOtakara::Mgr::getEnemyTypeID() { return 0x3D; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B9284
|
||||
* Size: 000008
|
||||
*/
|
||||
void GasOtakara::Mgr::getChangeTexture()
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x44(r3)
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B928C
|
||||
* Size: 000008
|
||||
*/
|
||||
GasOtakara::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game10GasOtakara3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace GasOtakara
|
||||
} // namespace Game
|
||||
|
@ -1,143 +1,21 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048A338
|
||||
lbl_8048A338:
|
||||
.4byte 0x3234362D
|
||||
.4byte 0x4F74616B
|
||||
.4byte 0x61726142
|
||||
.4byte 0x6173654D
|
||||
.4byte 0x67720000
|
||||
.global lbl_8048A34C
|
||||
lbl_8048A34C:
|
||||
.4byte 0x8349835E
|
||||
.4byte 0x834A8389
|
||||
.4byte 0x83808356
|
||||
.4byte 0x837D836C
|
||||
.4byte 0x815B8357
|
||||
.4byte 0x83830000
|
||||
.global lbl_8048A364
|
||||
lbl_8048A364:
|
||||
.4byte 0x0000003B
|
||||
.4byte 0x0000003C
|
||||
.4byte 0x0000003D
|
||||
.4byte 0x0000003E
|
||||
.4byte 0x0000005D
|
||||
.global lbl_8048A378
|
||||
lbl_8048A378:
|
||||
.4byte 0x0000003B
|
||||
.4byte 0x0000003C
|
||||
.4byte 0x0000003D
|
||||
.4byte 0x0000003E
|
||||
.4byte 0x0000005D
|
||||
.4byte 0x4F74616B
|
||||
.4byte 0x61726142
|
||||
.4byte 0x6173654D
|
||||
.4byte 0x67722E63
|
||||
.4byte 0x70700000
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
.4byte 0x6D61745F
|
||||
.4byte 0x626F6479
|
||||
.4byte 0x00000000
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game11OtakaraBase3Mgr
|
||||
__vt__Q34Game11OtakaraBase3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game11OtakaraBase3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAlloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnemyTypeID__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
*/
|
||||
#include "Game/Entities/OtakaraBase.h"
|
||||
#include "Game/generalEnemyMgr.h"
|
||||
#include "JSystem/JUT/JUTNameTab.h"
|
||||
|
||||
namespace Game {
|
||||
namespace OtakaraBase {
|
||||
|
||||
static const char otakaraBaseMgrName[] = "246-OtakaraBaseMgr";
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B5E98
|
||||
* Size: 000050
|
||||
*/
|
||||
OtakaraBase::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: EnemyMgrBase(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q24Game12EnemyMgrBaseFiUc
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
lis r4, lbl_8048A34C@ha
|
||||
addi r5, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048A34C@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "オタカラムシマネージャ"; // otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -145,63 +23,24 @@ OtakaraBase::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802B5EE8
|
||||
* Size: 0000BC
|
||||
*/
|
||||
void OtakaraBase::Mgr::loadModelData()
|
||||
void Mgr::loadModelData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x30(r1)
|
||||
mflr r0
|
||||
lis r4, lbl_8048A364@ha
|
||||
stw r0, 0x34(r1)
|
||||
addi r7, r4, lbl_8048A364@l
|
||||
stw r31, 0x2c(r1)
|
||||
addi r31, r1, 8
|
||||
stw r30, 0x28(r1)
|
||||
li r30, 0
|
||||
stw r29, 0x24(r1)
|
||||
mr r29, r3
|
||||
lwz r6, 0(r7)
|
||||
lwz r5, 4(r7)
|
||||
lwz r4, 8(r7)
|
||||
lwz r3, 0xc(r7)
|
||||
lwz r0, 0x10(r7)
|
||||
stw r6, 8(r1)
|
||||
stw r5, 0xc(r1)
|
||||
stw r4, 0x10(r1)
|
||||
stw r3, 0x14(r1)
|
||||
stw r0, 0x18(r1)
|
||||
int ids[5] = { EnemyTypeID::EnemyID_FireOtakara, EnemyTypeID::EnemyID_WaterOtakara, EnemyTypeID::EnemyID_GasOtakara,
|
||||
EnemyTypeID::EnemyID_ElecOtakara, EnemyTypeID::EnemyID_BombOtakara };
|
||||
|
||||
lbl_802B5F3C:
|
||||
lwz r3, generalEnemyMgr__4Game@sda21(r13)
|
||||
lwz r4, 0(r31)
|
||||
bl getEnemyMgr__Q24Game15GeneralEnemyMgrFi
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B5F70
|
||||
lwz r12, 0(r3)
|
||||
lwz r12, 0x74(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B5F70
|
||||
stw r3, 0x1c(r29)
|
||||
b lbl_802B5F88
|
||||
for (int i = 0; i < 5; i++) {
|
||||
EnemyMgrBase* mgr = generalEnemyMgr->getEnemyMgr(ids[i]);
|
||||
if (mgr) {
|
||||
J3DModelData* storedModelData = mgr->getJ3DModelData();
|
||||
|
||||
lbl_802B5F70:
|
||||
addi r30, r30, 1
|
||||
addi r31, r31, 4
|
||||
cmpwi r30, 5
|
||||
blt lbl_802B5F3C
|
||||
mr r3, r29
|
||||
bl loadModelData__Q24Game12EnemyMgrBaseFv
|
||||
if (storedModelData) {
|
||||
m_modelData = storedModelData;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lbl_802B5F88:
|
||||
lwz r0, 0x34(r1)
|
||||
lwz r31, 0x2c(r1)
|
||||
lwz r30, 0x28(r1)
|
||||
lwz r29, 0x24(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x30
|
||||
blr
|
||||
*/
|
||||
EnemyMgrBase::loadModelData();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -209,60 +48,23 @@ lbl_802B5F88:
|
||||
* Address: 802B5FA4
|
||||
* Size: 0000B0
|
||||
*/
|
||||
void OtakaraBase::Mgr::loadAnimData()
|
||||
void Mgr::loadAnimData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x30(r1)
|
||||
mflr r0
|
||||
lis r4, lbl_8048A378@ha
|
||||
stw r0, 0x34(r1)
|
||||
addi r7, r4, lbl_8048A378@l
|
||||
stw r31, 0x2c(r1)
|
||||
addi r31, r1, 8
|
||||
stw r30, 0x28(r1)
|
||||
li r30, 0
|
||||
stw r29, 0x24(r1)
|
||||
mr r29, r3
|
||||
lwz r6, 0(r7)
|
||||
lwz r5, 4(r7)
|
||||
lwz r4, 8(r7)
|
||||
lwz r3, 0xc(r7)
|
||||
lwz r0, 0x10(r7)
|
||||
stw r6, 8(r1)
|
||||
stw r5, 0xc(r1)
|
||||
stw r4, 0x10(r1)
|
||||
stw r3, 0x14(r1)
|
||||
stw r0, 0x18(r1)
|
||||
int ids[5] = { EnemyTypeID::EnemyID_FireOtakara, EnemyTypeID::EnemyID_WaterOtakara, EnemyTypeID::EnemyID_GasOtakara,
|
||||
EnemyTypeID::EnemyID_ElecOtakara, EnemyTypeID::EnemyID_BombOtakara };
|
||||
|
||||
lbl_802B5FF8:
|
||||
lwz r3, generalEnemyMgr__4Game@sda21(r13)
|
||||
lwz r4, 0(r31)
|
||||
bl getEnemyMgr__Q24Game15GeneralEnemyMgrFi
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B6020
|
||||
lwz r0, 0x20(r3)
|
||||
cmplwi r0, 0
|
||||
beq lbl_802B6020
|
||||
stw r0, 0x20(r29)
|
||||
b lbl_802B6038
|
||||
for (int i = 0; i < 5; i++) {
|
||||
EnemyMgrBase* mgr = generalEnemyMgr->getEnemyMgr(ids[i]);
|
||||
if (mgr) {
|
||||
SysShape::AnimMgr* storedAnimMgr = mgr->m_animMgr;
|
||||
if (storedAnimMgr) {
|
||||
m_animMgr = storedAnimMgr;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lbl_802B6020:
|
||||
addi r30, r30, 1
|
||||
addi r31, r31, 4
|
||||
cmpwi r30, 5
|
||||
blt lbl_802B5FF8
|
||||
mr r3, r29
|
||||
bl loadAnimData__Q24Game12EnemyMgrBaseFv
|
||||
|
||||
lbl_802B6038:
|
||||
lwz r0, 0x34(r1)
|
||||
lwz r31, 0x2c(r1)
|
||||
lwz r30, 0x28(r1)
|
||||
lwz r29, 0x24(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x30
|
||||
blr
|
||||
*/
|
||||
EnemyMgrBase::loadAnimData();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -270,176 +72,20 @@ lbl_802B6038:
|
||||
* Address: 802B6054
|
||||
* Size: 000138
|
||||
*/
|
||||
void OtakaraBase::Mgr::createModel()
|
||||
SysShape::Model* Mgr::createModel()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x50(r1)
|
||||
mflr r0
|
||||
lis r4, lbl_8048A338@ha
|
||||
stw r0, 0x54(r1)
|
||||
stw r31, 0x4c(r1)
|
||||
addi r31, r4, lbl_8048A338@l
|
||||
stw r30, 0x48(r1)
|
||||
stw r29, 0x44(r1)
|
||||
stw r28, 0x40(r1)
|
||||
mr r28, r3
|
||||
li r3, 0x14
|
||||
bl __nw__FUl
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B60A0
|
||||
lwz r4, 0x1c(r28)
|
||||
lis r5, 8
|
||||
lbz r6, 0x24(r28)
|
||||
bl __ct__Q28SysShape5ModelFP12J3DModelDataUlUl
|
||||
mr r30, r3
|
||||
SysShape::Model* model = new SysShape::Model(m_modelData, 0x80000, m_modelType);
|
||||
P2ASSERTLINE(136, model);
|
||||
for (u16 i = 0; i < m_modelData->getMaterialCount1(); i++) {
|
||||
const char* name = m_modelData->m_materialTable._0C->getName(i);
|
||||
if (!strcmp(name, "mat_body")) {
|
||||
model->m_j3dModel->m_matPackets[i]._2C->newDifferedDisplayList(0x04020000);
|
||||
}
|
||||
}
|
||||
|
||||
lbl_802B60A0:
|
||||
cmplwi r30, 0
|
||||
bne lbl_802B60BC
|
||||
addi r3, r31, 0x54
|
||||
addi r5, r31, 0x68
|
||||
li r4, 0x88
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802B60BC:
|
||||
li r29, 0
|
||||
b lbl_802B6100
|
||||
|
||||
lbl_802B60C4:
|
||||
lwz r3, 0x64(r4)
|
||||
mr r4, r29
|
||||
bl getName__10JUTNameTabCFUs
|
||||
addi r4, r31, 0x74
|
||||
bl strcmp
|
||||
cmpwi r3, 0
|
||||
bne lbl_802B60FC
|
||||
lwz r4, 8(r30)
|
||||
rlwinm r3, r29, 6, 0xa, 0x19
|
||||
addi r0, r3, 0x2c
|
||||
lwz r3, 0xc0(r4)
|
||||
lis r4, 0x402
|
||||
lwzx r3, r3, r0
|
||||
bl newDifferedDisplayList__14J3DShapePacketFUl
|
||||
|
||||
lbl_802B60FC:
|
||||
addi r29, r29, 1
|
||||
|
||||
lbl_802B6100:
|
||||
lwz r4, 0x1c(r28)
|
||||
clrlwi r0, r29, 0x10
|
||||
lhz r3, 0x5c(r4)
|
||||
cmplw r0, r3
|
||||
blt lbl_802B60C4
|
||||
addi r3, r1, 8
|
||||
bl PSMTXIdentity
|
||||
lis r4, j3dSys@ha
|
||||
addi r3, r1, 8
|
||||
addi r4, r4, j3dSys@l
|
||||
bl PSMTXCopy
|
||||
lwz r31, 8(r30)
|
||||
mr r3, r31
|
||||
lwz r12, 0(r31)
|
||||
lwz r12, 0x10(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
mr r3, r31
|
||||
lwz r12, 0(r31)
|
||||
lwz r12, 0x14(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
mr r3, r31
|
||||
bl makeDL__8J3DModelFv
|
||||
mr r3, r31
|
||||
bl lock__8J3DModelFv
|
||||
lwz r0, 0x54(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0x4c(r1)
|
||||
lwz r30, 0x48(r1)
|
||||
lwz r29, 0x44(r1)
|
||||
lwz r28, 0x40(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x50
|
||||
blr
|
||||
*/
|
||||
model->updateModel();
|
||||
return model;
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B618C
|
||||
* Size: 0000B0
|
||||
*/
|
||||
OtakaraBase::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B6220
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B6210
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B6210
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B6210
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B6210:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B6220
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B6220:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B623C
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 OtakaraBase::Mgr::getEnemyTypeID() { return 0x3B; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B6244
|
||||
* Size: 000008
|
||||
*/
|
||||
OtakaraBase::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game11OtakaraBase3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace OtakaraBase
|
||||
} // namespace Game
|
||||
|
@ -1,130 +1,22 @@
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.global lbl_8048A760
|
||||
lbl_8048A760:
|
||||
.asciz "/enemy/data/WaterOtakara/otakara_blue_s3tc.bti"
|
||||
.skip 1
|
||||
.global lbl_8048A790
|
||||
lbl_8048A790:
|
||||
.4byte 0x90858349
|
||||
.4byte 0x835E834A
|
||||
.4byte 0x83898380
|
||||
.4byte 0x8356837D
|
||||
.4byte 0x836C815B
|
||||
.4byte 0x83578383
|
||||
.4byte 0x00000000
|
||||
.global lbl_8048A7AC
|
||||
lbl_8048A7AC:
|
||||
.asciz "WaterOtakaraMgr.cpp"
|
||||
.global lbl_8048A7C0
|
||||
lbl_8048A7C0:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.global __vt__Q34Game12WaterOtakara3Mgr
|
||||
__vt__Q34Game12WaterOtakara3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte doAnimation__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doEntry__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSetView__Q24Game12EnemyMgrBaseFi
|
||||
.4byte doViewCalc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte doSimulation__Q24Game12EnemyMgrBaseFf
|
||||
.4byte doDirectDraw__Q24Game12EnemyMgrBaseFR8Graphics
|
||||
.4byte doSimpleDraw__16GenericObjectMgrFP8Viewport
|
||||
.4byte loadResources__16GenericObjectMgrFv
|
||||
.4byte resetMgr__16GenericObjectMgrFv
|
||||
.4byte pausable__16GenericObjectMgrFv
|
||||
.4byte frozenable__16GenericObjectMgrFv
|
||||
.4byte getMatrixLoadType__16GenericObjectMgrFv
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte "@4@__dt__Q34Game12WaterOtakara3MgrFv"
|
||||
.4byte getChildCount__5CNodeFv
|
||||
.4byte "@4@getObject__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getNext__Q24Game12EnemyMgrBaseFPv"
|
||||
.4byte "@4@getStart__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte "@4@getEnd__Q24Game12EnemyMgrBaseFv"
|
||||
.4byte __dt__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte getObject__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getNext__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte getStart__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getEnd__Q24Game12EnemyMgrBaseFv
|
||||
.4byte alloc__Q24Game12EnemyMgrBaseFv
|
||||
.4byte birth__Q24Game12EnemyMgrBaseFRQ24Game13EnemyBirthArg
|
||||
.4byte getJ3DModelData__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte getGenerator__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte killAll__Q24Game12EnemyMgrBaseFPQ24Game15CreatureKillArg
|
||||
.4byte setupSoundViewerAndBas__Q24Game12EnemyMgrBaseFv
|
||||
.4byte setDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte resetDebugParm__Q24Game12EnemyMgrBaseFUl
|
||||
.4byte getMaxObjects__Q24Game12EnemyMgrBaseCFv
|
||||
.4byte startMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte endMovie__Q24Game12EnemyMgrBaseFv
|
||||
.4byte get__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte isAlwaysMovieActor__Q24Game12EnemyMgrBaseFv
|
||||
.4byte createObj__Q34Game12WaterOtakara3MgrFi
|
||||
.4byte getEnemy__Q34Game12WaterOtakara3MgrFi
|
||||
.4byte doAlloc__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte getEnemyTypeID__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte createModel__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte initParms__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadResource__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initObjects__Q24Game12EnemyMgrBaseFv
|
||||
.4byte initStoneSetting__Q24Game12EnemyMgrBaseFv
|
||||
.4byte loadModelData__Q24Game12EnemyMgrBaseFP10JKRArchive
|
||||
.4byte loadModelData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadAnimData__Q34Game11OtakaraBase3MgrFv
|
||||
.4byte loadTexData__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte doLoadBmd__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte doLoadBdl__Q24Game12EnemyMgrBaseFPv
|
||||
.4byte initGenerator__Q24Game12EnemyMgrBaseFv
|
||||
.4byte getChangeTexture__Q34Game12WaterOtakara3MgrFv
|
||||
.4byte 0
|
||||
|
||||
.section .sdata, "wa" # 0x80514680 - 0x80514D80
|
||||
.global
|
||||
"cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@"
|
||||
"cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@":
|
||||
.4byte lbl_8048A760
|
||||
*/
|
||||
#include "Game/Entities/WaterOtakara.h"
|
||||
#include "LoadResource.h"
|
||||
|
||||
namespace Game {
|
||||
namespace WaterOtakara {
|
||||
|
||||
namespace {
|
||||
static const char* cOtakaraChangeTexName = "/enemy/data/WaterOtakara/otakara_blue_s3tc.bti";
|
||||
} // namespace
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B86E0
|
||||
* Size: 000050
|
||||
*/
|
||||
WaterOtakara::Mgr::Mgr(int, unsigned char)
|
||||
Mgr::Mgr(int objLimit, u8 modelType)
|
||||
: OtakaraBase::Mgr(objLimit, modelType)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
bl __ct__Q34Game11OtakaraBase3MgrFiUc
|
||||
lis r3, __vt__Q34Game12WaterOtakara3Mgr@ha
|
||||
lis r4, lbl_8048A790@ha
|
||||
addi r5, r3, __vt__Q34Game12WaterOtakara3Mgr@l
|
||||
mr r3, r31
|
||||
stw r5, 0(r31)
|
||||
addi r5, r5, 0x38
|
||||
addi r0, r4, lbl_8048A790@l
|
||||
stw r5, 4(r31)
|
||||
stw r0, 0x18(r31)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r0, 0x14(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
m_name = "水オタカラムシマネージャ"; // water otakara manager
|
||||
}
|
||||
|
||||
/*
|
||||
@ -132,300 +24,37 @@ WaterOtakara::Mgr::Mgr(int, unsigned char)
|
||||
* Address: 802B8730
|
||||
* Size: 000048
|
||||
*/
|
||||
void WaterOtakara::Mgr::doAlloc()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r3
|
||||
li r3, 0x8a8
|
||||
bl __nw__FUl
|
||||
or. r4, r3, r3
|
||||
beq lbl_802B875C
|
||||
bl __ct__Q34Game11OtakaraBase5ParmsFv
|
||||
mr r4, r3
|
||||
|
||||
lbl_802B875C:
|
||||
mr r3, r31
|
||||
bl init__Q24Game12EnemyMgrBaseFPQ24Game14EnemyParmsBase
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::doAlloc() { init(new OtakaraBase::Parms); }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8778
|
||||
* Size: 000060
|
||||
*/
|
||||
void WaterOtakara::Mgr::createObj(int)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
mr r30, r3
|
||||
mulli r3, r31, 0x308
|
||||
addi r3, r3, 0x10
|
||||
bl __nwa__FUl
|
||||
lis r4, __ct__Q34Game12WaterOtakara3ObjFv@ha
|
||||
lis r5, __dt__Q34Game12WaterOtakara3ObjFv@ha
|
||||
addi r4, r4, __ct__Q34Game12WaterOtakara3ObjFv@l
|
||||
mr r7, r31
|
||||
addi r5, r5, __dt__Q34Game12WaterOtakara3ObjFv@l
|
||||
li r6, 0x308
|
||||
bl __construct_new_array
|
||||
stw r3, 0x48(r30)
|
||||
lwz r0, 0x14(r1)
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B87D8
|
||||
* Size: 0000F0
|
||||
*/
|
||||
WaterOtakara::Obj::~Obj()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B88AC
|
||||
lis r3, __vt__Q34Game12WaterOtakara3Obj@ha
|
||||
addi r0, r30, 0x2f8
|
||||
addi r4, r3, __vt__Q34Game12WaterOtakara3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B889C
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Obj@ha
|
||||
addi r0, r30, 0x2f4
|
||||
addi r4, r3, __vt__Q34Game11OtakaraBase3Obj@l
|
||||
stw r4, 0(r30)
|
||||
addi r3, r4, 0x1b0
|
||||
addi r4, r4, 0x324
|
||||
stw r3, 0x178(r30)
|
||||
lwz r3, 0x17c(r30)
|
||||
stw r4, 0(r3)
|
||||
lwz r3, 0x17c(r30)
|
||||
subf r0, r3, r0
|
||||
stw r0, 0xc(r3)
|
||||
beq lbl_802B889C
|
||||
lis r3, __vt__Q24Game9EnemyBase@ha
|
||||
addi r0, r30, 0x2bc
|
||||
addi r4, r3, __vt__Q24Game9EnemyBase@l
|
||||
addi r3, r30, 0x290
|
||||
stw r4, 0(r30)
|
||||
addi r5, r4, 0x1b0
|
||||
addi r6, r4, 0x2f8
|
||||
li r4, -1
|
||||
stw r5, 0x178(r30)
|
||||
lwz r5, 0x17c(r30)
|
||||
stw r6, 0(r5)
|
||||
lwz r5, 0x17c(r30)
|
||||
subf r0, r5, r0
|
||||
stw r0, 0xc(r5)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B889C:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B88AC
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B88AC:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
void Mgr::createObj(int count) { m_obj = new Obj[count]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B88C8
|
||||
* Size: 000010
|
||||
*/
|
||||
void WaterOtakara::Mgr::getEnemy(int)
|
||||
{
|
||||
/*
|
||||
mulli r0, r4, 0x308
|
||||
lwz r3, 0x48(r3)
|
||||
add r3, r3, r0
|
||||
blr
|
||||
*/
|
||||
}
|
||||
EnemyBase* Mgr::getEnemy(int index) { return &m_obj[index]; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B88D8
|
||||
* Size: 000080
|
||||
*/
|
||||
void WaterOtakara::Mgr::loadTexData()
|
||||
void Mgr::loadTexData()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
mflr r0
|
||||
stw r0, 0x44(r1)
|
||||
li r0, 0
|
||||
stw r31, 0x3c(r1)
|
||||
mr r31, r3
|
||||
stw r0, 0x44(r3)
|
||||
addi r3, r1, 8
|
||||
lwz r4,
|
||||
"cOtakaraChangeTexName__Q34Game12WaterOtakara29@unnamed@WaterOtakaraMgr_cpp@"@sda21(r13)
|
||||
bl __ct__Q212LoadResource3ArgFPCc
|
||||
lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
addi r4, r1, 8
|
||||
bl load__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
cmplwi r3, 0
|
||||
beq lbl_802B891C
|
||||
lwz r0, 0x30(r3)
|
||||
stw r0, 0x44(r31)
|
||||
|
||||
lbl_802B891C:
|
||||
lwz r0, 0x44(r31)
|
||||
cmplwi r0, 0
|
||||
bne lbl_802B8944
|
||||
lis r3, lbl_8048A7AC@ha
|
||||
lis r5, lbl_8048A7C0@ha
|
||||
addi r3, r3, lbl_8048A7AC@l
|
||||
li r4, 0x53
|
||||
addi r5, r5, lbl_8048A7C0@l
|
||||
crclr 6
|
||||
bl panic_f__12JUTExceptionFPCciPCce
|
||||
|
||||
lbl_802B8944:
|
||||
lwz r0, 0x44(r1)
|
||||
lwz r31, 0x3c(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x40
|
||||
blr
|
||||
*/
|
||||
m_changeTexture = nullptr;
|
||||
LoadResource::Arg loadArg(cOtakaraChangeTexName);
|
||||
LoadResource::Node* resource = gLoadResourceMgr->load(loadArg);
|
||||
if (resource) {
|
||||
m_changeTexture = static_cast<ResTIMG*>(resource->_30);
|
||||
}
|
||||
P2ASSERTLINE(83, m_changeTexture);
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8958
|
||||
* Size: 0000C8
|
||||
*/
|
||||
WaterOtakara::Mgr::~Mgr()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
mflr r0
|
||||
stw r0, 0x14(r1)
|
||||
stw r31, 0xc(r1)
|
||||
mr r31, r4
|
||||
stw r30, 8(r1)
|
||||
or. r30, r3, r3
|
||||
beq lbl_802B8A04
|
||||
lis r3, __vt__Q34Game12WaterOtakara3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game12WaterOtakara3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B89F4
|
||||
lis r3, __vt__Q34Game11OtakaraBase3Mgr@ha
|
||||
addi r3, r3, __vt__Q34Game11OtakaraBase3Mgr@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B89F4
|
||||
lis r3, __vt__Q24Game12EnemyMgrBase@ha
|
||||
addi r3, r3, __vt__Q24Game12EnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B89F4
|
||||
lis r3, __vt__Q24Game13IEnemyMgrBase@ha
|
||||
addic. r0, r30, 4
|
||||
addi r3, r3, __vt__Q24Game13IEnemyMgrBase@l
|
||||
stw r3, 0(r30)
|
||||
addi r0, r3, 0x38
|
||||
stw r0, 4(r30)
|
||||
beq lbl_802B89F4
|
||||
lis r4, __vt__16GenericContainer@ha
|
||||
addi r3, r30, 4
|
||||
addi r0, r4, __vt__16GenericContainer@l
|
||||
li r4, 0
|
||||
stw r0, 4(r30)
|
||||
bl __dt__5CNodeFv
|
||||
|
||||
lbl_802B89F4:
|
||||
extsh. r0, r31
|
||||
ble lbl_802B8A04
|
||||
mr r3, r30
|
||||
bl __dl__FPv
|
||||
|
||||
lbl_802B8A04:
|
||||
lwz r0, 0x14(r1)
|
||||
mr r3, r30
|
||||
lwz r31, 0xc(r1)
|
||||
lwz r30, 8(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x10
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8A20
|
||||
* Size: 000008
|
||||
*/
|
||||
u32 WaterOtakara::Mgr::getEnemyTypeID() { return 0x3C; }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8A28
|
||||
* Size: 000008
|
||||
*/
|
||||
void WaterOtakara::Mgr::getChangeTexture()
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x44(r3)
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 802B8A30
|
||||
* Size: 000008
|
||||
*/
|
||||
WaterOtakara::Mgr::@4 @~Mgr()
|
||||
{
|
||||
/*
|
||||
addi r3, r3, -4
|
||||
b __dt__Q34Game12WaterOtakara3MgrFv
|
||||
*/
|
||||
}
|
||||
} // namespace WaterOtakara
|
||||
} // namespace Game
|
||||
|
@ -22,7 +22,7 @@ Mgr::Mgr(int objLimit, u8 modelType)
|
||||
* Address: 8012A6C0
|
||||
* Size: 0000C0
|
||||
*/
|
||||
void ChappyBase::Mgr::loadModelData()
|
||||
void Mgr::loadModelData()
|
||||
{
|
||||
int ids[3] = { EnemyTypeID::EnemyID_Chappy, EnemyTypeID::EnemyID_BlueChappy, EnemyTypeID::EnemyID_YellowChappy };
|
||||
|
||||
@ -49,7 +49,7 @@ void ChappyBase::Mgr::loadModelData()
|
||||
* Address: 8012A780
|
||||
* Size: 0000A0
|
||||
*/
|
||||
void ChappyBase::Mgr::loadAnimData()
|
||||
void Mgr::loadAnimData()
|
||||
{
|
||||
int ids[3] = { EnemyTypeID::EnemyID_Chappy, EnemyTypeID::EnemyID_BlueChappy, EnemyTypeID::EnemyID_YellowChappy };
|
||||
|
||||
|
@ -159,3 +159,5 @@ You have 672 out of 10000 Pokos and 27 out of 201 treasures.",2022-10-20 22:23:1
|
||||
You have 694 out of 10000 Pokos and 28 out of 201 treasures.",2022-10-20 19:44:24.883386
|
||||
696,324116,0.06966712750883854,28,101356,0.14218299347974905,"
|
||||
You have 696 out of 10000 Pokos and 28 out of 201 treasures.",2022-10-21 12:32:01.653234
|
||||
708,329760,0.07088027733069209,29,104143,0.14609261898616271,"
|
||||
You have 708 out of 10000 Pokos and 29 out of 201 treasures.",2022-10-21 13:41:02.342251
|
||||
|
|
Loading…
Reference in New Issue
Block a user