mirror of
https://github.com/SMGCommunity/Petari.git
synced 2024-11-23 05:29:50 +00:00
Merge branch 'master' into master
This commit is contained in:
commit
416e6670bf
@ -1,35 +1,71 @@
|
||||
---
|
||||
BasedOnStyle: LLVM
|
||||
AccessModifierOffset: '-4'
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignTrailingComments: 'true'
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakTemplateDeclarations: 'Yes'
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BraceWrapping:
|
||||
AfterControlStatement: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: Stroustrup
|
||||
ColumnLimit: '300'
|
||||
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
|
||||
ConstructorInitializerIndentWidth: '4'
|
||||
ContinuationIndentWidth: '4'
|
||||
IndentWidth: '4'
|
||||
InsertBraces: 'true'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
BreakBeforeBraces: Attach
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
ColumnLimit: 150
|
||||
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ForEachMacros: []
|
||||
IncludeCategories:
|
||||
- Regex: '^<[Ww]indows\.h>$'
|
||||
Priority: 1
|
||||
- Regex: '^<'
|
||||
Priority: 2
|
||||
- Regex: '^"'
|
||||
Priority: 3
|
||||
IndentCaseLabels: false
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: All
|
||||
ObjCBlockIndentWidth: '4'
|
||||
PenaltyBreakBeforeFirstCallParameter: '19'
|
||||
PenaltyBreakComment: '300'
|
||||
PenaltyBreakFirstLessLess: '120'
|
||||
PenaltyBreakString: '1000'
|
||||
PenaltyExcessCharacter: '1000000'
|
||||
PenaltyReturnTypeOnItsOwnLine: '60'
|
||||
PointerAlignment: Right
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
ObjCBlockIndentWidth: 4
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Left
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpacesBeforeTrailingComments: '4'
|
||||
TabWidth: '4'
|
||||
UseTab: Never
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
TabWidth: 4
|
||||
UseTab: Never
|
40
.github/workflows/build.yml
vendored
Normal file
40
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
name: Build Project
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Setup Multiarch
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
|
||||
- name: Install Wine and Dependencies
|
||||
run: |
|
||||
sudo apt-get install -y wine32
|
||||
sudo apt-get install -y xvfb
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10.10'
|
||||
- name: Download file
|
||||
run: |
|
||||
wget https://shibbo.net/smg/baserom.dol
|
||||
|
||||
- name: Run setup.py
|
||||
run: |
|
||||
python3 setup.py
|
||||
|
||||
- name: Run build.py
|
||||
run: |
|
||||
python3 build.py
|
2
build.py
2
build.py
@ -3,7 +3,7 @@ import subprocess
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
from ninja_syntax import Writer
|
||||
from ninja import Writer
|
||||
import pathlib
|
||||
import hashlib
|
||||
|
||||
|
154
csv/Enemy.csv
154
csv/Enemy.csv
@ -1513,84 +1513,84 @@ execute__Q215NrvHomingKiller25HomingKillerNrvChaseStartCFP5Spine,HomingKiller.o,
|
||||
execute__Q215NrvHomingKiller19HomingKillerNrvMoveCFP5Spine,HomingKiller.o,Enemy.a,false
|
||||
execute__Q215NrvHomingKiller24HomingKillerNrvMoveStartCFP5Spine,HomingKiller.o,Enemy.a,false
|
||||
execute__Q215NrvHomingKiller21HomingKillerNrvAppearCFP5Spine,HomingKiller.o,Enemy.a,false
|
||||
__dt__Q22MR46Vector<Q22MR31AssignableArray<P11ThrowingIce>>Fv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__15IceMerameraKingFPCc,IceMerameraKing.o,Enemy.a,false
|
||||
init__15IceMerameraKingFRC12JMapInfoIter,IceMerameraKing.o,Enemy.a,false
|
||||
initAfterPlacement__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
kill__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
control__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeSearch__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
tearDownThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeExtinguish__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeEscape__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeEscapeJump__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeDamage__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exePreRecover__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeRecover__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exePreAttack__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeAttack__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeAttackAfter__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeAngryDemo__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
exeDeathDemo__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
attackSensor__15IceMerameraKingFP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,false
|
||||
receiveMsgPlayerAttack__15IceMerameraKingFUlP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,false
|
||||
receiveOtherMsg__15IceMerameraKingFUlP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,false
|
||||
addVelocityToInitPos__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
calcAndSetBaseMtx__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
isDeadAllIce__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
isEnableThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
getDeadWeaponAndAppear__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
__dt__Q22MR46Vector<Q22MR31AssignableArray<P11ThrowingIce>>Fv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__15IceMerameraKingFPCc,IceMerameraKing.o,Enemy.a,true
|
||||
init__15IceMerameraKingFRC12JMapInfoIter,IceMerameraKing.o,Enemy.a,major
|
||||
initAfterPlacement__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,major
|
||||
kill__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
control__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeSearch__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,minor
|
||||
tearDownThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeExtinguish__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,minor
|
||||
exeEscape__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeEscapeJump__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeDamage__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exePreRecover__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeRecover__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exePreAttack__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeAttack__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeAttackAfter__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeAngryDemo__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
exeDeathDemo__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
attackSensor__15IceMerameraKingFP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,true
|
||||
receiveMsgPlayerAttack__15IceMerameraKingFUlP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,true
|
||||
receiveOtherMsg__15IceMerameraKingFUlP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,true
|
||||
addVelocityToInitPos__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
calcAndSetBaseMtx__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
isDeadAllIce__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
isEnableThrow__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
getDeadWeaponAndAppear__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,major
|
||||
calcJoint__15IceMerameraKingFPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,false
|
||||
appear__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,false
|
||||
control__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,false
|
||||
attackSensor__24IceMerameraKingShockWaveFP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,false
|
||||
__sinit_\IceMerameraKing_cpp,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvSearchFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing16HostTypeNrvThrowFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvExtinguishFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvEscapeFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvDamageFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing18HostTypeNrvRecoverFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvPreAttackFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvAttackFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoFv,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvAttackCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvPreAttackCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing18HostTypeNrvRecoverCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvDamageCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
executeOnEnd__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvExtinguishCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
executeOnEnd__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
executeOnEnd__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
executeOnEnd__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvSearchCFP5Spine,IceMerameraKing.o,Enemy.a,false
|
||||
__dt__40JointControlDelegator<15IceMerameraKing>Fv,IceMerameraKing.o,Enemy.a,false
|
||||
calcJointMatrix__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo,IceMerameraKing.o,Enemy.a,false
|
||||
calcJointMatrixAfterChild__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo,IceMerameraKing.o,Enemy.a,false
|
||||
__dt__Q22MR31AssignableArray<P11ThrowingIce>Fv,IceMerameraKing.o,Enemy.a,false
|
||||
__dt__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,false
|
||||
__dt__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,false
|
||||
__ct__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,true
|
||||
appear__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,true
|
||||
control__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,true
|
||||
attackSensor__24IceMerameraKingShockWaveFP9HitSensorP9HitSensor,IceMerameraKing.o,Enemy.a,true
|
||||
__sinit_\IceMerameraKing_cpp,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvSearchFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing16HostTypeNrvThrowFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvExtinguishFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvEscapeFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvDamageFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing18HostTypeNrvRecoverFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvPreAttackFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing17HostTypeNrvAttackFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoFv,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvAttackCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvPreAttackCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing18HostTypeNrvRecoverCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvDamageCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
executeOnEnd__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing21HostTypeNrvExtinguishCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
executeOnEnd__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
executeOnEnd__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
executeOnEnd__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
execute__Q218NrvIceMerameraKing17HostTypeNrvSearchCFP5Spine,IceMerameraKing.o,Enemy.a,true
|
||||
__dt__40JointControlDelegator<15IceMerameraKing>Fv,IceMerameraKing.o,Enemy.a,true
|
||||
calcJointMatrix__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo,IceMerameraKing.o,Enemy.a,true
|
||||
calcJointMatrixAfterChild__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo,IceMerameraKing.o,Enemy.a,true
|
||||
__dt__Q22MR31AssignableArray<P11ThrowingIce>Fv,IceMerameraKing.o,Enemy.a,true
|
||||
__dt__15IceMerameraKingFv,IceMerameraKing.o,Enemy.a,true
|
||||
__dt__24IceMerameraKingShockWaveFv,IceMerameraKing.o,Enemy.a,true
|
||||
__ct__13ItemGeneratorFv,ItemGenerator.o,Enemy.a,false
|
||||
setTypeNone__13ItemGeneratorFv,ItemGenerator.o,Enemy.a,false
|
||||
setTypeCoin__13ItemGeneratorFl,ItemGenerator.o,Enemy.a,false
|
||||
|
|
@ -324,27 +324,27 @@ createScene<9GameScene>__26@unnamed@SceneFactory_cpp@Fv_P5Scene,SceneFactory.o,S
|
||||
createScene<17IntermissionScene>__26@unnamed@SceneFactory_cpp@Fv_P5Scene,SceneFactory.o,Scene.a,false
|
||||
createScene<9LogoScene>__26@unnamed@SceneFactory_cpp@Fv_P5Scene,SceneFactory.o,Scene.a,false
|
||||
createScene__2MRFPCc,SceneFactory.o,Scene.a,false
|
||||
startStageFileLoad__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
waitDoneStageFileLoad__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
startActorFileLoadCommon__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
startActorFileLoadScenario__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
startActorPlacement__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
initAfterScenarioSelected__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
initForNameObj__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
initForLiveActor__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
initEffectSystem__13SceneFunctionFUlUl,SceneFunction.o,Scene.a,false
|
||||
allocateDrawBufferActorList__13SceneFunctionFv,SceneFunction.o,Scene.a,false
|
||||
execute__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,false
|
||||
execute__12CategoryListFQ22MR12CalcAnimType,SceneFunction.o,Scene.a,false
|
||||
execute__12CategoryListFQ22MR8DrawType,SceneFunction.o,Scene.a,false
|
||||
entryDrawBuffer2D__12CategoryListFv,SceneFunction.o,Scene.a,false
|
||||
entryDrawBuffer3D__12CategoryListFv,SceneFunction.o,Scene.a,false
|
||||
entryDrawBufferMirror__12CategoryListFv,SceneFunction.o,Scene.a,false
|
||||
drawOpa__12CategoryListFQ22MR14DrawBufferType,SceneFunction.o,Scene.a,false
|
||||
drawXlu__12CategoryListFQ22MR14DrawBufferType,SceneFunction.o,Scene.a,false
|
||||
requestMovementOn__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,false
|
||||
requestMovementOff__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,false
|
||||
createHioBasicNode__13SceneFunctionFP5Scene,SceneFunction.o,Scene.a,false
|
||||
startStageFileLoad__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
waitDoneStageFileLoad__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
startActorFileLoadCommon__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
startActorFileLoadScenario__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
startActorPlacement__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
initAfterScenarioSelected__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
initForNameObj__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
initForLiveActor__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
initEffectSystem__13SceneFunctionFUlUl,SceneFunction.o,Scene.a,true
|
||||
allocateDrawBufferActorList__13SceneFunctionFv,SceneFunction.o,Scene.a,true
|
||||
execute__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,true
|
||||
execute__12CategoryListFQ22MR12CalcAnimType,SceneFunction.o,Scene.a,true
|
||||
execute__12CategoryListFQ22MR8DrawType,SceneFunction.o,Scene.a,true
|
||||
entryDrawBuffer2D__12CategoryListFv,SceneFunction.o,Scene.a,true
|
||||
entryDrawBuffer3D__12CategoryListFv,SceneFunction.o,Scene.a,true
|
||||
entryDrawBufferMirror__12CategoryListFv,SceneFunction.o,Scene.a,true
|
||||
drawOpa__12CategoryListFQ22MR14DrawBufferType,SceneFunction.o,Scene.a,true
|
||||
drawXlu__12CategoryListFQ22MR14DrawBufferType,SceneFunction.o,Scene.a,true
|
||||
requestMovementOn__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,true
|
||||
requestMovementOff__12CategoryListFQ22MR12MovementType,SceneFunction.o,Scene.a,true
|
||||
createHioBasicNode__13SceneFunctionFP5Scene,SceneFunction.o,Scene.a,true
|
||||
__ct__14SceneObjHolderFv,SceneObjHolder.o,Scene.a,true
|
||||
create__14SceneObjHolderFi,SceneObjHolder.o,Scene.a,true
|
||||
getObj__14SceneObjHolderCFi,SceneObjHolder.o,Scene.a,true
|
||||
|
|
@ -2229,20 +2229,20 @@ execute__Q223NrvScenarioSelectLayout29ScenarioSelectLayoutNrvDecideCFP5Spine,Sce
|
||||
execute__Q223NrvScenarioSelectLayout41ScenarioSelectLayoutNrvWaitScenarioSelectCFP5Spine,ScenarioSelectLayout.o,Screen.a,true
|
||||
execute__Q223NrvScenarioSelectLayout29ScenarioSelectLayoutNrvAppearCFP5Spine,ScenarioSelectLayout.o,Screen.a,true
|
||||
execute__Q223NrvScenarioSelectLayout33ScenarioSelectLayoutNrvAppearStarCFP5Spine,ScenarioSelectLayout.o,Screen.a,true
|
||||
__ct__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
init__13ScenarioTitleFRC12JMapInfoIter,ScenarioTitle.o,Screen.a,false
|
||||
start__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
end__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
exeAppear__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
exeEnd__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
__dt__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,false
|
||||
__sinit_\ScenarioTitle_cpp,ScenarioTitle.o,Screen.a,false
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearFv,ScenarioTitle.o,Screen.a,false
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitFv,ScenarioTitle.o,Screen.a,false
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndFv,ScenarioTitle.o,Screen.a,false
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndCFP5Spine,ScenarioTitle.o,Screen.a,false
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitCFP5Spine,ScenarioTitle.o,Screen.a,false
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearCFP5Spine,ScenarioTitle.o,Screen.a,false
|
||||
__ct__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
init__13ScenarioTitleFRC12JMapInfoIter,ScenarioTitle.o,Screen.a,true
|
||||
start__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
end__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
exeAppear__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
exeEnd__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
__dt__13ScenarioTitleFv,ScenarioTitle.o,Screen.a,true
|
||||
__sinit_\ScenarioTitle_cpp,ScenarioTitle.o,Screen.a,true
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearFv,ScenarioTitle.o,Screen.a,true
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitFv,ScenarioTitle.o,Screen.a,true
|
||||
__ct__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndFv,ScenarioTitle.o,Screen.a,true
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndCFP5Spine,ScenarioTitle.o,Screen.a,true
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitCFP5Spine,ScenarioTitle.o,Screen.a,true
|
||||
execute__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearCFP5Spine,ScenarioTitle.o,Screen.a,true
|
||||
__ct__15SceneWipeHolderFv,SceneWipeHolder.o,Screen.a,false
|
||||
__dt__14WipeHolderBaseFv,SceneWipeHolder.o,Screen.a,false
|
||||
getCurrent__14WipeHolderBaseCFv,SceneWipeHolder.o,Screen.a,false
|
||||
|
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Game",
|
||||
"message": "16.257%",
|
||||
"message": "16.579%",
|
||||
"color": "blue"
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Enemy",
|
||||
"message": "3.92%",
|
||||
"message": "5.504%",
|
||||
"color": "yellow"
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Scene",
|
||||
"message": "17.116%",
|
||||
"message": "19.62%",
|
||||
"color": "yellow"
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Screen",
|
||||
"message": "8.406%",
|
||||
"message": "8.636%",
|
||||
"color": "yellow"
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
| [Camera](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Camera.md) | 34.12644987572494% |
|
||||
| [Demo](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Demo.md) | 20.796324655436447% |
|
||||
| [Effect](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Effect.md) | 2.2184743124026984% |
|
||||
| [Enemy](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy.md) | 3.920409631175268% |
|
||||
| [Enemy](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy.md) | 5.504240879083315% |
|
||||
| [GameAudio](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/GameAudio.md) | 0.0% |
|
||||
| [Gravity](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Gravity.md) | 100.0% |
|
||||
| [LiveActor](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/LiveActor.md) | 42.577224527431994% |
|
||||
@ -20,8 +20,8 @@
|
||||
| [Player](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Player.md) | 7.8301638397445155% |
|
||||
| [RhythmLib](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/RhythmLib.md) | 1.2661566868900025% |
|
||||
| [Ride](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Ride.md) | 6.181993549748319% |
|
||||
| [Scene](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene.md) | 17.116530156366345% |
|
||||
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen.md) | 8.406622845419024% |
|
||||
| [Scene](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene.md) | 19.62025316455696% |
|
||||
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen.md) | 8.636619055708742% |
|
||||
| [Speaker](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Speaker.md) | 54.75241889584519% |
|
||||
| [System](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/System.md) | 14.730098411770436% |
|
||||
| [Util](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Util.md) | 10.090099514848767% |
|
||||
|
@ -39,7 +39,7 @@
|
||||
| [HammerHeadPackun.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/HammerHeadPackun.md) | 0.0% | 0 / 61 | 0.0% | :x:
|
||||
| [Hanachan.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/Hanachan.md) | 0.0% | 0 / 126 | 0.0% | :x:
|
||||
| [HomingKiller.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/HomingKiller.md) | 0.0% | 0 / 69 | 0.0% | :x:
|
||||
| [IceMerameraKing.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/IceMerameraKing.md) | 0.0% | 0 / 78 | 0.0% | :x:
|
||||
| [IceMerameraKing.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/IceMerameraKing.md) | 74.63087248322148% | 72 / 78 | 92.3076923076923% | :eight_pointed_black_star:
|
||||
| [ItemGenerator.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/ItemGenerator.md) | 0.0% | 0 / 6 | 0.0% | :x:
|
||||
| [Jellyfish.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/Jellyfish.md) | 0.0% | 0 / 44 | 0.0% | :x:
|
||||
| [JellyfishElectric.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Enemy/JellyfishElectric.md) | 0.0% | 0 / 38 | 0.0% | :x:
|
||||
|
@ -5,85 +5,85 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 78 Completed -- (0.0%)
|
||||
# 72 / 78 Completed -- (92.3076923076923%)
|
||||
# IceMerameraKing.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `__dt__Q22MR46Vector<Q22MR31AssignableArray<P11ThrowingIce>>Fv` | :x: |
|
||||
| `__ct__15IceMerameraKingFPCc` | :x: |
|
||||
| `__dt__Q22MR46Vector<Q22MR31AssignableArray<P11ThrowingIce>>Fv` | :white_check_mark: |
|
||||
| `__ct__15IceMerameraKingFPCc` | :white_check_mark: |
|
||||
| `init__15IceMerameraKingFRC12JMapInfoIter` | :x: |
|
||||
| `initAfterPlacement__15IceMerameraKingFv` | :x: |
|
||||
| `kill__15IceMerameraKingFv` | :x: |
|
||||
| `control__15IceMerameraKingFv` | :x: |
|
||||
| `exeSearch__15IceMerameraKingFv` | :x: |
|
||||
| `kill__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `control__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeSearch__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeThrow__15IceMerameraKingFv` | :x: |
|
||||
| `tearDownThrow__15IceMerameraKingFv` | :x: |
|
||||
| `tearDownThrow__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeExtinguish__15IceMerameraKingFv` | :x: |
|
||||
| `exeEscape__15IceMerameraKingFv` | :x: |
|
||||
| `exeEscapeJump__15IceMerameraKingFv` | :x: |
|
||||
| `exeDamage__15IceMerameraKingFv` | :x: |
|
||||
| `exePreRecover__15IceMerameraKingFv` | :x: |
|
||||
| `exeRecover__15IceMerameraKingFv` | :x: |
|
||||
| `exePreAttack__15IceMerameraKingFv` | :x: |
|
||||
| `exeAttack__15IceMerameraKingFv` | :x: |
|
||||
| `exeAttackAfter__15IceMerameraKingFv` | :x: |
|
||||
| `exeAngryDemo__15IceMerameraKingFv` | :x: |
|
||||
| `exeDeathDemo__15IceMerameraKingFv` | :x: |
|
||||
| `attackSensor__15IceMerameraKingFP9HitSensorP9HitSensor` | :x: |
|
||||
| `receiveMsgPlayerAttack__15IceMerameraKingFUlP9HitSensorP9HitSensor` | :x: |
|
||||
| `receiveOtherMsg__15IceMerameraKingFUlP9HitSensorP9HitSensor` | :x: |
|
||||
| `addVelocityToInitPos__15IceMerameraKingFv` | :x: |
|
||||
| `calcAndSetBaseMtx__15IceMerameraKingFv` | :x: |
|
||||
| `isDeadAllIce__15IceMerameraKingFv` | :x: |
|
||||
| `isEnableThrow__15IceMerameraKingFv` | :x: |
|
||||
| `exeEscape__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeEscapeJump__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeDamage__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exePreRecover__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeRecover__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exePreAttack__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeAttack__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeAttackAfter__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeAngryDemo__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `exeDeathDemo__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `attackSensor__15IceMerameraKingFP9HitSensorP9HitSensor` | :white_check_mark: |
|
||||
| `receiveMsgPlayerAttack__15IceMerameraKingFUlP9HitSensorP9HitSensor` | :white_check_mark: |
|
||||
| `receiveOtherMsg__15IceMerameraKingFUlP9HitSensorP9HitSensor` | :white_check_mark: |
|
||||
| `addVelocityToInitPos__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `calcAndSetBaseMtx__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `isDeadAllIce__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `isEnableThrow__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `getDeadWeaponAndAppear__15IceMerameraKingFv` | :x: |
|
||||
| `calcJoint__15IceMerameraKingFPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo` | :x: |
|
||||
| `__ct__24IceMerameraKingShockWaveFv` | :x: |
|
||||
| `appear__24IceMerameraKingShockWaveFv` | :x: |
|
||||
| `control__24IceMerameraKingShockWaveFv` | :x: |
|
||||
| `attackSensor__24IceMerameraKingShockWaveFP9HitSensorP9HitSensor` | :x: |
|
||||
| `__sinit_\IceMerameraKing_cpp` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvSearchFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing16HostTypeNrvThrowFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvExtinguishFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvEscapeFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvDamageFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing18HostTypeNrvRecoverFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvPreAttackFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvAttackFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitFv` | :x: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoFv` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvAttackCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvPreAttackCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing18HostTypeNrvRecoverCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvDamageCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpCFP5Spine` | :x: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvExtinguishCFP5Spine` | :x: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine` | :x: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine` | :x: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine` | :x: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvSearchCFP5Spine` | :x: |
|
||||
| `__dt__40JointControlDelegator<15IceMerameraKing>Fv` | :x: |
|
||||
| `calcJointMatrix__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo` | :x: |
|
||||
| `calcJointMatrixAfterChild__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo` | :x: |
|
||||
| `__dt__Q22MR31AssignableArray<P11ThrowingIce>Fv` | :x: |
|
||||
| `__dt__15IceMerameraKingFv` | :x: |
|
||||
| `__dt__24IceMerameraKingShockWaveFv` | :x: |
|
||||
| `__ct__24IceMerameraKingShockWaveFv` | :white_check_mark: |
|
||||
| `appear__24IceMerameraKingShockWaveFv` | :white_check_mark: |
|
||||
| `control__24IceMerameraKingShockWaveFv` | :white_check_mark: |
|
||||
| `attackSensor__24IceMerameraKingShockWaveFP9HitSensorP9HitSensor` | :white_check_mark: |
|
||||
| `__sinit_\IceMerameraKing_cpp` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvSearchFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing16HostTypeNrvThrowFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvExtinguishFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvEscapeFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvDamageFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing18HostTypeNrvRecoverFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvPreAttackFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing17HostTypeNrvAttackFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitFv` | :white_check_mark: |
|
||||
| `__ct__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoFv` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvDeathDemoCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing24HostTypeNrvDeathDemoWaitCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo2ndCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing23HostTypeNrvAngryDemo1stCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing22HostTypeNrvAttackAfterCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvAttackCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvPreAttackCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing18HostTypeNrvRecoverCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvPreRecoverCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvDamageCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvEscapeJumpCFP5Spine` | :white_check_mark: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvEscapeCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing21HostTypeNrvExtinguishCFP5Spine` | :white_check_mark: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing19HostTypeNrvThrow2ndCFP5Spine` | :white_check_mark: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing16HostTypeNrvThrowCFP5Spine` | :white_check_mark: |
|
||||
| `executeOnEnd__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing20HostTypeNrvBeginDemoCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q218NrvIceMerameraKing17HostTypeNrvSearchCFP5Spine` | :white_check_mark: |
|
||||
| `__dt__40JointControlDelegator<15IceMerameraKing>Fv` | :white_check_mark: |
|
||||
| `calcJointMatrix__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo` | :white_check_mark: |
|
||||
| `calcJointMatrixAfterChild__40JointControlDelegator<15IceMerameraKing>FPQ29JGeometry64TPosition3<Q29JGeometry38TMatrix34<Q29JGeometry13SMatrix34C<f>>>RC19JointControllerInfo` | :white_check_mark: |
|
||||
| `__dt__Q22MR31AssignableArray<P11ThrowingIce>Fv` | :white_check_mark: |
|
||||
| `__dt__15IceMerameraKingFv` | :white_check_mark: |
|
||||
| `__dt__24IceMerameraKingShockWaveFv` | :white_check_mark: |
|
||||
|
@ -24,7 +24,7 @@
|
||||
| [SceneDataInitializer.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneDataInitializer.md) | 100.0% | 9 / 9 | 100.0% | :white_check_mark:
|
||||
| [SceneExecutor.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneExecutor.md) | 0.0% | 0 / 19 | 0.0% | :x:
|
||||
| [SceneFactory.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneFactory.md) | 0.0% | 0 / 4 | 0.0% | :x:
|
||||
| [SceneFunction.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneFunction.md) | 0.0% | 0 / 21 | 0.0% | :x:
|
||||
| [SceneFunction.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneFunction.md) | 100.0% | 21 / 21 | 100.0% | :white_check_mark:
|
||||
| [SceneObjHolder.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneObjHolder.md) | 5.683060109289618% | 5 / 9 | 55.55555555555556% | :eight_pointed_black_star:
|
||||
| [ScenePlayingResult.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/ScenePlayingResult.md) | 0.0% | 0 / 8 | 0.0% | :x:
|
||||
| [SceneNameObjListExecutor.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Scene/SceneNameObjListExecutor.md) | 100.0% | 5 / 5 | 100.0% | :white_check_mark:
|
||||
|
@ -5,28 +5,28 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 21 Completed -- (0.0%)
|
||||
# 21 / 21 Completed -- (100.0%)
|
||||
# SceneFunction.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `startStageFileLoad__13SceneFunctionFv` | :x: |
|
||||
| `waitDoneStageFileLoad__13SceneFunctionFv` | :x: |
|
||||
| `startActorFileLoadCommon__13SceneFunctionFv` | :x: |
|
||||
| `startActorFileLoadScenario__13SceneFunctionFv` | :x: |
|
||||
| `startActorPlacement__13SceneFunctionFv` | :x: |
|
||||
| `initAfterScenarioSelected__13SceneFunctionFv` | :x: |
|
||||
| `initForNameObj__13SceneFunctionFv` | :x: |
|
||||
| `initForLiveActor__13SceneFunctionFv` | :x: |
|
||||
| `initEffectSystem__13SceneFunctionFUlUl` | :x: |
|
||||
| `allocateDrawBufferActorList__13SceneFunctionFv` | :x: |
|
||||
| `execute__12CategoryListFQ22MR12MovementType` | :x: |
|
||||
| `execute__12CategoryListFQ22MR12CalcAnimType` | :x: |
|
||||
| `execute__12CategoryListFQ22MR8DrawType` | :x: |
|
||||
| `entryDrawBuffer2D__12CategoryListFv` | :x: |
|
||||
| `entryDrawBuffer3D__12CategoryListFv` | :x: |
|
||||
| `entryDrawBufferMirror__12CategoryListFv` | :x: |
|
||||
| `drawOpa__12CategoryListFQ22MR14DrawBufferType` | :x: |
|
||||
| `drawXlu__12CategoryListFQ22MR14DrawBufferType` | :x: |
|
||||
| `requestMovementOn__12CategoryListFQ22MR12MovementType` | :x: |
|
||||
| `requestMovementOff__12CategoryListFQ22MR12MovementType` | :x: |
|
||||
| `createHioBasicNode__13SceneFunctionFP5Scene` | :x: |
|
||||
| `startStageFileLoad__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `waitDoneStageFileLoad__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `startActorFileLoadCommon__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `startActorFileLoadScenario__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `startActorPlacement__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `initAfterScenarioSelected__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `initForNameObj__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `initForLiveActor__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `initEffectSystem__13SceneFunctionFUlUl` | :white_check_mark: |
|
||||
| `allocateDrawBufferActorList__13SceneFunctionFv` | :white_check_mark: |
|
||||
| `execute__12CategoryListFQ22MR12MovementType` | :white_check_mark: |
|
||||
| `execute__12CategoryListFQ22MR12CalcAnimType` | :white_check_mark: |
|
||||
| `execute__12CategoryListFQ22MR8DrawType` | :white_check_mark: |
|
||||
| `entryDrawBuffer2D__12CategoryListFv` | :white_check_mark: |
|
||||
| `entryDrawBuffer3D__12CategoryListFv` | :white_check_mark: |
|
||||
| `entryDrawBufferMirror__12CategoryListFv` | :white_check_mark: |
|
||||
| `drawOpa__12CategoryListFQ22MR14DrawBufferType` | :white_check_mark: |
|
||||
| `drawXlu__12CategoryListFQ22MR14DrawBufferType` | :white_check_mark: |
|
||||
| `requestMovementOn__12CategoryListFQ22MR12MovementType` | :white_check_mark: |
|
||||
| `requestMovementOff__12CategoryListFQ22MR12MovementType` | :white_check_mark: |
|
||||
| `createHioBasicNode__13SceneFunctionFP5Scene` | :white_check_mark: |
|
||||
|
@ -112,7 +112,7 @@
|
||||
| [ReplaceTagProcessor.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ReplaceTagProcessor.md) | 0.0% | 0 / 12 | 0.0% | :x:
|
||||
| [SaveIcon.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/SaveIcon.md) | 0.0% | 0 / 4 | 0.0% | :x:
|
||||
| [ScenarioSelectLayout.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ScenarioSelectLayout.md) | 56.27306273062731% | 49 / 63 | 77.77777777777779% | :eight_pointed_black_star:
|
||||
| [ScenarioTitle.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ScenarioTitle.md) | 0.0% | 0 / 14 | 0.0% | :x:
|
||||
| [ScenarioTitle.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ScenarioTitle.md) | 100.0% | 14 / 14 | 100.0% | :white_check_mark:
|
||||
| [SceneWipeHolder.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/SceneWipeHolder.md) | 0.0% | 0 / 9 | 0.0% | :x:
|
||||
| [ScreenAlphaCapture.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ScreenAlphaCapture.md) | 0.0% | 0 / 9 | 0.0% | :x:
|
||||
| [ScreenBlurEffect.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/ScreenBlurEffect.md) | 0.0% | 0 / 7 | 0.0% | :x:
|
||||
|
@ -5,21 +5,21 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 14 Completed -- (0.0%)
|
||||
# 14 / 14 Completed -- (100.0%)
|
||||
# ScenarioTitle.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `__ct__13ScenarioTitleFv` | :x: |
|
||||
| `init__13ScenarioTitleFRC12JMapInfoIter` | :x: |
|
||||
| `start__13ScenarioTitleFv` | :x: |
|
||||
| `end__13ScenarioTitleFv` | :x: |
|
||||
| `exeAppear__13ScenarioTitleFv` | :x: |
|
||||
| `exeEnd__13ScenarioTitleFv` | :x: |
|
||||
| `__dt__13ScenarioTitleFv` | :x: |
|
||||
| `__sinit_\ScenarioTitle_cpp` | :x: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearFv` | :x: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitFv` | :x: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndFv` | :x: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndCFP5Spine` | :x: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitCFP5Spine` | :x: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearCFP5Spine` | :x: |
|
||||
| `__ct__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `init__13ScenarioTitleFRC12JMapInfoIter` | :white_check_mark: |
|
||||
| `start__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `end__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `exeAppear__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `exeEnd__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `__dt__13ScenarioTitleFv` | :white_check_mark: |
|
||||
| `__sinit_\ScenarioTitle_cpp` | :white_check_mark: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearFv` | :white_check_mark: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitFv` | :white_check_mark: |
|
||||
| `__ct__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndFv` | :white_check_mark: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@16ScenarioTitleEndCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@17ScenarioTitleWaitCFP5Spine` | :white_check_mark: |
|
||||
| `execute__Q227@unnamed@ScenarioTitle_cpp@19ScenarioTitleAppearCFP5Spine` | :white_check_mark: |
|
||||
|
9
include/Game/Camera/CameraTargetDemoActor.hpp
Normal file
9
include/Game/Camera/CameraTargetDemoActor.hpp
Normal file
@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/LiveActor.hpp"
|
||||
|
||||
class CameraTargetDemoActor : public LiveActor {
|
||||
public:
|
||||
CameraTargetDemoActor(MtxPtr, const char *);
|
||||
|
||||
};
|
@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/NameObj/NameObj.hpp"
|
||||
#include <revolution.h>
|
||||
#include <JSystem/JParticle/JPAEmitterManager.hpp>
|
||||
#include <revolution.h>
|
||||
#include "Game/NameObj/NameObj.hpp"
|
||||
|
||||
class AutoEffectGroupHolder;
|
||||
class ParticleEmitter;
|
||||
@ -10,18 +10,25 @@ class SingleEmitter;
|
||||
class ParticleCalcExecutor;
|
||||
class ParticleDrawExecutor;
|
||||
class ParticleEmitterHolder;
|
||||
class ParticleResourceHolder;
|
||||
|
||||
class EffectSystem : public NameObj {
|
||||
public:
|
||||
EffectSystem(const char *, bool);
|
||||
EffectSystem(const char*, bool);
|
||||
|
||||
ParticleEmitter* createEmitter(u16, u8, u8);
|
||||
void forceDeleteEmitter(ParticleEmitter *) const;
|
||||
void forceDeleteSingleEmitter(SingleEmitter *) const;
|
||||
void forceDeleteEmitter(ParticleEmitter*) const;
|
||||
void forceDeleteSingleEmitter(SingleEmitter*) const;
|
||||
|
||||
void entry(ParticleResourceHolder*, u32, u32);
|
||||
|
||||
u32 _C;
|
||||
ParticleEmitterHolder* mEmitterHolder; // 0x10
|
||||
ParticleDrawExecutor* mDrawExec; // 0x14
|
||||
ParticleCalcExecutor* mCalcExec; // 0x18
|
||||
AutoEffectGroupHolder* mGroupHolder; // 0x1C
|
||||
ParticleEmitterHolder* mEmitterHolder; // 0x10
|
||||
ParticleDrawExecutor* mDrawExec; // 0x14
|
||||
ParticleCalcExecutor* mCalcExec; // 0x18
|
||||
AutoEffectGroupHolder* mGroupHolder; // 0x1C
|
||||
};
|
||||
|
||||
namespace MR {
|
||||
EffectSystem* getEffectSystem();
|
||||
};
|
115
include/Game/Enemy/IceMerameraKing.hpp
Normal file
115
include/Game/Enemy/IceMerameraKing.hpp
Normal file
@ -0,0 +1,115 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/LiveActor.hpp"
|
||||
#include "Game/LiveActor/ModelObj.hpp"
|
||||
#include "Game/Effect/SpinPullParticleCallBack.hpp"
|
||||
#include "Game/Util/JointController.hpp"
|
||||
#include "Game/Util/FixedPosition.hpp"
|
||||
#include "Game/Enemy/MoguStone.hpp"
|
||||
#include "Game/Camera/CameraTargetDemoActor.hpp"
|
||||
#include "Game/LiveActor/Binder.hpp"
|
||||
|
||||
class Meramera;
|
||||
|
||||
class IceMerameraKing : public LiveActor {
|
||||
public:
|
||||
IceMerameraKing(const char *);
|
||||
|
||||
virtual ~IceMerameraKing();
|
||||
virtual void init(const JMapInfoIter &);
|
||||
virtual void initAfterPlacement();
|
||||
virtual void kill();
|
||||
virtual void control();
|
||||
virtual void calcAndSetBaseMtx();
|
||||
virtual void attackSensor(HitSensor *, HitSensor *);
|
||||
virtual bool receiveMsgPlayerAttack(u32, HitSensor *, HitSensor *);
|
||||
virtual bool receiveOtherMsg(u32, HitSensor *, HitSensor *);
|
||||
|
||||
void exeSearch();
|
||||
void exeThrow();
|
||||
void tearDownThrow();
|
||||
void exeExtinguish();
|
||||
void exeEscape();
|
||||
void exeEscapeJump();
|
||||
void exeDamage();
|
||||
void exePreRecover();
|
||||
void exeRecover();
|
||||
void exePreAttack();
|
||||
void exeAttack();
|
||||
void exeAttackAfter();
|
||||
void exeAngryDemo();
|
||||
void exeDeathDemo();
|
||||
void addVelocityToInitPos();
|
||||
bool isDeadAllIce();
|
||||
bool isEnableThrow();
|
||||
ThrowingIce* getDeadWeaponAndAppear();
|
||||
bool calcJoint(TPos3f *, const JointControllerInfo &);
|
||||
|
||||
inline void exeDeleteEffect() {
|
||||
MR::deleteEffect(this, "Rolling");
|
||||
}
|
||||
|
||||
inline void exeDeathDemoWait() {
|
||||
if (MR::isFirstStep(this)) {
|
||||
MR::stopStageBGM(30);
|
||||
}
|
||||
mVelocity.zero();
|
||||
}
|
||||
|
||||
FixedPosition* mFixedPos; //_8C
|
||||
ThrowingIce* _90;
|
||||
Meramera* _94;
|
||||
SpinPullParticleCallBack* mSpinParticle; //_98
|
||||
ThrowingIce** mActor; //_9C
|
||||
s32 _A0;
|
||||
s32 _A4;
|
||||
LiveActor* _A8;
|
||||
LiveActor* _AC;
|
||||
TVec3f _B0;
|
||||
TVec3f _BC;
|
||||
TVec3f _C8;
|
||||
TVec3f _D4;
|
||||
s32 _E0;
|
||||
s32 _E4;
|
||||
s32 _E8;
|
||||
s32 _EC;
|
||||
s32 _F0;
|
||||
MR::Vector<MR::AssignableArray<ThrowingIce*> > mModelArray; //_F4
|
||||
TQuat4f _100;
|
||||
TVec3f _110;
|
||||
f32 _11C;
|
||||
bool _120;
|
||||
bool _121;
|
||||
CameraTargetDemoActor* _F8;
|
||||
JointControlDelegator<IceMerameraKing>* mJointController; //_FC
|
||||
};
|
||||
|
||||
class IceMerameraKingShockWave : public ModelObj {
|
||||
public:
|
||||
IceMerameraKingShockWave();
|
||||
|
||||
virtual ~IceMerameraKingShockWave();
|
||||
virtual void appear();
|
||||
virtual void control();
|
||||
virtual void attackSensor(HitSensor *, HitSensor *);
|
||||
};
|
||||
|
||||
namespace NrvIceMerameraKing {
|
||||
NERVE(HostTypeNrvSearch);
|
||||
NERVE_EXECEND(HostTypeNrvBeginDemo);
|
||||
NERVE_EXECEND(HostTypeNrvThrow);
|
||||
NERVE_EXECEND(HostTypeNrvThrow2nd);
|
||||
NERVE(HostTypeNrvExtinguish);
|
||||
NERVE_EXECEND(HostTypeNrvEscape);
|
||||
NERVE(HostTypeNrvEscapeJump);
|
||||
NERVE(HostTypeNrvDamage);
|
||||
NERVE(HostTypeNrvPreRecover);
|
||||
NERVE(HostTypeNrvRecover);
|
||||
NERVE(HostTypeNrvPreAttack);
|
||||
NERVE(HostTypeNrvAttack);
|
||||
NERVE(HostTypeNrvAttackAfter);
|
||||
NERVE(HostTypeNrvAngryDemo1st);
|
||||
NERVE(HostTypeNrvAngryDemo2nd);
|
||||
NERVE(HostTypeNrvDeathDemoWait);
|
||||
NERVE(HostTypeNrvDeathDemo);
|
||||
};
|
10
include/Game/Enemy/Meramera.hpp
Normal file
10
include/Game/Enemy/Meramera.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/LiveActor.hpp"
|
||||
|
||||
class IceMerameraKing;
|
||||
|
||||
class Meramera : public LiveActor {
|
||||
public:
|
||||
Meramera(const char *);
|
||||
};
|
47
include/Game/Enemy/MoguStone.hpp
Normal file
47
include/Game/Enemy/MoguStone.hpp
Normal file
@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/ModelObj.hpp"
|
||||
#include "Game/LiveActor/LiveActor.hpp"
|
||||
#include "Game/Util/ParabolicPath.hpp"
|
||||
|
||||
namespace {
|
||||
static f32 hAddHeight = 200.0f;
|
||||
};
|
||||
|
||||
class MoguStone : public ModelObj {
|
||||
public:
|
||||
MoguStone(const char *, const char *);
|
||||
|
||||
virtual bool receiveMsgPlayerAttack(u32, HitSensor *, HitSensor *);
|
||||
//incomplete class
|
||||
|
||||
TVec4f _90;
|
||||
TVec4f _A0;
|
||||
TVec3f _B0;
|
||||
f32 _BC;
|
||||
bool _C0;
|
||||
};
|
||||
|
||||
class ThrowingIce : public MoguStone {
|
||||
public:
|
||||
ThrowingIce(const char *);
|
||||
|
||||
virtual void init(const JMapInfoIter &);
|
||||
virtual void doBehavior();
|
||||
virtual void attackSensor(HitSensor *, HitSensor *);
|
||||
virtual bool receiveMsgPlayerAttack(u32, HitSensor *, HitSensor *);
|
||||
virtual void startBreakSound();
|
||||
virtual void startThrowLevelSound();
|
||||
|
||||
void emitIce(const TVec3f &, const TVec3f &, f32, const TVec3f &);
|
||||
|
||||
ParabolicPath* mPath; //_C4
|
||||
|
||||
|
||||
};
|
||||
|
||||
namespace NrvMoguStone {
|
||||
NERVE(MoguStoneNrvTaken);
|
||||
NERVE(MoguStoneNrvThrow);
|
||||
//incomplete
|
||||
};
|
1
include/Game/Scene/SceneExecutor.hpp
Normal file
1
include/Game/Scene/SceneExecutor.hpp
Normal file
@ -0,0 +1 @@
|
||||
#pragma once
|
@ -1,20 +1,198 @@
|
||||
#pragma once
|
||||
|
||||
namespace MR {
|
||||
enum MovementType {
|
||||
#include <revolution.h>
|
||||
|
||||
namespace MR {
|
||||
/* thanks to https://github.com/magcius/noclip.website/blob/master/src/SuperMarioGalaxy/NameObj.ts */
|
||||
enum MovementType {
|
||||
MovementType_StopSceneDelayRequest = 0x01,
|
||||
MovementType_Camera = 0x02,
|
||||
MovementType_ScreenEffect = 0x03,
|
||||
MovementType_ClippingDirector = 0x04,
|
||||
MovementType_SensorHitChecker = 0x05,
|
||||
MovementType_MsgSharedGroup = 0x06,
|
||||
MovementType_UNK_0x07 = 0x07,
|
||||
MovementType_AudCameraWatcher = 0x09,
|
||||
MovementType_TalkDirector = 0x0A,
|
||||
MovementType_DemoDirector = 0x0B,
|
||||
MovementType_UNK_0x0C = 0x0C,
|
||||
MovementType_AreaObj = 0x0D,
|
||||
MovementType_Layout = 0x0E,
|
||||
MovementType_LayoutDecoration = 0x0F,
|
||||
MovementType_Movie = 0x10,
|
||||
MovementType_WipeLayout = 0x11,
|
||||
MovementType_LayoutOnPause = 0x12,
|
||||
MovementType_MovieSubtitles = 0x13,
|
||||
MovementType_UNK_0x14 = 0x14,
|
||||
MovementType_UNK_0x15 = 0x15,
|
||||
MovementType_MirrorCamera = 0x16,
|
||||
MovementType_ImageEffect = 0x17,
|
||||
MovementType_AudEffectDirector = 0x18,
|
||||
MovementType_AudBgmConductor = 0x19,
|
||||
MovementType_CameraCover = 0x1A,
|
||||
MovementType_SwitchWatcherHolder = 0x1B,
|
||||
MovementType_ClippedMapParts = 0x1C,
|
||||
MovementType_Planet = 0x1D,
|
||||
MovementType_CollisionMapObj = 0x1E,
|
||||
MovementType_CollisionEnemy = 0x1F,
|
||||
MovementType_CollisionDirector = 0x20,
|
||||
MovementType_Environment = 0x21,
|
||||
MovementType_MapObj = 0x22,
|
||||
MovementType_MapObjDecoration = 0x23,
|
||||
MovementType_Sky = 0x24,
|
||||
MovementType_Player = 0x25,
|
||||
MovementType_PlayerDecoration = 0x26,
|
||||
MovementType_PlayerMessenger = 0x27,
|
||||
MovementType_NPC = 0x28,
|
||||
MovementType_Ride = 0x29,
|
||||
MovementType_Enemy = 0x2A,
|
||||
MovementType_EnemyDecoration = 0x2B,
|
||||
MovementType_Item = 0x2C,
|
||||
MovementType_ShadowControllerHolder = 0x2D
|
||||
};
|
||||
|
||||
enum CalcAnimType {
|
||||
CalcAnimType_ClippedMapParts = 0x00,
|
||||
CalcAnimType_Planet = 0x01,
|
||||
CalcAnimType_CollisionMapObj = 0x02,
|
||||
CalcAnimType_CollisionEnemy = 0x03,
|
||||
CalcAnimType_Environment = 0x04,
|
||||
CalcAnimType_MapObj = 0x05,
|
||||
CalcAnimType_NPC = 0x06,
|
||||
CalcAnimType_Ride = 0x07,
|
||||
CalcAnimType_Enemy = 0x08,
|
||||
CalcAnimType_Player = 0x09,
|
||||
CalcAnimType_PlayerDecoration = 0x0A,
|
||||
CalcAnimType_MapObjDecoration = 0x0B,
|
||||
CalcAnimType_MirrorMapObj = 0x0C,
|
||||
CalcAnimType_Layout = 0x0D,
|
||||
CalcAnimType_LayoutDecoration = 0x0E,
|
||||
CalcAnimType_MovieSubtitles = 0x0F,
|
||||
CalcAnimType_Item = 0x10,
|
||||
CalcAnimType_UNK_0x12 = 0x12,
|
||||
CalcAnimType_AnimParticle = 0x13,
|
||||
CalcAnimType_AnimParticleIgnorePause = 0x14
|
||||
};
|
||||
|
||||
enum DrawBufferType {
|
||||
DrawBufferType_ClippedMapParts = 0x00,
|
||||
DrawBufferType_Sky = 0x01,
|
||||
DrawBufferType_Air = 0x02,
|
||||
DrawBufferType_Sun = 0x03,
|
||||
DrawBufferType_Planet = 0x04,
|
||||
DrawBufferType_PlanetLow = 0x05,
|
||||
DrawBufferType_Environment = 0x06,
|
||||
DrawBufferType_EnvironmentStrongLight = 0x07,
|
||||
DrawBufferType_MapObj = 0x08,
|
||||
DrawBufferType_MapObjWeakLight = 0x09,
|
||||
DrawBufferType_MapObjStrongLight = 0x0A,
|
||||
DrawBufferType_NoShadowedMapObj = 0x0B,
|
||||
DrawBufferType_NoShadowedMapObjStrongLight = 0x0C,
|
||||
DrawBufferType_NoSilhouettedMapObj = 0x0D,
|
||||
DrawBufferType_NoSilhouettedMapObjWeakLight = 0x0E,
|
||||
DrawBufferType_NoSilhouettedMapObjStrongLight = 0x0F,
|
||||
DrawBufferType_NPC = 0x10,
|
||||
DrawBufferType_Ride = 0x11,
|
||||
DrawBufferType_Enemy = 0x12,
|
||||
DrawBufferType_EnemyDecoration = 0x13,
|
||||
DrawBufferType_Player = 0x14,
|
||||
DrawBufferType_PlayerDecoration = 0x15,
|
||||
DrawBufferType_CrystalBox = 0x16,
|
||||
DrawBufferType_UNK_0x17 = 0x17,
|
||||
DrawBufferType_UNK_0x18 = 0x18,
|
||||
DrawBufferType_IndirectMapObj = 0x19,
|
||||
DrawBufferType_IndirectMapObjStrongLight = 0x1A,
|
||||
DrawBufferType_IndirectNpc = 0x1B,
|
||||
DrawBufferType_IndirectEnemy = 0x1C,
|
||||
DrawBufferType_IndirectPlanet = 0x1D,
|
||||
DrawBufferType_BloomModel = 0x1E,
|
||||
DrawBufferType_TripodBoss = 0x1F,
|
||||
DrawBufferType_Crystal = 0x20,
|
||||
DrawBufferType_CrystalItem = 0x21,
|
||||
DrawBufferType_GlaringLight = 0x22,
|
||||
DrawBufferType_AstroDomeSky = 0x23,
|
||||
DrawBufferType_Model3DFor2D = 0x24,
|
||||
DrawBufferType_DrawBufferType_0x25 = 0x25,
|
||||
DrawBufferType_DrawBufferType_0x26 = 0x26,
|
||||
DrawBufferType_MirrorMapObj = 0x27,
|
||||
};
|
||||
|
||||
enum DrawType {
|
||||
|
||||
DrawType_SwingRope = 0x00,
|
||||
DrawType_Creeper = 0x02,
|
||||
DrawType_PlantStalk = 0x04,
|
||||
DrawType_Plant = 0x05,
|
||||
DrawType_Trapeze = 0x06,
|
||||
DrawType_OceanBowl = 0x07,
|
||||
DrawType_OceanRing = 0x08,
|
||||
DrawType_OceanRingPipeInside = 0x09,
|
||||
DrawType_OceanRingPipeOutside = 0x0A,
|
||||
DrawType_OceanSphere = 0x0B,
|
||||
DrawType_WaterRoad = 0x0C,
|
||||
DrawType_WhirlPoolAccelerator = 0x0D,
|
||||
DrawType_ElectricRailHolder = 0x0E,
|
||||
DrawType_DrawType_BigBubble = 0x0F,
|
||||
DrawType_BigBubbleGoal = 0x10,
|
||||
DrawType_SpinDriverPathDrawer = 0x12,
|
||||
DrawType_GCapture = 0x13,
|
||||
DrawType_ClipAreaDropLaser = 0x14,
|
||||
DrawType_SpiderThread = 0x15,
|
||||
DrawType_SpaceCocoon = 0x16,
|
||||
DrawType_WarpPodPath = 0x18,
|
||||
DrawType_FlexibleSphere = 0x19,
|
||||
DrawType_KirairaChain = 0x1A,
|
||||
DrawType_WaterPlant = 0x1B,
|
||||
DrawType_VolumeModel = 0x1C,
|
||||
DrawType_Flag = 0x1D,
|
||||
DrawType_AstroDomeSkyClear = 0x1E,
|
||||
DrawType_AstroDomeOrbit = 0x1F,
|
||||
DrawType_OceanBowlBloomDrawer = 0x21,
|
||||
DrawType_Player = 0x22,
|
||||
DrawType_MiiFacePartsHolder = 0x25,
|
||||
DrawType_ShadowSurface = 0x26,
|
||||
DrawType_ShadowVolume = 0x27,
|
||||
DrawType_AlphaShadow = 0x29,
|
||||
DrawType_ClipArea = 0x2A,
|
||||
DrawType_FallOutFieldDraw = 0x2B,
|
||||
DrawType_ClipFieldFillDraw = 0x2C,
|
||||
DrawType_CaptureScreenIndirect = 0x2D,
|
||||
DrawType_CaptureScreenCamera = 0x2E,
|
||||
DrawType_CenterScreenBlur = 0x2F,
|
||||
DrawType_Fur = 0x31,
|
||||
DrawType_BloomEffectPreDraw = 0x34,
|
||||
DrawType_BloomEffectPostDraw = 0x35,
|
||||
DrawType_BloomModel = 0x36,
|
||||
DrawType_ImageEffect = 0x37,
|
||||
DrawType_DashRing = 0x38,
|
||||
DrawType_BrightSun = 0x39,
|
||||
DrawType_WaterCameraFilter = 0x3A,
|
||||
DrawType_Layout = 0x3C,
|
||||
DrawType_LayoutDecoration = 0x3D,
|
||||
DrawType_LayoutOnPause = 0x3E,
|
||||
DrawType_Movie = 0x3F,
|
||||
DrawType_MovieSubtitles = 0x40,
|
||||
DrawType_CometScreenFilter = 0x41,
|
||||
DrawType_WipeLayout = 0x42,
|
||||
DrawType_TalkLayout = 0x43,
|
||||
DrawType_CinemaFrame = 0x45,
|
||||
DrawType_GalaxyNamePlate = 0x46,
|
||||
DrawType_EffectDraw3D = 0x47,
|
||||
DrawType_EffectDrawIndirect = 0x48,
|
||||
DrawType_EffectDrawAfterIndirect = 0x49,
|
||||
DrawType_EffectDraw2D = 0x4A,
|
||||
DrawType_EffectDrawFor2DModel = 0x4B,
|
||||
DrawType_EffectDrawForBloomEffect = 0x4C,
|
||||
DrawType_EffectDrawAfterImageEffect = 0x4D,
|
||||
DrawType_MessageBoardCapture = 0x4E,
|
||||
DrawType_MiiFaceIcon = 0x4F,
|
||||
DrawType_MiiFaceNew = 0x50,
|
||||
DrawType_CameraCover = 0x51,
|
||||
};
|
||||
};
|
||||
}; // namespace MR
|
||||
|
||||
class CategoryList {
|
||||
class Scene;
|
||||
|
||||
class SceneFunction {
|
||||
public:
|
||||
static void startStageFileLoad();
|
||||
static void waitDoneStageFileLoad();
|
||||
@ -24,12 +202,21 @@ public:
|
||||
static void initAfterScenarioSelected();
|
||||
static void initForNameObj();
|
||||
static void initForLiveActor();
|
||||
static void initEffectSystem();
|
||||
static void initEffectSystem(u32, u32);
|
||||
static void allocateDrawBufferActorList();
|
||||
static void createHioBasicNode(Scene*);
|
||||
};
|
||||
|
||||
class CategoryList {
|
||||
public:
|
||||
static void execute(MR::MovementType);
|
||||
static void execute(MR::CalcAnimType);
|
||||
static void execute(MR::DrawType);
|
||||
static void entryDrawBuffer2D();
|
||||
static void entryDrawBuffer3D();
|
||||
static void entryDrawBufferMirror();
|
||||
static void drawOpa(MR::DrawBufferType);
|
||||
static void drawXlu(MR::DrawBufferType);
|
||||
static void requestMovementOn(MR::MovementType);
|
||||
static void requestMovementOff(MR::MovementType);
|
||||
};
|
@ -1,48 +1,55 @@
|
||||
#pragma once
|
||||
|
||||
#define SceneObj_SensorHitChecker 0x0
|
||||
#define SceneObj_CollisionDirector 0x1
|
||||
#define SceneObj_ClippingDirector 0x2
|
||||
#define SceneObj_DemoDirector 0x3
|
||||
#define SceneObj_EventDirector 0x4
|
||||
#define SceneObj_EffectSystem 0x5
|
||||
#define SceneObj_LightDirector 0x6
|
||||
#define SceneObj_SceneDataInitializer 0x7
|
||||
#define SceneObj_StageDataHolder 0x8
|
||||
#define SceneObj_MessageSensorHolder 0x9
|
||||
#define SceneObj_StageSwitchContainer 0xA
|
||||
#define SceneObj_SwitchWatcherHolder 0xB
|
||||
#define SceneObj_SleepControllerHolder 0xC
|
||||
#define SceneObj_AreaObjContainer 0xD
|
||||
#define SceneObj_MarioHolder 0x14
|
||||
#define SceneObj_MirrorCamera 0x16
|
||||
#define SceneObj_CameraContext 0x17
|
||||
#define SceneObj_PlayerActionGuidance 0x23
|
||||
#define SceneObj_PlacementStateChecker 0x27
|
||||
#define SceneObj_NamePosHolder 0x28
|
||||
#define SceneObj_AllLiveActorGroup 0x30
|
||||
#define SceneObj_PlanetGravityManager 0x32
|
||||
#define SceneObj_PurpleCoinHolder 0x37
|
||||
#define SceneObj_CoinRotater 0x38
|
||||
#define SceneObj_AirBubbleHolder 0x39
|
||||
#define SceneObj_BigFanHolder 0x3A
|
||||
#define SceneObj_ShadowControllerHolder 0x44
|
||||
#define SceneObj_ShadowVolumeDrawer 0x45
|
||||
#define SceneObj_ShadowSurfaceDrawerInit 0x46
|
||||
#define SceneObj_VolumeModelDrawInit 0x4C
|
||||
#define SceneObj_SpinDrawerPathDrawInit 0x4D
|
||||
#define SceneObj_NoteGroup 0x4E
|
||||
#define SceneObj_ArrowSwitchMultiHolder 0x54
|
||||
#define SceneObj_NameObjExecuteHolder 0x58
|
||||
#define SceneObj_QuakeEffectGenerator 0x5B
|
||||
#define SceneObj_HeatHazeDirector 0x5D
|
||||
#define SceneObj_EarthenPipeMediator 0x61
|
||||
#define SceneObj_SensorHitChecker 0x0
|
||||
#define SceneObj_CollisionDirector 0x1
|
||||
#define SceneObj_ClippingDirector 0x2
|
||||
#define SceneObj_DemoDirector 0x3
|
||||
#define SceneObj_EventDirector 0x4
|
||||
#define SceneObj_EffectSystem 0x5
|
||||
#define SceneObj_LightDirector 0x6
|
||||
#define SceneObj_SceneDataInitializer 0x7
|
||||
#define SceneObj_StageDataHolder 0x8
|
||||
#define SceneObj_MessageSensorHolder 0x9
|
||||
#define SceneObj_StageSwitchContainer 0xA
|
||||
#define SceneObj_SwitchWatcherHolder 0xB
|
||||
#define SceneObj_SleepControllerHolder 0xC
|
||||
#define SceneObj_AreaObjContainer 0xD
|
||||
#define SceneObj_LiveActorGroupArray 0xE
|
||||
#define SceneObj_MovementOnOffGroupHolder 0xF
|
||||
#define SceneObj_CaptureScreenActor 0x10
|
||||
#define SceneObj_MarioHolder 0x14
|
||||
#define SceneObj_MirrorCamera 0x16
|
||||
#define SceneObj_CameraContext 0x17
|
||||
#define SceneObj_TalkDirector 0x19
|
||||
#define SceneObj_StopSceneController 0x1B
|
||||
#define SceneObj_SceneObjMovementCtrl 0x1C
|
||||
#define SceneObj_PlayerActionGuidance 0x23
|
||||
#define SceneObj_PlacementStateChecker 0x27
|
||||
#define SceneObj_NamePosHolder 0x28
|
||||
#define SceneObj_NPCDirector 0x29
|
||||
#define SceneObj_AllLiveActorGroup 0x30
|
||||
#define SceneObj_PlanetGravityManager 0x32
|
||||
#define SceneObj_PurpleCoinHolder 0x37
|
||||
#define SceneObj_CoinRotater 0x38
|
||||
#define SceneObj_AirBubbleHolder 0x39
|
||||
#define SceneObj_BigFanHolder 0x3A
|
||||
#define SceneObj_ShadowControllerHolder 0x44
|
||||
#define SceneObj_ShadowVolumeDrawer 0x45
|
||||
#define SceneObj_ShadowSurfaceDrawerInit 0x46
|
||||
#define SceneObj_VolumeModelDrawInit 0x4C
|
||||
#define SceneObj_SpinDrawerPathDrawInit 0x4D
|
||||
#define SceneObj_NoteGroup 0x4E
|
||||
#define SceneObj_ArrowSwitchMultiHolder 0x54
|
||||
#define SceneObj_NameObjExecuteHolder 0x58
|
||||
#define SceneObj_QuakeEffectGenerator 0x5B
|
||||
#define SceneObj_HeatHazeDirector 0x5D
|
||||
#define SceneObj_EarthenPipeMediator 0x61
|
||||
#define SceneObj_SkeletalFishBabyRailHolder 0x67
|
||||
#define SceneObj_SkeletalFishRailHolder 0x68
|
||||
#define SceneObj_FirePressureBulletHolder 0x6A
|
||||
#define SceneObj_GalaxyNamePlateDrawer 0x70
|
||||
#define SceneObj_PlanetMapCreator 0x74
|
||||
#define SceneObj_PriorDrawAirHolder 0x75
|
||||
#define SceneObj_SkeletalFishRailHolder 0x68
|
||||
#define SceneObj_FirePressureBulletHolder 0x6A
|
||||
#define SceneObj_GalaxyNamePlateDrawer 0x70
|
||||
#define SceneObj_PlanetMapCreator 0x74
|
||||
#define SceneObj_PriorDrawAirHolder 0x75
|
||||
|
||||
class NameObj;
|
||||
|
||||
@ -55,7 +62,7 @@ public:
|
||||
bool isExist(int) const;
|
||||
NameObj* newEachObj(int);
|
||||
|
||||
NameObj* mSceneObjs[0x7B]; // 0x0
|
||||
NameObj* mSceneObjs[0x7B]; // 0x0
|
||||
};
|
||||
|
||||
namespace MR {
|
||||
@ -63,8 +70,8 @@ namespace MR {
|
||||
SceneObjHolder* getSceneObjHolder();
|
||||
bool isExistSceneObj(int);
|
||||
|
||||
template<class T>
|
||||
template <class T>
|
||||
inline T getSceneObj(int objID) {
|
||||
return reinterpret_cast<T>(MR::getSceneObjHolder()->getObj(objID));
|
||||
}
|
||||
};
|
||||
}; // namespace MR
|
||||
|
18
include/Game/Screen/ScenarioTitle.hpp
Normal file
18
include/Game/Screen/ScenarioTitle.hpp
Normal file
@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/Screen/LayoutActor.hpp"
|
||||
|
||||
class ScenarioTitle : public LayoutActor {
|
||||
public:
|
||||
ScenarioTitle();
|
||||
|
||||
virtual ~ScenarioTitle();
|
||||
virtual void init(const JMapInfoIter&);
|
||||
|
||||
void start();
|
||||
void end();
|
||||
void exeAppear();
|
||||
void exeEnd();
|
||||
|
||||
inline void exeWait() {}
|
||||
};
|
@ -6,6 +6,7 @@
|
||||
|
||||
class GameSequenceDirector;
|
||||
class GameSystemObjHolder;
|
||||
class NameObjListExecutor;
|
||||
|
||||
class GameSystem : public NerveExecutor {
|
||||
public:
|
||||
@ -15,13 +16,13 @@ public:
|
||||
void frameLoop();
|
||||
|
||||
u32 _8;
|
||||
GameSequenceDirector* mSeqDirector; // 0xC
|
||||
GameSequenceDirector* mSeqDirector; // 0xC
|
||||
u32 _10;
|
||||
u32 _14;
|
||||
u32 _18;
|
||||
u32 _1C;
|
||||
GameSystemObjHolder* mObjHolder; // 0x20
|
||||
GameSystemSceneController* mSceneController; // 0x24
|
||||
GameSystemObjHolder* mObjHolder; // 0x20
|
||||
GameSystemSceneController* mSceneController; // 0x24
|
||||
u32 _28;
|
||||
u32 _2C;
|
||||
u32 _30;
|
||||
|
@ -69,6 +69,8 @@ namespace MR {
|
||||
|
||||
void calcActorAxisY(TVec3f *, const LiveActor *);
|
||||
|
||||
void addVelocitySeparateHV(LiveActor *, const TVec3f &, f32, f32);
|
||||
|
||||
void attenuateVelocity(LiveActor *, f32);
|
||||
|
||||
void killVelocityToTarget(LiveActor *, const TVec3f &);
|
||||
@ -81,6 +83,7 @@ namespace MR {
|
||||
|
||||
void calcMtxFromGravityAndZAxis(TPos3f *, const LiveActor *, const TVec3f &, const TVec3f &);
|
||||
|
||||
void setVelocityJump(LiveActor *, f32);
|
||||
void addVelocityToGravity(LiveActor *, f32);
|
||||
|
||||
void addVelocityKeepHeight(LiveActor *, const TVec3f &, f32, f32, f32);
|
||||
@ -100,8 +103,11 @@ namespace MR {
|
||||
void addVelocityMoveToTarget(LiveActor *, const TVec3f &, f32, f32, f32, f32);
|
||||
|
||||
void addVelocityKeepHeight(LiveActor *, const TVec3f &, f32, f32, f32);
|
||||
void addVelocityKeepHeightUseShadow(LiveActor *, f32, f32, f32, const char *);
|
||||
|
||||
void turnDirectionToTarget(const LiveActor *, TVec3f *, const TVec3f &, f32);
|
||||
|
||||
void makeQuatAndFrontFromRotate(TQuat4f *, TVec3f *, const LiveActor *);
|
||||
|
||||
void moveAndTurnToPlayer(LiveActor *, TVec3f *, f32, f32, f32, f32);
|
||||
};
|
||||
|
@ -167,6 +167,7 @@ namespace MR {
|
||||
bool isMsgItemEndMove(u32);
|
||||
bool isMsgInhaleBlackHole(u32);
|
||||
|
||||
bool isMsgFreezeAttack(u32);
|
||||
bool isMsgInvincibleAttack(u32);
|
||||
|
||||
bool isMsgFireBallAttack(u32);
|
||||
|
@ -67,4 +67,8 @@ namespace MR {
|
||||
bool isShadowProjected(const LiveActor *, const char *);
|
||||
void getShadowProjectionPos(const LiveActor *, const char *, TVec3f *);
|
||||
void getShadowProjectionNormal(const LiveActor *, const char *, TVec3f *);
|
||||
|
||||
void setShadowVolumeSphereRadius(LiveActor *, const char *, f32);
|
||||
|
||||
f32 getShadowNearProjectionLength(const LiveActor *);
|
||||
};
|
@ -8,64 +8,61 @@ class LiveActor;
|
||||
class JMapInfoIter;
|
||||
|
||||
namespace MR {
|
||||
bool tryRegisterDemoCast(LiveActor *, const char *, const JMapInfoIter &);
|
||||
bool tryRegisterDemoCast(LiveActor *, const JMapInfoIter &);
|
||||
bool tryRegisterDemoCast(LiveActor*, const char*, const JMapInfoIter&);
|
||||
bool tryRegisterDemoCast(LiveActor*, const JMapInfoIter&);
|
||||
|
||||
bool isDemoCast(const LiveActor *, const char *);
|
||||
bool isDemoCast(const LiveActor*, const char*);
|
||||
|
||||
void registerDemoActionFunctor(const LiveActor *, const MR::FunctorBase &, const char *);
|
||||
bool tryRegisterDemoActionFunctorDirect(const LiveActor *, const MR::FunctorBase &, const char *, const char *);
|
||||
void registerDemoActionFunctor(const LiveActor*, const MR::FunctorBase&, const char*);
|
||||
bool tryRegisterDemoActionFunctorDirect(const LiveActor*, const MR::FunctorBase&, const char*, const char*);
|
||||
|
||||
void registerDemoActionNerve(const LiveActor *, const Nerve *, const char *);
|
||||
bool tryRegisterDemoActionFunctor(const LiveActor *, const MR::FunctorBase &, const char *);
|
||||
void registerDemoActionNerve(const LiveActor*, const Nerve*, const char*);
|
||||
bool tryRegisterDemoActionFunctor(const LiveActor*, const MR::FunctorBase&, const char*);
|
||||
|
||||
bool tryRegisterDemoActionNerve(const LiveActor *, const Nerve *, const char *);
|
||||
bool tryRegisterDemoActionNerve(const LiveActor*, const Nerve*, const char*);
|
||||
|
||||
bool isRegisteredDemoActionNerve(const LiveActor *);
|
||||
bool isRegisteredDemoActionNerve(const LiveActor*);
|
||||
|
||||
void registerDemoSimpleCastAll(LiveActor *);
|
||||
void registerDemoSimpleCastAll(NameObj *);
|
||||
bool tryStartDemoRegisteredMarioPuppetable(LiveActor*, const char*);
|
||||
void registerDemoSimpleCastAll(LiveActor*);
|
||||
void registerDemoSimpleCastAll(NameObj*);
|
||||
|
||||
bool isDemoActive();
|
||||
bool isDemoActive(const char *);
|
||||
bool isDemoActive(const char*);
|
||||
bool isSystemTalking();
|
||||
|
||||
bool isDemoExist(const char *);
|
||||
bool isDemoExist(const char*);
|
||||
bool isDemoPartTalk(const char*);
|
||||
bool isDemoPartStep(const char*, s32);
|
||||
bool isDemoPartFirstStep(const char*);
|
||||
|
||||
const char* getCurrentDemoPartNameMain(const char*);
|
||||
s32 getDemoPartTotalStep(const char*);
|
||||
|
||||
bool isPowerStarGetDemoActive();
|
||||
|
||||
const char* getCurrentDemoPartNameMain(const char *);
|
||||
|
||||
bool isTimeKeepDemoActive();
|
||||
|
||||
bool tryStartDemo(LiveActor *, const char *);
|
||||
bool tryStartDemoWithoutCinemaFrame(LiveActor *, const char *);
|
||||
bool tryStartDemoRegistered(LiveActor *, const char *);
|
||||
void endDemo(NameObj *, const char *);
|
||||
bool tryStartDemo(LiveActor*, const char*);
|
||||
bool tryStartDemoWithoutCinemaFrame(LiveActor*, const char*);
|
||||
bool tryStartDemoRegistered(LiveActor*, const char*);
|
||||
void endDemo(NameObj*, const char*);
|
||||
|
||||
bool requestStartDemo(LiveActor *, const char *, const Nerve *, const Nerve *);
|
||||
bool requestStartDemo(LiveActor*, const char*, const Nerve*, const Nerve*);
|
||||
|
||||
void requestStartDemoMarioPuppetableWithoutCinmeaFrame(LiveActor *, const char *, const Nerve *, const Nerve *);
|
||||
void requestStartDemoWithoutCinemaFrame(LiveActor *, const char *, const Nerve *, const Nerve *);
|
||||
void requestStartDemoMarioPuppetableWithoutCinmeaFrame(LiveActor*, const char*, const Nerve*, const Nerve*);
|
||||
void requestStartDemoWithoutCinemaFrame(LiveActor*, const char*, const Nerve*, const Nerve*);
|
||||
|
||||
bool tryStartDemoMarioPuppetable(LiveActor *, const char *);
|
||||
bool tryStartDemoMarioPuppetable(LiveActor*, const char*);
|
||||
|
||||
bool tryStartTimeKeepDemoMarioPuppetable(LiveActor *, const char *, const char *);
|
||||
bool tryStartTimeKeepDemoMarioPuppetable(NameObj *, const char *, const char *);
|
||||
void requestStartTimeKeepDemoMarioPuppetable(LiveActor*, const char*, const Nerve*, const Nerve*, const char*);
|
||||
|
||||
void requestStartTimeKeepDemoMarioPuppetable(LiveActor *, const char *, const Nerve *, const Nerve *, const char *);
|
||||
void requestStartTimeKeepDemo(LiveActor*, const char*, const Nerve*, const Nerve*, const char*);
|
||||
|
||||
void requestStartTimeKeepDemo(LiveActor *, const char *, const Nerve *, const Nerve *, const char *);
|
||||
bool isDemoPartLastStep(const char*);
|
||||
|
||||
bool isDemoPartStep(const char *, s32);
|
||||
bool isDemoPartFirstStep(const char *);
|
||||
bool isDemoPartLastStep(const char *);
|
||||
void endDemoWaitCameraInterpolating(NameObj*, const char*);
|
||||
|
||||
s32 getDemoPartTotalStep(const char *);
|
||||
|
||||
bool isDemoPartTalk(const char *);
|
||||
|
||||
void endDemoWaitCameraInterpolating(NameObj *, const char *);
|
||||
|
||||
bool isSystemTalking();
|
||||
bool isNormalTalking();
|
||||
};
|
||||
bool tryStartTimeKeepDemoMarioPuppetable(NameObj*, const char*, const char*);
|
||||
bool tryStartTimeKeepDemoMarioPuppetable(LiveActor*, const char*, const char*);
|
||||
}; // namespace MR
|
@ -23,6 +23,6 @@ public:
|
||||
MtxPtr mBaseMtx; // 0x0
|
||||
TVec3f mLocalTrans; // 0x4
|
||||
TVec3f _10;
|
||||
TMtx34f _1C;
|
||||
TPos3f _1C;
|
||||
bool mNormalizeScale; // 0x4C
|
||||
};
|
@ -14,6 +14,8 @@ namespace MR {
|
||||
void copyJointPos(const LiveActor *, const char *, TVec3f *);
|
||||
|
||||
void showJoint(J3DModel *, const char *);
|
||||
|
||||
void copyJointScale(const LiveActor *, const char *, TVec3f *);
|
||||
void hideJoint(J3DModel *, const char *);
|
||||
|
||||
bool isExistJoint(const LiveActor *, const char *);
|
||||
|
@ -9,108 +9,110 @@ class LayoutActor;
|
||||
class IconAButton;
|
||||
|
||||
namespace MR {
|
||||
void setEffectRate(LayoutActor *, const char *, f32);
|
||||
void setEffectDirectionalSpeed(LayoutActor *, const char *, f32);
|
||||
void setEffectRate(LayoutActor*, const char*, f32);
|
||||
void setEffectDirectionalSpeed(LayoutActor*, const char*, f32);
|
||||
|
||||
void createAndAddPaneCtrl(LayoutActor *, const char *, u32);
|
||||
void createAndAddPaneCtrl(LayoutActor*, const char*, u32);
|
||||
bool isExistPaneCtrl(LayoutActor*, const char*);
|
||||
|
||||
void startPaneAnim(LayoutActor *, const char *, const char *, u32);
|
||||
void startPaneAnimAtStep(LayoutActor *, const char *, const char *, s32, u32);
|
||||
void startPaneAnim(LayoutActor*, const char*, const char*, u32);
|
||||
void startPaneAnimAtStep(LayoutActor*, const char*, const char*, s32, u32);
|
||||
|
||||
void showPaneRecursive(LayoutActor *, const char *);
|
||||
void showPaneRecursive(LayoutActor*, const char*);
|
||||
|
||||
void startAnim(LayoutActor *, const char *, u32);
|
||||
void startAnim(LayoutActor*, const char*, u32);
|
||||
|
||||
void setAnimFrameAndStop(LayoutActor *, f32, u32);
|
||||
void setPaneAnimFrameAndStop(LayoutActor *, const char *, f32, u32);
|
||||
void setAnimFrameAndStop(LayoutActor*, f32, u32);
|
||||
void setPaneAnimFrameAndStop(LayoutActor*, const char*, f32, u32);
|
||||
|
||||
void setAnimRate(LayoutActor *, f32, u32);
|
||||
void setPaneAnimRate(LayoutActor *, const char *, f32, u32);
|
||||
void setAnimRate(LayoutActor*, f32, u32);
|
||||
void setPaneAnimRate(LayoutActor*, const char*, f32, u32);
|
||||
|
||||
f32 getAnimFrame(const LayoutActor *, u32);
|
||||
f32 getAnimFrame(const LayoutActor*, u32);
|
||||
|
||||
s16 getAnimFrameMax(const LayoutActor *, u32);
|
||||
s16 getAnimFrameMax(const LayoutActor *, const char *);
|
||||
s16 getAnimFrameMax(const LayoutActor*, u32);
|
||||
s16 getAnimFrameMax(const LayoutActor*, const char*);
|
||||
|
||||
bool isAnimStopped(const LayoutActor *, u32);
|
||||
bool isPaneAnimStopped(const LayoutActor *, const char *, u32);
|
||||
bool isAnimStopped(const LayoutActor*, u32);
|
||||
bool isPaneAnimStopped(const LayoutActor*, const char*, u32);
|
||||
|
||||
f32 getPaneAnimFrame(const LayoutActor *, const char *, u32);
|
||||
f32 getPaneAnimFrame(const LayoutActor*, const char*, u32);
|
||||
|
||||
void setFollowPos(const TVec2f *, const LayoutActor *, const char *);
|
||||
void setFollowPos(const TVec2f &, const LayoutActor *, const char *);
|
||||
void setFollowPos(const TVec2f*, const LayoutActor*, const char*);
|
||||
void setFollowPos(const TVec2f&, const LayoutActor*, const char*);
|
||||
|
||||
void setFollowTypeReplace(const LayoutActor *, const char *);
|
||||
void setFollowTypeAdd(const LayoutActor *, const char *);
|
||||
void setFollowTypeReplace(const LayoutActor*, const char*);
|
||||
void setFollowTypeAdd(const LayoutActor*, const char*);
|
||||
|
||||
void copyPaneTrans(TVec2f *, const LayoutActor *, const char *);
|
||||
void copyPaneTrans(TVec2f*, const LayoutActor*, const char*);
|
||||
|
||||
void convertLayoutPosToScreenPos(TVec2f *, const TVec2f &);
|
||||
void convertLayoutPosToScreenPos(TVec2f*, const TVec2f&);
|
||||
|
||||
void setTextBoxNumberRecursive(LayoutActor *, const char *, s32);
|
||||
void clearTextBoxMessageRecursive(LayoutActor *, const char *);
|
||||
void setTextBoxNumberRecursive(LayoutActor*, const char*, s32);
|
||||
void clearTextBoxMessageRecursive(LayoutActor*, const char*);
|
||||
|
||||
void setTextBoxGameMessageRecursive(LayoutActor *, const char *, const char *);
|
||||
void setTextBoxLayoutMessageRecursive(LayoutActor *, const char *, const char *);
|
||||
void setTextBoxSystemMessageRecursive(LayoutActor *, const char *, const char *);
|
||||
void setTextBoxMessageRecursive(LayoutActor *, const char *, const wchar_t *);
|
||||
void setTextBoxFormatRecursive(LayoutActor *, const char *, const wchar_t *, ...);
|
||||
void setTextBoxGameMessageRecursive(LayoutActor*, const char*, const char*);
|
||||
void setTextBoxLayoutMessageRecursive(LayoutActor*, const char*, const char*);
|
||||
void setTextBoxSystemMessageRecursive(LayoutActor*, const char*, const char*);
|
||||
void setTextBoxMessageRecursive(LayoutActor*, const char*, const wchar_t*);
|
||||
void setTextBoxFormatRecursive(LayoutActor*, const char*, const wchar_t*, ...);
|
||||
|
||||
void setTextBoxArgNumberRecursive(LayoutActor *, const char *, s32, s32);
|
||||
void setTextBoxArgStringRecursive(LayoutActor *, const char *, const wchar_t *, s32);
|
||||
void setTextBoxArgNumberRecursive(LayoutActor*, const char*, s32, s32);
|
||||
void setTextBoxArgStringRecursive(LayoutActor*, const char*, const wchar_t*, s32);
|
||||
void setTextBoxVerticalPositionTopRecursive(LayoutActor*, const char*);
|
||||
void setTextBoxVerticalPositionCenterRecursive(LayoutActor*, const char*);
|
||||
void setTextBoxVerticalPositionBottomRecursive(LayoutActor*, const char*);
|
||||
|
||||
bool isFirstStep(const LayoutActor *);
|
||||
bool isGreaterStep(const LayoutActor *, s32);
|
||||
bool isFirstStep(const LayoutActor*);
|
||||
bool isGreaterStep(const LayoutActor*, s32);
|
||||
|
||||
bool isDead(const LayoutActor *);
|
||||
bool isDead(const LayoutActor*);
|
||||
|
||||
bool isStoppedAnimFrame(const LayoutActor *);
|
||||
bool isStoppedAnimFrame(const LayoutActor*);
|
||||
|
||||
bool isExecuteCalcAnimLayout(const LayoutActor *);
|
||||
bool isExecuteDrawLayout(const LayoutActor *);
|
||||
|
||||
void showLayout(LayoutActor *);
|
||||
void hideLayout(LayoutActor *);
|
||||
bool isExecuteCalcAnimLayout(const LayoutActor*);
|
||||
bool isExecuteDrawLayout(const LayoutActor*);
|
||||
|
||||
void showPane(LayoutActor *, const char *);
|
||||
void hidePane(LayoutActor *, const char *);
|
||||
void hidePaneRecursive(LayoutActor *, const char *);
|
||||
void showPaneRecursive(LayoutActor *, const char *);
|
||||
void showLayout(LayoutActor*);
|
||||
void hideLayout(LayoutActor*);
|
||||
|
||||
bool isHiddenLayout(const LayoutActor *);
|
||||
void showPane(LayoutActor*, const char*);
|
||||
void hidePane(LayoutActor*, const char*);
|
||||
void hidePaneRecursive(LayoutActor*, const char*);
|
||||
void showPaneRecursive(LayoutActor*, const char*);
|
||||
|
||||
void startAnimAndSetFrameAndStop(LayoutActor *, const char *, f32, u32);
|
||||
bool isHiddenLayout(const LayoutActor*);
|
||||
|
||||
void emitEffect(LayoutActor *, const char *);
|
||||
void startAnimAndSetFrameAndStop(LayoutActor*, const char*, f32, u32);
|
||||
|
||||
void emitEffect(LayoutActor*, const char*);
|
||||
|
||||
IconAButton* createAndSetupIconAButton(LayoutActor*, bool, bool);
|
||||
|
||||
void setCometAnimFromId(LayoutActor *, int, u32);
|
||||
void setCometAnimFromId(LayoutActor*, int, u32);
|
||||
|
||||
void setCometPaneAnimFromId(LayoutActor *, const char *, int, u32);
|
||||
void setCometPaneAnimFromId(LayoutActor*, const char*, int, u32);
|
||||
|
||||
void createAndAddLayoutHolderRawData(const char *);
|
||||
void createAndAddLayoutHolderRawData(const char*);
|
||||
|
||||
void setEffectHostMtx(LayoutActor *, const char *, MtxPtr);
|
||||
void setEffectHostMtx(LayoutActor*, const char*, MtxPtr);
|
||||
|
||||
void addStarPointerTargetCircle(LayoutActor *, const char *, f32, const TVec2f &, const char *);
|
||||
void addStarPointerTargetCircle(LayoutActor*, const char*, f32, const TVec2f&, const char*);
|
||||
|
||||
void startPaneAnimAtFirstStep(LayoutActor *, const char *, const char *, u32);
|
||||
void startPaneAnimAtFirstStep(LayoutActor*, const char*, const char*, u32);
|
||||
|
||||
void setNerveAtPaneAnimStopped(LayoutActor *, const char *, const Nerve *, u32);
|
||||
void setNerveAtPaneAnimStopped(LayoutActor*, const char*, const Nerve*, u32);
|
||||
|
||||
void setNerveAtStep(LayoutActor *, const Nerve *, s32);
|
||||
void setNerveAtStep(LayoutActor*, const Nerve*, s32);
|
||||
|
||||
void setTextBoxGameMessageRecursive(LayoutActor *, const char *, const char *);
|
||||
void setTextBoxArgGameMessageRecursive(LayoutActor *, const char *, const char *, s32);
|
||||
void setTextBoxGameMessageRecursive(LayoutActor*, const char*, const char*);
|
||||
void setTextBoxArgGameMessageRecursive(LayoutActor*, const char*, const char*, s32);
|
||||
|
||||
bool isStep(const LayoutActor *, s32);
|
||||
bool isStep(const LayoutActor*, s32);
|
||||
|
||||
void hideLayout(LayoutActor *);
|
||||
void hideLayout(LayoutActor*);
|
||||
|
||||
f32 calcNerveEaseInValue(const LayoutActor *, s32, s32, f32, f32);
|
||||
};
|
||||
f32 calcNerveEaseInValue(const LayoutActor*, s32, s32, f32, f32);
|
||||
|
||||
void setNerveAtAnimStopped(LayoutActor*, const Nerve*, u32);
|
||||
}; // namespace MR
|
||||
|
@ -1,11 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "JSystem/JGeometry/TVec.hpp"
|
||||
#include "JSystem/JGeometry/TQuat.hpp"
|
||||
#include <revolution.h>
|
||||
#include "Game/Animation/AnmPlayer.hpp"
|
||||
#include "Game/LiveActor/LiveActorGroup.hpp"
|
||||
#include "Game/Util/JMapInfo.hpp"
|
||||
#include <revolution.h>
|
||||
#include "JSystem/JGeometry/TMatrix.hpp"
|
||||
#include "JSystem/JGeometry/TQuat.hpp"
|
||||
#include "JSystem/JGeometry/TVec.hpp"
|
||||
|
||||
class CollisionParts;
|
||||
class Nerve;
|
||||
@ -14,7 +15,6 @@ class ActorLightCtrl;
|
||||
class ProjmapEffectMtxSetter;
|
||||
class ModelObj;
|
||||
class BrkCtrl;
|
||||
class BckCtrlData;
|
||||
class PartsModel;
|
||||
class LodCtrl;
|
||||
class CollisionParts;
|
||||
@ -24,337 +24,329 @@ class MsgSharedGroup;
|
||||
class ResTIMG;
|
||||
class LiveActor;
|
||||
class TexMtxCtrl;
|
||||
class BckCtrlData;
|
||||
|
||||
namespace MR {
|
||||
enum CollisionScaleType {
|
||||
UNKNOWN_0 = 0,
|
||||
UNKNOWN_1 = 1,
|
||||
UNKNOWN_2 = 2,
|
||||
UNKNOWN_3 = 3
|
||||
};
|
||||
enum CollisionScaleType { UNKNOWN_0 = 0, UNKNOWN_1 = 1, UNKNOWN_2 = 2, UNKNOWN_3 = 3 };
|
||||
|
||||
bool isExistIndirectTexture(const LiveActor *);
|
||||
bool isExistIndirectTexture(const LiveActor*);
|
||||
|
||||
bool isAnyAnimStopped(const LiveActor *, const char *);
|
||||
bool isAnyAnimStopped(const LiveActor*, const char*);
|
||||
|
||||
void validateClipping(LiveActor *);
|
||||
void invalidateClipping(LiveActor *);
|
||||
void setClippingTypeSphere(LiveActor *, f32);
|
||||
void setClippingTypeSphere(LiveActor *, f32, const TVec3f *);
|
||||
void setClippingFarMax(LiveActor *);
|
||||
void setClippingFar50m(LiveActor *);
|
||||
void setClippingFar200m(LiveActor *);
|
||||
void startBtk(const LiveActor *, const char *);
|
||||
|
||||
void setBaseScale(LiveActor *, const TVec3f &);
|
||||
|
||||
MsgSharedGroup* joinToGroupArray(LiveActor *, const JMapInfoIter &, const char *, s32);
|
||||
LiveActorGroup* getGroupFromArray(const LiveActor *);
|
||||
|
||||
inline s32 getGroupCountFromArray(const LiveActor *pActor) {
|
||||
return getGroupFromArray(pActor)->mObjectCount;
|
||||
}
|
||||
|
||||
void copyTransRotateScale(const LiveActor *, LiveActor *);
|
||||
bool isDead(const LiveActor *);
|
||||
|
||||
void initDefaultPos(LiveActor *, const JMapInfoIter &);
|
||||
void initDefaultPosNoRepeat(LiveActor *, const JMapInfoIter &);
|
||||
bool isValidMovement(const LiveActor *);
|
||||
bool isValidCalcAnim(const LiveActor *);
|
||||
bool isValidCalcViewAndEntry(const LiveActor *);
|
||||
bool isValidDraw(const LiveActor *);
|
||||
|
||||
bool isValidCollisionParts(LiveActor *);
|
||||
void setCollisionMtx(LiveActor *);
|
||||
|
||||
void invalidateClipping(LiveActor *);
|
||||
|
||||
bool isClipped(const LiveActor *);
|
||||
bool isInvalidClipping(const LiveActor *);
|
||||
|
||||
bool isHiddenModel(const LiveActor *);
|
||||
|
||||
void onBind(LiveActor *);
|
||||
void offBind(LiveActor *);
|
||||
|
||||
|
||||
bool isCalcGravity(const LiveActor *);
|
||||
|
||||
void showModel(LiveActor *);
|
||||
void hideModel(LiveActor *);
|
||||
void showModelIfHidden(LiveActor *);
|
||||
void hideModelIfHidden(LiveActor *);
|
||||
|
||||
void hideModelAndOnCalcAnim(LiveActor *);
|
||||
void stopAnimFrame(LiveActor *);
|
||||
void validateClipping(LiveActor*);
|
||||
void invalidateClipping(LiveActor*);
|
||||
void setClippingTypeSphere(LiveActor*, f32);
|
||||
void setClippingTypeSphere(LiveActor*, f32, const TVec3f*);
|
||||
void setClippingFarMax(LiveActor*);
|
||||
void setClippingFar50m(LiveActor*);
|
||||
void setClippingFar200m(LiveActor*);
|
||||
void startBtk(const LiveActor*, const char*);
|
||||
|
||||
ResourceHolder* getResourceHolder(const LiveActor *);
|
||||
ResourceHolder* getModelResourceHolder(const LiveActor *);
|
||||
void setBaseScale(LiveActor*, const TVec3f&);
|
||||
|
||||
bool isNoEntryDrawBuffer(const LiveActor *);
|
||||
MsgSharedGroup* joinToGroupArray(LiveActor*, const JMapInfoIter&, const char*, s32);
|
||||
LiveActorGroup* getGroupFromArray(const LiveActor*);
|
||||
|
||||
inline s32 getGroupCountFromArray(const LiveActor* pActor) { return getGroupFromArray(pActor)->mObjectCount; }
|
||||
|
||||
void onCalcAnim(LiveActor *);
|
||||
void offCalcAnim(LiveActor *);
|
||||
void copyTransRotateScale(const LiveActor*, LiveActor*);
|
||||
bool isDead(const LiveActor*);
|
||||
|
||||
void onEntryDrawBuffer(LiveActor *);
|
||||
void offEntryDrawBuffer(LiveActor *);
|
||||
void initDefaultPos(LiveActor*, const JMapInfoIter&);
|
||||
void initDefaultPosNoRepeat(LiveActor*, const JMapInfoIter&);
|
||||
bool isValidMovement(const LiveActor*);
|
||||
bool isValidCalcAnim(const LiveActor*);
|
||||
bool isValidCalcViewAndEntry(const LiveActor*);
|
||||
bool isValidDraw(const LiveActor*);
|
||||
|
||||
const char* getModelResName(const LiveActor *);
|
||||
|
||||
void onCalcGravity(LiveActor *);
|
||||
void offCalcGravity(LiveActor *);
|
||||
bool isValidCollisionParts(LiveActor*);
|
||||
void setCollisionMtx(LiveActor*);
|
||||
|
||||
void calcGravityOrZero(LiveActor *);
|
||||
|
||||
void calcAnimDirect(LiveActor *);
|
||||
void invalidateClipping(LiveActor*);
|
||||
|
||||
void calcGravity(LiveActor *);
|
||||
void calcGravity(LiveActor *, const TVec3f &);
|
||||
bool isClipped(const LiveActor*);
|
||||
bool isInvalidClipping(const LiveActor*);
|
||||
|
||||
void offCalcShadow(LiveActor *, const char *);
|
||||
bool isHiddenModel(const LiveActor*);
|
||||
|
||||
void zeroVelocity(LiveActor *);
|
||||
void onBind(LiveActor*);
|
||||
void offBind(LiveActor*);
|
||||
|
||||
bool isNoBind(const LiveActor *);
|
||||
|
||||
void initLightCtrl(LiveActor *);
|
||||
void initLightCtrlForPlayer(LiveActor *);
|
||||
void initLightCtrlNoDrawEnemy(LiveActor *);
|
||||
void initLightCtrlNoDrawMapObj(LiveActor *);
|
||||
void updateLightCtrl(LiveActor *);
|
||||
void updateLightCtrlDirect(LiveActor *);
|
||||
void loadActorLight(const LiveActor *);
|
||||
void calcLightPos0(TVec3f *, const LiveActor *);
|
||||
void calcLightPos1(TVec3f *, const LiveActor *);
|
||||
const GXColor* getLightAmbientColor(const LiveActor *);
|
||||
ActorLightCtrl* getLightCtrl(const LiveActor *);
|
||||
bool isStep(const LiveActor *, s32);
|
||||
bool isFirstStep(const LiveActor *);
|
||||
bool isLessStep(const LiveActor *, s32);
|
||||
bool isLessEqualStep(const LiveActor *, s32);
|
||||
bool isGreaterStep(const LiveActor *, s32);
|
||||
bool isGreaterEqualStep(const LiveActor *, s32);
|
||||
bool isIntervalStep(const LiveActor *, s32);
|
||||
bool isNewNerve(const LiveActor *);
|
||||
f32 calcNerveRate(const LiveActor *, s32);
|
||||
f32 calcNerveRate(const LiveActor *, s32, s32);
|
||||
f32 calcNerveEaseInRate(const LiveActor *, s32);
|
||||
f32 calcNerveEaseOutRate(const LiveActor *, s32);
|
||||
f32 calcNerveEaseOutRate(const LiveActor *, s32, s32);
|
||||
f32 calcNerveEaseInOutRate(const LiveActor *, s32);
|
||||
f32 calcNerveEaseInOutRate(const LiveActor *, s32, s32);
|
||||
f32 calcNerveValue(const LiveActor *, s32, f32, f32);
|
||||
f32 calcNerveValue(const LiveActor *, s32, s32, f32, f32);
|
||||
f32 calcNerveEaseInValue(const LiveActor *, s32, f32, f32);
|
||||
f32 calcNerveEaseInValue(const LiveActor *, s32, s32, f32, f32);
|
||||
f32 calcNerveEaseOutValue(const LiveActor *, s32, f32, f32);
|
||||
f32 calcNerveEaseInOutValue(const LiveActor *, s32, f32, f32);
|
||||
f32 calcNerveEaseInOutValue(const LiveActor *, s32, s32, f32, f32);
|
||||
void setNerveAtStep(LiveActor *, const Nerve *, s32);
|
||||
void setNerveAtBckStopped(LiveActor *, const Nerve *);
|
||||
bool trySetNerve(LiveActor *, const Nerve *);
|
||||
bool isCalcGravity(const LiveActor*);
|
||||
|
||||
bool isNoCalcAnim(const LiveActor *);
|
||||
void showModel(LiveActor*);
|
||||
void hideModel(LiveActor*);
|
||||
void showModelIfHidden(LiveActor*);
|
||||
void hideModelIfHidden(LiveActor*);
|
||||
|
||||
void initCollisionParts(LiveActor *, const char *, HitSensor *, MtxPtr);
|
||||
void hideModelAndOnCalcAnim(LiveActor*);
|
||||
void stopAnimFrame(LiveActor*);
|
||||
|
||||
void initCollisionPartsAutoEqualScale(LiveActor *, const char *, HitSensor *, MtxPtr);
|
||||
|
||||
void setBaseTRMtx(LiveActor *, MtxPtr);
|
||||
void setBaseTRMtx(LiveActor *, const TQuat4f &);
|
||||
void setBaseTRMtx(LiveActor *, const TPos3f &);
|
||||
ResourceHolder* getResourceHolder(const LiveActor*);
|
||||
ResourceHolder* getModelResourceHolder(const LiveActor*);
|
||||
|
||||
void setClippingFar(LiveActor *, f32);
|
||||
void setClippingFar100m(LiveActor *);
|
||||
bool isNoEntryDrawBuffer(const LiveActor*);
|
||||
|
||||
void setClippingTypeSphereContainsModelBoundingBox(LiveActor *, f32);
|
||||
|
||||
void validateCollisionParts(LiveActor *);
|
||||
void validateCollisionParts(CollisionParts *);
|
||||
void onCalcAnim(LiveActor*);
|
||||
void offCalcAnim(LiveActor*);
|
||||
|
||||
void invalidateCollisionParts(LiveActor *);
|
||||
void invalidateCollisionParts(CollisionParts *);
|
||||
void onEntryDrawBuffer(LiveActor*);
|
||||
void offEntryDrawBuffer(LiveActor*);
|
||||
|
||||
void offUpdateCollisionParts(LiveActor *);
|
||||
const char* getModelResName(const LiveActor*);
|
||||
|
||||
void onUpdateCollisionPartsOnetimeImmediately(LiveActor *);
|
||||
void onCalcGravity(LiveActor*);
|
||||
void offCalcGravity(LiveActor*);
|
||||
|
||||
bool isExistCollisionParts(const LiveActor *);
|
||||
void calcGravityOrZero(LiveActor*);
|
||||
|
||||
void resetAllCollisionMtx(LiveActor *);
|
||||
void calcAnimDirect(LiveActor*);
|
||||
|
||||
void startAllAnim(const LiveActor *, const char *);
|
||||
bool tryStartAllAnim(const LiveActor *, const char *);
|
||||
void calcGravity(LiveActor*);
|
||||
void calcGravity(LiveActor*, const TVec3f&);
|
||||
|
||||
bool isAnyAnimOneTimeAndStopped(const LiveActor *, const char *);
|
||||
void offCalcShadow(LiveActor*, const char*);
|
||||
|
||||
bool isBrkOneTimeAndStopped(const LiveActor *);
|
||||
void zeroVelocity(LiveActor*);
|
||||
|
||||
void setAllAnimFrame(const LiveActor *, const char *, f32);
|
||||
void setAllAnimFrameAtEnd(const LiveActor *, const char *);
|
||||
bool isNoBind(const LiveActor*);
|
||||
|
||||
void startBck(const LiveActor *, const char *, const char *);
|
||||
void startBckNoInterpole(const LiveActor *, const char *);
|
||||
void startBckWithInterpole(const LiveActor *, const char *, s32);
|
||||
void startBrk(const LiveActor *, const char *);
|
||||
void startBva(const LiveActor *, const char *);
|
||||
void setBvaFrameAndStop(const LiveActor *, f32);
|
||||
void initLightCtrl(LiveActor*);
|
||||
void initLightCtrlForPlayer(LiveActor*);
|
||||
void initLightCtrlNoDrawEnemy(LiveActor*);
|
||||
void initLightCtrlNoDrawMapObj(LiveActor*);
|
||||
void updateLightCtrl(LiveActor*);
|
||||
void updateLightCtrlDirect(LiveActor*);
|
||||
void loadActorLight(const LiveActor*);
|
||||
void calcLightPos0(TVec3f*, const LiveActor*);
|
||||
void calcLightPos1(TVec3f*, const LiveActor*);
|
||||
const GXColor* getLightAmbientColor(const LiveActor*);
|
||||
ActorLightCtrl* getLightCtrl(const LiveActor*);
|
||||
bool isStep(const LiveActor*, s32);
|
||||
bool isFirstStep(const LiveActor*);
|
||||
bool isLessStep(const LiveActor*, s32);
|
||||
bool isLessEqualStep(const LiveActor*, s32);
|
||||
bool isGreaterStep(const LiveActor*, s32);
|
||||
bool isGreaterEqualStep(const LiveActor*, s32);
|
||||
bool isIntervalStep(const LiveActor*, s32);
|
||||
bool isNewNerve(const LiveActor*);
|
||||
f32 calcNerveRate(const LiveActor*, s32);
|
||||
f32 calcNerveRate(const LiveActor*, s32, s32);
|
||||
f32 calcNerveEaseInRate(const LiveActor*, s32);
|
||||
f32 calcNerveEaseOutRate(const LiveActor*, s32);
|
||||
f32 calcNerveEaseOutRate(const LiveActor*, s32, s32);
|
||||
f32 calcNerveEaseInOutRate(const LiveActor*, s32);
|
||||
f32 calcNerveEaseInOutRate(const LiveActor*, s32, s32);
|
||||
f32 calcNerveValue(const LiveActor*, s32, f32, f32);
|
||||
f32 calcNerveValue(const LiveActor*, s32, s32, f32, f32);
|
||||
f32 calcNerveEaseInValue(const LiveActor*, s32, f32, f32);
|
||||
f32 calcNerveEaseInValue(const LiveActor*, s32, s32, f32, f32);
|
||||
f32 calcNerveEaseOutValue(const LiveActor*, s32, f32, f32);
|
||||
f32 calcNerveEaseInOutValue(const LiveActor*, s32, f32, f32);
|
||||
f32 calcNerveEaseInOutValue(const LiveActor*, s32, s32, f32, f32);
|
||||
void setNerveAtStep(LiveActor*, const Nerve*, s32);
|
||||
void setNerveAtBckStopped(LiveActor*, const Nerve*);
|
||||
bool trySetNerve(LiveActor*, const Nerve*);
|
||||
|
||||
J3DFrameCtrl* getBckCtrl(const LiveActor *);
|
||||
J3DFrameCtrl* getBrkCtrl(const LiveActor *);
|
||||
J3DFrameCtrl* getBtkCtrl(const LiveActor *);
|
||||
J3DFrameCtrl* getBpkCtrl(const LiveActor *);
|
||||
J3DFrameCtrl* getBtpCtrl(const LiveActor *);
|
||||
J3DFrameCtrl* getBvaCtrl(const LiveActor *);
|
||||
bool isNoCalcAnim(const LiveActor*);
|
||||
|
||||
void startBrkAndSetFrameAndStop(const LiveActor *, const char *, f32);
|
||||
bool tryStartBck(const LiveActor *, const char *, const char *);
|
||||
void setBckRate(const LiveActor *, f32);
|
||||
void initCollisionParts(LiveActor*, const char*, HitSensor*, MtxPtr);
|
||||
|
||||
void setBrkRate(const LiveActor *, f32);
|
||||
void initCollisionPartsAutoEqualScale(LiveActor*, const char*, HitSensor*, MtxPtr);
|
||||
|
||||
void setBckFrame(const LiveActor *, f32);
|
||||
f32 getBckFrameMax(const LiveActor *);
|
||||
f32 getBrkFrameMax(const LiveActor *);
|
||||
f32 getBtkFrameMax(const LiveActor *);
|
||||
void setBaseTRMtx(LiveActor*, MtxPtr);
|
||||
void setBaseTRMtx(LiveActor*, const TQuat4f&);
|
||||
void setBaseTRMtx(LiveActor*, const TPos3f&);
|
||||
|
||||
void reflectBckCtrlData(LiveActor *, const BckCtrlData &);
|
||||
void setClippingFar(LiveActor*, f32);
|
||||
void setClippingFar100m(LiveActor*);
|
||||
|
||||
void setBckFrameAndStop(const LiveActor *, f32);
|
||||
void setClippingTypeSphereContainsModelBoundingBox(LiveActor*, f32);
|
||||
|
||||
s16 getBrkFrameMax(const LiveActor *, const char *);
|
||||
void validateCollisionParts(LiveActor*);
|
||||
void validateCollisionParts(CollisionParts*);
|
||||
|
||||
void setBtkFrame(LiveActor *, f32);
|
||||
void setBtkFrameAndStop(const LiveActor *, f32);
|
||||
void invalidateCollisionParts(LiveActor*);
|
||||
void invalidateCollisionParts(CollisionParts*);
|
||||
|
||||
bool isExistBck(const LiveActor *, const char *);
|
||||
bool isExistBva(const LiveActor *, const char *);
|
||||
bool isExistBtk(const LiveActor *, const char *);
|
||||
bool isExistBpk(const LiveActor *, const char *);
|
||||
bool isExistBtp(const LiveActor *, const char *);
|
||||
bool isExistBrk(const LiveActor *, const char *);
|
||||
void offUpdateCollisionParts(LiveActor*);
|
||||
|
||||
bool isBckPlaying(const LiveActor *, const char *);
|
||||
void onUpdateCollisionPartsOnetimeImmediately(LiveActor*);
|
||||
|
||||
bool isBckStopped(const LiveActor *);
|
||||
bool isBrkStopped(const LiveActor *);
|
||||
bool isBtkStopped(const LiveActor *);
|
||||
bool isBtpStopped(const LiveActor *);
|
||||
bool isBpkStopped(const LiveActor *);
|
||||
bool isExistCollisionParts(const LiveActor*);
|
||||
|
||||
bool isBckOneTimeAndStopped(const LiveActor *);
|
||||
void resetAllCollisionMtx(LiveActor*);
|
||||
|
||||
void startAllAnim(const LiveActor*, const char*);
|
||||
bool tryStartAllAnim(const LiveActor*, const char*);
|
||||
|
||||
void setBrkFrame(const LiveActor *, f32);
|
||||
void setBrkFrameAndStop(const LiveActor *, f32);
|
||||
void setBrkFrameEndAndStop(const LiveActor *);
|
||||
bool isAnyAnimOneTimeAndStopped(const LiveActor*, const char*);
|
||||
|
||||
void setBckFrameAtRandom(const LiveActor *);
|
||||
bool isBrkOneTimeAndStopped(const LiveActor*);
|
||||
|
||||
void setBaseTRMtx(LiveActor *, const TPos3f &);
|
||||
void setAllAnimFrame(const LiveActor*, const char*, f32);
|
||||
void setAllAnimFrameAtEnd(const LiveActor*, const char*);
|
||||
|
||||
void setBpkFrame(const LiveActor *, f32);
|
||||
void stopBck(const LiveActor *);
|
||||
void startBck(const LiveActor*, const char*, const char*);
|
||||
void startBckNoInterpole(const LiveActor*, const char*);
|
||||
void startBckWithInterpole(const LiveActor*, const char*, s32);
|
||||
void startBrk(const LiveActor*, const char*);
|
||||
void startBva(const LiveActor*, const char*);
|
||||
void setBvaFrameAndStop(const LiveActor*, f32);
|
||||
|
||||
void startBtp(const LiveActor *, const char *);
|
||||
void setBtpFrame(const LiveActor *, f32);
|
||||
void setBtpFrameAndStop(const LiveActor *, f32);
|
||||
J3DFrameCtrl* getBckCtrl(const LiveActor*);
|
||||
J3DFrameCtrl* getBrkCtrl(const LiveActor*);
|
||||
J3DFrameCtrl* getBtkCtrl(const LiveActor*);
|
||||
J3DFrameCtrl* getBpkCtrl(const LiveActor*);
|
||||
J3DFrameCtrl* getBtpCtrl(const LiveActor*);
|
||||
J3DFrameCtrl* getBvaCtrl(const LiveActor*);
|
||||
|
||||
void startBpk(const LiveActor *, const char *);
|
||||
void startBrkAndSetFrameAndStop(const LiveActor*, const char*, f32);
|
||||
bool tryStartBck(const LiveActor*, const char*, const char*);
|
||||
void setBckRate(const LiveActor*, f32);
|
||||
|
||||
ProjmapEffectMtxSetter* initDLMakerProjmapEffectMtxSetter(LiveActor *);
|
||||
void setBrkRate(const LiveActor*, f32);
|
||||
|
||||
void newDifferedDLBuffer(LiveActor *);
|
||||
void setBckFrame(const LiveActor*, f32);
|
||||
f32 getBckFrameMax(const LiveActor*);
|
||||
f32 getBrkFrameMax(const LiveActor*);
|
||||
f32 getBtkFrameMax(const LiveActor*);
|
||||
void setBckFrameAndStop(const LiveActor*, f32);
|
||||
|
||||
ModelObj* createModelObjMapObj(const char *, const char *, MtxPtr);
|
||||
ModelObj* createModelObjMapObjStrongLight(const char *, const char *, MtxPtr);
|
||||
ModelObj* createModelObjIndirectMapObj(const char *, const char *, MtxPtr);
|
||||
ModelObj* createModelObjNoSilhouettedMapObj(const char *, const char *, MtxPtr);
|
||||
ModelObj* createModelObjNpc(const char *, const char *, MtxPtr);
|
||||
PartsModel* createPartsModelMapObj(LiveActor *, const char *, const char *, MtxPtr);
|
||||
s16 getBrkFrameMax(const LiveActor*, const char*);
|
||||
|
||||
void sendMsgToGroupMember(u32, LiveActor *, HitSensor *, const char *);
|
||||
void setBtkFrame(LiveActor*, f32);
|
||||
void setBtkFrameAndStop(const LiveActor*, f32);
|
||||
|
||||
void callAppearAllGroupMember(const LiveActor *);
|
||||
void callMakeActorDeadAllGroupMember(const LiveActor *);
|
||||
void callRequestMovementOnAllGroupMember(const LiveActor *);
|
||||
bool isExistBck(const LiveActor*, const char*);
|
||||
bool isExistBva(const LiveActor*, const char*);
|
||||
bool isExistBtk(const LiveActor*, const char*);
|
||||
bool isExistBpk(const LiveActor*, const char*);
|
||||
bool isExistBtp(const LiveActor*, const char*);
|
||||
bool isExistBrk(const LiveActor*, const char*);
|
||||
|
||||
void setGroupClipping(LiveActor *, const JMapInfoIter &, int);
|
||||
bool isBckPlaying(const LiveActor*, const char*);
|
||||
|
||||
PartsModel* createPartsModelNoSilhouettedMapObj(LiveActor *, const char *, const char *, MtxPtr);
|
||||
bool isBckStopped(const LiveActor*);
|
||||
bool isBrkStopped(const LiveActor*);
|
||||
bool isBtkStopped(const LiveActor*);
|
||||
bool isBtpStopped(const LiveActor*);
|
||||
bool isBpkStopped(const LiveActor*);
|
||||
|
||||
void startAction(const LiveActor *, const char *);
|
||||
bool isBckOneTimeAndStopped(const LiveActor*);
|
||||
|
||||
LodCtrl* createLodCtrlPlanet(LiveActor *, const JMapInfoIter &, f32, s32);
|
||||
LodCtrl* createLodCtrlNPC(LiveActor *, const JMapInfoIter &);
|
||||
void setBrkFrame(const LiveActor*, f32);
|
||||
void setBrkFrameAndStop(const LiveActor*, f32);
|
||||
void setBrkFrameEndAndStop(const LiveActor*);
|
||||
|
||||
bool changeShowModelFlagSyncNearClipping(LiveActor *, f32);
|
||||
void setBckFrameAtRandom(const LiveActor*);
|
||||
|
||||
void hideModelAndOnCalcAnimIfShown(LiveActor *);
|
||||
void setBaseTRMtx(LiveActor*, const TPos3f&);
|
||||
|
||||
bool tryCreateMirrorActor(LiveActor *, const char *);
|
||||
void setBpkFrame(const LiveActor*, f32);
|
||||
void stopBck(const LiveActor*);
|
||||
|
||||
CollisionParts* createCollisionPartsFromLiveActor(LiveActor *, const char *, HitSensor *, CollisionScaleType);
|
||||
CollisionParts* createCollisionPartsFromLiveActor(LiveActor *, const char *, HitSensor *, MtxPtr, CollisionScaleType);
|
||||
void startBtp(const LiveActor*, const char*);
|
||||
void setBtpFrame(const LiveActor*, f32);
|
||||
void setBtpFrameAndStop(const LiveActor*, f32);
|
||||
|
||||
bool isBinded(const LiveActor *);
|
||||
bool isBinded(const LiveActor *, HitSensor *);
|
||||
void startBpk(const LiveActor*, const char*);
|
||||
|
||||
bool isBindedGround(const LiveActor *);
|
||||
bool isBindedWall(const LiveActor *);
|
||||
ProjmapEffectMtxSetter* initDLMakerProjmapEffectMtxSetter(LiveActor*);
|
||||
|
||||
bool isBindedGroundIce(const LiveActor *);
|
||||
bool isBindedGroundWater(const LiveActor *);
|
||||
void newDifferedDLBuffer(LiveActor*);
|
||||
|
||||
bool isActionEnd(const LiveActor *);
|
||||
ModelObj* createModelObjMapObj(const char*, const char*, MtxPtr);
|
||||
ModelObj* createModelObjMapObjStrongLight(const char*, const char*, MtxPtr);
|
||||
ModelObj* createModelObjIndirectMapObj(const char*, const char*, MtxPtr);
|
||||
ModelObj* createModelObjNoSilhouettedMapObj(const char*, const char*, MtxPtr);
|
||||
ModelObj* createModelObjNpc(const char*, const char*, MtxPtr);
|
||||
PartsModel* createPartsModelMapObj(LiveActor*, const char*, const char*, MtxPtr);
|
||||
|
||||
void setMirrorReflectionInfoFromModel(LiveActor *);
|
||||
void sendMsgToGroupMember(u32, LiveActor*, HitSensor*, const char*);
|
||||
|
||||
bool isBindedRoof(const LiveActor *);
|
||||
bool isOnGround(const LiveActor *);
|
||||
void callAppearAllGroupMember(const LiveActor*);
|
||||
void callMakeActorDeadAllGroupMember(const LiveActor*);
|
||||
void callRequestMovementOnAllGroupMember(const LiveActor*);
|
||||
|
||||
bool isPressedRoofAndGround(const LiveActor *);
|
||||
void setGroupClipping(LiveActor*, const JMapInfoIter&, int);
|
||||
|
||||
TVec3f* getRoofNormal(const LiveActor *);
|
||||
TVec3f* getWallNormal(const LiveActor *);
|
||||
TVec3f* getGroundNormal(const LiveActor *);
|
||||
PartsModel* createPartsModelNoSilhouettedMapObj(LiveActor*, const char*, const char*, MtxPtr);
|
||||
|
||||
void setBinderExceptSensorType(LiveActor *, const TVec3f *, f32);
|
||||
void startAction(const LiveActor*, const char*);
|
||||
|
||||
void setBinderOffsetVec(LiveActor *, const TVec3f *, bool);
|
||||
LodCtrl* createLodCtrlPlanet(LiveActor*, const JMapInfoIter&, f32, s32);
|
||||
LodCtrl* createLodCtrlNPC(LiveActor*, const JMapInfoIter&);
|
||||
|
||||
void setBinderExceptActor(LiveActor *, const LiveActor *);
|
||||
bool changeShowModelFlagSyncNearClipping(LiveActor*, f32);
|
||||
|
||||
bool tryCreateCollisionAllOtherCategory(LiveActor *, MtxPtr, HitSensor *, CollisionParts **, CollisionParts **, CollisionParts **);
|
||||
bool tryCreateCollisionAllOtherCategory(LiveActor *, HitSensor *, CollisionParts **, CollisionParts **, CollisionParts **);
|
||||
void hideModelAndOnCalcAnimIfShown(LiveActor*);
|
||||
|
||||
f32 getCollisionBoundingSphereRange(const LiveActor *);
|
||||
bool tryCreateMirrorActor(LiveActor*, const char*);
|
||||
|
||||
bool isExistAnim(const LiveActor *, const char *);
|
||||
CollisionParts* createCollisionPartsFromLiveActor(LiveActor*, const char*, HitSensor*, CollisionScaleType);
|
||||
CollisionParts* createCollisionPartsFromLiveActor(LiveActor*, const char*, HitSensor*, MtxPtr, CollisionScaleType);
|
||||
|
||||
void setMirrorReflectionInfoFromMtxYUp(const TPos3f &);
|
||||
bool isBinded(const LiveActor*);
|
||||
bool isBinded(const LiveActor*, HitSensor*);
|
||||
|
||||
const char* createLowModelObjName(const LiveActor *);
|
||||
const char* createMiddleModelObjName(const LiveActor *);
|
||||
bool isBindedGround(const LiveActor*);
|
||||
bool isBindedWall(const LiveActor*);
|
||||
|
||||
void addToAttributeGroupSearchTurtle(const LiveActor *);
|
||||
bool isBindedGroundIce(const LiveActor*);
|
||||
bool isBindedGroundWater(const LiveActor*);
|
||||
|
||||
void stopSceneAtStep(const LiveActor *, s32, s32);
|
||||
bool isActionEnd(const LiveActor*);
|
||||
|
||||
void tryRumblePadAndCameraDistanceStrong(const LiveActor *, f32, f32, f32);
|
||||
void setMirrorReflectionInfoFromModel(LiveActor*);
|
||||
|
||||
void initJointTransform(const LiveActor *);
|
||||
bool isBindedRoof(const LiveActor*);
|
||||
bool isOnGround(const LiveActor*);
|
||||
|
||||
void initCollisionPartsAutoEqualScaleOne(LiveActor *, const char *, HitSensor *, MtxPtr);
|
||||
void initCollisionPartsFromResourceHolder(LiveActor *, const char *, HitSensor *, ResourceHolder *, MtxPtr);
|
||||
bool isPressedRoofAndGround(const LiveActor*);
|
||||
|
||||
ResTIMG* getTexFromArc(const char *, const LiveActor *);
|
||||
PartsModel* createBloomModel(LiveActor *, MtxPtr);
|
||||
TVec3f* getRoofNormal(const LiveActor*);
|
||||
TVec3f* getWallNormal(const LiveActor*);
|
||||
TVec3f* getGroundNormal(const LiveActor*);
|
||||
|
||||
CollisionParts* getCollisionParts(const LiveActor *);
|
||||
void setBinderExceptSensorType(LiveActor*, const TVec3f*, f32);
|
||||
|
||||
TexMtxCtrl* initDLMakerTexMtx(LiveActor *, const char *);
|
||||
void setBinderOffsetVec(LiveActor*, const TVec3f*, bool);
|
||||
void setBinderRadius(LiveActor*, f32);
|
||||
|
||||
void changeModelDataTexAll(LiveActor *, const char *, const ResTIMG &);
|
||||
};
|
||||
void setBinderExceptActor(LiveActor*, const LiveActor*);
|
||||
|
||||
bool tryCreateCollisionAllOtherCategory(LiveActor*, MtxPtr, HitSensor*, CollisionParts**, CollisionParts**, CollisionParts**);
|
||||
bool tryCreateCollisionAllOtherCategory(LiveActor*, HitSensor*, CollisionParts**, CollisionParts**, CollisionParts**);
|
||||
|
||||
f32 getCollisionBoundingSphereRange(const LiveActor*);
|
||||
|
||||
bool isExistAnim(const LiveActor*, const char*);
|
||||
|
||||
void setMirrorReflectionInfoFromMtxYUp(const TPos3f&);
|
||||
|
||||
const char* createLowModelObjName(const LiveActor*);
|
||||
const char* createMiddleModelObjName(const LiveActor*);
|
||||
|
||||
void addToAttributeGroupSearchTurtle(const LiveActor*);
|
||||
|
||||
void stopSceneAtStep(const LiveActor*, s32, s32);
|
||||
|
||||
void tryRumblePadAndCameraDistanceStrong(const LiveActor*, f32, f32, f32);
|
||||
|
||||
void initJointTransform(const LiveActor*);
|
||||
|
||||
void initCollisionPartsAutoEqualScaleOne(LiveActor*, const char*, HitSensor*, MtxPtr);
|
||||
void initCollisionPartsFromResourceHolder(LiveActor*, const char*, HitSensor*, ResourceHolder*, MtxPtr);
|
||||
|
||||
ResTIMG* getTexFromArc(const char*, const LiveActor*);
|
||||
PartsModel* createBloomModel(LiveActor*, MtxPtr);
|
||||
|
||||
CollisionParts* getCollisionParts(const LiveActor*);
|
||||
|
||||
TexMtxCtrl* initDLMakerTexMtx(LiveActor*, const char*);
|
||||
|
||||
void changeModelDataTexAll(LiveActor*, const char*, const ResTIMG&);
|
||||
|
||||
void reflectBckCtrlData(LiveActor*, const BckCtrlData&);
|
||||
}; // namespace MR
|
||||
|
@ -65,6 +65,8 @@ namespace MR {
|
||||
|
||||
void blendQuatUpFront(TQuat4f *, const TVec3f &, const TVec3f &, float, float);
|
||||
|
||||
void rotateQuatRollBall(TQuat4f *, const TVec3f &, const TVec3f &, f32);
|
||||
|
||||
void clampLength(TVec3f *, const TVec3f &, f32);
|
||||
f32 convergeRadian(f32, f32, f32);
|
||||
bool isInRange(f32, f32, f32);
|
||||
@ -157,10 +159,6 @@ namespace MR {
|
||||
return x >= y ? x : y;
|
||||
}
|
||||
|
||||
static inline s32 max(s32 x, s32 y) {
|
||||
return x >= y ? x : y;
|
||||
}
|
||||
|
||||
/* there's a couple of issues with stack ordering when it comes to vectors being created and scaled
|
||||
* this function automates this and resolves most issues
|
||||
*/
|
||||
|
@ -68,6 +68,8 @@ namespace MR {
|
||||
|
||||
void startSystemLevelSE(const char *, s32, s32);
|
||||
|
||||
void playLevelMarioPinchBGM(bool);
|
||||
void stopMarioPinchBGMSoon();
|
||||
void submitTrigSE();
|
||||
void permitTrigSE();
|
||||
};
|
||||
|
@ -2,16 +2,21 @@
|
||||
|
||||
#include "Game/Util/Functor.hpp"
|
||||
|
||||
class ParticleResourceHolder;
|
||||
|
||||
namespace MR {
|
||||
bool isScreen16Per9();
|
||||
|
||||
void setLayoutDefaultAllocator();
|
||||
|
||||
void startFunctionAsyncExecuteOnMainThread(const FunctorBase &, const char *);
|
||||
void waitForEndFunctionAsyncExecute(const char *);
|
||||
bool isEndFunctionAsyncExecute(const char *);
|
||||
bool tryEndFunctionAsyncExecute(const char *);
|
||||
void suspendAsyncExecuteThread(const char *);
|
||||
void resumeAsyncExecuteThread(const char *);
|
||||
bool isSuspendAsyncExecuteThread(const char *);
|
||||
};
|
||||
void startFunctionAsyncExecuteOnMainThread(const FunctorBase&, const char*);
|
||||
void waitForEndFunctionAsyncExecute(const char*);
|
||||
bool isEndFunctionAsyncExecute(const char*);
|
||||
bool tryEndFunctionAsyncExecute(const char*);
|
||||
void suspendAsyncExecuteThread(const char*);
|
||||
void resumeAsyncExecuteThread(const char*);
|
||||
bool isSuspendAsyncExecuteThread(const char*);
|
||||
|
||||
ParticleResourceHolder* getParticleResourceHolder();
|
||||
|
||||
}; // namespace MR
|
@ -1,6 +1,8 @@
|
||||
#ifndef GXTYPES_H
|
||||
#define GXTYPES_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
91
libs/RVL_SDK/include/revolution/rso.h
Normal file
91
libs/RVL_SDK/include/revolution/rso.h
Normal file
@ -0,0 +1,91 @@
|
||||
#ifndef RSO_H
|
||||
#define RSO_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct RSOObjectHeader RSOObjectHeader;
|
||||
typedef u32 RSOHash;
|
||||
typedef struct RSOObjectList RSOObjectList;
|
||||
typedef struct RSOObjectLink RSOObjectLink;
|
||||
typedef struct RSOObjectInfo RSOObjectInfo;
|
||||
typedef struct RSOSymbolHeader RSOSymbolHeader;
|
||||
typedef struct RSOSectionInfo RSOSectionInfo;
|
||||
typedef struct RSOExportTable RSOExportTable;
|
||||
typedef struct RSOImportTable RSOImportTable;
|
||||
typedef struct RSORel RSORel;
|
||||
typedef struct RSOExportFuncTable RSOExportFuncTable;
|
||||
|
||||
struct RSOExportFuncTable {
|
||||
const char* mSymbolName;
|
||||
u32* mSymbolPtr;
|
||||
};
|
||||
|
||||
struct RSOObjectList {
|
||||
RSOObjectInfo* mHead;
|
||||
RSOObjectInfo* mTail;
|
||||
};
|
||||
|
||||
struct RSOObjectLink {
|
||||
RSOObjectInfo* mNext;
|
||||
RSOObjectInfo* mPrev;
|
||||
};
|
||||
|
||||
struct RSOObjectInfo {
|
||||
RSOObjectLink mLink;
|
||||
u32 mNumSections;
|
||||
u32 mSectionInfoOffset;
|
||||
u32 mNameOffset;
|
||||
u32 mNameSize;
|
||||
u32 mVersion;
|
||||
};
|
||||
|
||||
struct RSOSymbolHeader {
|
||||
u32 mTableOffset;
|
||||
u32 mTableSize;
|
||||
u32 mStringOffset;
|
||||
};
|
||||
|
||||
struct RSOObjectHeader {
|
||||
RSOObjectInfo mInfo;
|
||||
u32 mBssSize;
|
||||
u8 mPrologSection;
|
||||
u8 mEpilogSection;
|
||||
u8 mUnresolvedSection;
|
||||
u8 mBssSection;
|
||||
u32 mProlog;
|
||||
u32 mEpilog;
|
||||
u32 mUnresolved;
|
||||
u32 mInternalRelOffset;
|
||||
u32 mInternalRelSize;
|
||||
u32 mExternalRelOffset;
|
||||
u32 mExternalRelSize;
|
||||
RSOSymbolHeader mExpHeader;
|
||||
RSOSymbolHeader mImpHeader;
|
||||
};
|
||||
|
||||
struct RSOSectionInfo {
|
||||
u32 mOffset;
|
||||
u32 mSize;
|
||||
};
|
||||
|
||||
BOOL RSOListInit(void *);
|
||||
BOOL RSOLinkList(void *, void *);
|
||||
|
||||
BOOL RSOIsImportSymbolResolvedAll(const RSOObjectHeader *);
|
||||
|
||||
int RSOGetJumpCodeSize(const RSOObjectHeader *);
|
||||
int RSOGetJumpCodeSize(const RSOObjectHeader *);
|
||||
void RSOMakeJumpCode(const RSOObjectHeader *, void *);
|
||||
|
||||
const void* RSOFindExportSymbolAddr(const RSOObjectHeader *, const char *);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // RSO_H
|
4
setup.py
4
setup.py
@ -78,7 +78,7 @@ if not os.path.exists("Compilers"):
|
||||
|
||||
with urllib.request.urlopen("http://shibbo.net/smg/Compilers.zip") as response, open("Compilers.zip", 'wb') as out:
|
||||
data = response.read()
|
||||
if hashlib.sha256(data).hexdigest().upper() != "12D439B707D7AECB1BCD5B321DA406310523357128ABADB1493BED212A4A225F":
|
||||
if hashlib.sha256(data).hexdigest().upper() != "1856A7CDDD7630F35D2BBF4494B1CD929B21EEFB3363DB82B3E328F2E0F02227":
|
||||
print("Compilers.zip corrupt")
|
||||
sys.exit(1)
|
||||
out.write(data)
|
||||
@ -97,4 +97,4 @@ else:
|
||||
print("Found compilers folder, continuing...")
|
||||
|
||||
print("Done.")
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
@ -1,102 +1,85 @@
|
||||
#include "Game/Demo/DemoFunction.hpp"
|
||||
#include "Game/Demo/DemoCastGroup.hpp"
|
||||
#include "Game/Demo/DemoExecutorFunction.hpp"
|
||||
#include "Game/Demo/DemoCastGroupHolder.hpp"
|
||||
#include "Game/Demo/DemoDirector.hpp"
|
||||
#include "Game/Demo/DemoTimeKeeper.hpp"
|
||||
#include "Game/Demo/DemoSubPartKeeper.hpp"
|
||||
#include "Game/Effect/EffectSystemUtil.hpp"
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include "Game/Demo/DemoCastGroup.hpp"
|
||||
#include "Game/Demo/DemoCastGroupHolder.hpp"
|
||||
#include "Game/Demo/DemoDirector.hpp"
|
||||
#include "Game/Demo/DemoExecutorFunction.hpp"
|
||||
#include "Game/Demo/DemoSubPartKeeper.hpp"
|
||||
#include "Game/Demo/DemoTimeKeeper.hpp"
|
||||
#include "Game/Effect/EffectSystemUtil.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
DemoTimeKeeper* getCurrentTimeKeeper() NO_INLINE {
|
||||
return DemoFunction::getDemoDirector()->mExecutor->mTimeKeeper;
|
||||
}
|
||||
DemoSubPartKeeper* getCurrentSubPartKeeper() NO_INLINE {
|
||||
return DemoFunction::getDemoDirector()->mExecutor->mSubPartKeeper;
|
||||
}
|
||||
bool isCurrentMainPart(const char *pPartName) NO_INLINE {
|
||||
DemoTimeKeeper *timekeeper = getCurrentTimeKeeper();
|
||||
DemoTimeKeeper* getCurrentTimeKeeper() NO_INLINE { return DemoFunction::getDemoDirector()->mExecutor->mTimeKeeper; }
|
||||
DemoSubPartKeeper* getCurrentSubPartKeeper() NO_INLINE { return DemoFunction::getDemoDirector()->mExecutor->mSubPartKeeper; }
|
||||
bool isCurrentMainPart(const char* pPartName) NO_INLINE {
|
||||
DemoTimeKeeper* timekeeper = getCurrentTimeKeeper();
|
||||
return MR::isEqualString(pPartName, timekeeper->mSubPartInfos[0].mName);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
namespace DemoFunction {
|
||||
DemoDirector* getDemoDirector() {
|
||||
return reinterpret_cast<DemoDirector *>(MR::getSceneObjHolder()->getObj(SceneObj_DemoDirector));
|
||||
}
|
||||
DemoDirector* getDemoDirector() { return reinterpret_cast<DemoDirector*>(MR::getSceneObjHolder()->getObj(SceneObj_DemoDirector)); }
|
||||
|
||||
DemoCastGroupHolder* getDemoCastSubGroupHolder() {
|
||||
return getDemoDirector()->_1C;
|
||||
}
|
||||
DemoCastGroupHolder* getDemoCastSubGroupHolder() { return getDemoDirector()->_1C; }
|
||||
|
||||
void registerDemoSimpleCastAllFunction(LiveActor *pActor) {
|
||||
return getDemoDirector()->registerDemoSimpleCast(pActor);
|
||||
}
|
||||
void registerDemoSimpleCastAllFunction(LiveActor* pActor) { return getDemoDirector()->registerDemoSimpleCast(pActor); }
|
||||
|
||||
void registerDemoSimpleCastAllFunction(LayoutActor *pActor) {
|
||||
return getDemoDirector()->registerDemoSimpleCast(pActor);
|
||||
}
|
||||
void registerDemoSimpleCastAllFunction(LayoutActor* pActor) { return getDemoDirector()->registerDemoSimpleCast(pActor); }
|
||||
|
||||
void registerDemoSimpleCastAllFunction(NameObj *pObj) {
|
||||
return getDemoDirector()->registerDemoSimpleCast(pObj);
|
||||
}
|
||||
void registerDemoSimpleCastAllFunction(NameObj* pObj) { return getDemoDirector()->registerDemoSimpleCast(pObj); }
|
||||
|
||||
void registerDemoActionFunctorFunction(const LiveActor *pActor, const MR::FunctorBase &rFunctor, const char *pName) {
|
||||
void registerDemoActionFunctorFunction(const LiveActor* pActor, const MR::FunctorBase& rFunctor, const char* pName) {
|
||||
DemoExecutorFunction::registerDemoActionFunction(findDemoExecutor(pActor), pActor, rFunctor, pName);
|
||||
}
|
||||
|
||||
void registerDemoActionFunctorFunction(const LiveActor *pActor, const MR::FunctorBase &rFunctor, const char *pDemoName, const char *pName) {
|
||||
void registerDemoActionFunctorFunction(const LiveActor* pActor, const MR::FunctorBase& rFunctor, const char* pDemoName, const char* pName) {
|
||||
DemoExecutorFunction::registerDemoActionFunction(findDemoExecutor(pDemoName), pActor, rFunctor, pName);
|
||||
}
|
||||
|
||||
void registerDemoActionNerveFunction(const LiveActor *pActor, const Nerve *pNerve, const char *pName) {
|
||||
void registerDemoActionNerveFunction(const LiveActor* pActor, const Nerve* pNerve, const char* pName) {
|
||||
DemoExecutorFunction::registerDemoActionNerve(findDemoExecutor(pActor), pActor, pNerve, pName);
|
||||
}
|
||||
|
||||
bool tryStartDemoRegistered(LiveActor *pActor, const char *pPartName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pActor);
|
||||
bool tryStartDemoRegistered(LiveActor* pActor, const char* pPartName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pActor);
|
||||
if (executor == nullptr) {
|
||||
return false;
|
||||
}
|
||||
if (pPartName != nullptr) {
|
||||
return executor->tryStartProperDemoSystemPart(pPartName);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return executor->tryStartProperDemoSystem();
|
||||
}
|
||||
}
|
||||
|
||||
bool tryStartDemoRegisteredMarioPuppetable(LiveActor *pActor, const char *pPartName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pActor);
|
||||
bool tryStartDemoRegisteredMarioPuppetable(LiveActor* pActor, const char* pPartName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pActor);
|
||||
if (executor == nullptr) {
|
||||
return false;
|
||||
}
|
||||
if (pPartName != nullptr) {
|
||||
return executor->tryStartDemoSystemPart(pPartName, 2);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return MR::tryStartTimeKeepDemoMarioPuppetable(executor, executor->mName, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void registerDemoExecutor(DemoExecutor *pExecutor) {
|
||||
getDemoDirector()->_18->registerObj(pExecutor);
|
||||
}
|
||||
void registerDemoExecutor(DemoExecutor* pExecutor) { getDemoDirector()->_18->registerObj(pExecutor); }
|
||||
|
||||
DemoExecutor* findDemoExecutor(const char *pDemoName) {
|
||||
DemoCastGroup *group = getDemoDirector()->_18->findCastGroup(pDemoName);
|
||||
DemoExecutor* findDemoExecutor(const char* pDemoName) {
|
||||
DemoCastGroup* group = getDemoDirector()->_18->findCastGroup(pDemoName);
|
||||
if (group == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
return reinterpret_cast<DemoExecutor *>(group);
|
||||
return reinterpret_cast<DemoExecutor*>(group);
|
||||
}
|
||||
|
||||
DemoExecutor* findDemoExecutor(const LiveActor *pActor) {
|
||||
DemoExecutor *executor;
|
||||
DemoExecutor* findDemoExecutor(const LiveActor* pActor) {
|
||||
DemoExecutor* executor;
|
||||
for (s32 i = 0; i < getDemoDirector()->_18->mObjectCount; i++) {
|
||||
executor = reinterpret_cast<DemoExecutor *>(getDemoDirector()->_18->getCastGroup(i));
|
||||
executor = reinterpret_cast<DemoExecutor*>(getDemoDirector()->_18->getCastGroup(i));
|
||||
if (DemoExecutorFunction::isRegisteredDemoCast(executor, pActor)) {
|
||||
return executor;
|
||||
}
|
||||
@ -104,10 +87,10 @@ namespace DemoFunction {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
DemoExecutor* findDemoExecutorActive(const LiveActor *pActor) {
|
||||
DemoExecutor *executor;
|
||||
DemoExecutor* findDemoExecutorActive(const LiveActor* pActor) {
|
||||
DemoExecutor* executor;
|
||||
for (s32 i = 0; i < getDemoDirector()->_18->mObjectCount; i++) {
|
||||
executor = reinterpret_cast<DemoExecutor *>(getDemoDirector()->_18->getCastGroup(i));
|
||||
executor = reinterpret_cast<DemoExecutor*>(getDemoDirector()->_18->getCastGroup(i));
|
||||
if (DemoExecutorFunction::isRegisteredDemoCast(executor, pActor) && MR::isDemoActive(executor->mName)) {
|
||||
return executor;
|
||||
}
|
||||
@ -115,15 +98,11 @@ namespace DemoFunction {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool isDemoCast(const DemoExecutor *pExecutor, const LiveActor *pActor) {
|
||||
return DemoExecutorFunction::isRegisteredDemoCast(pExecutor, pActor);
|
||||
}
|
||||
bool isDemoCast(const DemoExecutor* pExecutor, const LiveActor* pActor) { return DemoExecutorFunction::isRegisteredDemoCast(pExecutor, pActor); }
|
||||
|
||||
bool isExistDemoPart(const DemoExecutor *pExecutor, const char *pPartName) {
|
||||
return DemoExecutorFunction::isExistDemoPart(pExecutor, pPartName);
|
||||
}
|
||||
bool isExistDemoPart(const DemoExecutor* pExecutor, const char* pPartName) { return DemoExecutorFunction::isExistDemoPart(pExecutor, pPartName); }
|
||||
|
||||
bool isDemoPartActiveFunction(const char *pPartName) {
|
||||
bool isDemoPartActiveFunction(const char* pPartName) {
|
||||
if (!MR::isTimeKeepDemoActive()) {
|
||||
return false;
|
||||
}
|
||||
@ -133,20 +112,18 @@ namespace DemoFunction {
|
||||
return getCurrentSubPartKeeper()->isDemoPartActive(pPartName);
|
||||
}
|
||||
|
||||
s32 getDemoPartStepFunction(const char *pPartName) {
|
||||
s32 getDemoPartStepFunction(const char* pPartName) {
|
||||
if (isCurrentMainPart(pPartName)) {
|
||||
return getCurrentTimeKeeper()->mCurrentStep;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return getCurrentSubPartKeeper()->getDemoPartStep(pPartName);
|
||||
}
|
||||
}
|
||||
|
||||
s32 getDemoPartTotalStepFunction(const char *pPartName) {
|
||||
s32 getDemoPartTotalStepFunction(const char* pPartName) {
|
||||
if (isCurrentMainPart(pPartName)) {
|
||||
return getCurrentTimeKeeper()->mSubPartInfos[0].mTotalSteps;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return getCurrentSubPartKeeper()->getDemoPartTotalStep(pPartName);
|
||||
}
|
||||
}
|
||||
@ -168,30 +145,30 @@ namespace DemoFunction {
|
||||
if (!MR::isTimeKeepDemoActive()) {
|
||||
return false;
|
||||
}
|
||||
DemoDirector *director = getDemoDirector();
|
||||
DemoDirector* director = getDemoDirector();
|
||||
if (director->mExecutor == nullptr) {
|
||||
return false;
|
||||
}
|
||||
DemoTimeKeeper *timekeeper = director->mExecutor->mTimeKeeper;
|
||||
DemoTimeKeeper* timekeeper = director->mExecutor->mTimeKeeper;
|
||||
if (timekeeper->isExistSuspendFlagCurrentPart()) {
|
||||
return timekeeper->isExistSuspendFlagCurrentPart();
|
||||
}
|
||||
return isDemoLastPartLastStep();
|
||||
}
|
||||
|
||||
const char *getCurrentDemoPartNameMain(const char *pDemoName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
const char* getCurrentDemoPartNameMain(const char* pDemoName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
if (executor == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
DemoTimePartInfo *part = &executor->mTimeKeeper->mSubPartInfos[0];
|
||||
DemoTimePartInfo* part = &executor->mTimeKeeper->mSubPartInfos[0];
|
||||
if (part != nullptr) {
|
||||
return part->mName;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool isTargetDemoCast(LiveActor *pActor, const JMapInfoIter &rIter, const char *pActorName, s32 id) {
|
||||
bool isTargetDemoCast(LiveActor* pActor, const JMapInfoIter& rIter, const char* pActorName, s32 id) {
|
||||
if (pActorName == nullptr) {
|
||||
return false;
|
||||
}
|
||||
@ -204,93 +181,82 @@ namespace DemoFunction {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool isRegisteredDemoActionAppear(const LiveActor *pActor) {
|
||||
bool isRegisteredDemoActionAppear(const LiveActor* pActor) {
|
||||
return DemoExecutorFunction::isRegisteredDemoActionAppear(DemoFunction::findDemoExecutor(pActor), pActor);
|
||||
}
|
||||
|
||||
bool isRegisteredDemoActionFunctor(const LiveActor *pActor) {
|
||||
bool isRegisteredDemoActionFunctor(const LiveActor* pActor) {
|
||||
return DemoExecutorFunction::isRegisteredDemoActionFunctor(DemoFunction::findDemoExecutor(pActor), pActor);
|
||||
}
|
||||
|
||||
bool isRegisteredDemoActionFunctor(const LiveActor *pActor, const char *pDemoName) {
|
||||
bool isRegisteredDemoActionFunctor(const LiveActor* pActor, const char* pDemoName) {
|
||||
return DemoExecutorFunction::isRegisteredDemoActionFunctor(DemoFunction::findDemoExecutor(pDemoName), pActor);
|
||||
}
|
||||
|
||||
bool isRegisteredDemoActionNerve(const LiveActor *pActor) {
|
||||
bool isRegisteredDemoActionNerve(const LiveActor* pActor) {
|
||||
return DemoExecutorFunction::isRegisteredDemoActionNerve(DemoFunction::findDemoExecutor(pActor), pActor);
|
||||
}
|
||||
|
||||
void requestDemoCastMovementOn(LiveActor *pActor) {
|
||||
void requestDemoCastMovementOn(LiveActor* pActor) {
|
||||
MR::requestMovementOn(pActor);
|
||||
if (pActor->mEffectKeeper != nullptr) {
|
||||
MR::Effect::requestMovementOn(pActor->mEffectKeeper);
|
||||
}
|
||||
}
|
||||
|
||||
bool isRegisteredDemoCast(const LiveActor *pActor, const char *pDemoName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
bool isRegisteredDemoCast(const LiveActor* pActor, const char* pDemoName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
if (executor != nullptr) {
|
||||
return DemoExecutorFunction::isRegisteredDemoCast(executor, pActor);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void pauseTimeKeepDemo(LiveActor *pActor) {
|
||||
return DemoExecutorFunction::pauseTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor));
|
||||
}
|
||||
void pauseTimeKeepDemo(LiveActor* pActor) { return DemoExecutorFunction::pauseTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor)); }
|
||||
|
||||
void resumeTimeKeepDemo(LiveActor *pActor) {
|
||||
return DemoExecutorFunction::resumeTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor));
|
||||
}
|
||||
void resumeTimeKeepDemo(LiveActor* pActor) { return DemoExecutorFunction::resumeTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor)); }
|
||||
|
||||
bool isPauseTimeKeepDemo(LiveActor *pActor) {
|
||||
return DemoExecutorFunction::isPauseTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor));
|
||||
}
|
||||
bool isPauseTimeKeepDemo(LiveActor* pActor) { return DemoExecutorFunction::isPauseTimeKeepDemo(DemoFunction::findDemoExecutorActive(pActor)); }
|
||||
|
||||
void pauseTimeKeepDemo(const char *pDemoName) {
|
||||
return DemoExecutorFunction::pauseTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName));
|
||||
}
|
||||
void pauseTimeKeepDemo(const char* pDemoName) { return DemoExecutorFunction::pauseTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName)); }
|
||||
|
||||
void resumeTimeKeepDemo(const char *pDemoName) {
|
||||
return DemoExecutorFunction::resumeTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName));
|
||||
}
|
||||
void resumeTimeKeepDemo(const char* pDemoName) { return DemoExecutorFunction::resumeTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName)); }
|
||||
|
||||
bool isPauseTimeKeepDemo(const char *pDemoName) {
|
||||
return DemoExecutorFunction::isPauseTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName));
|
||||
}
|
||||
bool isPauseTimeKeepDemo(const char* pDemoName) { return DemoExecutorFunction::isPauseTimeKeepDemo(DemoFunction::findDemoExecutor(pDemoName)); }
|
||||
|
||||
bool tryCreateDemoTalkAnimCtrlForActor(LiveActor *pActor, const char *pFileBaseName, const char *a3) {
|
||||
DemoExecutor *executor = findDemoExecutor(pActor);
|
||||
bool tryCreateDemoTalkAnimCtrlForActor(LiveActor* pActor, const char* pFileBaseName, const char* a3) {
|
||||
DemoExecutor* executor = findDemoExecutor(pActor);
|
||||
return DemoExecutorFunction::tryCreateDemoTalkAnimCtrlForActor(executor, pActor, pFileBaseName, a3);
|
||||
}
|
||||
|
||||
bool tryCreateDemoTalkAnimCtrlForActorDirect(LiveActor *pActor, const char *pDemoName, const char *pFileBaseName, const char *a4) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
bool tryCreateDemoTalkAnimCtrlForActorDirect(LiveActor* pActor, const char* pDemoName, const char* pFileBaseName, const char* a4) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
return DemoExecutorFunction::tryCreateDemoTalkAnimCtrlForActor(executor, pActor, pFileBaseName, a4);
|
||||
}
|
||||
|
||||
bool tryCreateDemoTalkAnimCtrlForScene(LiveActor *pActor, const JMapInfoIter &rIter, const char *pFileBaseName, const char *a4, s32 a5, s32 a6) {
|
||||
DemoExecutor *executor = findDemoExecutor(pActor);
|
||||
bool tryCreateDemoTalkAnimCtrlForScene(LiveActor* pActor, const JMapInfoIter& rIter, const char* pFileBaseName, const char* a4, s32 a5, s32 a6) {
|
||||
DemoExecutor* executor = findDemoExecutor(pActor);
|
||||
return DemoExecutorFunction::tryCreateDemoTalkAnimCtrlForScene(executor, pActor, rIter, pFileBaseName, a4, a5, a6);
|
||||
}
|
||||
|
||||
bool tryCreateDemoTalkAnimCtrlForSceneDirect(LiveActor *pActor, const char *pDemoName, const JMapInfoIter &rIter, const char *pFileBaseName, const char *a5, s32 a6, s32 a7) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
bool tryCreateDemoTalkAnimCtrlForSceneDirect(LiveActor* pActor, const char* pDemoName, const JMapInfoIter& rIter, const char* pFileBaseName,
|
||||
const char* a5, s32 a6, s32 a7) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
return DemoExecutorFunction::tryCreateDemoTalkAnimCtrlForScene(executor, pActor, rIter, pFileBaseName, a5, a6, a7);
|
||||
}
|
||||
|
||||
void registerDemoTalkMessageCtrl(LiveActor *pActor, TalkMessageCtrl *pTalkCtrl) {
|
||||
DemoExecutor *executor = findDemoExecutor(pActor);
|
||||
void registerDemoTalkMessageCtrl(LiveActor* pActor, TalkMessageCtrl* pTalkCtrl) {
|
||||
DemoExecutor* executor = findDemoExecutor(pActor);
|
||||
executor->addTalkMessageCtrl(pActor, pTalkCtrl);
|
||||
}
|
||||
|
||||
void registerDemoTalkMessageCtrlDirect(LiveActor *pActor, TalkMessageCtrl *pTalkCtrl, const char *pDemoName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
void registerDemoTalkMessageCtrlDirect(LiveActor* pActor, TalkMessageCtrl* pTalkCtrl, const char* pDemoName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
DemoExecutorFunction::registerDemoTalkMessageCtrl(executor, pActor, pTalkCtrl);
|
||||
}
|
||||
|
||||
void setDemoTalkMessageCtrlDirect(const LiveActor *pActor, TalkMessageCtrl *pTalkCtrl, const char *pDemoName) {
|
||||
DemoExecutor *executor = findDemoExecutor(pDemoName);
|
||||
void setDemoTalkMessageCtrlDirect(const LiveActor* pActor, TalkMessageCtrl* pTalkCtrl, const char* pDemoName) {
|
||||
DemoExecutor* executor = findDemoExecutor(pDemoName);
|
||||
DemoExecutorFunction::setDemoTalkMessageCtrl(executor, pActor, pTalkCtrl);
|
||||
}
|
||||
|
||||
@ -300,12 +266,12 @@ namespace DemoFunction {
|
||||
return MR::createAndAddResourceHolder(buf);
|
||||
}
|
||||
|
||||
s32 createSheetParser(const DemoExecutor *pExecutor, const char *pNameSuffix, JMapInfo **pMap) {
|
||||
const char *sheet_name = pExecutor->mSheetName;
|
||||
JMapInfo *map = MR::tryCreateCsvParser(getDemoDirector()->mResourceHolder, "Demo%s%s.bcsv", sheet_name, pNameSuffix);
|
||||
s32 createSheetParser(const DemoExecutor* pExecutor, const char* pNameSuffix, JMapInfo** pMap) {
|
||||
const char* sheet_name = pExecutor->mSheetName;
|
||||
JMapInfo* map = MR::tryCreateCsvParser(getDemoDirector()->mResourceHolder, "Demo%s%s.bcsv", sheet_name, pNameSuffix);
|
||||
*pMap = map;
|
||||
if (map != nullptr) {
|
||||
const JMapData *data = map->mData;
|
||||
const JMapData* data = map->mData;
|
||||
if (data != nullptr) {
|
||||
return data->mNumEntries;
|
||||
}
|
||||
@ -314,7 +280,5 @@ namespace DemoFunction {
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool isDemoPartTalk(const char *pDemoName) {
|
||||
return MR::isEqualSubString(pDemoName, "会話");
|
||||
}
|
||||
}
|
||||
bool isDemoPartTalk(const char* pDemoName) { return MR::isEqualSubString(pDemoName, "会話"); }
|
||||
} // namespace DemoFunction
|
||||
|
@ -4,12 +4,12 @@
|
||||
#include "Game/Util/JMapInfo.hpp"
|
||||
#include "Game/Util/PlayerUtil.hpp"
|
||||
|
||||
DemoPlayerKeeper::DemoPlayerKeeper(const DemoExecutor *pExecutor) : mExecutor(pExecutor), mNumPlayerInfos(0), mPlayerInfos(nullptr) {
|
||||
JMapInfo *map = nullptr;
|
||||
DemoPlayerKeeper::DemoPlayerKeeper(const DemoExecutor* pExecutor) : mExecutor(pExecutor), mNumPlayerInfos(0), mPlayerInfos(nullptr) {
|
||||
JMapInfo* map = nullptr;
|
||||
mNumPlayerInfos = DemoFunction::createSheetParser(mExecutor, "Player", &map);
|
||||
mPlayerInfos = new DemoPlayerInfo[mNumPlayerInfos];
|
||||
for (int i = 0; i < mNumPlayerInfos; i++) {
|
||||
DemoPlayerInfo *playerinfo = &mPlayerInfos[i];
|
||||
DemoPlayerInfo* playerinfo = &mPlayerInfos[i];
|
||||
MR::getCsvDataStrOrNULL(&playerinfo->mPartName, map, "PartName", i);
|
||||
MR::getCsvDataStrOrNULL(&playerinfo->mPosName, map, "PosName", i);
|
||||
MR::getCsvDataStrOrNULL(&playerinfo->mBckName, map, "BckName", i);
|
||||
@ -19,7 +19,7 @@ DemoPlayerKeeper::DemoPlayerKeeper(const DemoExecutor *pExecutor) : mExecutor(pE
|
||||
DemoPlayerInfo::DemoPlayerInfo() : mPosName(nullptr), mPartName(nullptr), mBckName(nullptr) {}
|
||||
|
||||
void DemoPlayerKeeper::update() {
|
||||
const DemoPlayerInfo *playerinfo;
|
||||
const DemoPlayerInfo* playerinfo;
|
||||
for (int i = 0; i < mNumPlayerInfos; i++) {
|
||||
playerinfo = &mPlayerInfos[i];
|
||||
if (MR::isDemoPartFirstStep(playerinfo->mPartName)) {
|
||||
@ -37,11 +37,11 @@ bool DemoPlayerKeeper::isExistPosName() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
void DemoPlayerKeeper::executePlayer(const DemoPlayerInfo *pPlayerInfo) const {
|
||||
void DemoPlayerKeeper::executePlayer(const DemoPlayerInfo* pPlayerInfo) const {
|
||||
if (pPlayerInfo->mPosName != nullptr) {
|
||||
MR::setPlayerPosOnGroundAndWait(pPlayerInfo->mPosName);
|
||||
}
|
||||
if (pPlayerInfo->mBckName != nullptr) {
|
||||
MR::startBckPlayer(pPlayerInfo->mBckName, (const char *)nullptr);
|
||||
MR::startBckPlayer(pPlayerInfo->mBckName, (const char*)nullptr);
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
#include "Game/Demo/DemoSubPartKeeper.hpp"
|
||||
#include "Game/Demo/DemoFunction.hpp"
|
||||
#include "Game/Util/ObjUtil.hpp"
|
||||
#include "Game/Util.hpp"
|
||||
|
||||
DemoSubPartKeeper::DemoSubPartKeeper(const DemoExecutor *pExecutor) : mExecutor(pExecutor), mNumSubPartInfos(0), mSubPartInfos(nullptr) {
|
||||
JMapInfo *map = nullptr;
|
||||
DemoSubPartKeeper::DemoSubPartKeeper(const DemoExecutor* pExecutor) : mExecutor(pExecutor), mNumSubPartInfos(0), mSubPartInfos(nullptr) {
|
||||
JMapInfo* map = nullptr;
|
||||
mNumSubPartInfos = DemoFunction::createSheetParser(mExecutor, "SubPart", &map);
|
||||
mSubPartInfos = new DemoSubPartInfo[mNumSubPartInfos];
|
||||
for (int i = 0; i < mNumSubPartInfos; i++) {
|
||||
DemoSubPartInfo *subpart = &mSubPartInfos[i];
|
||||
DemoSubPartInfo* subpart = &mSubPartInfos[i];
|
||||
MR::getCsvDataStrOrNULL(&subpart->mSubPartName, map, "SubPartName", i);
|
||||
MR::getCsvDataS32(&subpart->mSubPartTotalStep, map, "SubPartTotalStep", i);
|
||||
MR::getCsvDataStrOrNULL(&subpart->mMainPartName, map, "MainPartName", i);
|
||||
@ -20,7 +20,7 @@ DemoSubPartInfo::DemoSubPartInfo() : mSubPartName(nullptr), mSubPartTotalStep(1)
|
||||
void DemoSubPartKeeper::update() {
|
||||
if (mNumSubPartInfos > 0) {
|
||||
for (int i = 0; i < mNumSubPartInfos; i++) {
|
||||
DemoSubPartInfo *subpart = &mSubPartInfos[i];
|
||||
DemoSubPartInfo* subpart = &mSubPartInfos[i];
|
||||
if (subpart->_10 > 0) {
|
||||
subpart->_10 -= 1;
|
||||
}
|
||||
@ -37,28 +37,27 @@ void DemoSubPartKeeper::end() {
|
||||
}
|
||||
}
|
||||
|
||||
bool DemoSubPartKeeper::isDemoPartActive(const char *pSubPartName) const {
|
||||
DemoSubPartInfo *subpart = findSubPart(pSubPartName);
|
||||
bool DemoSubPartKeeper::isDemoPartActive(const char* pSubPartName) const {
|
||||
DemoSubPartInfo* subpart = findSubPart(pSubPartName);
|
||||
if (subpart == nullptr) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return subpart->_10 > 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 DemoSubPartKeeper::getDemoPartStep(const char *pSubPartName) const {
|
||||
DemoSubPartInfo *subpart = findSubPart(pSubPartName);
|
||||
s32 DemoSubPartKeeper::getDemoPartStep(const char* pSubPartName) const {
|
||||
DemoSubPartInfo* subpart = findSubPart(pSubPartName);
|
||||
return subpart->mSubPartTotalStep - subpart->_10;
|
||||
}
|
||||
|
||||
s32 DemoSubPartKeeper::getDemoPartTotalStep(const char *pSubPartName) const {
|
||||
DemoSubPartInfo *subpart = findSubPart(pSubPartName);
|
||||
s32 DemoSubPartKeeper::getDemoPartTotalStep(const char* pSubPartName) const {
|
||||
DemoSubPartInfo* subpart = findSubPart(pSubPartName);
|
||||
return subpart->mSubPartTotalStep;
|
||||
}
|
||||
|
||||
DemoSubPartInfo* DemoSubPartKeeper::findSubPart(const char *pSubPartName) const {
|
||||
DemoSubPartInfo *subpart;
|
||||
DemoSubPartInfo* DemoSubPartKeeper::findSubPart(const char* pSubPartName) const {
|
||||
DemoSubPartInfo* subpart;
|
||||
s32 count = mNumSubPartInfos;
|
||||
for (int i = 0; i < count; i++) {
|
||||
subpart = &mSubPartInfos[i];
|
||||
|
@ -1,24 +1,24 @@
|
||||
#include "Game/Demo/DemoTalkAnimCtrl.hpp"
|
||||
#include "Game/Demo/DemoFunction.hpp"
|
||||
#include <cstdio>
|
||||
#include "Game/Demo/DemoExecutor.hpp"
|
||||
#include "Game/Demo/DemoFunction.hpp"
|
||||
#include "Game/System/NerveExecutor.hpp"
|
||||
#include "Game/System/ResourceHolder.hpp"
|
||||
#include "Game/System/ResourceInfo.hpp"
|
||||
#include "Game/Util/ActorCameraUtil.hpp"
|
||||
#include "Game/Util/CameraUtil.hpp"
|
||||
#include "Game/Util/DemoUtil.hpp"
|
||||
#include "Game/Util/LiveActorUtil.hpp"
|
||||
#include "Game/System/ResourceInfo.hpp"
|
||||
#include "Game/System/ResourceHolder.hpp"
|
||||
#include "Game/Util/PlayerUtil.hpp"
|
||||
#include <cstdio>
|
||||
|
||||
DemoTalkAnimCtrl::DemoTalkAnimCtrl(LiveActor *pActor, const char *a3, const char *a4) : NerveExecutor(a3),
|
||||
mActor(pActor), _C(a3), _10(a4), _14(nullptr), _18(""), _1C(""),
|
||||
mCameraInfo(nullptr), _24(0), _28(0), _2C(0), _30(0), _34(true), _35(false), _36(false), _38(0), _3C(0), _40(0), _44(0),
|
||||
_48(false), mHaveCamera(false), _4A(false), mHaveBtk(false), mHaveBpk(false), mHaveBtp(false), mHaveBrk(false), mHaveBva(false) {}
|
||||
DemoTalkAnimCtrl::DemoTalkAnimCtrl(LiveActor* pActor, const char* a3, const char* a4)
|
||||
: NerveExecutor(a3), mActor(pActor), _C(a3), _10(a4), _14(nullptr), _18(""), _1C(""), mCameraInfo(nullptr), _24(0), _28(0), _2C(0), _30(0),
|
||||
_34(true), _35(false), _36(false), _38(0), _3C(0), _40(0), _44(0), _48(false), mHaveCamera(false), _4A(false), mHaveBtk(false), mHaveBpk(false),
|
||||
mHaveBtp(false), mHaveBrk(false), mHaveBva(false) {}
|
||||
|
||||
DemoTalkAnimCtrl::~DemoTalkAnimCtrl() {}
|
||||
|
||||
void DemoTalkAnimCtrl::initForScene(const char *a1, const char *a2, const JMapInfoIter &rIter) {
|
||||
void DemoTalkAnimCtrl::initForScene(const char* a1, const char* a2, const JMapInfoIter& rIter) {
|
||||
char buf[0x100];
|
||||
snprintf(buf, sizeof(buf), "%s.canm", a2);
|
||||
initForActor(a1);
|
||||
@ -38,13 +38,12 @@ void DemoTalkAnimCtrl::updateCamera() {
|
||||
snprintf(buf, sizeof(buf), "%s%s", mActor->mName, _1C);
|
||||
if (DemoFunction::isPauseTimeKeepDemo(_C)) {
|
||||
MR::pauseOnAnimCamera(mCameraInfo, buf);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
MR::pauseOffAnimCamera(mCameraInfo, buf);
|
||||
}
|
||||
}
|
||||
|
||||
void DemoTalkAnimCtrl::createBckCtrlData(BckCtrlData *pBck, s32 totalSteps) const {
|
||||
void DemoTalkAnimCtrl::createBckCtrlData(BckCtrlData* pBck, s32 totalSteps) const {
|
||||
s16 temp_r0 = MR::max(_24 - 1, 0);
|
||||
pBck->mLoopMode = 2;
|
||||
pBck->mStartFrame = temp_r0;
|
||||
@ -60,7 +59,7 @@ void DemoTalkAnimCtrl::createBckCtrlData(BckCtrlData *pBck, s32 totalSteps) cons
|
||||
}
|
||||
}
|
||||
|
||||
void DemoTalkAnimCtrl::initForActor(const char *a1) {
|
||||
void DemoTalkAnimCtrl::initForActor(const char* a1) {
|
||||
_35 = false;
|
||||
_34 = true;
|
||||
mHaveCamera = false;
|
||||
@ -99,7 +98,7 @@ bool DemoTalkAnimCtrl::updateDemo() {
|
||||
return false;
|
||||
}
|
||||
|
||||
const char *name = MR::getCurrentDemoPartNameMain(_C);
|
||||
const char* name = MR::getCurrentDemoPartNameMain(_C);
|
||||
if (_14 == nullptr) {
|
||||
startAnim();
|
||||
_14 = "";
|
||||
@ -137,8 +136,7 @@ bool DemoTalkAnimCtrl::updateDemo() {
|
||||
endCamera();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (!DemoFunction::isPauseTimeKeepDemo(_C)) {
|
||||
_30 += 1;
|
||||
_28 += 1;
|
||||
@ -173,8 +171,8 @@ void DemoTalkAnimCtrl::startCamera() {
|
||||
MR::startAnimCameraTargetSelf(mActor, mCameraInfo, _1C, _40, 1.0f);
|
||||
}
|
||||
|
||||
void DemoTalkAnimCtrl::updateAnim(const BckCtrlData &rBck) {
|
||||
J3DFrameCtrl *ctrls[5];
|
||||
void DemoTalkAnimCtrl::updateAnim(const BckCtrlData& rBck) {
|
||||
J3DFrameCtrl* ctrls[5];
|
||||
|
||||
ctrls[0] = mHaveBtk ? MR::getBtkCtrl(mActor) : nullptr;
|
||||
ctrls[1] = mHaveBpk ? MR::getBpkCtrl(mActor) : nullptr;
|
||||
@ -183,7 +181,7 @@ void DemoTalkAnimCtrl::updateAnim(const BckCtrlData &rBck) {
|
||||
ctrls[4] = mHaveBva ? MR::getBvaCtrl(mActor) : nullptr;
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J3DFrameCtrl *ctrl = ctrls[i];
|
||||
J3DFrameCtrl* ctrl = ctrls[i];
|
||||
if (ctrl != nullptr) {
|
||||
ctrl->mLoopMode = rBck.mLoopMode;
|
||||
ctrl->mStartFrame = rBck.mStartFrame;
|
||||
@ -202,13 +200,12 @@ void DemoTalkAnimCtrl::updateAnim(const BckCtrlData &rBck) {
|
||||
}
|
||||
|
||||
void DemoTalkAnimCtrl::updatePause() {
|
||||
const char *name = MR::getCurrentDemoPartNameMain(_C);
|
||||
const char* name = MR::getCurrentDemoPartNameMain(_C);
|
||||
if (DemoFunction::isPauseTimeKeepDemo(_C)) {
|
||||
if (!MR::isSystemTalking()) {
|
||||
DemoFunction::resumeTimeKeepDemo(_C);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (MR::isDemoPartStep(name, MR::getDemoPartTotalStep(name) - 2)) {
|
||||
DemoFunction::pauseTimeKeepDemo(_C);
|
||||
}
|
||||
@ -219,7 +216,7 @@ void DemoTalkAnimCtrl::endCamera() {
|
||||
MR::endAnimCamera(mActor, mCameraInfo, _1C, _44, true);
|
||||
}
|
||||
|
||||
void DemoTalkAnimCtrl::setupStartDemoPart(const char *pPartName) {
|
||||
void DemoTalkAnimCtrl::setupStartDemoPart(const char* pPartName) {
|
||||
if (_10 != nullptr) {
|
||||
_34 = MR::isEqualStringCase(pPartName, _10);
|
||||
}
|
||||
|
1046
source/Game/Enemy/IceMerameraKing.cpp
Normal file
1046
source/Game/Enemy/IceMerameraKing.cpp
Normal file
File diff suppressed because it is too large
Load Diff
125
source/Game/Scene/SceneFunction.cpp
Normal file
125
source/Game/Scene/SceneFunction.cpp
Normal file
@ -0,0 +1,125 @@
|
||||
#include "Game/Scene/SceneFunction.hpp"
|
||||
#include "Game/Effect/EffectSystem.hpp"
|
||||
#include "Game/NameObj/NameObjExecuteHolder.hpp"
|
||||
#include "Game/NameObj/NameObjListExecutor.hpp"
|
||||
#include "Game/Scene/SceneDataInitializer.hpp"
|
||||
#include "Game/System/GameSystem.hpp"
|
||||
|
||||
void SceneFunction::startStageFileLoad() {
|
||||
MR::createSceneObj(SceneObj_SceneDataInitializer);
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->startStageFileLoad();
|
||||
}
|
||||
|
||||
void SceneFunction::waitDoneStageFileLoad() {
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->waitDoneStageFileLoad();
|
||||
}
|
||||
|
||||
void SceneFunction::startActorFileLoadCommon() {
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->startActorFileLoadCommon();
|
||||
}
|
||||
|
||||
void SceneFunction::startActorFileLoadScenario() {
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->startActorFileLoadScenario();
|
||||
}
|
||||
|
||||
void SceneFunction::startActorPlacement() {
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->startActorPlacement();
|
||||
}
|
||||
|
||||
void SceneFunction::initAfterScenarioSelected() {
|
||||
SceneDataInitializer* init = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init->startStageFileLoadAfterScenarioSelected();
|
||||
SceneDataInitializer* init_again = MR::getSceneObj<SceneDataInitializer*>(SceneObj_SceneDataInitializer);
|
||||
init_again->initAfterScenarioSelected();
|
||||
}
|
||||
|
||||
void SceneFunction::initForNameObj() {
|
||||
MR::createSceneObj(SceneObj_NameObjExecuteHolder);
|
||||
MR::createSceneObj(SceneObj_StopSceneController);
|
||||
MR::createSceneObj(SceneObj_SceneObjMovementCtrl);
|
||||
}
|
||||
|
||||
void SceneFunction::initForLiveActor() {
|
||||
MR::createSceneObj(SceneObj_AllLiveActorGroup);
|
||||
MR::createSceneObj(SceneObj_ClippingDirector);
|
||||
MR::createSceneObj(SceneObj_DemoDirector);
|
||||
MR::createSceneObj(SceneObj_SensorHitChecker);
|
||||
MR::createSceneObj(SceneObj_CollisionDirector);
|
||||
MR::createSceneObj(SceneObj_MessageSensorHolder);
|
||||
MR::createSceneObj(SceneObj_LiveActorGroupArray);
|
||||
MR::createSceneObj(SceneObj_MovementOnOffGroupHolder);
|
||||
MR::createSceneObj(SceneObj_LightDirector);
|
||||
MR::createSceneObj(SceneObj_AreaObjContainer);
|
||||
MR::createSceneObj(SceneObj_CaptureScreenActor);
|
||||
MR::createSceneObj(SceneObj_StageSwitchContainer);
|
||||
MR::createSceneObj(SceneObj_SwitchWatcherHolder);
|
||||
MR::createSceneObj(SceneObj_SleepControllerHolder);
|
||||
MR::createSceneObj(SceneObj_TalkDirector);
|
||||
MR::createSceneObj(SceneObj_NPCDirector);
|
||||
}
|
||||
|
||||
void SceneFunction::initEffectSystem(u32 a1, u32 a2) {
|
||||
MR::createSceneObj(SceneObj_EffectSystem);
|
||||
MR::getEffectSystem()->entry(MR::getParticleResourceHolder(), a1, a2);
|
||||
}
|
||||
|
||||
void SceneFunction::allocateDrawBufferActorList() {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->allocateDrawBufferActorList();
|
||||
MR::initConnectting();
|
||||
}
|
||||
|
||||
void CategoryList::execute(MR::MovementType type) {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->executeMovement(type);
|
||||
}
|
||||
|
||||
void CategoryList::execute(MR::CalcAnimType type) {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->executeCalcAnim(type);
|
||||
}
|
||||
|
||||
void CategoryList::execute(MR::DrawType type) {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->executeDraw(type);
|
||||
}
|
||||
|
||||
void CategoryList::entryDrawBuffer2D() {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->entryDrawBuffer2D();
|
||||
}
|
||||
|
||||
void CategoryList::entryDrawBuffer3D() {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->entryDrawBuffer3D();
|
||||
}
|
||||
|
||||
void CategoryList::entryDrawBufferMirror() {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->entryDrawBufferMirror();
|
||||
}
|
||||
|
||||
void CategoryList::drawOpa(MR::DrawBufferType type) {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->drawOpa(type);
|
||||
}
|
||||
|
||||
void CategoryList::drawXlu(MR::DrawBufferType type) {
|
||||
NameObjListExecutor* exec = SingletonHolder<GameSystem>::get()->mSceneController->getNameObjListExecutor();
|
||||
exec->drawXlu(type);
|
||||
}
|
||||
|
||||
void CategoryList::requestMovementOn(MR::MovementType type) {
|
||||
MR::requestMovementOnWithCategory(type);
|
||||
}
|
||||
|
||||
void CategoryList::requestMovementOff(MR::MovementType type) {
|
||||
MR::requestMovementOffWithCategory(type);
|
||||
}
|
||||
|
||||
void SceneFunction::createHioBasicNode(Scene*) {}
|
53
source/Game/Screen/ScenarioTitle.cpp
Normal file
53
source/Game/Screen/ScenarioTitle.cpp
Normal file
@ -0,0 +1,53 @@
|
||||
#include "Game/Screen/ScenarioTitle.hpp"
|
||||
#include "Game/LiveActor/Nerve.hpp"
|
||||
#include "Game/Util.hpp"
|
||||
|
||||
namespace {
|
||||
NERVE_DECL_EXE(ScenarioTitleAppear, ScenarioTitle, Appear);
|
||||
NERVE_DECL_EXE(ScenarioTitleWait, ScenarioTitle, Wait);
|
||||
NERVE_DECL_EXE(ScenarioTitleEnd, ScenarioTitle, End);
|
||||
|
||||
INIT_NERVE(ScenarioTitleAppear);
|
||||
INIT_NERVE(ScenarioTitleWait);
|
||||
INIT_NERVE(ScenarioTitleEnd);
|
||||
}; // namespace
|
||||
|
||||
ScenarioTitle::ScenarioTitle() : LayoutActor("シナリオ名表示", true) {}
|
||||
|
||||
void ScenarioTitle::init(const JMapInfoIter& rInfo) {
|
||||
initNerve(&ScenarioTitleAppear::sInstance);
|
||||
MR::connectToSceneLayout(this);
|
||||
initLayoutManager("StageTitle", 1);
|
||||
kill();
|
||||
}
|
||||
|
||||
void ScenarioTitle::start() {
|
||||
appear();
|
||||
setNerve(&ScenarioTitleAppear::sInstance);
|
||||
}
|
||||
|
||||
void ScenarioTitle::end() {
|
||||
setNerve(&ScenarioTitleEnd::sInstance);
|
||||
}
|
||||
|
||||
void ScenarioTitle::exeAppear() {
|
||||
if (MR::isFirstStep(this)) {
|
||||
MR::setTextBoxMessageRecursive(this, "Galaxy", MR::getCurrentGalaxyNameOnCurrentLanguage());
|
||||
MR::setTextBoxMessageRecursive(this, "Scenario", MR::getCurrentScenarioNameOnCurrentLanguage());
|
||||
MR::startAnim(this, "Appear", 0);
|
||||
}
|
||||
|
||||
MR::setNerveAtAnimStopped(this, &ScenarioTitleWait::sInstance, 0);
|
||||
}
|
||||
|
||||
void ScenarioTitle::exeEnd() {
|
||||
if (MR::isFirstStep(this)) {
|
||||
MR::startAnim(this, "End", 0);
|
||||
}
|
||||
|
||||
if (MR::isAnimStopped(this, 0)) {
|
||||
kill();
|
||||
}
|
||||
}
|
||||
|
||||
ScenarioTitle::~ScenarioTitle() {}
|
Loading…
Reference in New Issue
Block a user