mirror of
https://github.com/zeldaret/ph
synced 2026-05-27 08:07:21 -04:00
Merge branch 'main' into main
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#include "nds/math.h"
|
||||
#include "types.h"
|
||||
|
||||
extern u16 *data_0207aecc;
|
||||
|
||||
typedef u16 TouchFlags;
|
||||
enum TouchFlag_ {
|
||||
TouchFlag_TouchedNow = 0x0001,
|
||||
@@ -42,9 +44,11 @@ public:
|
||||
void Update(TouchState *state, u16 speed);
|
||||
bool func_ov00_0207aeac();
|
||||
void UpdateConditionally(TouchState *state, u16 speed);
|
||||
void func_ov00_0207af38(u16 speed, bool param2);
|
||||
void func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease);
|
||||
~TouchControl();
|
||||
|
||||
static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3);
|
||||
static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3);
|
||||
};
|
||||
|
||||
void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
|
||||
|
||||
@@ -1,11 +1,39 @@
|
||||
#include "Player/TouchControl.hpp"
|
||||
|
||||
TouchControl::TouchControl() {}
|
||||
void TouchControl::IncreaseSpeed(s16 increase) {}
|
||||
|
||||
void TouchControl::IncreaseSpeed(s16 increase) {
|
||||
this->mFlags = 0;
|
||||
this->mSpeed += increase;
|
||||
}
|
||||
|
||||
void TouchControl::UpdateFlags(u16 speed) {}
|
||||
void TouchControl::UpdateWithStateFlags(TouchStateFlags *state, u16 speed) {}
|
||||
void TouchControl::Update(TouchState *state, u16 speed) {}
|
||||
bool TouchControl::func_ov00_0207aeac() {}
|
||||
bool TouchControl::func_ov00_0207aeac() {
|
||||
return ((*data_0207aecc & 0x8000) >> 15) == 1;
|
||||
}
|
||||
void TouchControl::UpdateConditionally(TouchState *state, u16 speed) {}
|
||||
void TouchControl::func_ov00_0207af38(u16 speed, bool param2) {}
|
||||
|
||||
void TouchControl::func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease) {
|
||||
TouchStateFlags touchState;
|
||||
|
||||
if (shouldIncrease) {
|
||||
IncreaseSpeed(speedIncrease); /* TODO: IncreaseSpeed expects an s16 variable,
|
||||
while speedIncrease is a u16. As a result, the function
|
||||
performs a conversion that is not present in the binary. */
|
||||
return;
|
||||
}
|
||||
|
||||
u32 result = TouchControl::func_ov00_0207aeac();
|
||||
if (result != 0) {
|
||||
Fill16(0, &touchState.touchX, 8);
|
||||
} else {
|
||||
|
||||
GetTouchStateFlags(&touchState);
|
||||
}
|
||||
|
||||
UpdateWithStateFlags(&touchState, speedIncrease);
|
||||
}
|
||||
|
||||
TouchControl::~TouchControl() {}
|
||||
|
||||
Reference in New Issue
Block a user