From be3afb95833ccf6ae20680aa3f609b3a2907759d Mon Sep 17 00:00:00 2001 From: HeartPiece Date: Tue, 5 Sep 2023 01:17:03 +1000 Subject: [PATCH] Link Demon.cpp + assorted fixes --- asm/plugProjectNishimuraU/Demon.s | 776 ----------------------- configure.py | 2 +- docs/recommended_todo.md | 36 +- include/Game/Entities/DangoMushi.h | 2 +- src/plugProjectKandoU/aiBattle.cpp | 2 +- src/plugProjectKandoU/navi_demoCheck.cpp | 2 +- src/plugProjectNishimuraU/DangoMushi.cpp | 430 ++----------- src/plugProjectNishimuraU/Demon.cpp | 293 +-------- src/plugProjectNishimuraU/Makefile | 2 +- tools/progress.csv | 2 + 10 files changed, 78 insertions(+), 1469 deletions(-) delete mode 100644 asm/plugProjectNishimuraU/Demon.s diff --git a/asm/plugProjectNishimuraU/Demon.s b/asm/plugProjectNishimuraU/Demon.s deleted file mode 100644 index 52b21aa42..000000000 --- a/asm/plugProjectNishimuraU/Demon.s +++ /dev/null @@ -1,776 +0,0 @@ -.include "macros.inc" -.section .data, "wa" # 0x8049E220 - 0x804EFC20 -.balign 8 -.obj __vt__Q34Game5Demon3Obj, global - .4byte 0 - .4byte 0 - .4byte getPosition__Q24Game9EnemyBaseFv - .4byte checkCollision__Q24Game8CreatureFPQ24Game10CellObject - .4byte getBoundingSphere__Q24Game9EnemyBaseFRQ23Sys6Sphere - .4byte collisionUpdatable__Q24Game8CreatureFv - .4byte isPiki__Q24Game8CreatureFv - .4byte isNavi__Q24Game8CreatureFv - .4byte deferPikiCollision__Q24Game10CellObjectFv - .4byte getTypeName__Q24Game8CreatureFv - .4byte getObjType__Q24Game8CreatureFv - .4byte constructor__Q24Game9EnemyBaseFv - .4byte onInit__Q34Game5Sarai3ObjFPQ24Game15CreatureInitArg - .4byte onKill__Q24Game9EnemyBaseFPQ24Game15CreatureKillArg - .4byte onInitPost__Q24Game9EnemyBaseFPQ24Game15CreatureInitArg - .4byte doAnimation__Q24Game9EnemyBaseFv - .4byte doEntry__Q24Game9EnemyBaseFv - .4byte doSetView__Q24Game9EnemyBaseFi - .4byte doViewCalc__Q24Game9EnemyBaseFv - .4byte doSimulation__Q24Game9EnemyBaseFf - .4byte doDirectDraw__Q34Game5Sarai3ObjFR8Graphics - .4byte getBodyRadius__Q24Game9EnemyBaseFv - .4byte getCellRadius__Q24Game9EnemyBaseFv - .4byte "initPosition__Q24Game8CreatureFR10Vector3" - .4byte "onInitPosition__Q24Game8CreatureFR10Vector3" - .4byte getFaceDir__Q24Game9EnemyBaseFv - .4byte "setVelocity__Q24Game9EnemyBaseFR10Vector3" - .4byte getVelocity__Q24Game9EnemyBaseFv - .4byte "onSetPosition__Q24Game9EnemyBaseFR10Vector3" - .4byte "onSetPositionPost__Q24Game9EnemyBaseFR10Vector3" - .4byte updateTrMatrix__Q24Game9EnemyBaseFv - .4byte isTeki__Q24Game9EnemyBaseFv - .4byte isPellet__Q24Game8CreatureFv - .4byte inWaterCallback__Q34Game5Sarai3ObjFPQ24Game8WaterBox - .4byte outWaterCallback__Q34Game5Sarai3ObjFv - .4byte inWater__Q24Game9EnemyBaseFv - .4byte getFlockMgr__Q24Game8CreatureFv - .4byte onStartCapture__Q24Game8CreatureFv - .4byte onUpdateCapture__Q24Game8CreatureFR7Matrixf - .4byte onEndCapture__Q24Game8CreatureFv - .4byte isAtari__Q24Game8CreatureFv - .4byte setAtari__Q24Game8CreatureFb - .4byte isAlive__Q24Game8CreatureFv - .4byte setAlive__Q24Game8CreatureFb - .4byte isCollisionFlick__Q24Game8CreatureFv - .4byte setCollisionFlick__Q24Game8CreatureFb - .4byte isMovieActor__Q24Game8CreatureFv - .4byte isMovieExtra__Q24Game8CreatureFv - .4byte isMovieMotion__Q24Game8CreatureFv - .4byte setMovieMotion__Q24Game8CreatureFb - .4byte isBuried__Q24Game8CreatureFv - .4byte isFlying__Q24Game9EnemyBaseFv - .4byte isUnderground__Q24Game8CreatureFv - .4byte isLivingThing__Q24Game8CreatureFv - .4byte isDebugCollision__Q24Game8CreatureFv - .4byte setDebugCollision__Q24Game8CreatureFb - .4byte doSave__Q24Game8CreatureFR6Stream - .4byte doLoad__Q24Game8CreatureFR6Stream - .4byte bounceCallback__Q24Game8CreatureFPQ23Sys8Triangle - .4byte collisionCallback__Q24Game9EnemyBaseFRQ24Game9CollEvent - .4byte platCallback__Q24Game8CreatureFRQ24Game9PlatEvent - .4byte getJAIObject__Q24Game9EnemyBaseFv - .4byte getPSCreature__Q24Game9EnemyBaseFv - .4byte getSound_AILOD__Q24Game8CreatureFv - .4byte getSound_PosPtr__Q24Game9EnemyBaseFv - .4byte sound_culling__Q24Game9EnemyBaseFv - .4byte getSound_CurrAnimFrame__Q24Game9EnemyBaseFv - .4byte getSound_CurrAnimSpeed__Q24Game9EnemyBaseFv - .4byte on_movie_begin__Q24Game8CreatureFb - .4byte on_movie_end__Q24Game8CreatureFb - .4byte movieStartAnimation__Q24Game8CreatureFUl - .4byte movieStartDemoAnimation__Q24Game8CreatureFPQ28SysShape8AnimInfo - .4byte movieSetAnimationLastFrame__Q24Game8CreatureFv - .4byte "movieSetTranslation__Q24Game8CreatureFR10Vector3f" - .4byte movieSetFaceDir__Q24Game8CreatureFf - .4byte "movieGotoPosition__Q24Game8CreatureFR10Vector3" - .4byte movieUserCommand__Q24Game8CreatureFUlPQ24Game11MoviePlayer - .4byte getShadowParam__Q34Game5Sarai3ObjFRQ24Game11ShadowParam - .4byte needShadow__Q24Game9EnemyBaseFv - .4byte getLifeGaugeParam__Q24Game9EnemyBaseFRQ24Game14LifeGaugeParam - .4byte getLODSphere__Q24Game9EnemyBaseFRQ23Sys6Sphere - .4byte getLODCylinder__Q24Game8CreatureFRQ23Sys8Cylinder - .4byte startPick__Q24Game8CreatureFv - .4byte endPick__Q24Game8CreatureFb - .4byte getMabiki__Q24Game8CreatureFv - .4byte getFootmarks__Q24Game8CreatureFv - .4byte onStickStart__Q24Game9EnemyBaseFPQ24Game8Creature - .4byte onStickEnd__Q24Game9EnemyBaseFPQ24Game8Creature - .4byte onStickStartSelf__Q24Game8CreatureFPQ24Game8Creature - .4byte onStickEndSelf__Q24Game8CreatureFPQ24Game8Creature - .4byte isSlotFree__Q24Game8CreatureFs - .4byte getFreeStickSlot__Q24Game8CreatureFv - .4byte "getNearFreeStickSlot__Q24Game8CreatureFR10Vector3" - .4byte getRandomFreeStickSlot__Q24Game8CreatureFv - .4byte onSlotStickStart__Q24Game8CreatureFPQ24Game8Creatures - .4byte onSlotStickEnd__Q24Game8CreatureFPQ24Game8Creatures - .4byte "calcStickSlotGlobal__Q24Game8CreatureFsR10Vector3" - .4byte "getVelocityAt__Q24Game9EnemyBaseFR10Vector3R10Vector3" - .4byte "getAngularEffect__Q24Game8CreatureFR10Vector3R10Vector3" - .4byte "applyImpulse__Q24Game8CreatureFR10Vector3R10Vector3" - .4byte ignoreAtari__Q24Game8CreatureFPQ24Game8Creature - .4byte getSuckPos__Q24Game8CreatureFv - .4byte getGoalPos__Q24Game8CreatureFv - .4byte isSuckReady__Q24Game8CreatureFv - .4byte isSuckArriveWait__Q24Game8CreatureFv - .4byte stimulate__Q24Game9EnemyBaseFRQ24Game11Interaction - .4byte getCreatureName__Q24Game9EnemyBaseFv - .4byte getCreatureID__Q24Game9EnemyBaseFv - .4byte 0 - .4byte 0 - .4byte "@376@onKeyEvent__Q24Game9EnemyBaseFRCQ28SysShape8KeyEvent" - .4byte __dt__Q34Game5Demon3ObjFv - .4byte "birth__Q24Game9EnemyBaseFR10Vector3f" - .4byte setInitialSetting__Q34Game5Sarai3ObjFPQ24Game21EnemyInitialParamBase - .4byte update__Q24Game9EnemyBaseFv - .4byte doUpdate__Q34Game5Sarai3ObjFv - .4byte doUpdateCommon__Q24Game9EnemyBaseFv - .4byte doUpdateCarcass__Q24Game9EnemyBaseFv - .4byte doAnimationUpdateAnimator__Q24Game9EnemyBaseFv - .4byte doAnimationCullingOff__Q24Game9EnemyBaseFv - .4byte doAnimationCullingOn__Q24Game9EnemyBaseFv - .4byte doAnimationStick__Q24Game9EnemyBaseFv - .4byte doSimulationCarcass__Q24Game9EnemyBaseFf - .4byte doDebugDraw__Q34Game5Sarai3ObjFR8Graphics - .4byte doSimpleDraw__Q24Game9EnemyBaseFP8Viewport - .4byte doSimulationGround__Q24Game9EnemyBaseFf - .4byte doSimulationFlying__Q24Game9EnemyBaseFf - .4byte doSimulationStick__Q24Game9EnemyBaseFf - .4byte changeMaterial__Q24Game9EnemyBaseFv - .4byte "getCommonEffectPos__Q24Game9EnemyBaseFR10Vector3" - .4byte getFitEffectPos__Q24Game9EnemyBaseFv - .4byte viewGetShape__Q24Game9EnemyBaseFv - .4byte view_start_carrymotion__Q24Game9EnemyBaseFv - .4byte view_finish_carrymotion__Q24Game9EnemyBaseFv - .4byte viewStartPreCarryMotion__Q24Game9EnemyBaseFv - .4byte viewStartCarryMotion__Q24Game9EnemyBaseFv - .4byte viewOnPelletKilled__Q24Game9EnemyBaseFv - .4byte getOffsetForMapCollision__Q24Game9EnemyBaseFv - .4byte setParameters__Q24Game9EnemyBaseFv - .4byte initMouthSlots__Q34Game5Sarai3ObjFv - .4byte initWalkSmokeEffect__Q24Game9EnemyBaseFv - .4byte getWalkSmokeEffectMgr__Q24Game9EnemyBaseFv - .4byte onKeyEvent__Q24Game9EnemyBaseFRCQ28SysShape8KeyEvent - .4byte injure__Q24Game9EnemyBaseFv - .4byte setCollEvent__Q24Game9EnemyBaseFRQ24Game9CollEvent - .4byte "getEfxHamonPos__Q24Game9EnemyBaseFP10Vector3" - .4byte createInstanceEfxHamon__Q24Game9EnemyBaseFv - .4byte updateEfxHamon__Q24Game9EnemyBaseFv - .4byte createEfxHamon__Q24Game9EnemyBaseFv - .4byte fadeEfxHamon__Q24Game9EnemyBaseFv - .4byte getEnemyTypeID__Q34Game5Demon3ObjFv - .4byte getMouthSlots__Q34Game5Sarai3ObjFv - .4byte doGetLifeGaugeParam__Q24Game9EnemyBaseFRQ24Game14LifeGaugeParam - .4byte throwupItem__Q24Game9EnemyBaseFv - .4byte "getThrowupItemPosition__Q24Game9EnemyBaseFP10Vector3" - .4byte "getThrowupItemVelocity__Q24Game9EnemyBaseFP10Vector3" - .4byte throwupItemInDeathProcedure__Q24Game9EnemyBaseFv - .4byte setLODSphere__Q24Game9EnemyBaseFRQ23Sys6Sphere - .4byte damageCallBack__Q24Game9EnemyBaseFPQ24Game8CreaturefP8CollPart - .4byte pressCallBack__Q24Game9EnemyBaseFPQ24Game8CreaturefP8CollPart - .4byte flyCollisionCallBack__Q24Game9EnemyBaseFPQ24Game8CreaturefP8CollPart - .4byte hipdropCallBack__Q24Game9EnemyBaseFPQ24Game8CreaturefP8CollPart - .4byte dropCallBack__Q24Game9EnemyBaseFPQ24Game8Creature - .4byte earthquakeCallBack__Q24Game9EnemyBaseFPQ24Game8Creaturef - .4byte farmCallBack__Q24Game9EnemyBaseFPQ24Game8Creaturef - .4byte "bombCallBack__Q24Game9EnemyBaseFPQ24Game8CreatureR10Vector3f" - .4byte eatWhitePikminCallBack__Q24Game9EnemyBaseFPQ24Game8Creaturef - .4byte dopeCallBack__Q24Game9EnemyBaseFPQ24Game8Creaturei - .4byte doDopeCallBack__Q24Game9EnemyBaseFPQ24Game8Creaturei - .4byte doStartStoneState__Q34Game5Sarai3ObjFv - .4byte doFinishStoneState__Q34Game5Sarai3ObjFv - .4byte getDamageCoeStoneState__Q24Game9EnemyBaseFv - .4byte doStartEarthquakeState__Q24Game9EnemyBaseFf - .4byte doFinishEarthquakeState__Q24Game9EnemyBaseFv - .4byte doStartEarthquakeFitState__Q24Game9EnemyBaseFv - .4byte doFinishEarthquakeFitState__Q24Game9EnemyBaseFv - .4byte lifeRecover__Q24Game9EnemyBaseFv - .4byte startCarcassMotion__Q34Game5Sarai3ObjFv - .4byte setCarcassArg__Q24Game9EnemyBaseFRQ24Game13PelletViewArg - .4byte getCarcassArgHeight__Q24Game9EnemyBaseFv - .4byte doBecomeCarcass__Q24Game9EnemyBaseFv - .4byte startWaitingBirthTypeDrop__Q24Game9EnemyBaseFv - .4byte finishWaitingBirthTypeDrop__Q24Game9EnemyBaseFv - .4byte isFinishableWaitingBirthTypeDrop__Q24Game9EnemyBaseFv - .4byte doStartWaitingBirthTypeDrop__Q24Game9EnemyBaseFv - .4byte doFinishWaitingBirthTypeDrop__Q24Game9EnemyBaseFv - .4byte wallCallback__Q24Game9EnemyBaseFRCQ24Game8MoveInfo - .4byte getDownSmokeScale__Q34Game5Sarai3ObjFv - .4byte doStartMovie__Q24Game9EnemyBaseFv - .4byte doEndMovie__Q24Game9EnemyBaseFv - .4byte setFSM__Q34Game5Sarai3ObjFPQ34Game5Sarai3FSM - .4byte getStickPikminNum__Q34Game5Demon3ObjFv - .4byte getAttackableTarget__Q34Game5Demon3ObjFv - .4byte catchTarget__Q34Game5Demon3ObjFv - .4byte resetAttackableTimer__Q34Game5Demon3ObjFf - .4byte 0 - .4byte 0 - .4byte viewGetBaseScale__Q24Game10PelletViewFv - .4byte "@732@12@viewGetShape__Q24Game9EnemyBaseFv" - .4byte viewGetCollTreeJointIndex__Q24Game10PelletViewFv - .4byte viewGetCollTreeOffset__Q24Game10PelletViewFv - .4byte "@732@12@view_start_carrymotion__Q24Game9EnemyBaseFv" - .4byte "@732@12@view_finish_carrymotion__Q24Game9EnemyBaseFv" - .4byte "@732@12@viewStartPreCarryMotion__Q24Game9EnemyBaseFv" - .4byte "@732@12@viewStartCarryMotion__Q24Game9EnemyBaseFv" - .4byte "@732@12@viewOnPelletKilled__Q24Game9EnemyBaseFv" - .4byte "viewEntryShape__Q24Game10PelletViewFR7MatrixfR10Vector3" -.endobj __vt__Q34Game5Demon3Obj - -.section .sdata2, "a" # 0x80516360 - 0x80520E40 -.balign 8 -.obj lbl_8051B930, local - .float 3.0 -.endobj lbl_8051B930 -.obj lbl_8051B934, local # pi - .float 3.1415927 -.endobj lbl_8051B934 -.obj lbl_8051B938, local - .float 0.0055555557 -.endobj lbl_8051B938 -.obj lbl_8051B93C, local - .float 0.0 -.endobj lbl_8051B93C -.obj lbl_8051B940, local - .float 1.0 -.endobj lbl_8051B940 - -.section .text, "ax" # 0x800056C0 - 0x80472F00 -.fn __ct__Q34Game5Demon3ObjFv, global -/* 8028E394 0028B2D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028E398 0028B2D8 7C 08 02 A6 */ mflr r0 -/* 8028E39C 0028B2DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028E3A0 0028B2E0 7C 80 07 35 */ extsh. r0, r4 -/* 8028E3A4 0028B2E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8028E3A8 0028B2E8 7C 7F 1B 78 */ mr r31, r3 -/* 8028E3AC 0028B2EC 41 82 00 24 */ beq .L_8028E3D0 -/* 8028E3B0 0028B2F0 38 1F 02 DC */ addi r0, r31, 0x2dc -/* 8028E3B4 0028B2F4 3C 60 80 4B */ lis r3, __vt__Q24Game10PelletView@ha -/* 8028E3B8 0028B2F8 90 1F 01 7C */ stw r0, 0x17c(r31) -/* 8028E3BC 0028B2FC 38 63 A6 78 */ addi r3, r3, __vt__Q24Game10PelletView@l -/* 8028E3C0 0028B300 38 00 00 00 */ li r0, 0 -/* 8028E3C4 0028B304 90 7F 02 DC */ stw r3, 0x2dc(r31) -/* 8028E3C8 0028B308 90 1F 02 E0 */ stw r0, 0x2e0(r31) -/* 8028E3CC 0028B30C 90 1F 02 E4 */ stw r0, 0x2e4(r31) -.L_8028E3D0: -/* 8028E3D0 0028B310 7F E3 FB 78 */ mr r3, r31 -/* 8028E3D4 0028B314 38 80 00 00 */ li r4, 0 -/* 8028E3D8 0028B318 4B FE 47 ED */ bl __ct__Q34Game5Sarai3ObjFv -/* 8028E3DC 0028B31C 3C 60 80 4D */ lis r3, __vt__Q34Game5Demon3Obj@ha -/* 8028E3E0 0028B320 38 1F 02 DC */ addi r0, r31, 0x2dc -/* 8028E3E4 0028B324 38 A3 A9 C8 */ addi r5, r3, __vt__Q34Game5Demon3Obj@l -/* 8028E3E8 0028B328 7F E3 FB 78 */ mr r3, r31 -/* 8028E3EC 0028B32C 90 BF 00 00 */ stw r5, 0(r31) -/* 8028E3F0 0028B330 38 85 01 B0 */ addi r4, r5, 0x1b0 -/* 8028E3F4 0028B334 38 A5 03 0C */ addi r5, r5, 0x30c -/* 8028E3F8 0028B338 90 9F 01 78 */ stw r4, 0x178(r31) -/* 8028E3FC 0028B33C 80 9F 01 7C */ lwz r4, 0x17c(r31) -/* 8028E400 0028B340 90 A4 00 00 */ stw r5, 0(r4) -/* 8028E404 0028B344 80 9F 01 7C */ lwz r4, 0x17c(r31) -/* 8028E408 0028B348 7C 04 00 50 */ subf r0, r4, r0 -/* 8028E40C 0028B34C 90 04 00 0C */ stw r0, 0xc(r4) -/* 8028E410 0028B350 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8028E414 0028B354 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028E418 0028B358 7C 08 03 A6 */ mtlr r0 -/* 8028E41C 0028B35C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028E420 0028B360 4E 80 00 20 */ blr -.endfn __ct__Q34Game5Demon3ObjFv - -.fn getAttackableTarget__Q34Game5Demon3ObjFv, global -/* 8028E424 0028B364 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 8028E428 0028B368 7C 08 02 A6 */ mflr r0 -/* 8028E42C 0028B36C 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 8028E430 0028B370 DB E1 00 B0 */ stfd f31, 0xb0(r1) -/* 8028E434 0028B374 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 -/* 8028E438 0028B378 DB C1 00 A0 */ stfd f30, 0xa0(r1) -/* 8028E43C 0028B37C F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 -/* 8028E440 0028B380 DB A1 00 90 */ stfd f29, 0x90(r1) -/* 8028E444 0028B384 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 -/* 8028E448 0028B388 DB 81 00 80 */ stfd f28, 0x80(r1) -/* 8028E44C 0028B38C F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0 -/* 8028E450 0028B390 DB 61 00 70 */ stfd f27, 0x70(r1) -/* 8028E454 0028B394 F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0 -/* 8028E458 0028B398 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 8028E45C 0028B39C 93 C1 00 68 */ stw r30, 0x68(r1) -/* 8028E460 0028B3A0 80 8D 9A EC */ lwz r4, sys@sda21(r13) -/* 8028E464 0028B3A4 7C 7F 1B 78 */ mr r31, r3 -/* 8028E468 0028B3A8 C0 43 02 D8 */ lfs f2, 0x2d8(r3) -/* 8028E46C 0028B3AC C0 24 00 54 */ lfs f1, 0x54(r4) -/* 8028E470 0028B3B0 C0 02 D5 D0 */ lfs f0, lbl_8051B930@sda21(r2) -/* 8028E474 0028B3B4 EC 22 08 2A */ fadds f1, f2, f1 -/* 8028E478 0028B3B8 D0 23 02 D8 */ stfs f1, 0x2d8(r3) -/* 8028E47C 0028B3BC C0 23 02 D8 */ lfs f1, 0x2d8(r3) -/* 8028E480 0028B3C0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028E484 0028B3C4 40 81 03 4C */ ble .L_8028E7D0 -/* 8028E488 0028B3C8 7F E4 FB 78 */ mr r4, r31 -/* 8028E48C 0028B3CC 38 61 00 44 */ addi r3, r1, 0x44 -/* 8028E490 0028B3D0 81 9F 00 00 */ lwz r12, 0(r31) -/* 8028E494 0028B3D4 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E498 0028B3D8 7D 89 03 A6 */ mtctr r12 -/* 8028E49C 0028B3DC 4E 80 04 21 */ bctrl -/* 8028E4A0 0028B3E0 C3 E1 00 4C */ lfs f31, 0x4c(r1) -/* 8028E4A4 0028B3E4 C0 1F 01 A0 */ lfs f0, 0x1a0(r31) -/* 8028E4A8 0028B3E8 80 9F 00 C0 */ lwz r4, 0xc0(r31) -/* 8028E4AC 0028B3EC EC 5F 00 28 */ fsubs f2, f31, f0 -/* 8028E4B0 0028B3F0 C3 C1 00 44 */ lfs f30, 0x44(r1) -/* 8028E4B4 0028B3F4 C0 3F 01 98 */ lfs f1, 0x198(r31) -/* 8028E4B8 0028B3F8 C0 04 03 5C */ lfs f0, 0x35c(r4) -/* 8028E4BC 0028B3FC EC 7E 08 28 */ fsubs f3, f30, f1 -/* 8028E4C0 0028B400 EC 22 00 B2 */ fmuls f1, f2, f2 -/* 8028E4C4 0028B404 EC 00 00 32 */ fmuls f0, f0, f0 -/* 8028E4C8 0028B408 EC 23 08 FA */ fmadds f1, f3, f3, f1 -/* 8028E4CC 0028B40C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028E4D0 0028B410 40 80 03 00 */ bge .L_8028E7D0 -/* 8028E4D4 0028B414 C0 42 D5 D8 */ lfs f2, lbl_8051B938@sda21(r2) -/* 8028E4D8 0028B418 3C 60 80 4B */ lis r3, "__vt__22Iterator"@ha -/* 8028E4DC 0028B41C C0 24 04 24 */ lfs f1, 0x424(r4) -/* 8028E4E0 0028B420 38 00 00 00 */ li r0, 0 -/* 8028E4E4 0028B424 C0 04 03 D4 */ lfs f0, 0x3d4(r4) -/* 8028E4E8 0028B428 38 83 BC B4 */ addi r4, r3, "__vt__22Iterator"@l -/* 8028E4EC 0028B42C EC 22 00 72 */ fmuls f1, f2, f1 -/* 8028E4F0 0028B430 C0 42 D5 D4 */ lfs f2, lbl_8051B934@sda21(r2) -/* 8028E4F4 0028B434 80 6D 92 E0 */ lwz r3, naviMgr__4Game@sda21(r13) -/* 8028E4F8 0028B438 28 00 00 00 */ cmplwi r0, 0 -/* 8028E4FC 0028B43C EF 80 00 32 */ fmuls f28, f0, f0 -/* 8028E500 0028B440 90 81 00 50 */ stw r4, 0x50(r1) -/* 8028E504 0028B444 EF A2 00 72 */ fmuls f29, f2, f1 -/* 8028E508 0028B448 90 01 00 5C */ stw r0, 0x5c(r1) -/* 8028E50C 0028B44C 90 01 00 54 */ stw r0, 0x54(r1) -/* 8028E510 0028B450 90 61 00 58 */ stw r3, 0x58(r1) -/* 8028E514 0028B454 40 82 00 1C */ bne .L_8028E530 -/* 8028E518 0028B458 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E51C 0028B45C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8028E520 0028B460 7D 89 03 A6 */ mtctr r12 -/* 8028E524 0028B464 4E 80 04 21 */ bctrl -/* 8028E528 0028B468 90 61 00 54 */ stw r3, 0x54(r1) -/* 8028E52C 0028B46C 48 00 02 84 */ b .L_8028E7B0 -.L_8028E530: -/* 8028E530 0028B470 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E534 0028B474 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8028E538 0028B478 7D 89 03 A6 */ mtctr r12 -/* 8028E53C 0028B47C 4E 80 04 21 */ bctrl -/* 8028E540 0028B480 90 61 00 54 */ stw r3, 0x54(r1) -/* 8028E544 0028B484 48 00 00 58 */ b .L_8028E59C -.L_8028E548: -/* 8028E548 0028B488 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E54C 0028B48C 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E550 0028B490 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E554 0028B494 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028E558 0028B498 7D 89 03 A6 */ mtctr r12 -/* 8028E55C 0028B49C 4E 80 04 21 */ bctrl -/* 8028E560 0028B4A0 7C 64 1B 78 */ mr r4, r3 -/* 8028E564 0028B4A4 80 61 00 5C */ lwz r3, 0x5c(r1) -/* 8028E568 0028B4A8 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E56C 0028B4AC 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E570 0028B4B0 7D 89 03 A6 */ mtctr r12 -/* 8028E574 0028B4B4 4E 80 04 21 */ bctrl -/* 8028E578 0028B4B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E57C 0028B4BC 40 82 02 34 */ bne .L_8028E7B0 -/* 8028E580 0028B4C0 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E584 0028B4C4 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E588 0028B4C8 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E58C 0028B4CC 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028E590 0028B4D0 7D 89 03 A6 */ mtctr r12 -/* 8028E594 0028B4D4 4E 80 04 21 */ bctrl -/* 8028E598 0028B4D8 90 61 00 54 */ stw r3, 0x54(r1) -.L_8028E59C: -/* 8028E59C 0028B4DC 81 81 00 50 */ lwz r12, 0x50(r1) -/* 8028E5A0 0028B4E0 38 61 00 50 */ addi r3, r1, 0x50 -/* 8028E5A4 0028B4E4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8028E5A8 0028B4E8 7D 89 03 A6 */ mtctr r12 -/* 8028E5AC 0028B4EC 4E 80 04 21 */ bctrl -/* 8028E5B0 0028B4F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E5B4 0028B4F4 41 82 FF 94 */ beq .L_8028E548 -/* 8028E5B8 0028B4F8 48 00 01 F8 */ b .L_8028E7B0 -.L_8028E5BC: -/* 8028E5BC 0028B4FC 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E5C0 0028B500 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E5C4 0028B504 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028E5C8 0028B508 7D 89 03 A6 */ mtctr r12 -/* 8028E5CC 0028B50C 4E 80 04 21 */ bctrl -/* 8028E5D0 0028B510 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E5D4 0028B514 7C 7E 1B 78 */ mr r30, r3 -/* 8028E5D8 0028B518 81 8C 00 A8 */ lwz r12, 0xa8(r12) -/* 8028E5DC 0028B51C 7D 89 03 A6 */ mtctr r12 -/* 8028E5E0 0028B520 4E 80 04 21 */ bctrl -/* 8028E5E4 0028B524 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E5E8 0028B528 41 82 01 0C */ beq .L_8028E6F4 -/* 8028E5EC 0028B52C 7F C3 F3 78 */ mr r3, r30 -/* 8028E5F0 0028B530 4B F1 0F 99 */ bl isStickToMouth__Q24Game8CreatureFv -/* 8028E5F4 0028B534 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E5F8 0028B538 40 82 00 FC */ bne .L_8028E6F4 -/* 8028E5FC 0028B53C 7F C4 F3 78 */ mr r4, r30 -/* 8028E600 0028B540 38 61 00 20 */ addi r3, r1, 0x20 -/* 8028E604 0028B544 81 9E 00 00 */ lwz r12, 0(r30) -/* 8028E608 0028B548 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E60C 0028B54C 7D 89 03 A6 */ mtctr r12 -/* 8028E610 0028B550 4E 80 04 21 */ bctrl -/* 8028E614 0028B554 7F E4 FB 78 */ mr r4, r31 -/* 8028E618 0028B558 C0 41 00 20 */ lfs f2, 0x20(r1) -/* 8028E61C 0028B55C 81 9F 00 00 */ lwz r12, 0(r31) -/* 8028E620 0028B560 38 61 00 2C */ addi r3, r1, 0x2c -/* 8028E624 0028B564 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 8028E628 0028B568 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8028E62C 0028B56C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E630 0028B570 D0 41 00 08 */ stfs f2, 8(r1) -/* 8028E634 0028B574 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8028E638 0028B578 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8028E63C 0028B57C 7D 89 03 A6 */ mtctr r12 -/* 8028E640 0028B580 4E 80 04 21 */ bctrl -/* 8028E644 0028B584 C0 A1 00 2C */ lfs f5, 0x2c(r1) -/* 8028E648 0028B588 3C 60 80 51 */ lis r3, atanTable___5JMath@ha -/* 8028E64C 0028B58C C0 61 00 34 */ lfs f3, 0x34(r1) -/* 8028E650 0028B590 38 63 D1 E0 */ addi r3, r3, atanTable___5JMath@l -/* 8028E654 0028B594 C0 21 00 08 */ lfs f1, 8(r1) -/* 8028E658 0028B598 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8028E65C 0028B59C C0 81 00 30 */ lfs f4, 0x30(r1) -/* 8028E660 0028B5A0 EC 21 28 28 */ fsubs f1, f1, f5 -/* 8028E664 0028B5A4 EC 40 18 28 */ fsubs f2, f0, f3 -/* 8028E668 0028B5A8 D0 A1 00 14 */ stfs f5, 0x14(r1) -/* 8028E66C 0028B5AC D0 81 00 18 */ stfs f4, 0x18(r1) -/* 8028E670 0028B5B0 D0 61 00 1C */ stfs f3, 0x1c(r1) -/* 8028E674 0028B5B4 4B DA 6A 95 */ bl "atan2___Q25JMath18TAtanTable<1024,f>CFff" -/* 8028E678 0028B5B8 48 18 35 59 */ bl roundAng__Ff -/* 8028E67C 0028B5BC 81 9F 00 00 */ lwz r12, 0(r31) -/* 8028E680 0028B5C0 FF 60 08 90 */ fmr f27, f1 -/* 8028E684 0028B5C4 7F E3 FB 78 */ mr r3, r31 -/* 8028E688 0028B5C8 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 8028E68C 0028B5CC 7D 89 03 A6 */ mtctr r12 -/* 8028E690 0028B5D0 4E 80 04 21 */ bctrl -/* 8028E694 0028B5D4 FC 40 08 90 */ fmr f2, f1 -/* 8028E698 0028B5D8 FC 20 D8 90 */ fmr f1, f27 -/* 8028E69C 0028B5DC 48 18 35 61 */ bl angDist__Fff -/* 8028E6A0 0028B5E0 FC 00 0A 10 */ fabs f0, f1 -/* 8028E6A4 0028B5E4 FC 00 00 18 */ frsp f0, f0 -/* 8028E6A8 0028B5E8 FC 00 E8 40 */ fcmpo cr0, f0, f29 -/* 8028E6AC 0028B5EC 4C 40 13 82 */ cror 2, 0, 2 -/* 8028E6B0 0028B5F0 40 82 00 44 */ bne .L_8028E6F4 -/* 8028E6B4 0028B5F4 7F C4 F3 78 */ mr r4, r30 -/* 8028E6B8 0028B5F8 38 61 00 38 */ addi r3, r1, 0x38 -/* 8028E6BC 0028B5FC 81 9E 00 00 */ lwz r12, 0(r30) -/* 8028E6C0 0028B600 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E6C4 0028B604 7D 89 03 A6 */ mtctr r12 -/* 8028E6C8 0028B608 4E 80 04 21 */ bctrl -/* 8028E6CC 0028B60C C0 01 00 40 */ lfs f0, 0x40(r1) -/* 8028E6D0 0028B610 C0 21 00 38 */ lfs f1, 0x38(r1) -/* 8028E6D4 0028B614 EC 1F 00 28 */ fsubs f0, f31, f0 -/* 8028E6D8 0028B618 EC 3E 08 28 */ fsubs f1, f30, f1 -/* 8028E6DC 0028B61C EC 00 00 32 */ fmuls f0, f0, f0 -/* 8028E6E0 0028B620 EC 01 00 7A */ fmadds f0, f1, f1, f0 -/* 8028E6E4 0028B624 FC 00 E0 40 */ fcmpo cr0, f0, f28 -/* 8028E6E8 0028B628 40 80 00 0C */ bge .L_8028E6F4 -/* 8028E6EC 0028B62C 7F C3 F3 78 */ mr r3, r30 -/* 8028E6F0 0028B630 48 00 00 E4 */ b .L_8028E7D4 -.L_8028E6F4: -/* 8028E6F4 0028B634 80 01 00 5C */ lwz r0, 0x5c(r1) -/* 8028E6F8 0028B638 28 00 00 00 */ cmplwi r0, 0 -/* 8028E6FC 0028B63C 40 82 00 24 */ bne .L_8028E720 -/* 8028E700 0028B640 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E704 0028B644 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E708 0028B648 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E70C 0028B64C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028E710 0028B650 7D 89 03 A6 */ mtctr r12 -/* 8028E714 0028B654 4E 80 04 21 */ bctrl -/* 8028E718 0028B658 90 61 00 54 */ stw r3, 0x54(r1) -/* 8028E71C 0028B65C 48 00 00 94 */ b .L_8028E7B0 -.L_8028E720: -/* 8028E720 0028B660 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E724 0028B664 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E728 0028B668 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E72C 0028B66C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028E730 0028B670 7D 89 03 A6 */ mtctr r12 -/* 8028E734 0028B674 4E 80 04 21 */ bctrl -/* 8028E738 0028B678 90 61 00 54 */ stw r3, 0x54(r1) -/* 8028E73C 0028B67C 48 00 00 58 */ b .L_8028E794 -.L_8028E740: -/* 8028E740 0028B680 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E744 0028B684 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E748 0028B688 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E74C 0028B68C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028E750 0028B690 7D 89 03 A6 */ mtctr r12 -/* 8028E754 0028B694 4E 80 04 21 */ bctrl -/* 8028E758 0028B698 7C 64 1B 78 */ mr r4, r3 -/* 8028E75C 0028B69C 80 61 00 5C */ lwz r3, 0x5c(r1) -/* 8028E760 0028B6A0 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E764 0028B6A4 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E768 0028B6A8 7D 89 03 A6 */ mtctr r12 -/* 8028E76C 0028B6AC 4E 80 04 21 */ bctrl -/* 8028E770 0028B6B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E774 0028B6B4 40 82 00 3C */ bne .L_8028E7B0 -/* 8028E778 0028B6B8 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E77C 0028B6BC 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E780 0028B6C0 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E784 0028B6C4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028E788 0028B6C8 7D 89 03 A6 */ mtctr r12 -/* 8028E78C 0028B6CC 4E 80 04 21 */ bctrl -/* 8028E790 0028B6D0 90 61 00 54 */ stw r3, 0x54(r1) -.L_8028E794: -/* 8028E794 0028B6D4 81 81 00 50 */ lwz r12, 0x50(r1) -/* 8028E798 0028B6D8 38 61 00 50 */ addi r3, r1, 0x50 -/* 8028E79C 0028B6DC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8028E7A0 0028B6E0 7D 89 03 A6 */ mtctr r12 -/* 8028E7A4 0028B6E4 4E 80 04 21 */ bctrl -/* 8028E7A8 0028B6E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E7AC 0028B6EC 41 82 FF 94 */ beq .L_8028E740 -.L_8028E7B0: -/* 8028E7B0 0028B6F0 80 61 00 58 */ lwz r3, 0x58(r1) -/* 8028E7B4 0028B6F4 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E7B8 0028B6F8 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8028E7BC 0028B6FC 7D 89 03 A6 */ mtctr r12 -/* 8028E7C0 0028B700 4E 80 04 21 */ bctrl -/* 8028E7C4 0028B704 80 81 00 54 */ lwz r4, 0x54(r1) -/* 8028E7C8 0028B708 7C 04 18 40 */ cmplw r4, r3 -/* 8028E7CC 0028B70C 40 82 FD F0 */ bne .L_8028E5BC -.L_8028E7D0: -/* 8028E7D0 0028B710 38 60 00 00 */ li r3, 0 -.L_8028E7D4: -/* 8028E7D4 0028B714 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 -/* 8028E7D8 0028B718 CB E1 00 B0 */ lfd f31, 0xb0(r1) -/* 8028E7DC 0028B71C E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 -/* 8028E7E0 0028B720 CB C1 00 A0 */ lfd f30, 0xa0(r1) -/* 8028E7E4 0028B724 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 -/* 8028E7E8 0028B728 CB A1 00 90 */ lfd f29, 0x90(r1) -/* 8028E7EC 0028B72C E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0 -/* 8028E7F0 0028B730 CB 81 00 80 */ lfd f28, 0x80(r1) -/* 8028E7F4 0028B734 E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0 -/* 8028E7F8 0028B738 CB 61 00 70 */ lfd f27, 0x70(r1) -/* 8028E7FC 0028B73C 83 E1 00 6C */ lwz r31, 0x6c(r1) -/* 8028E800 0028B740 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 8028E804 0028B744 83 C1 00 68 */ lwz r30, 0x68(r1) -/* 8028E808 0028B748 7C 08 03 A6 */ mtlr r0 -/* 8028E80C 0028B74C 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 8028E810 0028B750 4E 80 00 20 */ blr -.endfn getAttackableTarget__Q34Game5Demon3ObjFv - -.fn catchTarget__Q34Game5Demon3ObjFv, global -/* 8028E814 0028B754 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8028E818 0028B758 7C 08 02 A6 */ mflr r0 -/* 8028E81C 0028B75C 38 80 00 00 */ li r4, 0 -/* 8028E820 0028B760 3C A0 80 4B */ lis r5, "__vt__22Iterator"@ha -/* 8028E824 0028B764 90 01 00 64 */ stw r0, 0x64(r1) -/* 8028E828 0028B768 38 A5 BC B4 */ addi r5, r5, "__vt__22Iterator"@l -/* 8028E82C 0028B76C 28 04 00 00 */ cmplwi r4, 0 -/* 8028E830 0028B770 BF 61 00 4C */ stmw r27, 0x4c(r1) -/* 8028E834 0028B774 7C 7E 1B 78 */ mr r30, r3 -/* 8028E838 0028B778 3B E0 00 00 */ li r31, 0 -/* 8028E83C 0028B77C 80 0D 92 E0 */ lwz r0, naviMgr__4Game@sda21(r13) -/* 8028E840 0028B780 90 81 00 2C */ stw r4, 0x2c(r1) -/* 8028E844 0028B784 90 A1 00 20 */ stw r5, 0x20(r1) -/* 8028E848 0028B788 90 81 00 24 */ stw r4, 0x24(r1) -/* 8028E84C 0028B78C 90 01 00 28 */ stw r0, 0x28(r1) -/* 8028E850 0028B790 40 82 00 20 */ bne .L_8028E870 -/* 8028E854 0028B794 7C 03 03 78 */ mr r3, r0 -/* 8028E858 0028B798 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E85C 0028B79C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8028E860 0028B7A0 7D 89 03 A6 */ mtctr r12 -/* 8028E864 0028B7A4 4E 80 04 21 */ bctrl -/* 8028E868 0028B7A8 90 61 00 24 */ stw r3, 0x24(r1) -/* 8028E86C 0028B7AC 48 00 02 AC */ b .L_8028EB18 -.L_8028E870: -/* 8028E870 0028B7B0 7C 03 03 78 */ mr r3, r0 -/* 8028E874 0028B7B4 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E878 0028B7B8 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8028E87C 0028B7BC 7D 89 03 A6 */ mtctr r12 -/* 8028E880 0028B7C0 4E 80 04 21 */ bctrl -/* 8028E884 0028B7C4 90 61 00 24 */ stw r3, 0x24(r1) -/* 8028E888 0028B7C8 48 00 00 58 */ b .L_8028E8E0 -.L_8028E88C: -/* 8028E88C 0028B7CC 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028E890 0028B7D0 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028E894 0028B7D4 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E898 0028B7D8 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028E89C 0028B7DC 7D 89 03 A6 */ mtctr r12 -/* 8028E8A0 0028B7E0 4E 80 04 21 */ bctrl -/* 8028E8A4 0028B7E4 7C 64 1B 78 */ mr r4, r3 -/* 8028E8A8 0028B7E8 80 61 00 2C */ lwz r3, 0x2c(r1) -/* 8028E8AC 0028B7EC 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E8B0 0028B7F0 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E8B4 0028B7F4 7D 89 03 A6 */ mtctr r12 -/* 8028E8B8 0028B7F8 4E 80 04 21 */ bctrl -/* 8028E8BC 0028B7FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E8C0 0028B800 40 82 02 58 */ bne .L_8028EB18 -/* 8028E8C4 0028B804 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028E8C8 0028B808 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028E8CC 0028B80C 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E8D0 0028B810 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028E8D4 0028B814 7D 89 03 A6 */ mtctr r12 -/* 8028E8D8 0028B818 4E 80 04 21 */ bctrl -/* 8028E8DC 0028B81C 90 61 00 24 */ stw r3, 0x24(r1) -.L_8028E8E0: -/* 8028E8E0 0028B820 81 81 00 20 */ lwz r12, 0x20(r1) -/* 8028E8E4 0028B824 38 61 00 20 */ addi r3, r1, 0x20 -/* 8028E8E8 0028B828 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8028E8EC 0028B82C 7D 89 03 A6 */ mtctr r12 -/* 8028E8F0 0028B830 4E 80 04 21 */ bctrl -/* 8028E8F4 0028B834 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E8F8 0028B838 41 82 FF 94 */ beq .L_8028E88C -/* 8028E8FC 0028B83C 48 00 02 1C */ b .L_8028EB18 -.L_8028E900: -/* 8028E900 0028B840 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028E904 0028B844 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E908 0028B848 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028E90C 0028B84C 7D 89 03 A6 */ mtctr r12 -/* 8028E910 0028B850 4E 80 04 21 */ bctrl -/* 8028E914 0028B854 81 83 00 00 */ lwz r12, 0(r3) -/* 8028E918 0028B858 7C 7C 1B 78 */ mr r28, r3 -/* 8028E91C 0028B85C 81 8C 00 A8 */ lwz r12, 0xa8(r12) -/* 8028E920 0028B860 7D 89 03 A6 */ mtctr r12 -/* 8028E924 0028B864 4E 80 04 21 */ bctrl -/* 8028E928 0028B868 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E92C 0028B86C 41 82 01 30 */ beq .L_8028EA5C -/* 8028E930 0028B870 7F 83 E3 78 */ mr r3, r28 -/* 8028E934 0028B874 4B F1 0C 55 */ bl isStickToMouth__Q24Game8CreatureFv -/* 8028E938 0028B878 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028E93C 0028B87C 40 82 01 20 */ bne .L_8028EA5C -/* 8028E940 0028B880 3B 60 00 00 */ li r27, 0 -/* 8028E944 0028B884 48 00 01 0C */ b .L_8028EA50 -.L_8028E948: -/* 8028E948 0028B888 7F 64 DB 78 */ mr r4, r27 -/* 8028E94C 0028B88C 38 7E 02 C4 */ addi r3, r30, 0x2c4 -/* 8028E950 0028B890 4B EA 9E 29 */ bl getSlot__10MouthSlotsFi -/* 8028E954 0028B894 7C 7D 1B 78 */ mr r29, r3 -/* 8028E958 0028B898 80 03 00 64 */ lwz r0, 0x64(r3) -/* 8028E95C 0028B89C 28 00 00 00 */ cmplwi r0, 0 -/* 8028E960 0028B8A0 40 82 00 EC */ bne .L_8028EA4C -/* 8028E964 0028B8A4 38 81 00 14 */ addi r4, r1, 0x14 -/* 8028E968 0028B8A8 4B EA 9B 61 */ bl "getPosition__13MouthCollPartFR10Vector3" -/* 8028E96C 0028B8AC 7F 84 E3 78 */ mr r4, r28 -/* 8028E970 0028B8B0 38 61 00 08 */ addi r3, r1, 8 -/* 8028E974 0028B8B4 81 9C 00 00 */ lwz r12, 0(r28) -/* 8028E978 0028B8B8 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028E97C 0028B8BC 7D 89 03 A6 */ mtctr r12 -/* 8028E980 0028B8C0 4E 80 04 21 */ bctrl -/* 8028E984 0028B8C4 C0 21 00 18 */ lfs f1, 0x18(r1) -/* 8028E988 0028B8C8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8028E98C 0028B8CC C0 61 00 14 */ lfs f3, 0x14(r1) -/* 8028E990 0028B8D0 EC 81 00 28 */ fsubs f4, f1, f0 -/* 8028E994 0028B8D4 C0 41 00 08 */ lfs f2, 8(r1) -/* 8028E998 0028B8D8 C0 21 00 1C */ lfs f1, 0x1c(r1) -/* 8028E99C 0028B8DC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8028E9A0 0028B8E0 EC 63 10 28 */ fsubs f3, f3, f2 -/* 8028E9A4 0028B8E4 EC 84 01 32 */ fmuls f4, f4, f4 -/* 8028E9A8 0028B8E8 EC 41 00 28 */ fsubs f2, f1, f0 -/* 8028E9AC 0028B8EC C0 02 D5 DC */ lfs f0, lbl_8051B93C@sda21(r2) -/* 8028E9B0 0028B8F0 EC 23 20 FA */ fmadds f1, f3, f3, f4 -/* 8028E9B4 0028B8F4 EC 42 00 B2 */ fmuls f2, f2, f2 -/* 8028E9B8 0028B8F8 EC 22 08 2A */ fadds f1, f2, f1 -/* 8028E9BC 0028B8FC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028E9C0 0028B900 40 81 00 14 */ ble .L_8028E9D4 -/* 8028E9C4 0028B904 40 81 00 14 */ ble .L_8028E9D8 -/* 8028E9C8 0028B908 FC 00 08 34 */ frsqrte f0, f1 -/* 8028E9CC 0028B90C EC 20 00 72 */ fmuls f1, f0, f1 -/* 8028E9D0 0028B910 48 00 00 08 */ b .L_8028E9D8 -.L_8028E9D4: -/* 8028E9D4 0028B914 FC 20 00 90 */ fmr f1, f0 -.L_8028E9D8: -/* 8028E9D8 0028B918 C0 1D 00 1C */ lfs f0, 0x1c(r29) -/* 8028E9DC 0028B91C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028E9E0 0028B920 40 80 00 6C */ bge .L_8028EA4C -/* 8028E9E4 0028B924 3C 80 80 4B */ lis r4, __vt__Q24Game11Interaction@ha -/* 8028E9E8 0028B928 3C 60 80 4B */ lis r3, __vt__Q24Game14InteractAttack@ha -/* 8028E9EC 0028B92C 38 04 A3 00 */ addi r0, r4, __vt__Q24Game11Interaction@l -/* 8028E9F0 0028B930 3C 80 80 4B */ lis r4, __vt__Q24Game15InteractSwallow@ha -/* 8028E9F4 0028B934 90 01 00 30 */ stw r0, 0x30(r1) -/* 8028E9F8 0028B938 38 03 4D E0 */ addi r0, r3, __vt__Q24Game14InteractAttack@l -/* 8028E9FC 0028B93C C0 02 D5 E0 */ lfs f0, lbl_8051B940@sda21(r2) -/* 8028EA00 0028B940 3C 60 80 4C */ lis r3, __vt__Q24Game13InteractSarai@ha -/* 8028EA04 0028B944 90 01 00 30 */ stw r0, 0x30(r1) -/* 8028EA08 0028B948 38 84 4D BC */ addi r4, r4, __vt__Q24Game15InteractSwallow@l -/* 8028EA0C 0028B94C 38 A0 00 00 */ li r5, 0 -/* 8028EA10 0028B950 38 03 86 44 */ addi r0, r3, __vt__Q24Game13InteractSarai@l -/* 8028EA14 0028B954 90 81 00 30 */ stw r4, 0x30(r1) -/* 8028EA18 0028B958 7F 83 E3 78 */ mr r3, r28 -/* 8028EA1C 0028B95C 38 81 00 30 */ addi r4, r1, 0x30 -/* 8028EA20 0028B960 93 C1 00 34 */ stw r30, 0x34(r1) -/* 8028EA24 0028B964 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8028EA28 0028B968 93 A1 00 3C */ stw r29, 0x3c(r1) -/* 8028EA2C 0028B96C 90 A1 00 40 */ stw r5, 0x40(r1) -/* 8028EA30 0028B970 90 01 00 30 */ stw r0, 0x30(r1) -/* 8028EA34 0028B974 81 9C 00 00 */ lwz r12, 0(r28) -/* 8028EA38 0028B978 81 8C 01 A4 */ lwz r12, 0x1a4(r12) -/* 8028EA3C 0028B97C 7D 89 03 A6 */ mtctr r12 -/* 8028EA40 0028B980 4E 80 04 21 */ bctrl -/* 8028EA44 0028B984 3B FF 00 01 */ addi r31, r31, 1 -/* 8028EA48 0028B988 48 00 00 14 */ b .L_8028EA5C -.L_8028EA4C: -/* 8028EA4C 0028B98C 3B 7B 00 01 */ addi r27, r27, 1 -.L_8028EA50: -/* 8028EA50 0028B990 80 1E 02 C4 */ lwz r0, 0x2c4(r30) -/* 8028EA54 0028B994 7C 1B 00 00 */ cmpw r27, r0 -/* 8028EA58 0028B998 41 80 FE F0 */ blt .L_8028E948 -.L_8028EA5C: -/* 8028EA5C 0028B99C 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8028EA60 0028B9A0 28 00 00 00 */ cmplwi r0, 0 -/* 8028EA64 0028B9A4 40 82 00 24 */ bne .L_8028EA88 -/* 8028EA68 0028B9A8 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028EA6C 0028B9AC 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028EA70 0028B9B0 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EA74 0028B9B4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028EA78 0028B9B8 7D 89 03 A6 */ mtctr r12 -/* 8028EA7C 0028B9BC 4E 80 04 21 */ bctrl -/* 8028EA80 0028B9C0 90 61 00 24 */ stw r3, 0x24(r1) -/* 8028EA84 0028B9C4 48 00 00 94 */ b .L_8028EB18 -.L_8028EA88: -/* 8028EA88 0028B9C8 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028EA8C 0028B9CC 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028EA90 0028B9D0 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EA94 0028B9D4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028EA98 0028B9D8 7D 89 03 A6 */ mtctr r12 -/* 8028EA9C 0028B9DC 4E 80 04 21 */ bctrl -/* 8028EAA0 0028B9E0 90 61 00 24 */ stw r3, 0x24(r1) -/* 8028EAA4 0028B9E4 48 00 00 58 */ b .L_8028EAFC -.L_8028EAA8: -/* 8028EAA8 0028B9E8 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028EAAC 0028B9EC 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028EAB0 0028B9F0 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EAB4 0028B9F4 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 8028EAB8 0028B9F8 7D 89 03 A6 */ mtctr r12 -/* 8028EABC 0028B9FC 4E 80 04 21 */ bctrl -/* 8028EAC0 0028BA00 7C 64 1B 78 */ mr r4, r3 -/* 8028EAC4 0028BA04 80 61 00 2C */ lwz r3, 0x2c(r1) -/* 8028EAC8 0028BA08 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EACC 0028BA0C 81 8C 00 08 */ lwz r12, 8(r12) -/* 8028EAD0 0028BA10 7D 89 03 A6 */ mtctr r12 -/* 8028EAD4 0028BA14 4E 80 04 21 */ bctrl -/* 8028EAD8 0028BA18 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028EADC 0028BA1C 40 82 00 3C */ bne .L_8028EB18 -/* 8028EAE0 0028BA20 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028EAE4 0028BA24 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028EAE8 0028BA28 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EAEC 0028BA2C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8028EAF0 0028BA30 7D 89 03 A6 */ mtctr r12 -/* 8028EAF4 0028BA34 4E 80 04 21 */ bctrl -/* 8028EAF8 0028BA38 90 61 00 24 */ stw r3, 0x24(r1) -.L_8028EAFC: -/* 8028EAFC 0028BA3C 81 81 00 20 */ lwz r12, 0x20(r1) -/* 8028EB00 0028BA40 38 61 00 20 */ addi r3, r1, 0x20 -/* 8028EB04 0028BA44 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8028EB08 0028BA48 7D 89 03 A6 */ mtctr r12 -/* 8028EB0C 0028BA4C 4E 80 04 21 */ bctrl -/* 8028EB10 0028BA50 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028EB14 0028BA54 41 82 FF 94 */ beq .L_8028EAA8 -.L_8028EB18: -/* 8028EB18 0028BA58 80 61 00 28 */ lwz r3, 0x28(r1) -/* 8028EB1C 0028BA5C 81 83 00 00 */ lwz r12, 0(r3) -/* 8028EB20 0028BA60 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8028EB24 0028BA64 7D 89 03 A6 */ mtctr r12 -/* 8028EB28 0028BA68 4E 80 04 21 */ bctrl -/* 8028EB2C 0028BA6C 80 81 00 24 */ lwz r4, 0x24(r1) -/* 8028EB30 0028BA70 7C 04 18 40 */ cmplw r4, r3 -/* 8028EB34 0028BA74 40 82 FD CC */ bne .L_8028E900 -/* 8028EB38 0028BA78 7F E3 FB 78 */ mr r3, r31 -/* 8028EB3C 0028BA7C BB 61 00 4C */ lmw r27, 0x4c(r1) -/* 8028EB40 0028BA80 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8028EB44 0028BA84 7C 08 03 A6 */ mtlr r0 -/* 8028EB48 0028BA88 38 21 00 60 */ addi r1, r1, 0x60 -/* 8028EB4C 0028BA8C 4E 80 00 20 */ blr -.endfn catchTarget__Q34Game5Demon3ObjFv - -.fn getEnemyTypeID__Q34Game5Demon3ObjFv, weak -/* 8028EB50 0028BA90 38 60 00 20 */ li r3, 0x20 -/* 8028EB54 0028BA94 4E 80 00 20 */ blr -.endfn getEnemyTypeID__Q34Game5Demon3ObjFv - -.fn getStickPikminNum__Q34Game5Demon3ObjFv, weak -/* 8028EB58 0028BA98 80 63 01 F4 */ lwz r3, 0x1f4(r3) -/* 8028EB5C 0028BA9C 4E 80 00 20 */ blr -.endfn getStickPikminNum__Q34Game5Demon3ObjFv - -.fn resetAttackableTimer__Q34Game5Demon3ObjFf, weak -/* 8028EB60 0028BAA0 D0 23 02 D8 */ stfs f1, 0x2d8(r3) -/* 8028EB64 0028BAA4 4E 80 00 20 */ blr -.endfn resetAttackableTimer__Q34Game5Demon3ObjFf diff --git a/configure.py b/configure.py index 3e057b162..52f2e26a2 100755 --- a/configure.py +++ b/configure.py @@ -1140,7 +1140,7 @@ LIBS = [ ["plugProjectNishimuraU/BabyMgr", True], ["plugProjectNishimuraU/Baby", True], ["plugProjectNishimuraU/DemonMgr", True], - "plugProjectNishimuraU/Demon", + ["plugProjectNishimuraU/Demon", True], ["plugProjectNishimuraU/QueenShadow", True], ["plugProjectNishimuraU/FireChappyMgr", True], ["plugProjectNishimuraU/FireChappy", True], diff --git a/docs/recommended_todo.md b/docs/recommended_todo.md index 528bb2fb7..73b8eb25c 100644 --- a/docs/recommended_todo.md +++ b/docs/recommended_todo.md @@ -98,7 +98,7 @@ | cellIterator.cpp | 8953 | mapMgrTraceMove.cpp | 9030 | | itemBarrel.cpp | 11135 | aiBreakGate.cpp | 13918 | | flockMgr.cpp | 13955 | itemTreasure.cpp | 14277 | -| aiBattle.cpp | 15754 | naviWhistle.cpp | 16686 | +| naviWhistle.cpp | 16686 | aiBattle.cpp | 17396 | | creatureLOD.cpp | 18468 | texCaster.cpp | 20776 | | aiRescue.cpp | 21024 | gameResultTexMgr.cpp | 21442 | | singleGS_CaveResult.cpp | 22846 | aiCrop.cpp | 26982 | @@ -136,24 +136,22 @@ | ---- | ---- | ---- | ---- | | nslibmath.cpp | 4592 | Tadpole.cpp | 6758 | | TyreShadow.cpp | 7186 | UmimushiShadow.cpp | 7439 | -| MaroFrog.cpp | 7517 | Demon.cpp | 8092 | -| SnakeJointMgr.cpp | 10097 | ContRumble.cpp | 12389 | -| BabyState.cpp | 12965 | Tank.cpp | 13328 | -| JointShadowBase.cpp | 14958 | Sarai.cpp | 15257 | -| ElecBugState.cpp | 15381 | Kogane.cpp | 15652 | -| RandMapMgr.cpp | 17083 | TadpoleState.cpp | 17799 | -| OtakaraBase.cpp | 18394 | FuefukiState.cpp | 19005 | -| SnakeWholeShadow.cpp | 19376 | SnakeCrowShadow.cpp | 19385 | -| ImomushiState.cpp | 19837 | UjiaState.cpp | 20959 | -| RumbleMgr.cpp | 21534 | Rock.cpp | 21766 | -| ElecHiba.cpp | 21841 | QueenState.cpp | 22549 | -| ElecBug.cpp | 24345 | ArmorState.cpp | 24720 | -| SaraiState.cpp | 24929 | TobiState.cpp | 24992 | -| UjibState.cpp | 25560 | Armor.cpp | 28880 | -| TankState.cpp | 29299 | RandItemUnit.cpp | 29622 | -| IKSystemBase.cpp | 30077 | FrogState.cpp | 30870 | -| BigTreasureShadow.cpp | 32354 | MarState.cpp | 33440 | -| KumaChappy.cpp | 35434 | +| MaroFrog.cpp | 7517 | SnakeJointMgr.cpp | 10097 | +| ContRumble.cpp | 12389 | BabyState.cpp | 12965 | +| Tank.cpp | 13328 | JointShadowBase.cpp | 14958 | +| Sarai.cpp | 15257 | ElecBugState.cpp | 15381 | +| Kogane.cpp | 15652 | RandMapMgr.cpp | 17083 | +| TadpoleState.cpp | 17799 | OtakaraBase.cpp | 18394 | +| FuefukiState.cpp | 19005 | SnakeWholeShadow.cpp | 19376 | +| SnakeCrowShadow.cpp | 19385 | ImomushiState.cpp | 19837 | +| UjiaState.cpp | 20959 | RumbleMgr.cpp | 21534 | +| Rock.cpp | 21766 | ElecHiba.cpp | 21841 | +| QueenState.cpp | 22549 | ElecBug.cpp | 24345 | +| ArmorState.cpp | 24720 | SaraiState.cpp | 24929 | +| TobiState.cpp | 24992 | UjibState.cpp | 25560 | +| Armor.cpp | 28880 | TankState.cpp | 29299 | +| RandItemUnit.cpp | 29622 | IKSystemBase.cpp | 30077 | +| FrogState.cpp | 30870 | BigTreasureShadow.cpp | 32354 | ###
plugProjectOgawaU
| File | Size (bytes) | File | Size (bytes) | diff --git a/include/Game/Entities/DangoMushi.h b/include/Game/Entities/DangoMushi.h index 4546bf7d3..a303c4b0b 100644 --- a/include/Game/Entities/DangoMushi.h +++ b/include/Game/Entities/DangoMushi.h @@ -75,7 +75,7 @@ struct Obj : public EnemyBase { void rollingMove(); void createCrashEnemy(); int getFallEggNum(); - void getFallPosition(int); + Vector3f getFallPosition(int); void setupCollision(); void setBodyCollision(bool); void flickHandCollision(Creature*); diff --git a/src/plugProjectKandoU/aiBattle.cpp b/src/plugProjectKandoU/aiBattle.cpp index 149d69d45..eb583c030 100644 --- a/src/plugProjectKandoU/aiBattle.cpp +++ b/src/plugProjectKandoU/aiBattle.cpp @@ -290,7 +290,7 @@ void ActBattle::onKeyEvent(SysShape::KeyEvent const& event) } return; case KEYEVENT_2: { - PikiAI::ActBattle * battle; + PikiAI::ActBattle* battle; if (mOther && mOther->getCurrActionID() == PikiAI::ACT_Battle) { battle = static_cast(mOther->getCurrAction()); } else { diff --git a/src/plugProjectKandoU/navi_demoCheck.cpp b/src/plugProjectKandoU/navi_demoCheck.cpp index 5e02dfbed..051e2fd20 100644 --- a/src/plugProjectKandoU/navi_demoCheck.cpp +++ b/src/plugProjectKandoU/navi_demoCheck.cpp @@ -226,7 +226,7 @@ bool Navi::demoCheck() Vector3f peltPos = pelt->getPosition(); Sys::Sphere bound(peltPos, pelt->getBottomRadius() + FindGlobeTreasureTriggerSize); // only the two globe treasures should check if a captain/pikmin is near, others play instantly - if (id == 10 || id == 11) { // TODO: use enum for explorer kit treasures + if (id == OlimarData::ODII_SphericalAtlas || id == OlimarData::ODII_GeographicProjection) { check = true; } bool check2 = false; diff --git a/src/plugProjectNishimuraU/DangoMushi.cpp b/src/plugProjectNishimuraU/DangoMushi.cpp index 786922c6f..b8765138d 100644 --- a/src/plugProjectNishimuraU/DangoMushi.cpp +++ b/src/plugProjectNishimuraU/DangoMushi.cpp @@ -5,6 +5,7 @@ #include "Game/PikiMgr.h" #include "Game/Navi.h" #include "Game/CPlate.h" +#include "Game/Stickers.h" #include "Dolphin/rand.h" #include "PSSystem/PSMainSide_ObjSound.h" @@ -259,7 +260,7 @@ void Obj::wallCallback(const MoveInfo& mvInfo) if (mIsRolling) { Vector3f velocity = _2DC; f32 speed = _normalise2(velocity); - if (speed > 100.0f && dot(velocity, mvInfo.mReflectPosition) < 0.5f) { + if (speed > 100.0f && dot(velocity, mvInfo.mReflectPosition) < -0.5f) { createBodyWallCrashEffect(mvInfo.mReflectPosition); mFsm->transit(this, DANGOMUSHI_Turn, nullptr); } @@ -433,7 +434,7 @@ void Obj::rollingMove() Vector3f vel(mCurrentVelocity); vel.y = 0.0f; - if (_lenVec(vel) < 100.0f) { + if (vel.length() < 100.0f) { _2C4 += 5.0f * sys->mDeltaTime; } else { _2C4 += 3.0f * sys->mDeltaTime; @@ -1023,80 +1024,23 @@ int Obj::getFallEggNum() * Address: 802FD960 * Size: 000104 */ -void Obj::getFallPosition(int) +Vector3f Obj::getFallPosition(int p1) { - /* - stwu r1, -0x60(r1) - mflr r0 - stw r0, 0x64(r1) - stfd f31, 0x50(r1) - psq_st f31, 88(r1), 0, qr0 - stfd f30, 0x40(r1) - psq_st f30, 72(r1), 0, qr0 - stfd f29, 0x30(r1) - psq_st f29, 56(r1), 0, qr0 - stw r31, 0x2c(r1) - stw r30, 0x28(r1) - mr r31, r4 - cmpwi r5, 0 - lfs f31, 0x198(r4) - mr r30, r3 - lfs f30, 0x19c(r4) - lfs f29, 0x1a0(r4) - bne lbl_802FDA28 - lwz r3, naviMgr__4Game@sda21(r13) - bl getActiveNavi__Q24Game7NaviMgrFv - cmplwi r3, 0 - beq lbl_802FD9E0 - mr r4, r3 - addi r3, r1, 0x14 - lwz r12, 0(r4) - lwz r12, 8(r12) - mtctr r12 - bctrl - lfs f31, 0x14(r1) - lfs f30, 0x18(r1) - lfs f29, 0x1c(r1) - b lbl_802FDA28 + Vector3f fallPos = mHomePosition; -lbl_802FD9E0: - lfs f1, lbl_8051D404@sda21(r2) - mr r3, r31 - lfs f2, lbl_8051D454@sda21(r2) - li r4, 0 - li r5, 0 - li r6, 0 - bl -"getNearestPikminOrNavi__Q24Game9EnemyFuncFPQ24Game8CreatureffPfP23ConditionP23Condition" - cmplwi r3, 0 - beq lbl_802FDA28 - mr r4, r3 - addi r3, r1, 8 - lwz r12, 0(r4) - lwz r12, 8(r12) - mtctr r12 - bctrl - lfs f31, 8(r1) - lfs f30, 0xc(r1) - lfs f29, 0x10(r1) + if (p1 == 0) { + Navi* navi = naviMgr->getActiveNavi(); + if (navi) { + fallPos = navi->getPosition(); + } else { + Creature* target = EnemyFunc::getNearestPikminOrNavi(this, 180.0f, 500.0f, nullptr, nullptr, nullptr); + if (target) { + fallPos = target->getPosition(); + } + } + } -lbl_802FDA28: - stfs f31, 0(r30) - stfs f30, 4(r30) - stfs f29, 8(r30) - psq_l f31, 88(r1), 0, qr0 - lfd f31, 0x50(r1) - psq_l f30, 72(r1), 0, qr0 - lfd f30, 0x40(r1) - psq_l f29, 56(r1), 0, qr0 - lfd f29, 0x30(r1) - lwz r31, 0x2c(r1) - lwz r0, 0x64(r1) - lwz r30, 0x28(r1) - mtlr r0 - addi r1, r1, 0x60 - blr - */ + return fallPos; } /* @@ -1117,317 +1061,43 @@ void Obj::setupCollision() * Address: 802FDA9C * Size: 000444 */ -void Obj::setBodyCollision(bool) +void Obj::setBodyCollision(bool check) { - /* - stwu r1, -0xd0(r1) - mflr r0 - stw r0, 0xd4(r1) - stfd f31, 0xc0(r1) - psq_st f31, 200(r1), 0, qr0 - stfd f30, 0xb0(r1) - psq_st f30, 184(r1), 0, qr0 - stfd f29, 0xa0(r1) - psq_st f29, 168(r1), 0, qr0 - stmw r25, 0x84(r1) - lwz r5, lbl_8051D458@sda21(r2) - mr r25, r4 - lwz r0, lbl_8051D45C@sda21(r2) - mr r31, r3 - stw r5, 8(r1) - addi r27, r1, 8 - clrlwi r28, r4, 0x18 - li r26, 0 - stw r0, 0xc(r1) - lis r29, 0x5f74 - lis r30, 0x7374 + u32 collTags[2] = { 'bod0', 'bod1' }; -lbl_802FDAF0: - lwz r3, 0x114(r31) - lwz r4, 0(r27) - bl getCollPart__8CollTreeFUl - cmplwi r3, 0 - beq lbl_802FDB1C - cmplwi r28, 0 - beq lbl_802FDB1C - addi r3, r3, 0x3c - addi r4, r29, 0x5f5f - bl __as__4ID32FUl - b lbl_802FDB28 + for (int i = 0; i < 2; i++) { + CollPart* part = mCollTree->getCollPart(collTags[i]); + if (part && check) { + part->mSpecialID = '_t__'; + } else { + part->mSpecialID = 'st__'; + } + } -lbl_802FDB1C: - addi r3, r3, 0x3c - addi r4, r30, 0x5f5f - bl __as__4ID32FUl + if (check && mStuckPikminCount != 0 && !(mHealth <= 0.0f)) { + f32 angle = PI + mFaceDir; + Vector3f vec; + vec.x = 150.0f * pikmin2_sinf(mFaceDir); + vec.y = 150.0f; + vec.z = 150.0f * pikmin2_cosf(mFaceDir); -lbl_802FDB28: - addi r26, r26, 1 - addi r27, r27, 4 - cmpwi r26, 2 - blt lbl_802FDAF0 - clrlwi. r0, r25, 0x18 - beq lbl_802FDEB4 - lwz r0, 0x1f4(r31) - cmpwi r0, 0 - beq lbl_802FDEB4 - lfs f0, 0x200(r31) - lfs f1, lbl_8051D3A8@sda21(r2) - fcmpo cr0, f0, f1 - cror 2, 0, 2 - beq lbl_802FDEB4 - lfs f3, 0x1fc(r31) - lfs f0, lbl_8051D3E4@sda21(r2) - fcmpo cr0, f3, f1 - lfs f2, lbl_8051D460@sda21(r2) - fadds f31, f0, f3 - bge lbl_802FDBA4 - lfs f0, lbl_8051D3F0@sda21(r2) - lis r3, sincosTable___5JMath@ha - addi r3, r3, sincosTable___5JMath@l - fmuls f0, f3, f0 - fctiwz f0, f0 - stfd f0, 0x68(r1) - lwz r0, 0x6c(r1) - rlwinm r0, r0, 3, 0x12, 0x1c - lfsx f0, r3, r0 - fneg f1, f0 - b lbl_802FDBC8 - -lbl_802FDBA4: - lfs f0, lbl_8051D3EC@sda21(r2) - lis r3, sincosTable___5JMath@ha - addi r3, r3, sincosTable___5JMath@l - fmuls f0, f3, f0 - fctiwz f0, f0 - stfd f0, 0x70(r1) - lwz r0, 0x74(r1) - rlwinm r0, r0, 3, 0x12, 0x1c - lfsx f1, r3, r0 - -lbl_802FDBC8: - lfs f0, lbl_8051D3A8@sda21(r2) - fmuls f30, f2, f1 - fcmpo cr0, f3, f0 - bge lbl_802FDBDC - fneg f3, f3 - -lbl_802FDBDC: - lfs f0, lbl_8051D3EC@sda21(r2) - lis r3, sincosTable___5JMath@ha - addi r5, r3, sincosTable___5JMath@l - lfs f1, lbl_8051D460@sda21(r2) - fmuls f0, f3, f0 - mr r4, r31 - addi r3, r1, 0x4c - fctiwz f0, f0 - stfd f0, 0x78(r1) - lwz r0, 0x7c(r1) - rlwinm r0, r0, 3, 0x12, 0x1c - add r5, r5, r0 - lfs f0, 4(r5) - fmuls f29, f1, f0 - bl __ct__Q24Game8StickersFPQ24Game8Creature - li r0, 0 - lis r3, "__vt__26Iterator"@ha - addi r4, r3, "__vt__26Iterator"@l - addi r3, r1, 0x4c - cmplwi r0, 0 - stw r4, 0x10(r1) - stw r0, 0x1c(r1) - stw r0, 0x14(r1) - stw r3, 0x18(r1) - bne lbl_802FDC58 - lwz r12, 0(r3) - lwz r12, 0x18(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - b lbl_802FDE88 - -lbl_802FDC58: - lwz r12, 0(r3) - lwz r12, 0x18(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - b lbl_802FDCC4 - -lbl_802FDC70: - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - mr r4, r3 - lwz r3, 0x1c(r1) - lwz r12, 0(r3) - lwz r12, 8(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - bne lbl_802FDE88 - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - -lbl_802FDCC4: - lwz r12, 0x10(r1) - addi r3, r1, 0x10 - lwz r12, 0x10(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_802FDC70 - b lbl_802FDE88 - -lbl_802FDCE4: - lwz r3, 0x18(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - lwz r12, 0(r3) - mr r28, r3 - lwz r12, 0x18(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_802FDDCC - lbz r0, 0x2b8(r28) - cmpwi r0, 3 - bne lbl_802FDD70 - lwz r6, 0xc0(r31) - lis r5, __vt__Q24Game11Interaction@ha - lis r4, __vt__Q24Game13InteractFlick@ha - mr r3, r28 - lfs f1, 0x4ec(r6) - addi r5, r5, __vt__Q24Game11Interaction@l - lfs f0, 0x4c4(r6) - addi r0, r4, __vt__Q24Game13InteractFlick@l - addi r4, r1, 0x38 - stw r5, 0x38(r1) - stw r31, 0x3c(r1) - stw r0, 0x38(r1) - stfs f0, 0x40(r1) - stfs f1, 0x44(r1) - stfs f31, 0x48(r1) - lwz r12, 0(r28) - lwz r12, 0x1a4(r12) - mtctr r12 - bctrl - b lbl_802FDDCC - -lbl_802FDD70: - lwz r6, 0xc0(r31) - lis r5, __vt__Q24Game11Interaction@ha - lis r4, __vt__Q24Game12InteractWind@ha - lis r3, __vt__Q24Game20InteractHanaChirashi@ha - lfs f1, 0x604(r6) - addi r0, r5, __vt__Q24Game11Interaction@l - lfs f0, lbl_8051D460@sda21(r2) - addi r5, r4, __vt__Q24Game12InteractWind@l - stw r0, 0x20(r1) - addi r0, r3, __vt__Q24Game20InteractHanaChirashi@l - mr r3, r28 - addi r4, r1, 0x20 - stw r5, 0x20(r1) - stw r31, 0x24(r1) - stfs f1, 0x28(r1) - stfs f30, 0x2c(r1) - stfs f0, 0x30(r1) - stfs f29, 0x34(r1) - stw r0, 0x20(r1) - lwz r12, 0(r28) - lwz r12, 0x1a4(r12) - mtctr r12 - bctrl - -lbl_802FDDCC: - lwz r0, 0x1c(r1) - cmplwi r0, 0 - bne lbl_802FDDF8 - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - b lbl_802FDE88 - -lbl_802FDDF8: - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - b lbl_802FDE6C - -lbl_802FDE18: - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - mr r4, r3 - lwz r3, 0x1c(r1) - lwz r12, 0(r3) - lwz r12, 8(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - bne lbl_802FDE88 - lwz r3, 0x18(r1) - lwz r4, 0x14(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x14(r1) - -lbl_802FDE6C: - lwz r12, 0x10(r1) - addi r3, r1, 0x10 - lwz r12, 0x10(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_802FDE18 - -lbl_802FDE88: - lwz r3, 0x18(r1) - lwz r12, 0(r3) - lwz r12, 0x1c(r12) - mtctr r12 - bctrl - lwz r4, 0x14(r1) - cmplw r4, r3 - bne lbl_802FDCE4 - addi r3, r1, 0x4c - li r4, -1 - bl __dt__Q24Game8StickersFv - -lbl_802FDEB4: - psq_l f31, 200(r1), 0, qr0 - lfd f31, 0xc0(r1) - psq_l f30, 184(r1), 0, qr0 - lfd f30, 0xb0(r1) - psq_l f29, 168(r1), 0, qr0 - lfd f29, 0xa0(r1) - lmw r25, 0x84(r1) - lwz r0, 0xd4(r1) - mtlr r0 - addi r1, r1, 0xd0 - blr - */ + Stickers stickers(this); + Iterator iter(&stickers); + CI_LOOP(iter) + { + Creature* stuck = *iter; + if (stuck->isPiki()) { + int pikiColor = static_cast(stuck)->mPikiKind; + if (pikiColor == Purple) { + InteractFlick flick(this, C_PARMS->mGeneral.mShakeKnockback.mValue, C_PARMS->mGeneral.mShakeDamage.mValue, angle); + stuck->stimulate(flick); + } else { + InteractHanaChirashi wilt(this, C_PARMS->mGeneral.mAttackDamage.mValue, &vec); + stuck->stimulate(wilt); + } + } + } + } } /* diff --git a/src/plugProjectNishimuraU/Demon.cpp b/src/plugProjectNishimuraU/Demon.cpp index 152838663..da0852eab 100644 --- a/src/plugProjectNishimuraU/Demon.cpp +++ b/src/plugProjectNishimuraU/Demon.cpp @@ -21,11 +21,9 @@ FakePiki* Obj::getAttackableTarget() if (mAttackTimer > 3.0f) { Vector3f pos = getPosition(); - Sarai::Parms* parms = static_cast(mParms); - f32 radius = parms->mGeneral.mTerritoryRadius.mValue; - if (sqrDistanceXZ(pos, mHomePosition) < radius * radius) { - f32 max = parms->mGeneral.mSightRadius.mValue * parms->mGeneral.mSightRadius.mValue; - f32 fov = parms->mGeneral.mFov.mValue * DEG2RAD * PI; + if (sqrDistanceXZ(pos, mHomePosition) < SQUARE(*static_cast(mParms)->mGeneral.mTerritoryRadius())) { + f32 fov = PI * (DEG2RAD * *static_cast(mParms)->mGeneral.mViewAngle()); + f32 max = SQUARE(*static_cast(mParms)->mGeneral.mSightRadius()); Iterator iter(naviMgr); Navi* navi; @@ -33,14 +31,7 @@ FakePiki* Obj::getAttackableTarget() { navi = (*iter); if (navi->isAlive() && !navi->isStickToMouth()) { - - Vector3f Navipos = navi->getPosition(); - volatile f32 x = Navipos.x; - volatile f32 z = Navipos.z; - volatile Vector3f Objpos = getPosition(); - f32 ang = JMath::atanTable_.atan2_(Objpos.x - x, Objpos.z - z); - ang = roundAng(ang); - ang = angDist(ang, getFaceDir()); + f32 ang = getAngDist(navi); if (FABS(ang) <= fov) { Vector3f Navipos2 = navi->getPosition(); if (sqrDistanceXZ(pos, Navipos2) < max) { @@ -52,282 +43,6 @@ FakePiki* Obj::getAttackableTarget() } } return nullptr; - /* - stwu r1, -0xc0(r1) - mflr r0 - stw r0, 0xc4(r1) - stfd f31, 0xb0(r1) - psq_st f31, 184(r1), 0, qr0 - stfd f30, 0xa0(r1) - psq_st f30, 168(r1), 0, qr0 - stfd f29, 0x90(r1) - psq_st f29, 152(r1), 0, qr0 - stfd f28, 0x80(r1) - psq_st f28, 136(r1), 0, qr0 - stfd f27, 0x70(r1) - psq_st f27, 120(r1), 0, qr0 - stw r31, 0x6c(r1) - stw r30, 0x68(r1) - lwz r4, sys@sda21(r13) - mr r31, r3 - lfs f2, 0x2d8(r3) - lfs f1, 0x54(r4) - lfs f0, lbl_8051B930@sda21(r2) - fadds f1, f2, f1 - stfs f1, 0x2d8(r3) - lfs f1, 0x2d8(r3) - fcmpo cr0, f1, f0 - ble lbl_8028E7D0 - mr r4, r31 - addi r3, r1, 0x44 - lwz r12, 0(r31) - lwz r12, 8(r12) - mtctr r12 - bctrl - lfs f31, 0x4c(r1) - lfs f0, 0x1a0(r31) - lwz r4, 0xc0(r31) - fsubs f2, f31, f0 - lfs f30, 0x44(r1) - lfs f1, 0x198(r31) - lfs f0, 0x35c(r4) - fsubs f3, f30, f1 - fmuls f1, f2, f2 - fmuls f0, f0, f0 - fmadds f1, f3, f3, f1 - fcmpo cr0, f1, f0 - bge lbl_8028E7D0 - lfs f2, lbl_8051B938@sda21(r2) - lis r3, "__vt__22Iterator"@ha - lfs f1, 0x424(r4) - li r0, 0 - lfs f0, 0x3d4(r4) - addi r4, r3, "__vt__22Iterator"@l - fmuls f1, f2, f1 - lfs f2, lbl_8051B934@sda21(r2) - lwz r3, naviMgr__4Game@sda21(r13) - cmplwi r0, 0 - fmuls f28, f0, f0 - stw r4, 0x50(r1) - fmuls f29, f2, f1 - stw r0, 0x5c(r1) - stw r0, 0x54(r1) - stw r3, 0x58(r1) - bne lbl_8028E530 - lwz r12, 0(r3) - lwz r12, 0x18(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - b lbl_8028E7B0 - -lbl_8028E530: - lwz r12, 0(r3) - lwz r12, 0x18(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - b lbl_8028E59C - -lbl_8028E548: - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - mr r4, r3 - lwz r3, 0x5c(r1) - lwz r12, 0(r3) - lwz r12, 8(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - bne lbl_8028E7B0 - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - -lbl_8028E59C: - lwz r12, 0x50(r1) - addi r3, r1, 0x50 - lwz r12, 0x10(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_8028E548 - b lbl_8028E7B0 - -lbl_8028E5BC: - lwz r3, 0x58(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - lwz r12, 0(r3) - mr r30, r3 - lwz r12, 0xa8(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_8028E6F4 - mr r3, r30 - bl isStickToMouth__Q24Game8CreatureFv - clrlwi. r0, r3, 0x18 - bne lbl_8028E6F4 - mr r4, r30 - addi r3, r1, 0x20 - lwz r12, 0(r30) - lwz r12, 8(r12) - mtctr r12 - bctrl - mr r4, r31 - lfs f2, 0x20(r1) - lwz r12, 0(r31) - addi r3, r1, 0x2c - lfs f1, 0x24(r1) - lfs f0, 0x28(r1) - lwz r12, 8(r12) - stfs f2, 8(r1) - stfs f1, 0xc(r1) - stfs f0, 0x10(r1) - mtctr r12 - bctrl - lfs f5, 0x2c(r1) - lis r3, atanTable___5JMath@ha - lfs f3, 0x34(r1) - addi r3, r3, atanTable___5JMath@l - lfs f1, 8(r1) - lfs f0, 0x10(r1) - lfs f4, 0x30(r1) - fsubs f1, f1, f5 - fsubs f2, f0, f3 - stfs f5, 0x14(r1) - stfs f4, 0x18(r1) - stfs f3, 0x1c(r1) - bl "atan2___Q25JMath18TAtanTable<1024,f>CFff" - bl roundAng__Ff - lwz r12, 0(r31) - fmr f27, f1 - mr r3, r31 - lwz r12, 0x64(r12) - mtctr r12 - bctrl - fmr f2, f1 - fmr f1, f27 - bl angDist__Fff - fabs f0, f1 - frsp f0, f0 - fcmpo cr0, f0, f29 - cror 2, 0, 2 - bne lbl_8028E6F4 - mr r4, r30 - addi r3, r1, 0x38 - lwz r12, 0(r30) - lwz r12, 8(r12) - mtctr r12 - bctrl - lfs f0, 0x40(r1) - lfs f1, 0x38(r1) - fsubs f0, f31, f0 - fsubs f1, f30, f1 - fmuls f0, f0, f0 - fmadds f0, f1, f1, f0 - fcmpo cr0, f0, f28 - bge lbl_8028E6F4 - mr r3, r30 - b lbl_8028E7D4 - -lbl_8028E6F4: - lwz r0, 0x5c(r1) - cmplwi r0, 0 - bne lbl_8028E720 - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - b lbl_8028E7B0 - -lbl_8028E720: - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - b lbl_8028E794 - -lbl_8028E740: - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x20(r12) - mtctr r12 - bctrl - mr r4, r3 - lwz r3, 0x5c(r1) - lwz r12, 0(r3) - lwz r12, 8(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - bne lbl_8028E7B0 - lwz r3, 0x58(r1) - lwz r4, 0x54(r1) - lwz r12, 0(r3) - lwz r12, 0x14(r12) - mtctr r12 - bctrl - stw r3, 0x54(r1) - -lbl_8028E794: - lwz r12, 0x50(r1) - addi r3, r1, 0x50 - lwz r12, 0x10(r12) - mtctr r12 - bctrl - clrlwi. r0, r3, 0x18 - beq lbl_8028E740 - -lbl_8028E7B0: - lwz r3, 0x58(r1) - lwz r12, 0(r3) - lwz r12, 0x1c(r12) - mtctr r12 - bctrl - lwz r4, 0x54(r1) - cmplw r4, r3 - bne lbl_8028E5BC - -lbl_8028E7D0: - li r3, 0 - -lbl_8028E7D4: - psq_l f31, 184(r1), 0, qr0 - lfd f31, 0xb0(r1) - psq_l f30, 168(r1), 0, qr0 - lfd f30, 0xa0(r1) - psq_l f29, 152(r1), 0, qr0 - lfd f29, 0x90(r1) - psq_l f28, 136(r1), 0, qr0 - lfd f28, 0x80(r1) - psq_l f27, 120(r1), 0, qr0 - lfd f27, 0x70(r1) - lwz r31, 0x6c(r1) - lwz r0, 0xc4(r1) - lwz r30, 0x68(r1) - mtlr r0 - addi r1, r1, 0xc0 - blr - */ } /* diff --git a/src/plugProjectNishimuraU/Makefile b/src/plugProjectNishimuraU/Makefile index 38a6ea0f6..c1b59e9bb 100644 --- a/src/plugProjectNishimuraU/Makefile +++ b/src/plugProjectNishimuraU/Makefile @@ -111,7 +111,7 @@ NISHIMURA_FILES:=\ $(BUILD_DIR)/src/plugProjectNishimuraU/BabyMgr.o\ $(BUILD_DIR)/src/plugProjectNishimuraU/Baby.o\ $(BUILD_DIR)/src/plugProjectNishimuraU/DemonMgr.o\ - $(BUILD_DIR)/asm/plugProjectNishimuraU/Demon.o\ + $(BUILD_DIR)/src/plugProjectNishimuraU/Demon.o\ $(BUILD_DIR)/src/plugProjectNishimuraU/QueenShadow.o\ $(BUILD_DIR)/src/plugProjectNishimuraU/FireChappyMgr.o\ $(BUILD_DIR)/src/plugProjectNishimuraU/FireChappy.o\ diff --git a/tools/progress.csv b/tools/progress.csv index 3e0a37da4..3a9e1d039 100644 --- a/tools/progress.csv +++ b/tools/progress.csv @@ -511,3 +511,5 @@ You have 2505 out of 10000 Pokos and 70 out of 201 treasures.",2023-09-01 18:16: You have 2525 out of 10000 Pokos and 70 out of 201 treasures.",2023-09-02 00:49:20.776964 2534,1179204,0.2534640543105939,70,250808,0.3518354338043027," You have 2534 out of 10000 Pokos and 70 out of 201 treasures.",2023-09-04 19:53:22.225641 +2538,1181208,0.25389480417646815,70,251656,0.35302501486976334," +You have 2538 out of 10000 Pokos and 70 out of 201 treasures.",2023-09-05 01:16:27.104795