Skip to content

Commit

Permalink
ScenarioTitle.o 100%
Browse files Browse the repository at this point in the history
  • Loading branch information
shibbo committed Sep 22, 2024
1 parent d1f57b3 commit be2813a
Show file tree
Hide file tree
Showing 9 changed files with 168 additions and 95 deletions.
28 changes: 14 additions & 14 deletions csv/Screen.csv
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion data/Game.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "Game",
"message": "16.562%",
"message": "16.579%",
"color": "blue"
}
2 changes: 1 addition & 1 deletion data/json/Screen.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "Screen",
"message": "8.406%",
"message": "8.636%",
"color": "yellow"
}
2 changes: 1 addition & 1 deletion docs/PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
| [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) | 19.62025316455696% |
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen.md) | 8.406622845419024% |
| [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% |
Expand Down
2 changes: 1 addition & 1 deletion docs/lib/Game/Screen.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
30 changes: 15 additions & 15 deletions docs/lib/Game/Screen/ScenarioTitle.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
18 changes: 18 additions & 0 deletions include/Game/Screen/ScenarioTitle.hpp
Original file line number Diff line number Diff line change
@@ -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() {}
};
126 changes: 64 additions & 62 deletions include/Game/Util/LayoutUtil.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
53 changes: 53 additions & 0 deletions source/Game/Screen/ScenarioTitle.cpp
Original file line number Diff line number Diff line change
@@ -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() {}

0 comments on commit be2813a

Please sign in to comment.