mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 15:01:37 -04:00
59 lines
2.0 KiB
C++
59 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
#include "Player/TouchControl.hpp"
|
|
|
|
typedef TouchEdge u16;
|
|
enum TouchEdge_ {
|
|
TouchEdge_Right = 0,
|
|
TouchEdge_Left = 1,
|
|
TouchEdge_Bottom = 2,
|
|
TouchEdge_Top = 3,
|
|
TouchEdge_Middle = 4
|
|
};
|
|
|
|
class PlayerControl : public TouchControl {
|
|
/* 00 (base) */
|
|
/* 38 */ Vec3p mTouchWorld; // tile position
|
|
/* 44 */ Vec3p mUnk_44;
|
|
/* 50 */ q20 mTouchSpeedX; // how fast the stylus moves
|
|
/* 54 */ q20 mTouchSpeedY;
|
|
/* 58 */ q20 mTouchDist; // pixel distance from touch to link, deadzone is 20 pixels
|
|
/* 5c */ unk32 mUnk_5c;
|
|
/* 60 */ s16 mTouchDuration;
|
|
/* 62 */ s16 mTouchSlowDuration; // resets to 0 if stylus is fast enough
|
|
/* 64 */ s16 mTouchFastTime; // gets set to mTouchDuration if stylus is fast enough
|
|
/* 66 */ s16 mTouchFastX; // gets set to mTouchX if stylus is fast enough
|
|
/* 68 */ s16 mTouchFastY; // gets set to mTouchY if stylus is fast enough
|
|
/* 6a */ s16 mTouchAngle; // angle from touch to link, 0 = down, 0x4000 = right, 0x8000 = up, 0xc000 = left
|
|
/* 6c */ s16 mTouchFastAngle; // gets set to mTouchAngle if stylus is fast enough
|
|
/* 6e */ TouchEdge mTouchEdge; // changes value when touching close to the edge of the screen
|
|
/* 70 */ TouchEdge mTouchLastEdge;
|
|
/* 72 */ s16 mTouchDiffX;
|
|
/* 74 */ s16 mTouchDiffY;
|
|
/* 76 */ bool mTouchFast;
|
|
/* 78 */ unk32 mUnk_78;
|
|
/* 7c */ unk32 mUnk_7c;
|
|
/* 80 */ unk32 mUnk_80;
|
|
/* 84 */ s32 mUnk_84;
|
|
/* 88 */ s32 mUnk_88;
|
|
/* 8c */ s32 mUnk_8c;
|
|
/* 90 */ s32 mUnk_90;
|
|
/* 94 */ s32 mUnk_94;
|
|
/* 98 */ s32 mUnk_98;
|
|
/* 9c */ q20 mUnk_9c;
|
|
/* a0 */ void *mFollowActor;
|
|
/* a4 */ q20 mFollowDist;
|
|
/* a8 */ u16 mFollowStuckTimer;
|
|
/* aa */ u16 mCutsceneEndTimer;
|
|
/* ac */ unk32 mUnk_ac;
|
|
/* b0 */ Vec3p mAim; // used by boomerang, bow and rope
|
|
/* bc */ Vec3p mAimWorld; // used by hammer
|
|
/* c8 */ s32 mUnk_c8;
|
|
/* cc */ s32 mUnk_cc;
|
|
/* d0 */ void *mTouchGesture;
|
|
/* d4 */ void *mDebug;
|
|
};
|