d_a_obj_timer (#669)

* Started work on d_a_obj_timer

* daObjTimer::Act_c::_create matching

* d_a_obj_timer work

* daObjTimer::Act_c::mode_count matching

* d_a_obj_timer matching

* Fix build
This commit is contained in:
Daniel Hajjar
2024-07-17 16:07:28 +02:00
committed by GitHub
parent 1a05b47d17
commit 4e2faca54b
3 changed files with 96 additions and 27 deletions
+25 -7
View File
@@ -1,25 +1,43 @@
#ifndef D_A_OBJ_TIMER_H
#define D_A_OBJ_TIMER_H
#include "d/d_a_obj.h"
#include "f_op/f_op_actor.h"
namespace daObjTimer {
class Act_c : public fopAc_ac_c {
public:
void prm_get_swSave() const {}
void prm_get_time() const {}
typedef void (Act_c::*ModeFunc)();
enum Mode_e {
Mode_WAIT_e,
Mode_COUNT_e,
};
enum Prm_e {
PRM_TIME_W = 0x08,
PRM_TIME_S = 0x00,
PRM_SWSAVE_W = 0x08,
PRM_SWSAVE_S = 0x10,
};
s32 prm_get_swSave() const { return daObj::PrmAbstract<Prm_e>(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
s32 prm_get_time() const { return daObj::PrmAbstract<Prm_e>(this, PRM_TIME_W, PRM_TIME_S); }
void stopTimer() {}
s32 _create();
BOOL _delete();
bool _delete();
void mode_wait_init();
void mode_wait();
void mode_count_init();
void mode_count();
BOOL _execute();
bool _execute();
public:
/* Place member variables here */
/* 0x290 */ Mode_e mMode;
/* 0x294 */ s32 m294;
/* 0x298 */ bool m298;
};
};