Skip to content

Commit 932daf7

Browse files
pseregietser-pouncebelek666
committed
sharedFunc_800D6EC4_0_s01
Co-authored-by: ser-pounce <655122+ser-pounce@users.noreply.github.com> Co-authored-by: belek666 <belek666@users.noreply.github.com>
1 parent 97cb3ca commit 932daf7

8 files changed

Lines changed: 85 additions & 6 deletions

File tree

include/maps/shared.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2629,6 +2629,9 @@ void sharedFunc_800DF24C_2_s00(s_SubCharacter* chara);
26292629

26302630
s32 sharedFunc_800D2FB4_0_s01(s_SubCharacter* chara, VECTOR3* playerPos, s32 playerField10C);
26312631

2632+
void sharedFunc_800D72E8_0_s01(s_SubCharacter* chara, s32 field_34, s32 rotationSpeedY);
2633+
2634+
void sharedFunc_800D6EC4_0_s01(s_SubCharacter* chara);
26322635
/** @brief Gets the room index corresponding to the current 2D position.
26332636
*
26342637
* @param x X position in Q19.12.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
void sharedFunc_800D6EC4_0_s01(s_SubCharacter* chara)
2+
{
3+
s32 tmp0;
4+
s32 tmp1;
5+
s32 element1;
6+
s32 element2;
7+
s32 speed;
8+
9+
sharedData_800E21D0_0_s01.flags_0 &= ~0x2B;
10+
11+
element1 = sharedData_800E21D0_0_s01.field_B4[0][1];
12+
element2 = sharedData_800E21D0_0_s01.field_B4[0][2];
13+
speed = chara->moveSpeed_38;
14+
if (sharedData_800E21D0_0_s01.field_B4[0][0])
15+
{
16+
sharedData_800E21D0_0_s01.field_B4[0][0] = 0;
17+
speed = sharedFunc_800D71F0_0_s01(speed, element1, element2, sharedData_800E21D0_0_s01.field_B4[0][3]);
18+
}
19+
else
20+
{
21+
speed = sharedFunc_800D7120_0_s01(speed, element1, element2);
22+
}
23+
chara->moveSpeed_38 = speed;
24+
25+
speed = chara->field_34;
26+
element1 = sharedData_800E21D0_0_s01.field_B4[1][1];
27+
element2 = sharedData_800E21D0_0_s01.field_B4[1][2];
28+
if (sharedData_800E21D0_0_s01.field_B4[1][0])
29+
{
30+
sharedData_800E21D0_0_s01.field_B4[1][0] = 0;
31+
speed = sharedFunc_800D71F0_0_s01(speed, element1, element2, sharedData_800E21D0_0_s01.field_B4[1][3]);
32+
}
33+
else
34+
{
35+
speed = sharedFunc_800D7120_0_s01(speed, element1, element2);
36+
}
37+
chara->field_34 = speed;
38+
39+
speed = chara->rotationSpeed_2C.vy;
40+
element1 = sharedData_800E21D0_0_s01.field_B4[3][1];
41+
element2 = sharedData_800E21D0_0_s01.field_B4[3][2];
42+
if (sharedData_800E21D0_0_s01.field_B4[3][0])
43+
{
44+
45+
speed = sharedFunc_800D71F0_0_s01(speed, element1, element2, sharedData_800E21D0_0_s01.field_B4[3][3]);
46+
}
47+
else
48+
{
49+
speed = sharedFunc_800D7120_0_s01(speed, element1, element2);
50+
}
51+
chara->rotationSpeed_2C.vy = speed;
52+
53+
chara->rotation_24.vy += FP_MULTIPLY_PRECISE(g_DeltaTime0, speed, Q12_SHIFT);
54+
if (sharedFunc_800D4A80_0_s01(chara) == 3)
55+
{
56+
sharedFunc_800D72E8_0_s01(chara, chara->field_34, chara->rotationSpeed_2C.vy);
57+
}
58+
else
59+
{
60+
sharedFunc_800D72E8_0_s01(chara, 0, 0);
61+
}
62+
63+
tmp0 = sharedFunc_800D71F0_0_s01(chara->rotationSpeed_2C.vx, sharedData_800E21D0_0_s01.field_B4[2][1], sharedData_800E21D0_0_s01.field_B4[2][2], sharedData_800E21D0_0_s01.field_B4[2][3]);
64+
speed = tmp0;
65+
chara->rotationSpeed_2C.vx = tmp0;
66+
chara->rotation_24.vx += FP_MULTIPLY_PRECISE(g_DeltaTime0, speed, Q12_SHIFT);
67+
element1 = sharedFunc_800D71F0_0_s01(chara->rotationSpeed_2C.vz, sharedData_800E21D0_0_s01.field_B4[4][1], sharedData_800E21D0_0_s01.field_B4[4][2], sharedData_800E21D0_0_s01.field_B4[4][3]);
68+
speed = element1;
69+
chara->rotationSpeed_2C.vz = speed;
70+
71+
chara->rotation_24.vz += FP_MULTIPLY_PRECISE(g_DeltaTime0, speed, Q12_SHIFT);
72+
speed = sharedFunc_800D71F0_0_s01(chara->rotationSpeed_2C.pad, sharedData_800E21D0_0_s01.field_B4[5][1], sharedData_800E21D0_0_s01.field_B4[5][2], sharedData_800E21D0_0_s01.field_B4[5][3]);
73+
tmp1 = speed;
74+
chara->rotationSpeed_2C.pad = tmp1;
75+
chara->rotation_24.pad += FP_MULTIPLY_PRECISE(g_DeltaTime0, tmp1, Q12_SHIFT);
76+
}

src/maps/map0_s01/map0_s01.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1221,7 +1221,7 @@ INCLUDE_ASM("asm/maps/map0_s01/nonmatchings/map0_s01", sharedFunc_800D6600_0_s01
12211221

12221222
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800D6C7C
12231223

1224-
INCLUDE_ASM("asm/maps/map0_s01/nonmatchings/map0_s01", sharedFunc_800D6EC4_0_s01);
1224+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h" // 0x800D6EC4
12251225

12261226
INCLUDE_ASM("asm/maps/map0_s01/nonmatchings/map0_s01", sharedFunc_800D7120_0_s01);
12271227

src/maps/map2_s00/map2_s00.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ INCLUDE_ASM("asm/maps/map2_s00/nonmatchings/map2_s00", sharedFunc_800D6600_0_s01
408408

409409
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800E1414
410410

411-
INCLUDE_ASM("asm/maps/map2_s00/nonmatchings/map2_s00", sharedFunc_800D6EC4_0_s01);
411+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h"
412412

413413
INCLUDE_ASM("asm/maps/map2_s00/nonmatchings/map2_s00", sharedFunc_800D7120_0_s01); // 0x800E18B8
414414

src/maps/map2_s02/map2_s02.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ INCLUDE_ASM("asm/maps/map2_s02/nonmatchings/map2_s02", sharedFunc_800D6600_0_s01
562562

563563
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800DFBFC
564564

565-
INCLUDE_ASM("asm/maps/map2_s02/nonmatchings/map2_s02", sharedFunc_800D6EC4_0_s01);
565+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h"
566566

567567
INCLUDE_ASM("asm/maps/map2_s02/nonmatchings/map2_s02", sharedFunc_800D7120_0_s01); // 0x800E00A0
568568

src/maps/map4_s02/map4_s02.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ INCLUDE_ASM("asm/maps/map4_s02/nonmatchings/map4_s02", sharedFunc_800D6600_0_s01
414414

415415
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800DFFF8
416416

417-
INCLUDE_ASM("asm/maps/map4_s02/nonmatchings/map4_s02", sharedFunc_800D6EC4_0_s01);
417+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h"
418418

419419
INCLUDE_ASM("asm/maps/map4_s02/nonmatchings/map4_s02", sharedFunc_800D7120_0_s01); // 0x800E049C
420420

src/maps/map5_s01/map5_s01.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ INCLUDE_ASM("asm/maps/map5_s01/nonmatchings/map5_s01", sharedFunc_800D6600_0_s01
435435

436436
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800E1730
437437

438-
INCLUDE_ASM("asm/maps/map5_s01/nonmatchings/map5_s01", sharedFunc_800D6EC4_0_s01);
438+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h"
439439

440440
INCLUDE_ASM("asm/maps/map5_s01/nonmatchings/map5_s01", sharedFunc_800D7120_0_s01); // 0x800E1BD4
441441

src/maps/map6_s00/map6_s00.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ INCLUDE_ASM("asm/maps/map6_s00/nonmatchings/map6_s00", sharedFunc_800D6600_0_s01
415415

416416
#include "maps/shared/sharedFunc_800D6C7C_0_s01.h" // 0x800E0DD0
417417

418-
INCLUDE_ASM("asm/maps/map6_s00/nonmatchings/map6_s00", sharedFunc_800D6EC4_0_s01);
418+
#include "maps/shared/sharedFunc_800D6EC4_0_s01.h"
419419

420420
INCLUDE_ASM("asm/maps/map6_s00/nonmatchings/map6_s00", sharedFunc_800D7120_0_s01); // 0x800E1274
421421

0 commit comments

Comments
 (0)