mirror of
https://github.com/zeldaret/st
synced 2026-09-02 01:43:15 -04:00
Decompile TouchControl (98%) (#24)
* decompile touchcontrol (98%) * fix broken match
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_02049b4c.hpp"
|
||||
#include "nitro/math.h"
|
||||
#include "nitro/touch.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef u16 TouchFlags;
|
||||
enum TouchFlag_ {
|
||||
TouchFlag_None = 0x0000,
|
||||
TouchFlag_TouchedNow = 0x0001,
|
||||
TouchFlag_UntouchedNow = 0x0002,
|
||||
TouchFlag_Repeat = 0x0004,
|
||||
@@ -18,20 +19,26 @@ public:
|
||||
/* 00 */ u16 mSpeed;
|
||||
/* 02 */ u16 mTimeBetweenTouches; // gets set to mTimeSinceTouch when touching the screen
|
||||
/* 04 */ u16 mTimeSinceTouch; // increases by mSpeed every frame
|
||||
/* 06 */ unk16 mRepeatStart;
|
||||
/* 08 */ unk16 mRepeatLoop;
|
||||
/* 06 */ u16 mRepeatStart;
|
||||
/* 08 */ u16 mRepeatLoop;
|
||||
// mRepeatTimer starts at mRepeatStart, decreases by mSpeed while touching the screen.
|
||||
// if equal to 0, mRepeatTimer gets set to mRepeatLoop and the Repeat flag is set
|
||||
/* 0A */ unk16 mRepeatTimer;
|
||||
/* 0C */ bool mTouch;
|
||||
/* 10 */ Vec2s mTouchPos;
|
||||
/* 14 */ bool mTouchPrev;
|
||||
/* 16 */ Vec2s mTouchPosPrev;
|
||||
/* 0A */ u16 mRepeatTimer;
|
||||
/* 0C */ TouchState mState;
|
||||
/* 12 */ TouchState mPrevState;
|
||||
/* 18 */ Vec2s mTouchPosLast;
|
||||
/* 1C */ Vec2s mTouchPosStart;
|
||||
/* 20 */ TouchFlags mFlags;
|
||||
/* 22 */
|
||||
|
||||
TouchControl();
|
||||
void func_02014478(UnkStruct_02049b4c *param1, unk32 param2);
|
||||
void IncreaseSpeed(u16 increase);
|
||||
void UpdateFlags(u16 speed);
|
||||
void UpdateWithStateFlags(TouchStateFlags *state, u16 speed);
|
||||
void Update(TouchState *state, u16 speed);
|
||||
void func_02014414(u16 speedIncrease, bool shouldIncrease);
|
||||
void func_02014478(TouchState *state, u16 speed);
|
||||
|
||||
static bool func_020143f0();
|
||||
static void UpdateState(TouchState *state, TouchStateFlags *stateFlags);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user