CrystalCageMoving.o 100%

This commit is contained in:
shibbo 2022-06-12 01:07:12 -04:00
parent 3d6c8d5ac8
commit 41fb610a9c
12 changed files with 439 additions and 76 deletions

View File

@ -1453,42 +1453,42 @@ execute__Q214NrvCrystalCage18CrystalCageNrvWaitCFP5Spine,CrystalCage.o,MapObj.a,
__cl__Q22MR49FunctorV0M<P11CrystalCage&#44;M11CrystalCageFPCvPv_v>CFv,CrystalCage.o,MapObj.a,true
clone__Q22MR49FunctorV0M<P11CrystalCage&#44;M11CrystalCageFPCvPv_v>CFP7JKRHeap,CrystalCage.o,MapObj.a,true
__dt__11CrystalCageFv,CrystalCage.o,MapObj.a,true
__ct__17CrystalCageMovingFPCc,CrystalCageMoving.o,MapObj.a,false
init__17CrystalCageMovingFRC12JMapInfoIter,CrystalCageMoving.o,MapObj.a,false
exeBreakBig__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
exeBreakSmall__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
exeBreakAll__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
exeDemoTicoMove__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
exeDemoTicoStop__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
exeDemoTicoChange__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
kill__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
control__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
receiveOtherMsg__17CrystalCageMovingFUlP9HitSensorP9HitSensor,CrystalCageMoving.o,MapObj.a,false
crashMario__17CrystalCageMovingFP9HitSensorP9HitSensor,CrystalCageMoving.o,MapObj.a,false
updateHitSensor__17CrystalCageMovingFP9HitSensor,CrystalCageMoving.o,MapObj.a,false
connectToScene__17CrystalCageMovingFRC19MapObjActorInitInfo,CrystalCageMoving.o,MapObj.a,false
initDummyModel__17CrystalCageMovingFRC12JMapInfoIter,CrystalCageMoving.o,MapObj.a,false
startBreakDemo__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
isNerveTypeEnd__17CrystalCageMovingCFv,CrystalCageMoving.o,MapObj.a,false
__dt__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,false
__sinit_\CrystalCageMoving_cpp,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopFv,CrystalCageMoving.o,MapObj.a,false
__ct__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeFv,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallCFP5Spine,CrystalCageMoving.o,MapObj.a,false
executeOnEnd__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine,CrystalCageMoving.o,MapObj.a,false
execute__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigCFP5Spine,CrystalCageMoving.o,MapObj.a,false
__ct__17CrystalCageMovingFPCc,CrystalCageMoving.o,MapObj.a,true
init__17CrystalCageMovingFRC12JMapInfoIter,CrystalCageMoving.o,MapObj.a,true
exeBreakBig__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
exeBreakSmall__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
exeBreakAll__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
exeDemoTicoMove__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
exeDemoTicoStop__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
exeDemoTicoChange__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
kill__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
control__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
receiveOtherMsg__17CrystalCageMovingFUlP9HitSensorP9HitSensor,CrystalCageMoving.o,MapObj.a,true
crashMario__17CrystalCageMovingFP9HitSensorP9HitSensor,CrystalCageMoving.o,MapObj.a,true
updateHitSensor__17CrystalCageMovingFP9HitSensor,CrystalCageMoving.o,MapObj.a,true
connectToScene__17CrystalCageMovingFRC19MapObjActorInitInfo,CrystalCageMoving.o,MapObj.a,true
initDummyModel__17CrystalCageMovingFRC12JMapInfoIter,CrystalCageMoving.o,MapObj.a,true
startBreakDemo__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
isNerveTypeEnd__17CrystalCageMovingCFv,CrystalCageMoving.o,MapObj.a,true
__dt__17CrystalCageMovingFv,CrystalCageMoving.o,MapObj.a,true
__sinit_\CrystalCageMoving_cpp,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopFv,CrystalCageMoving.o,MapObj.a,true
__ct__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeFv,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallCFP5Spine,CrystalCageMoving.o,MapObj.a,true
executeOnEnd__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine,CrystalCageMoving.o,MapObj.a,true
execute__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigCFP5Spine,CrystalCageMoving.o,MapObj.a,true
__ct__13CrystalSwitchFPCc,CrystalSwitch.o,MapObj.a,false
init__13CrystalSwitchFRC12JMapInfoIter,CrystalSwitch.o,MapObj.a,false
control__13CrystalSwitchFv,CrystalSwitch.o,MapObj.a,false

1 Symbol Name Object File Library Archive Matching
1453 __cl__Q22MR49FunctorV0M<P11CrystalCage&#44;M11CrystalCageFPCvPv_v>CFv CrystalCage.o MapObj.a true
1454 clone__Q22MR49FunctorV0M<P11CrystalCage&#44;M11CrystalCageFPCvPv_v>CFP7JKRHeap CrystalCage.o MapObj.a true
1455 __dt__11CrystalCageFv CrystalCage.o MapObj.a true
1456 __ct__17CrystalCageMovingFPCc CrystalCageMoving.o MapObj.a false true
1457 init__17CrystalCageMovingFRC12JMapInfoIter CrystalCageMoving.o MapObj.a false true
1458 exeBreakBig__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1459 exeBreakSmall__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1460 exeBreakAll__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1461 exeDemoTicoMove__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1462 exeDemoTicoStop__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1463 exeDemoTicoChange__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1464 kill__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1465 control__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1466 receiveOtherMsg__17CrystalCageMovingFUlP9HitSensorP9HitSensor CrystalCageMoving.o MapObj.a false true
1467 crashMario__17CrystalCageMovingFP9HitSensorP9HitSensor CrystalCageMoving.o MapObj.a false true
1468 updateHitSensor__17CrystalCageMovingFP9HitSensor CrystalCageMoving.o MapObj.a false true
1469 connectToScene__17CrystalCageMovingFRC19MapObjActorInitInfo CrystalCageMoving.o MapObj.a false true
1470 initDummyModel__17CrystalCageMovingFRC12JMapInfoIter CrystalCageMoving.o MapObj.a false true
1471 startBreakDemo__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1472 isNerveTypeEnd__17CrystalCageMovingCFv CrystalCageMoving.o MapObj.a false true
1473 __dt__17CrystalCageMovingFv CrystalCageMoving.o MapObj.a false true
1474 __sinit_\CrystalCageMoving_cpp CrystalCageMoving.o MapObj.a false true
1475 __ct__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigFv CrystalCageMoving.o MapObj.a false true
1476 __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigFv CrystalCageMoving.o MapObj.a false true
1477 __ct__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallFv CrystalCageMoving.o MapObj.a false true
1478 __ct__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallFv CrystalCageMoving.o MapObj.a false true
1479 __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllFv CrystalCageMoving.o MapObj.a false true
1480 __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveFv CrystalCageMoving.o MapObj.a false true
1481 __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopFv CrystalCageMoving.o MapObj.a false true
1482 __ct__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeFv CrystalCageMoving.o MapObj.a false true
1483 execute__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeCFP5Spine CrystalCageMoving.o MapObj.a false true
1484 execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopCFP5Spine CrystalCageMoving.o MapObj.a false true
1485 execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveCFP5Spine CrystalCageMoving.o MapObj.a false true
1486 execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllCFP5Spine CrystalCageMoving.o MapObj.a false true
1487 execute__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallCFP5Spine CrystalCageMoving.o MapObj.a false true
1488 execute__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallCFP5Spine CrystalCageMoving.o MapObj.a false true
1489 executeOnEnd__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine CrystalCageMoving.o MapObj.a false true
1490 execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine CrystalCageMoving.o MapObj.a false true
1491 execute__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigCFP5Spine CrystalCageMoving.o MapObj.a false true
1492 __ct__13CrystalSwitchFPCc CrystalSwitch.o MapObj.a false
1493 init__13CrystalSwitchFRC12JMapInfoIter CrystalSwitch.o MapObj.a false
1494 control__13CrystalSwitchFv CrystalSwitch.o MapObj.a false

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "MapObj",
"message": "9.41923%",
"message": "9.80353%",
"color": "tan"
}

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "decompiled",
"message": "6.432980880956938%",
"message": "6.504418704916352%",
"color": "blue"
}

View File

@ -12,7 +12,7 @@
| [Gravity](https://github.com/shibbo/Petari/blob/master/docs/lib/Gravity.md) | 56.286937028734464% |
| [LiveActor](https://github.com/shibbo/Petari/blob/master/docs/lib/LiveActor.md) | 36.855693868142005% |
| [Map](https://github.com/shibbo/Petari/blob/master/docs/lib/Map.md) | 11.757933634152229% |
| [MapObj](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj.md) | 9.419234729430363% |
| [MapObj](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj.md) | 9.803534098118545% |
| [NameObj](https://github.com/shibbo/Petari/blob/master/docs/lib/NameObj.md) | 22.226039161800067% |
| [NPC](https://github.com/shibbo/Petari/blob/master/docs/lib/NPC.md) | 0.7591369440774989% |
| [Player](https://github.com/shibbo/Petari/blob/master/docs/lib/Player.md) | 0.14184156212575486% |

View File

@ -78,7 +78,7 @@
| CollectCounter.o | 100.0% | 12 / 12 | 100.0% |
| CollisionBlocker.o | 100.0% | 7 / 7 | 100.0% |
| CrystalCage.o | 92.85042333019756% | 23 / 24 | 95.83333333333334% |
| CrystalCageMoving.o | 0.0% | 0 / 36 | 0.0% |
| CrystalCageMoving.o | 100.0% | 36 / 36 | 100.0% |
| CrystalSwitch.o | 0.0% | 0 / 22 | 0.0% |
| CutBushModelObj.o | 100.0% | 5 / 5 | 100.0% |
| DashRing.o | 0.0% | 0 / 9 | 0.0% |
@ -2162,42 +2162,42 @@
# CrystalCageMoving.o
| Symbol | Decompiled? |
| ------------- | ------------- |
| __ct__17CrystalCageMovingFPCc | :x: |
| init__17CrystalCageMovingFRC12JMapInfoIter | :x: |
| exeBreakBig__17CrystalCageMovingFv | :x: |
| exeBreakSmall__17CrystalCageMovingFv | :x: |
| exeBreakAll__17CrystalCageMovingFv | :x: |
| exeDemoTicoMove__17CrystalCageMovingFv | :x: |
| exeDemoTicoStop__17CrystalCageMovingFv | :x: |
| exeDemoTicoChange__17CrystalCageMovingFv | :x: |
| kill__17CrystalCageMovingFv | :x: |
| control__17CrystalCageMovingFv | :x: |
| receiveOtherMsg__17CrystalCageMovingFUlP9HitSensorP9HitSensor | :x: |
| crashMario__17CrystalCageMovingFP9HitSensorP9HitSensor | :x: |
| updateHitSensor__17CrystalCageMovingFP9HitSensor | :x: |
| connectToScene__17CrystalCageMovingFRC19MapObjActorInitInfo | :x: |
| initDummyModel__17CrystalCageMovingFRC12JMapInfoIter | :x: |
| startBreakDemo__17CrystalCageMovingFv | :x: |
| isNerveTypeEnd__17CrystalCageMovingCFv | :x: |
| __dt__17CrystalCageMovingFv | :x: |
| __sinit_\CrystalCageMoving_cpp | :x: |
| __ct__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigFv | :x: |
| __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigFv | :x: |
| __ct__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallFv | :x: |
| __ct__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallFv | :x: |
| __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllFv | :x: |
| __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveFv | :x: |
| __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopFv | :x: |
| __ct__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeFv | :x: |
| execute__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallCFP5Spine | :x: |
| executeOnEnd__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine | :x: |
| execute__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigCFP5Spine | :x: |
| __ct__17CrystalCageMovingFPCc | :white_check_mark: |
| init__17CrystalCageMovingFRC12JMapInfoIter | :white_check_mark: |
| exeBreakBig__17CrystalCageMovingFv | :white_check_mark: |
| exeBreakSmall__17CrystalCageMovingFv | :white_check_mark: |
| exeBreakAll__17CrystalCageMovingFv | :white_check_mark: |
| exeDemoTicoMove__17CrystalCageMovingFv | :white_check_mark: |
| exeDemoTicoStop__17CrystalCageMovingFv | :white_check_mark: |
| exeDemoTicoChange__17CrystalCageMovingFv | :white_check_mark: |
| kill__17CrystalCageMovingFv | :white_check_mark: |
| control__17CrystalCageMovingFv | :white_check_mark: |
| receiveOtherMsg__17CrystalCageMovingFUlP9HitSensorP9HitSensor | :white_check_mark: |
| crashMario__17CrystalCageMovingFP9HitSensorP9HitSensor | :white_check_mark: |
| updateHitSensor__17CrystalCageMovingFP9HitSensor | :white_check_mark: |
| connectToScene__17CrystalCageMovingFRC19MapObjActorInitInfo | :white_check_mark: |
| initDummyModel__17CrystalCageMovingFRC12JMapInfoIter | :white_check_mark: |
| startBreakDemo__17CrystalCageMovingFv | :white_check_mark: |
| isNerveTypeEnd__17CrystalCageMovingCFv | :white_check_mark: |
| __dt__17CrystalCageMovingFv | :white_check_mark: |
| __sinit_\CrystalCageMoving_cpp | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopFv | :white_check_mark: |
| __ct__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeFv | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving34CrystalCageMovingNrvDemoTicoChangeCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoStopCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving32CrystalCageMovingNrvDemoTicoMoveCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakAllCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving30CrystalCageMovingNrvBreakSmallCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving29CrystalCageMovingNrvWaitSmallCFP5Spine | :white_check_mark: |
| executeOnEnd__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving28CrystalCageMovingNrvBreakBigCFP5Spine | :white_check_mark: |
| execute__Q220NrvCrystalCageMoving27CrystalCageMovingNrvWaitBigCFP5Spine | :white_check_mark: |
# CrystalSwitch.o

View File

@ -18,5 +18,16 @@ public:\
static name sInstance;\
};\
#define NERVE_EXECEND(name)\
class name : public Nerve\
{\
public:\
name() NO_INLINE {\
};\
virtual void execute(Spine *) const;\
virtual void executeOnEnd(Spine *) const;\
static name sInstance;\
};\
#define INIT_NERVE(name)\
name name::sInstance;

View File

@ -0,0 +1,49 @@
#pragma once
#include "Game/MapObj/MapObjActor.h"
#include "Game/LiveActor/ModelObj.h"
namespace {
TVec3f sDummyModelOffset;
};
class CrystalCageMoving : public MapObjActor {
public:
CrystalCageMoving(const char *);
virtual ~CrystalCageMoving();
virtual void init(const JMapInfoIter &);
virtual void kill();
virtual void control();
virtual void updateHitSensor(HitSensor *);
virtual bool receiveOtherMsg(u32, HitSensor *, HitSensor *);
virtual void connectToScene(const MapObjActorInitInfo &);
void exeBreakBig();
void exeBreakSmall();
void exeBreakAll();
void exeDemoTicoMove();
void exeDemoTicoStop();
void exeDemoTicoChange();
void crashMario(HitSensor *, HitSensor *);
void initDummyModel(const JMapInfoIter &);
void startBreakDemo();
bool isNerveTypeEnd() const;
ModelObj* mTicoModel; // _C4
TPos3f _C8;
ActorCameraInfo* mCameraInfo; // _F8
TVec3f _FC;
u8 _108;
};
namespace NrvCrystalCageMoving {
NERVE(CrystalCageMovingNrvWaitBig);
NERVE_EXECEND(CrystalCageMovingNrvBreakBig);
NERVE(CrystalCageMovingNrvWaitSmall);
NERVE(CrystalCageMovingNrvBreakSmall);
NERVE(CrystalCageMovingNrvBreakAll);
NERVE(CrystalCageMovingNrvDemoTicoMove);
NERVE(CrystalCageMovingNrvDemoTicoStop);
NERVE(CrystalCageMovingNrvDemoTicoChange);
};

View File

@ -13,6 +13,8 @@ namespace MR {
void startAnimCameraTargetSelf(const LiveActor *, const ActorCameraInfo *, const char *, s32, f32);
void startActorCameraTargetOther(const LiveActor *, const ActorCameraInfo *, const CameraTargetArg &, s32);
void startActorCameraNoTarget(const LiveActor *, const ActorCameraInfo *, s32);
void initAnimCamera(const LiveActor *, const ActorCameraInfo *, const char *);
bool isExistActorCamera(const ActorCameraInfo *);

View File

@ -24,6 +24,8 @@ namespace MR {
bool isDemoActive();
bool isDemoExist(const char *);
bool isPowerStarGetDemoActive();
bool tryStartDemo(LiveActor *, const char *);
@ -35,4 +37,6 @@ namespace MR {
void requestStartDemoMarioPuppetableWithoutCinmeaFrame(LiveActor *, const char *, const Nerve *, const Nerve *);
void requestStartDemoWithoutCinemaFrame(LiveActor *, const char *, const Nerve *, const Nerve *);
void requestStartTimeKeepDemo(LiveActor *, const char *, const Nerve *, const Nerve *, const char *);
};

View File

@ -189,6 +189,7 @@ namespace MR {
void setBrkFrame(const LiveActor *, f32);
void setBrkFrameAndStop(const LiveActor *, f32);
void setBrkFrameEndAndStop(const LiveActor *);
void setBckFrameAtRandom(const LiveActor *);

View File

@ -102,6 +102,7 @@ namespace MR {
bool tryRumblePadVeryWeak(const void *, s32);
bool tryRumblePadMiddle(const void *, s32);
bool tryRumblePadStrong(const void *, s32);
bool tryRumblePadVeryStrong(const void *, s32);
void declareCoin(const NameObj *, s32);
void getDeclareRemnantCoinCount(const NameObj *);
@ -133,6 +134,7 @@ namespace MR {
void shakeCameraNormal();
void shakeCameraStrong();
void shakeCameraVeryStrong();
bool isInWater(const TVec3f &);

View File

@ -0,0 +1,294 @@
#include "Game/MapObj/CrystalCageMoving.h"
#include "JSystem/JMath/JMath.h"
CrystalCageMoving::CrystalCageMoving(const char *pName) : MapObjActor(pName) {
mTicoModel = NULL;
mCameraInfo = NULL;
_FC.x = 0.0f;
_FC.y = 0.0f;
_FC.z = 0.0f;
_108 = 0;
_C8.identity();
}
void CrystalCageMoving::init(const JMapInfoIter &rIter) {
MapObjActor::init(rIter);
MapObjActorInitInfo info;
info.setupHioNode("地形オブジェ");
info.setupDefaultPos();
info.setupConnectToScene();
info.setupEffect(0);
info.setupSound(4);
info.setupNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvWaitBig::sInstance);
info.setupRailMover();
info.setupHitSensorCallBack();
TVec3f vec;
vec.x = 0.0f;
vec.y = 0.0f;
vec.z = 0.0f;
info.setupHitSensorParam(4, 350.0f, vec);
initialize(rIter, info);
_FC.set<f32>(mPosition);
initDummyModel(rIter);
MR::initActorCamera(this, rIter, &mCameraInfo);
MR::startBck(this, "Wait", NULL);
if (MR::isDemoExist("脱出スピドラ出現")) {
MR::registerDemoActionNerve(this, &NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoMove::sInstance, NULL);
}
}
void CrystalCageMoving::exeBreakBig() {
if (MR::isFirstStep(this)) {
MR::startBck(this, "CoreWait", NULL);
MR::startActorCameraNoTarget(this, mCameraInfo, -1);
MR::setSensorRadius(this, "body", 30.0f);
_108 = 1;
MR::emitEffect(this, "BreakOutside");
MR::startSound(this, "SE_OJ_CRY_CAGE_MV_BREAK_EDG", -1, -1);
}
if (MR::isStep(this, 10)) {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvWaitSmall::sInstance);
}
}
void CrystalCageMoving::exeBreakSmall() {
if (MR::isFirstStep(this)) {
startBreakDemo();
MR::emitEffect(this, "BreakInside");
MR::startSound(this, "SE_OJ_CRY_CAGE_MV_BREAK_OUT", -1, -1);
}
}
void CrystalCageMoving::exeBreakAll() {
if (MR::isFirstStep(this)) {
startBreakDemo();
MR::emitEffect(this, "BreakOutside");
MR::emitEffect(this, "BreakInside");
MR::startSound(this, "SE_OJ_CRY_CAGE_MV_BREAK_ALL", -1, -1);
}
}
void CrystalCageMoving::exeDemoTicoMove() {
if (MR::isFirstStep(this)) {
MR::startBck(mTicoModel, "Fly", NULL);
MR::startSound(mTicoModel, "SE_SM_TICO_SPIN", -1, -1);
}
TVec3f stack_14;
stack_14.subInline2(_FC, mPosition);
f32 nerveRate = MR::calcNerveRate(this, 0x1E);
TVec3f stack_8;
JMAVECScaleAdd(stack_14.toCVec(), mPosition.toCVec(), stack_8.toVec(), nerveRate);
_C8.setTrans(stack_8);
if (MR::isStep(this, 0x1E)) {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoStop::sInstance);
}
}
void CrystalCageMoving::exeDemoTicoStop() {
if (MR::isFirstStep(this)) {
_C8.set(getBaseMtx());
_C8.setTrans(_FC);
MR::setBckRate(mTicoModel, 1.5f);
}
if (MR::isStep(this, 30)) {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoChange::sInstance);
}
}
void CrystalCageMoving::exeDemoTicoChange() {
if (MR::isFirstStep(this)) {
MR::startBck(mTicoModel, "Metamorphosis", NULL);
MR::startSound(mTicoModel, "SE_SM_TICO_METAMORPHOSE", -1, -1);
MR::setBckRate(mTicoModel, 1.5f);
}
if (MR::isBckStopped(mTicoModel)) {
kill();
}
}
void CrystalCageMoving::kill() {
if (mTicoModel) {
mTicoModel->kill();
}
MapObjActor::kill();
}
void CrystalCageMoving::control() {
if (!isNerveTypeEnd()) {
MapObjActor::control();
_C8.set(MR::getJointMtx(this, 0));
TVec3f trans;
PSMTXMultVec(_C8.toMtxPtr(), sDummyModelOffset.toCVec(), trans.toVec());
_C8.setTrans(trans);
}
}
bool CrystalCageMoving::receiveOtherMsg(u32 msg, HitSensor *a2, HitSensor *a3) {
if (isNerveTypeEnd()) {
return false;
}
if (msg == 69) {
crashMario(a2, a3);
return true;
}
return false;
}
void CrystalCageMoving::crashMario(HitSensor *a1, HitSensor *a2) {
MR::tryRumblePadVeryStrong(this, 0);
MR::shakeCameraVeryStrong();
if (_108) {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakSmall::sInstance);
}
else {
f32 sensorDist = PSVECDistance(a2->mPosition.toCVec(), a1->mPosition.toCVec());
f32 sensorObjDist = PSVECDistance(mPosition.toCVec(), a1->mPosition.toCVec());
if (sensorDist < 30.0f && sensorObjDist < 450.0f) {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakAll::sInstance);
}
else {
setNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakBig::sInstance);
}
}
}
void CrystalCageMoving::updateHitSensor(HitSensor *pSensor) {
if (!_108) {
pSensor->mPosition.set<f32>(mPosition);
}
else {
f32 radius = pSensor->mRadius;
TMtx34f joint_mtx;
joint_mtx.set(MR::getJointMtx(this, NULL));
TVec3f joint_pos;
f32 z = joint_mtx.mMtx[2][1];
f32 y = joint_mtx.mMtx[1][1];
f32 x = joint_mtx.mMtx[0][1];
joint_pos.set<f32>(x, y, z);
TVec3f stack_14;
JMAVECScaleAdd(joint_pos.toCVec(), mPosition.toCVec(), stack_14.toVec(), (-450.0f + radius));
TVec3f stack_8;
JMAVECScaleAdd(joint_pos.toCVec(), mPosition.toCVec(), stack_8.toVec(), (450.0f - radius));
MR::calcPerpendicFootToLineInside(&pSensor->mPosition, *MR::getPlayerPos(), stack_14, stack_8);
}
}
void CrystalCageMoving::connectToScene(const MapObjActorInitInfo &rInfo) {
if (rInfo.mConnectToScene) {
MR::connectToSceneCrystal(this);
}
}
void CrystalCageMoving::initDummyModel(const JMapInfoIter &rIter) {
_C8.set(MR::getJointMtx(this, 0));
TVec3f stack_8;
PSMTXMultVec(_C8.toMtxPtr(), sDummyModelOffset.toCVec(), stack_8.toVec());
_C8.setTrans(stack_8);
mTicoModel = new ModelObj("動くクリスタルケージ中身", "Tico", _C8.toMtxPtr(), 0x21, -2, -2, false);
mTicoModel->initWithoutIter();
ModelObj* tico = mTicoModel;
tico->mScale.x = 3.0f;
tico->mScale.y = 3.0f;
tico->mScale.z = 3.0f;
MR::startBrk(mTicoModel, "ColorChange");
MR::setBrkFrameAndStop(mTicoModel, 0.0f);
if (MR::isDemoCast(this, NULL)) {
MR::tryRegisterDemoCast(mTicoModel, rIter);
}
}
void CrystalCageMoving::startBreakDemo() {
MR::startSound(this, "SE_OJ_CRY_CAGE_MV_TICO_APR", -1, -1);
MR::requestStartTimeKeepDemo(this, "脱出スピドラ出現", NULL, NULL, "クリスタル破壊");
MR::hideModel(this);
ModelObj* tico = mTicoModel;
tico->mScale.x = 1.0f;
tico->mScale.y = 1.0f;
tico->mScale.z = 1.0f;
}
bool CrystalCageMoving::isNerveTypeEnd() const {
bool ret = false;
if (isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakBig::sInstance) ||
isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakSmall::sInstance) ||
isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvBreakAll::sInstance) ||
isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoMove::sInstance) ||
isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoStop::sInstance) ||
isNerve(&NrvCrystalCageMoving::CrystalCageMovingNrvDemoTicoChange::sInstance)) {
ret = true;
}
return ret;
}
CrystalCageMoving::~CrystalCageMoving() {
}
namespace NrvCrystalCageMoving {
INIT_NERVE(CrystalCageMovingNrvWaitBig);
INIT_NERVE(CrystalCageMovingNrvBreakBig);
INIT_NERVE(CrystalCageMovingNrvWaitSmall);
INIT_NERVE(CrystalCageMovingNrvBreakSmall);
INIT_NERVE(CrystalCageMovingNrvBreakAll);
INIT_NERVE(CrystalCageMovingNrvDemoTicoMove);
INIT_NERVE(CrystalCageMovingNrvDemoTicoStop);
INIT_NERVE(CrystalCageMovingNrvDemoTicoChange);
void CrystalCageMovingNrvDemoTicoChange::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeDemoTicoChange();
}
void CrystalCageMovingNrvDemoTicoStop::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeDemoTicoStop();
}
void CrystalCageMovingNrvDemoTicoMove::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeDemoTicoMove();
}
void CrystalCageMovingNrvBreakAll::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeBreakAll();
}
void CrystalCageMovingNrvBreakSmall::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeBreakSmall();
}
void CrystalCageMovingNrvWaitSmall::execute(Spine *) const {
}
void CrystalCageMovingNrvBreakBig::executeOnEnd(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
MR::endActorCamera(cage, cage->mCameraInfo, true, -1);
}
void CrystalCageMovingNrvBreakBig::execute(Spine *pSpine) const {
CrystalCageMoving* cage = reinterpret_cast<CrystalCageMoving*>(pSpine->mExecutor);
cage->exeBreakBig();
}
void CrystalCageMovingNrvWaitBig::execute(Spine *) const {
}
};