d_t_ship_window "OK" (#55)

This commit is contained in:
robojumper
2024-10-06 21:41:07 +02:00
committed by GitHub
parent b83c0d5fd2
commit 8376edcc72
7 changed files with 241 additions and 57 deletions
+35
View File
@@ -0,0 +1,35 @@
#ifndef D_T_SHIP_WINDOW_H
#define D_T_SHIP_WINDOW_H
#include <d/tg/d_tg.h>
#include <s/s_State.hpp>
#include <s/s_StateMgr.hpp>
#include <toBeSorted/actor_event.h>
class dTgShipWindow_c : public dTg_c {
public:
dTgShipWindow_c() : mStateMgr(*this, sStateID::null), mEvent(*this, nullptr) {}
virtual ~dTgShipWindow_c() {}
virtual int create() override;
virtual int actorExecute() override;
virtual int actorExecuteInEvent() override;
virtual int draw() override;
virtual int doDelete() override;
STATE_FUNC_DECLARE(dTgShipWindow_c, On);
STATE_FUNC_DECLARE(dTgShipWindow_c, Off);
private:
static u32 sDefaultRotX;
STATE_MGR_DECLARE(dTgShipWindow_c);
ActorEventRelated mEvent;
u8 mInitialStateFlag;
u8 mOutputStateFlagBase;
u8 mOffEventId;
u8 mOnEventId;
u8 mHasPlayedOffEvent;
u8 mHasPlayedOnEvent;
u8 mAlwaysPlayEvent;
};
#endif
+2
View File
@@ -12,6 +12,8 @@ public:
bool isThisActorInEvent();
void scheduleEvent(Event &, u32);
u32 getCurrentEventCommand() const;
void advanceNext();
private:
u8 field_0x00[0x50 - 0x00];