mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 23:05:11 -04:00
103 lines
2.5 KiB
C++
103 lines
2.5 KiB
C++
#ifndef D_SNAP_H
|
|
#define D_SNAP_H
|
|
|
|
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
|
#include "f_op/f_op_actor.h"
|
|
|
|
class dSnap_Obj {
|
|
public:
|
|
/* 0x00 */ cXyz field_0x00;
|
|
/* 0x0C */ f32 field_0x0c;
|
|
/* 0x10 */ f32 field_0x10;
|
|
/* 0x14 */ s32 mBsPcId;
|
|
/* 0x18 */ u8 field_0x18;
|
|
/* 0x19 */ u8 field_0x19;
|
|
/* 0x1A */ u8 field_0x1a;
|
|
/* 0x1B */ u8 field_0x1b;
|
|
/* 0x1C */ s16 field_0x1c;
|
|
/* 0x1E */ s16 field_0x1e;
|
|
/* 0x20 */ s32 field_0x20;
|
|
/* 0x24 */ f32 field_0x24;
|
|
/* 0x28 */ s16 field_0x28;
|
|
/* 0x2A */ s16 field_0x2a;
|
|
/* 0x2C */ s16 field_0x2c;
|
|
/* 0x2E */ s16 field_0x2e;
|
|
|
|
public:
|
|
dSnap_Obj();
|
|
virtual ~dSnap_Obj() {}
|
|
|
|
void CalcArea2D();
|
|
void draw();
|
|
void SetGeo(const Vec&, f32, f32, s16);
|
|
void SetGeoSph(const Vec & c, f32 r);
|
|
void SetInf(u8, const fopAc_ac_c*, u8, u8, s16);
|
|
void SetAreaClear();
|
|
void SetArea(s16, s16);
|
|
void ChkPhoto(int);
|
|
void ChkSuccess(s32, f32);
|
|
void ChkCamCull() const;
|
|
};
|
|
|
|
class dSnap_RegistObjElm {
|
|
public:
|
|
/* 0x00 */ dSnap_Obj field_0x0;
|
|
/* 0x34 */ u8 field_0x34[4];
|
|
|
|
dSnap_RegistObjElm();
|
|
virtual ~dSnap_RegistObjElm();
|
|
void Init();
|
|
void Regist(const dSnap_Obj&);
|
|
};
|
|
|
|
class dSnap_packet : public J3DPacket {
|
|
public:
|
|
virtual ~dSnap_packet();
|
|
void Create();
|
|
void ReleaseShutter();
|
|
void ChkReleaseShutter();
|
|
void Execute();
|
|
void Regist(const dSnap_Obj&);
|
|
virtual void draw();
|
|
void ClearAlphaBuffer();
|
|
void Judge();
|
|
void FindPhoto(int, int);
|
|
void JudgePost();
|
|
void JudgeBikutsuki();
|
|
void JudgeCoupleLook();
|
|
void JudgeGF();
|
|
void JudgeGenzo();
|
|
void JudgeObasan4();
|
|
void JudgeTestM();
|
|
void JudgeGene();
|
|
void JudgeFigure(int);
|
|
void SetResult();
|
|
|
|
/* 0x010 */ u8 field_0x10[0x18 - 0x10];
|
|
/* 0x018 */ dSnap_RegistObjElm field_0x18[0x3f];
|
|
/* 0xEDC */ int field_0xedc;
|
|
/* 0xEE0 */ int field_0xee0;
|
|
/* 0xEE4 */ u8 field_0xee4;
|
|
|
|
static void (dSnap_packet::*m_judge_tbl[])();
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(dSnap_Obj) == 0x34);
|
|
|
|
void dSnap_PhotoIndex2TableIndex(int);
|
|
void dSnap_GetFigRoomId(int);
|
|
void dSnap_MatDl();
|
|
void dSnap_AlphaClearDL();
|
|
void dSnap_Create();
|
|
void dSnap_ReleaseShutter();
|
|
void dSnap_Execute();
|
|
void dSnap_GetResult();
|
|
void dSnap_GetResultDetail();
|
|
void dSnap_RegistSnapObj(dSnap_Obj&);
|
|
void dSnap_RegistFig(unsigned char, fopAc_ac_c*, float, float, float);
|
|
void dSnap_RegistFig(unsigned char, fopAc_ac_c*, const Vec&, short, float, float, float);
|
|
void dSnap_DebugDraw();
|
|
void dSnap_Delete();
|
|
|
|
#endif /* D_SNAP_H */
|