mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 23:21:41 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#ifndef D_T_DOWSING_H
|
|
#define D_T_DOWSING_H
|
|
|
|
#include "d/t/d_tg.h"
|
|
#include "toBeSorted/dowsing_target.h"
|
|
|
|
class dTgDowsing_c : public dTg_c {
|
|
public:
|
|
dTgDowsing_c();
|
|
virtual ~dTgDowsing_c() {}
|
|
|
|
virtual int create() override;
|
|
virtual int doDelete() override;
|
|
virtual int actorExecute() override;
|
|
virtual int draw() override;
|
|
|
|
bool checkDowsing() const;
|
|
|
|
private:
|
|
enum DowsingOption {
|
|
TRIAL_0,
|
|
TRIAL_1,
|
|
TRIAL_2,
|
|
TRIAL_3,
|
|
PROPELLER,
|
|
WATER_BASIN,
|
|
CRYSTAL_BALL,
|
|
PUMPKIN,
|
|
NEW_PLANT_SPECIES,
|
|
PARTY_WHEEL,
|
|
ZELDA,
|
|
DOWSING_MAX
|
|
};
|
|
|
|
DowsingTarget mDowsingTarget; // 0x0FC
|
|
DowsingOption mDowsingOption; // 0x11C
|
|
u16 mUntriggerStoryFlag; // 0x120
|
|
u16 mTriggerStoryFlag; // 0x122
|
|
bool mTargetActive; // 0x124
|
|
|
|
u16 getTriggerSceneFlag() {
|
|
return params & 0xFF;
|
|
}
|
|
|
|
u16 getUntriggerSceneFlag() {
|
|
return params >> 0x8 & 0xFF;
|
|
}
|
|
|
|
DowsingOption getDowsingOption() {
|
|
return (DowsingOption)(params >> 0x10 & 0xF);
|
|
}
|
|
|
|
u32 getDowsingOptionNum() {
|
|
return mDowsingOption;
|
|
}
|
|
|
|
u16 getUntriggerStoryFlag() {
|
|
return params >> 0x14 & 0x7FF;
|
|
}
|
|
|
|
u16 getTriggerStoryFlag() {
|
|
return rotation.z.mVal & 0x7FF;
|
|
}
|
|
};
|
|
|
|
#endif
|