Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Label input processing and other small stuff #131

Merged
merged 5 commits into from
Jan 28, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Label touch input processing
meithecatte committed Jan 28, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit af2ac550b18d61ab86d344a4df9e51ba29c8614e
8 changes: 4 additions & 4 deletions include/core_sys.h
Original file line number Diff line number Diff line change
@@ -36,10 +36,10 @@ typedef struct CoreSys {
int autorepeatTimer;
int autorepeatRate;
int autorepeatDelay;
u16 unk_5C;
u16 unk_5E;
u16 touchInput;
u16 unk_62;
u16 touchX;
u16 touchY;
u16 touchPressed;
u16 touchHeld;
u8 unk_64;
u8 unk_65;
u8 unk_66;
2 changes: 1 addition & 1 deletion src/overlay016/ov16_0226871C.c
Original file line number Diff line number Diff line change
@@ -3768,7 +3768,7 @@ static void ov16_0226BD74 (SysTask * param0, void * param1)
v2 = sub_0200316C(v1, 1);
v3 = (16 - 8) * 2;

if (gCoreSys.unk_62 && ((v4 == 1) || (v5 == 1))) {
if (gCoreSys.touchHeld && ((v4 == 1) || (v5 == 1))) {
if (memcmp(&v2[8], &v0->unk_5C[8], v3) == 0) {
if (BattleSystem_BattleType(v0->unk_00) & 0x80) {
MI_CpuCopy16(&v0->unk_60[0], &v2[0], 0x20);
2 changes: 1 addition & 1 deletion src/overlay017/ov17_02247A48.c
Original file line number Diff line number Diff line change
@@ -1332,7 +1332,7 @@ static void ov17_02249014 (SysTask * param0, void * param1)
v0->unk_15 = 1;
}

if ((v0->unk_00->unk_00->unk_155 == 0) && (v0->unk_18 < 30) && ((gCoreSys.pressedKeys & PAD_BUTTON_A) || (gCoreSys.touchInput))) {
if ((v0->unk_00->unk_00->unk_155 == 0) && (v0->unk_18 < 30) && ((gCoreSys.pressedKeys & PAD_BUTTON_A) || (gCoreSys.touchPressed))) {
v0->unk_18 = 30;
v1 = 0;
v0->unk_13 = 0;
2 changes: 1 addition & 1 deletion src/overlay021/ov21_021D3208.c
Original file line number Diff line number Diff line change
@@ -584,7 +584,7 @@ BOOL ov21_021D3954 (const UnkStruct_ov21_021D3320 * param0)

void ov21_021D3960 (UnkStruct_ov21_021D3320 * param0)
{
if (gCoreSys.unk_62) {
if (gCoreSys.touchHeld) {
param0->unk_1758 = 0;
return;
}
12 changes: 6 additions & 6 deletions src/overlay021/ov21_021D76B0.c
Original file line number Diff line number Diff line change
@@ -459,8 +459,8 @@ static void ov21_021D7B8C (u32 param0, u32 param1, void * param2)

switch (param1) {
case 0:
v2->unk_14 = gCoreSys.unk_5C;
v2->unk_18 = gCoreSys.unk_5E;
v2->unk_14 = gCoreSys.touchX;
v2->unk_18 = gCoreSys.touchY;
break;
case 2:
switch (param0) {
@@ -504,8 +504,8 @@ static void ov21_021D7B8C (u32 param0, u32 param1, void * param2)
}
}

v2->unk_14 = gCoreSys.unk_5C;
v2->unk_18 = gCoreSys.unk_5E;
v2->unk_14 = gCoreSys.touchX;
v2->unk_18 = gCoreSys.touchY;
}

v2->unk_20 = 1;
@@ -835,8 +835,8 @@ static void ov21_021D8324 (UnkStruct_ov21_021D7A64 * param0)

v1 = param0->unk_14 - (128 + 120);
v0 = param0->unk_18 - (104 + -0);
v3 = gCoreSys.unk_5C - (128 + 120);
v2 = gCoreSys.unk_5E - (104 + -0);
v3 = gCoreSys.touchX - (128 + 120);
v2 = gCoreSys.touchY - (104 + -0);

param0->unk_0C = sub_0201D4CC(v1, v0, v3, v2, 524);
param0->unk_0C *= 10;
12 changes: 6 additions & 6 deletions src/overlay021/ov21_021DDD2C.c
Original file line number Diff line number Diff line change
@@ -483,7 +483,7 @@ static void ov21_021DE358 (UnkStruct_ov21_021DDE4C * param0, UnkStruct_ov21_021D
{
s32 v0;

if (gCoreSys.unk_62) {
if (gCoreSys.touchHeld) {
return;
}

@@ -522,9 +522,9 @@ static void ov21_021DE3D0 (UnkStruct_ov21_021DDE4C * param0, UnkStruct_ov21_021D
param0->unk_24 = 0;

if (param0->unk_20) {
if (gCoreSys.unk_62) {
param0->unk_00 = gCoreSys.unk_5C - param0->unk_08;
param0->unk_04 = gCoreSys.unk_5E - param0->unk_0C;
if (gCoreSys.touchHeld) {
param0->unk_00 = gCoreSys.touchX - param0->unk_08;
param0->unk_04 = gCoreSys.touchY - param0->unk_0C;

if (param0->unk_00 < 24) {
param0->unk_00 = 24;
@@ -571,8 +571,8 @@ static void ov21_021DE44C (u32 param0, u32 param1, void * param2)
Sound_PlayEffect(1501);

v2->unk_20 = 1;
v2->unk_08 = gCoreSys.unk_5C - v2->unk_00;
v2->unk_0C = gCoreSys.unk_5E - v2->unk_04;
v2->unk_08 = gCoreSys.touchX - v2->unk_00;
v2->unk_0C = gCoreSys.touchY - v2->unk_04;
break;
default:
break;
26 changes: 13 additions & 13 deletions src/overlay021/ov21_021E4CA4.c
Original file line number Diff line number Diff line change
@@ -631,7 +631,7 @@ static void ov21_021E530C (u32 param0, UnkStruct_ov21_021E4D90 * param1, UnkStru
ov21_021E5E18(param2);
}

param2->unk_38 = gCoreSys.unk_5C;
param2->unk_38 = gCoreSys.touchX;
param2->unk_30 = 1;
break;
case 1:
@@ -640,8 +640,8 @@ static void ov21_021E530C (u32 param0, UnkStruct_ov21_021E4D90 * param1, UnkStru
}

param2->unk_4C = 1;
param2->unk_54 = gCoreSys.unk_5C;
param2->unk_58 = gCoreSys.unk_5E;
param2->unk_54 = gCoreSys.touchX;
param2->unk_58 = gCoreSys.touchY;
break;
case 2:
if (param2->unk_2C) {
@@ -663,18 +663,18 @@ static void ov21_021E537C (u32 param0, UnkStruct_ov21_021E4D90 * param1, UnkStru
switch (param0) {
case 0:
if (param2->unk_30 == 1) {
v0 = gCoreSys.unk_5C - param2->unk_38;
v0 = gCoreSys.touchX - param2->unk_38;

if (param2->unk_34 == 0) {
if (12 <= v0) {
param2->unk_34 = 1;
param2->unk_38 = gCoreSys.unk_5C;
param2->unk_38 = gCoreSys.touchX;
Sound_PlayEffect(1527);
}
} else {
if (-12 >= v0) {
param2->unk_34 = 0;
param2->unk_38 = gCoreSys.unk_5C;
param2->unk_38 = gCoreSys.touchX;
Sound_PlayEffect(1527);
}
}
@@ -686,8 +686,8 @@ static void ov21_021E537C (u32 param0, UnkStruct_ov21_021E4D90 * param1, UnkStru
ov21_021E5AAC(param2);
ov21_021E5AD8(param2);

param2->unk_54 = gCoreSys.unk_5C;
param2->unk_58 = gCoreSys.unk_5E;
param2->unk_54 = gCoreSys.touchX;
param2->unk_58 = gCoreSys.touchY;
}
break;
case 2:
@@ -696,11 +696,11 @@ static void ov21_021E537C (u32 param0, UnkStruct_ov21_021E4D90 * param1, UnkStru
param2->unk_20 = 1;
ov21_021E5ED8(param2, 0);
} else {
if (gCoreSys.unk_5E < (99 - -16) + 16) {
if (gCoreSys.touchY < (99 - -16) + 16) {
if (param2->unk_34 == 0) {
ov21_021E5BE4(param2, gCoreSys.unk_5C);
ov21_021E5BE4(param2, gCoreSys.touchX);
} else {
ov21_021E5C18(param2, gCoreSys.unk_5C);
ov21_021E5C18(param2, gCoreSys.touchX);
}

param2->unk_3C = 0;
@@ -1022,8 +1022,8 @@ static void ov21_021E5A44 (UnkStruct_ov21_021E51DC * param0)

v1 = param0->unk_54 - 51;
v0 = param0->unk_58 - 157;
v3 = gCoreSys.unk_5C - 51;
v2 = gCoreSys.unk_5E - 157;
v3 = gCoreSys.touchX - 51;
v2 = gCoreSys.touchY - 157;
v4 = sub_0201D4CC(v1, v0, v3, v2, 0);

if (MATH_IAbs(v4) < 1) {
4 changes: 2 additions & 2 deletions src/overlay022/ov22_02254DE0.c
Original file line number Diff line number Diff line change
@@ -75,8 +75,8 @@ BOOL ov22_02254E54 (UnkStruct_ov22_02255040 * param0, int * param1, int * param2

ov22_02254F00(param0, &v1, &v2);

*param1 = gCoreSys.unk_5C - v1;
*param2 = gCoreSys.unk_5E - v2;
*param1 = gCoreSys.touchX - v1;
*param2 = gCoreSys.touchY - v2;

for (v3 = (*param2 - 4); v3 < (*param2 + 4); v3++) {
if (v3 >= 0) {
2 changes: 1 addition & 1 deletion src/overlay022/ov22_02255D44.c
Original file line number Diff line number Diff line change
@@ -277,7 +277,7 @@ int ov22_02255E50 (UnkStruct_020067E8 * param0, int * param1)
}
break;
case 5:
if ((gCoreSys.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) | (gCoreSys.touchInput)) {
if ((gCoreSys.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) | (gCoreSys.touchPressed)) {
ov22_0225A628(&v0->unk_5C4, 26, 385, 48);
sub_02002B20(0);
(*param1)++;
10 changes: 5 additions & 5 deletions src/overlay022/ov22_022588F0.c
Original file line number Diff line number Diff line change
@@ -20,10 +20,10 @@ void ov22_022588F0 (UnkStruct_ov22_02258A48 * param0)

void ov22_0225890C (UnkStruct_ov22_02258A48 * param0)
{
if (gCoreSys.touchInput) {
if (gCoreSys.touchPressed) {
param0->unk_04(param0);
} else {
if (gCoreSys.unk_62) {
if (gCoreSys.touchHeld) {
param0->unk_0C(param0);
} else {
if (param0->unk_18) {
@@ -32,9 +32,9 @@ void ov22_0225890C (UnkStruct_ov22_02258A48 * param0)
}
}

param0->unk_14 = gCoreSys.unk_5C;
param0->unk_16 = gCoreSys.unk_5E;
param0->unk_18 = gCoreSys.unk_62;
param0->unk_14 = gCoreSys.touchX;
param0->unk_16 = gCoreSys.touchY;
param0->unk_18 = gCoreSys.touchHeld;
}

static void ov22_02258948 (UnkStruct_ov22_02258A48 * param0)
12 changes: 6 additions & 6 deletions src/overlay022/ov22_022589E0.c
Original file line number Diff line number Diff line change
@@ -275,9 +275,9 @@ static void ov22_02258D4C (UnkStruct_ov22_02258A48 * param0)
int v1, v2;

if (v0->unk_10 != NULL) {
if ((gCoreSys.unk_5C != 0xffff) && (gCoreSys.unk_5C != 0xffff)) {
v1 = gCoreSys.unk_5C - v0->unk_14;
v2 = gCoreSys.unk_5E - v0->unk_18;
if ((gCoreSys.touchX != 0xffff) && (gCoreSys.touchX != 0xffff)) {
v1 = gCoreSys.touchX - v0->unk_14;
v2 = gCoreSys.touchY - v0->unk_18;

ov22_022595F8(v0->unk_10, v1, v2);
}
@@ -312,12 +312,12 @@ static void ov22_02258DAC (UnkStruct_ov22_02258A48 * param0)
int v9, v10;

if (v0->unk_10 != NULL) {
if ((gCoreSys.unk_5C != 0xffff) && (gCoreSys.unk_5C != 0xffff)) {
if ((gCoreSys.touchX != 0xffff) && (gCoreSys.touchX != 0xffff)) {
ov22_022596B0(v0->unk_10, &v7, &v9, &v8, &v10);
ov22_02259698(v0->unk_10, &v1, &v2);

v3 = gCoreSys.unk_5C - v0->unk_14;
v4 = gCoreSys.unk_5E - v0->unk_18;
v3 = gCoreSys.touchX - v0->unk_14;
v4 = gCoreSys.touchY - v0->unk_18;

v5 = v3 + v7;
v6 = v4 + v8;
4 changes: 2 additions & 2 deletions src/overlay022/ov22_02259098.c
Original file line number Diff line number Diff line change
@@ -158,8 +158,8 @@ BOOL ov22_02259278 (UnkStruct_020298D8 * param0, int * param1, int * param2, NNS
v3 -= (v1 / 2);
v4 -= (v2 / 2);

*param1 = gCoreSys.unk_5C - v3;
*param2 = gCoreSys.unk_5E - v4;
*param1 = gCoreSys.touchX - v3;
*param2 = gCoreSys.touchY - v4;

v0 = ov22_02255420(param3, *param1, *param2, 0);

22 changes: 11 additions & 11 deletions src/overlay023/ov23_0223E140.c
Original file line number Diff line number Diff line change
@@ -1504,7 +1504,7 @@ static void ov23_0223F118 (SysTask * param0, void * param1)
break;
case 12:
if (Message_Printing(Unk_ov23_02257740->unk_A24) == 0) {
if (gCoreSys.touchInput || (gCoreSys.pressedKeys & PAD_BUTTON_A)) {
if (gCoreSys.touchPressed || (gCoreSys.pressedKeys & PAD_BUTTON_A)) {
ov23_02254044(ov23_0224219C());
v0->unk_00++;
}
@@ -1535,7 +1535,7 @@ static void ov23_0223F118 (SysTask * param0, void * param1)
if (Message_Printing(Unk_ov23_02257740->unk_A24) == 0) {
v0->unk_4C--;

if (gCoreSys.touchInput || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
if (gCoreSys.touchPressed || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
ov23_02254044(ov23_0224219C());
v0->unk_00 = 16;
}
@@ -1557,7 +1557,7 @@ static void ov23_0223F118 (SysTask * param0, void * param1)
if (Message_Printing(Unk_ov23_02257740->unk_A24) == 0) {
v0->unk_4C--;

if (gCoreSys.touchInput || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
if (gCoreSys.touchPressed || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
if (ov23_02240A90(v0)) {
v0->unk_4C = 60;
v0->unk_00 = 15;
@@ -1666,7 +1666,7 @@ static void ov23_0223F118 (SysTask * param0, void * param1)
if (Message_Printing(Unk_ov23_02257740->unk_A24) == 0) {
v0->unk_4C--;

if (gCoreSys.touchInput || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
if (gCoreSys.touchPressed || (gCoreSys.pressedKeys & PAD_BUTTON_A) || (v0->unk_4C == 0)) {
ov23_02254044(ov23_0224219C());
v0->unk_00 = 19;
}
@@ -2701,12 +2701,12 @@ static BOOL ov23_02240CFC (UnkStruct_ov23_0223EE80 * param0)
Unk_ov23_02257740->unk_A29 = 0;
}

if (gCoreSys.touchInput) {
if ((gCoreSys.unk_5C < 2 * 8 * 13) && (gCoreSys.unk_5E >= 4 * 8)) {
v0[0] = gCoreSys.unk_5C;
v0[1] = gCoreSys.unk_5E;
if (gCoreSys.touchPressed) {
if ((gCoreSys.touchX < 2 * 8 * 13) && (gCoreSys.touchY >= 4 * 8)) {
v0[0] = gCoreSys.touchX;
v0[1] = gCoreSys.touchY;

ov23_022402B8(gCoreSys.unk_5C, gCoreSys.unk_5E, Unk_ov23_02257740->unk_A28, param0);
ov23_022402B8(gCoreSys.touchX, gCoreSys.touchY, Unk_ov23_02257740->unk_A28, param0);

if (Unk_ov23_02257740->unk_A28) {
v1 = 4;
@@ -2726,7 +2726,7 @@ static BOOL ov23_02240CFC (UnkStruct_ov23_0223EE80 * param0)
ov23_02240688(Unk_ov23_02257740->unk_04);

Unk_ov23_02257740->unk_A2C = 1;
} else if (gCoreSys.unk_5C >= (2 * 8 * 13)) {
} else if (gCoreSys.touchX >= (2 * 8 * 13)) {
Unk_ov23_02257740->unk_A29 = 2;
}
}
@@ -2739,7 +2739,7 @@ static BOOL ov23_02240CFC (UnkStruct_ov23_0223EE80 * param0)
}
}

ov23_022404F8(Unk_ov23_02257740->unk_04, gCoreSys.unk_5C, gCoreSys.unk_5E, Unk_ov23_02257740->unk_A29);
ov23_022404F8(Unk_ov23_02257740->unk_04, gCoreSys.touchX, gCoreSys.touchY, Unk_ov23_02257740->unk_A29);

if (Unk_ov23_02257740->unk_A29 >= 2) {
Unk_ov23_02257740->unk_A29++;
8 changes: 4 additions & 4 deletions src/overlay023/ov23_02241F74.c
Original file line number Diff line number Diff line change
@@ -355,7 +355,7 @@ BOOL ov23_02242458 (void)
return 0;
}

if (gCoreSys.touchInput) {
if (gCoreSys.touchPressed) {
Unk_ov23_02257748->unk_134 = 30;

if (!Unk_ov23_02257748->unk_14B) {
@@ -368,13 +368,13 @@ BOOL ov23_02242458 (void)
return 0;
}

v0 = ov5_021EAFA4(gCoreSys.unk_5C, gCoreSys.unk_5E, Unk_ov23_02257748->unk_0C->unk_8C);
v0 = ov5_021EAFA4(gCoreSys.touchX, gCoreSys.touchY, Unk_ov23_02257748->unk_0C->unk_8C);
ov5_021E9230(v0.x, v0.z, &v2, &v3);
v4.unk_00 = v2;
v4.unk_02 = v3;

Unk_ov23_02257748->unk_18.unk_00 = gCoreSys.unk_5C;
Unk_ov23_02257748->unk_18.unk_02 = gCoreSys.unk_5E;
Unk_ov23_02257748->unk_18.unk_00 = gCoreSys.touchX;
Unk_ov23_02257748->unk_18.unk_02 = gCoreSys.touchY;
Unk_ov23_02257748->unk_1C.unk_00 = v2;
Unk_ov23_02257748->unk_1C.unk_02 = v3;

Loading