mirror of
https://github.com/SMGCommunity/Petari.git
synced 2024-11-27 07:20:39 +00:00
MarioMeter at 100%
This commit is contained in:
parent
fbb9602a91
commit
135a52ec8f
@ -1462,17 +1462,17 @@ execute__Q222@unnamed@Manual2P_cpp@27Manual2PNrvScrollRightAfterCFP5Spine,Manual
|
||||
execute__Q222@unnamed@Manual2P_cpp@22Manual2PNrvScrollRightCFP5Spine,Manual2P.o,Screen.a,false
|
||||
execute__Q222@unnamed@Manual2P_cpp@15Manual2PNrvWaitCFP5Spine,Manual2P.o,Screen.a,false
|
||||
execute__Q222@unnamed@Manual2P_cpp@17Manual2PNrvAppearCFP5Spine,Manual2P.o,Screen.a,false
|
||||
__ct__10MarioMeterFPCc,MarioMeter.o,Screen.a,false
|
||||
initLifeCount__10MarioMeterFl,MarioMeter.o,Screen.a,false
|
||||
setLifeCount__10MarioMeterFl,MarioMeter.o,Screen.a,false
|
||||
powerUp__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
requestForceAppearHPMeter__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
requestPlayerMoving__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
requestPlayerStopped__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
activate__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
deactivate__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
__dt__10MarioMeterFv,MarioMeter.o,Screen.a,false
|
||||
init__10MarioMeterFRC12JMapInfoIter,MarioMeter.o,Screen.a,false
|
||||
__ct__10MarioMeterFPCc,MarioMeter.o,Screen.a,true
|
||||
initLifeCount__10MarioMeterFl,MarioMeter.o,Screen.a,true
|
||||
setLifeCount__10MarioMeterFl,MarioMeter.o,Screen.a,true
|
||||
powerUp__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
requestForceAppearHPMeter__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
requestPlayerMoving__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
requestPlayerStopped__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
activate__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
deactivate__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
__dt__10MarioMeterFv,MarioMeter.o,Screen.a,true
|
||||
init__10MarioMeterFRC12JMapInfoIter,MarioMeter.o,Screen.a,true
|
||||
__ct__13MarioSubMeterFPCc,MarioSubMeter.o,Screen.a,true
|
||||
setBeeLifeRatio__13MarioSubMeterFf,MarioSubMeter.o,Screen.a,true
|
||||
setWaterLifeRatio__13MarioSubMeterFf,MarioSubMeter.o,Screen.a,true
|
||||
|
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Game",
|
||||
"message": "15.961%",
|
||||
"message": "15.977%",
|
||||
"color": "blue"
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Screen",
|
||||
"message": "8.187%",
|
||||
"message": "8.406%",
|
||||
"color": "yellow"
|
||||
}
|
@ -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) | 17.116530156366345% |
|
||||
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen.md) | 8.187081008324295% |
|
||||
| [Screen](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen.md) | 8.406622845419024% |
|
||||
| [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% |
|
||||
|
@ -80,7 +80,7 @@
|
||||
| [LogoFader.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/LogoFader.md) | 0.0% | 0 / 18 | 0.0% | :x:
|
||||
| [LuigiLetter.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/LuigiLetter.md) | 0.0% | 0 / 20 | 0.0% | :x:
|
||||
| [Manual2P.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/Manual2P.md) | 0.0% | 0 / 30 | 0.0% | :x:
|
||||
| [MarioMeter.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/MarioMeter.md) | 0.0% | 0 / 11 | 0.0% | :x:
|
||||
| [MarioMeter.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/MarioMeter.md) | 100.0% | 11 / 11 | 100.0% | :white_check_mark:
|
||||
| [MarioSubMeter.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/MarioSubMeter.md) | 100.0% | 10 / 10 | 100.0% | :white_check_mark:
|
||||
| [MessageTagSkipTagProcessor.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/MessageTagSkipTagProcessor.md) | 37.5% | 3 / 13 | 23.076923076923077% | :eight_pointed_black_star:
|
||||
| [MeterLayout.o](https://github.com/shibbo/Petari/blob/master/docs/lib/Game/Screen/MeterLayout.md) | 0.0% | 0 / 53 | 0.0% | :x:
|
||||
|
@ -5,18 +5,18 @@
|
||||
| :white_check_mark: | Function is completed.
|
||||
|
||||
|
||||
# 0 / 11 Completed -- (0.0%)
|
||||
# 11 / 11 Completed -- (100.0%)
|
||||
# MarioMeter.o
|
||||
| Symbol | Decompiled? |
|
||||
| ------------- | ------------- |
|
||||
| `__ct__10MarioMeterFPCc` | :x: |
|
||||
| `initLifeCount__10MarioMeterFl` | :x: |
|
||||
| `setLifeCount__10MarioMeterFl` | :x: |
|
||||
| `powerUp__10MarioMeterFv` | :x: |
|
||||
| `requestForceAppearHPMeter__10MarioMeterFv` | :x: |
|
||||
| `requestPlayerMoving__10MarioMeterFv` | :x: |
|
||||
| `requestPlayerStopped__10MarioMeterFv` | :x: |
|
||||
| `activate__10MarioMeterFv` | :x: |
|
||||
| `deactivate__10MarioMeterFv` | :x: |
|
||||
| `__dt__10MarioMeterFv` | :x: |
|
||||
| `init__10MarioMeterFRC12JMapInfoIter` | :x: |
|
||||
| `__ct__10MarioMeterFPCc` | :white_check_mark: |
|
||||
| `initLifeCount__10MarioMeterFl` | :white_check_mark: |
|
||||
| `setLifeCount__10MarioMeterFl` | :white_check_mark: |
|
||||
| `powerUp__10MarioMeterFv` | :white_check_mark: |
|
||||
| `requestForceAppearHPMeter__10MarioMeterFv` | :white_check_mark: |
|
||||
| `requestPlayerMoving__10MarioMeterFv` | :white_check_mark: |
|
||||
| `requestPlayerStopped__10MarioMeterFv` | :white_check_mark: |
|
||||
| `activate__10MarioMeterFv` | :white_check_mark: |
|
||||
| `deactivate__10MarioMeterFv` | :white_check_mark: |
|
||||
| `__dt__10MarioMeterFv` | :white_check_mark: |
|
||||
| `init__10MarioMeterFRC12JMapInfoIter` | :white_check_mark: |
|
||||
|
28
include/Game/Screen/MarioMeter.hpp
Normal file
28
include/Game/Screen/MarioMeter.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/NameObj/NameObj.hpp"
|
||||
|
||||
class MeterLayout;
|
||||
class SuddenDeathMeter;
|
||||
|
||||
class MarioMeter : public NameObj {
|
||||
public:
|
||||
MarioMeter(const char *);
|
||||
|
||||
virtual ~MarioMeter();
|
||||
|
||||
virtual void init(const JMapInfoIter &rIter);
|
||||
|
||||
void initLifeCount(s32);
|
||||
void setLifeCount(s32);
|
||||
void powerUp();
|
||||
void requestForceAppearHPMeter();
|
||||
void requestPlayerMoving();
|
||||
void requestPlayerStopped();
|
||||
void activate();
|
||||
void deactivate();
|
||||
|
||||
MeterLayout *mHitPointMeter; // _C
|
||||
SuddenDeathMeter* mSuddenDeathMeter; // _10
|
||||
bool mUseSuddenDeath; // _14
|
||||
};
|
67
include/Game/Screen/MeterLayout.hpp
Normal file
67
include/Game/Screen/MeterLayout.hpp
Normal file
@ -0,0 +1,67 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/Nerve.hpp"
|
||||
#include "Game/Screen/LayoutActor.hpp"
|
||||
#include "JSystem/JGeometry/TVec.hpp"
|
||||
|
||||
class CountUpPaneRumbler;
|
||||
|
||||
class MeterLayout : public LayoutActor {
|
||||
public:
|
||||
MeterLayout(const char *, const char *);
|
||||
|
||||
virtual ~MeterLayout();
|
||||
|
||||
virtual void init(const JMapInfoIter &rIter);
|
||||
virtual void control();
|
||||
|
||||
void requestActive();
|
||||
void requestDeactivate();
|
||||
void requestPowerUp();
|
||||
void requestForceAppear();
|
||||
void requestPlayerMoving();
|
||||
void requestPlayerStopped();
|
||||
void initCount(s32);
|
||||
void setCount(s32);
|
||||
void exeAppear();
|
||||
void exeWaitStart();
|
||||
void exeWait();
|
||||
void exePowerUp();
|
||||
void exeMeterMove();
|
||||
void exeCounterMove();
|
||||
void exeRecover();
|
||||
void exeDamage();
|
||||
void exeBreakMeter();
|
||||
void exeZeroMeter();
|
||||
void exeZeroMeterBreak();
|
||||
void calcMarioHeadPosition(TVec2f *) const;
|
||||
void calcPowerUpMeterBasePosition(TVec2f *) const;
|
||||
void setAnimBase();
|
||||
void setCountAnimFrame();
|
||||
void setRecoveryCountAnimFrame();
|
||||
|
||||
CountUpPaneRumbler* mCountUpPaneRumbler; // _20
|
||||
s32 _24; // _24
|
||||
s32 _28; // _28
|
||||
TVec2f mFollowPos; // _2C
|
||||
TVec2f mFollowPosW; // _34
|
||||
TVec2f _38; // _38
|
||||
s32 mCount; // _44
|
||||
f32 _48; // _48
|
||||
f32 _4C; // _4C
|
||||
};
|
||||
|
||||
namespace NrvMeterLayout {
|
||||
NERVE_DECL_NULL(MeterLayoutNrvHide);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvAppear, MeterLayout, Appear);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvWait, MeterLayout, Wait);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvWaitStart, MeterLayout, WaitStart);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvPowerUp, MeterLayout, PowerUp);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvMeterMove, MeterLayout, MeterMove);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvCounterMove, MeterLayout, CounterMove);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvRecover, MeterLayout, Recover);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvDamage, MeterLayout, Damage);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvBreakMeter, MeterLayout, BreakMeter);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvZeroMeter, MeterLayout, ZeroMeter);
|
||||
NERVE_DECL_EXE(MeterLayoutNrvZeroMeterBreak, MeterLayout, ZeroMeterBreak);
|
||||
} // namespace NrvMeterLayout
|
57
include/Game/Screen/SuddenDeathMeter.hpp
Normal file
57
include/Game/Screen/SuddenDeathMeter.hpp
Normal file
@ -0,0 +1,57 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/LiveActor/Nerve.hpp"
|
||||
#include "Game/Screen/LayoutActor.hpp"
|
||||
#include "JSystem/JGeometry/TVec.hpp"
|
||||
|
||||
class CountUpPaneRumbler;
|
||||
|
||||
class SuddenDeathMeter : public LayoutActor {
|
||||
public:
|
||||
SuddenDeathMeter(const char *, const char *);
|
||||
|
||||
virtual ~SuddenDeathMeter();
|
||||
|
||||
virtual void init(const JMapInfoIter &rIter);
|
||||
virtual void control();
|
||||
|
||||
void requestActive();
|
||||
void requestDeactivate();
|
||||
void requestPowerUp();
|
||||
void requestForceAppear();
|
||||
void requestPlayerMoving();
|
||||
void exeAppear();
|
||||
void exeWait();
|
||||
void exePowerUp();
|
||||
void exeMeterMove();
|
||||
void exeCounterMove();
|
||||
void exeBreakMeter();
|
||||
void exeZeroMeter();
|
||||
void exeZeroMeterBreak();
|
||||
void initCount(s32);
|
||||
void setCount(s32);
|
||||
void calcMarioHeadPosition(TVec2f *) const;
|
||||
void calcPowerUpMeterBasePosition(TVec2f *) const;
|
||||
void setPowerUpMeterPosition(const TVec2f &);
|
||||
void setAnimBase();
|
||||
void setCountAnimFrame();
|
||||
void setRecoveryCountAnimFrame();
|
||||
|
||||
CountUpPaneRumbler *mCountUpPaneRumbler; // _20
|
||||
TVec2f mFollowPosW; // _24
|
||||
TVec2f _2C; // _2C
|
||||
s32 mCount; // _34
|
||||
f32 _38; // _38
|
||||
f32 _3C; // _3C
|
||||
};
|
||||
|
||||
namespace NrvSuddenDeathMeter {
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvAppear, SuddenDeathMeter, Appear);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvWait, SuddenDeathMeter, Wait);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvPowerUp, SuddenDeathMeter, PowerUp);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvMeterMove, SuddenDeathMeter, MeterMove);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvCounterMove, SuddenDeathMeter, CounterMove);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvBreakMeter, SuddenDeathMeter, BreakMeter);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvZeroMeter, SuddenDeathMeter, ZeroMeter);
|
||||
NERVE_DECL_EXE(SuddenDeathMeterNrvZeroMeterBreak, SuddenDeathMeter, ZeroMeterBreak);
|
||||
} // namespace NrvSuddenDeathMeter
|
69
source/Game/Screen/MarioMeter.cpp
Normal file
69
source/Game/Screen/MarioMeter.cpp
Normal file
@ -0,0 +1,69 @@
|
||||
#include "Game/Screen/MarioMeter.hpp"
|
||||
#include "Game/Screen/MeterLayout.hpp"
|
||||
#include "Game/Screen/SuddenDeathMeter.hpp"
|
||||
#include "Game/Util/ObjUtil.hpp"
|
||||
|
||||
MarioMeter::MarioMeter(const char *pName) : NameObj(pName) {
|
||||
mHitPointMeter = nullptr;
|
||||
mSuddenDeathMeter = nullptr;
|
||||
mUseSuddenDeath = false;
|
||||
}
|
||||
|
||||
void MarioMeter::initLifeCount(s32 life) {
|
||||
if (life == 1) {
|
||||
mUseSuddenDeath = true;
|
||||
mSuddenDeathMeter->initCount(life);
|
||||
mHitPointMeter->kill();
|
||||
}
|
||||
else {
|
||||
mUseSuddenDeath = false;
|
||||
mHitPointMeter->initCount(life);
|
||||
mSuddenDeathMeter->kill();
|
||||
}
|
||||
}
|
||||
|
||||
void MarioMeter::setLifeCount(s32 life) {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->setCount(life) : mHitPointMeter->setCount(life);
|
||||
}
|
||||
|
||||
void MarioMeter::powerUp() {
|
||||
if (mUseSuddenDeath) {
|
||||
MR::requestMovementOn(mSuddenDeathMeter);
|
||||
mSuddenDeathMeter->requestPowerUp();
|
||||
}
|
||||
else {
|
||||
MR::requestMovementOn(mHitPointMeter);
|
||||
mHitPointMeter->requestPowerUp();
|
||||
}
|
||||
}
|
||||
|
||||
void MarioMeter::requestForceAppearHPMeter() {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->requestForceAppear() : mHitPointMeter->requestForceAppear();
|
||||
}
|
||||
|
||||
void MarioMeter::requestPlayerMoving() {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->requestPlayerMoving() : mHitPointMeter->requestPlayerMoving();
|
||||
}
|
||||
|
||||
void MarioMeter::requestPlayerStopped() {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->requestPlayerMoving() : mHitPointMeter->requestPlayerStopped();
|
||||
}
|
||||
|
||||
void MarioMeter::activate() {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->requestActive() : mHitPointMeter->requestActive();
|
||||
}
|
||||
|
||||
void MarioMeter::deactivate() {
|
||||
mUseSuddenDeath ? mSuddenDeathMeter->requestDeactivate() : mHitPointMeter->requestDeactivate();
|
||||
}
|
||||
|
||||
MarioMeter::~MarioMeter() {
|
||||
|
||||
}
|
||||
|
||||
void MarioMeter::init(const JMapInfoIter &rIter) {
|
||||
mHitPointMeter = new MeterLayout("通常HPメーター", "HitPointMeter");
|
||||
mHitPointMeter->initWithoutIter();
|
||||
mSuddenDeathMeter = new SuddenDeathMeter("サドンデスHPメーター", "SuddenDeathMeter");
|
||||
mSuddenDeathMeter->initWithoutIter();
|
||||
}
|
Loading…
Reference in New Issue
Block a user