Decompile chrPatrolCalculateStep

This commit is contained in:
Ryan Dwyer
2020-06-23 00:27:33 +10:00
parent 41282ffd03
commit 9dbdfd7a29
24 changed files with 317 additions and 312 deletions
+36 -36
View File
@@ -4095,42 +4095,42 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_FLYING },
{ path02, 2, PATHTYPE_FLYING },
{ path03, 3, PATHTYPE_FLYING },
{ path04, 4, PATHTYPE_FLYING },
{ path05, 5, PATHTYPE_FLYING },
{ path06, 6, PATHTYPE_FLYING },
{ path07, 7, PATHTYPE_FLYING },
{ path08, 8, PATHTYPE_FLYING },
{ path09, 9, PATHTYPE_FLYING },
{ path10, 10, PATHTYPE_FLYING },
{ path11, 11, PATHTYPE_FLYING },
{ path12, 12, PATHTYPE_FLYING },
{ path13, 13, PATHTYPE_FLYING },
{ path14, 14, PATHTYPE_FLYING },
{ path15, 15, PATHTYPE_FLYING },
{ path16, 16, PATHTYPE_FLYING },
{ path17, 17, PATHTYPE_FLYING },
{ path18, 18, PATHTYPE_FLYING },
{ path19, 19, PATHTYPE_FLYING },
{ path20, 20, PATHTYPE_FLYING },
{ path21, 21, PATHTYPE_FLYING },
{ path22, 22, PATHTYPE_FLYING },
{ path23, 23, PATHTYPE_FLYING },
{ path24, 24, PATHTYPE_FLYING },
{ path25, 25, PATHTYPE_FLYING },
{ path26, 26, PATHTYPE_CIRCULAR },
{ path27, 27, PATHTYPE_BACKANDFORTH },
{ path28, 28, PATHTYPE_BACKANDFORTH },
{ path29, 29, PATHTYPE_BACKANDFORTH },
{ path30, 30, PATHTYPE_CIRCULAR },
{ path31, 31, PATHTYPE_BACKANDFORTH },
{ path32, 32, PATHTYPE_BACKANDFORTH },
{ path33, 33, PATHTYPE_BACKANDFORTH },
{ path34, 34, PATHTYPE_CIRCULAR },
{ path35, 35, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, PATHFLAG_FLYING },
{ path02, 2, PATHFLAG_FLYING },
{ path03, 3, PATHFLAG_FLYING },
{ path04, 4, PATHFLAG_FLYING },
{ path05, 5, PATHFLAG_FLYING },
{ path06, 6, PATHFLAG_FLYING },
{ path07, 7, PATHFLAG_FLYING },
{ path08, 8, PATHFLAG_FLYING },
{ path09, 9, PATHFLAG_FLYING },
{ path10, 10, PATHFLAG_FLYING },
{ path11, 11, PATHFLAG_FLYING },
{ path12, 12, PATHFLAG_FLYING },
{ path13, 13, PATHFLAG_FLYING },
{ path14, 14, PATHFLAG_FLYING },
{ path15, 15, PATHFLAG_FLYING },
{ path16, 16, PATHFLAG_FLYING },
{ path17, 17, PATHFLAG_FLYING },
{ path18, 18, PATHFLAG_FLYING },
{ path19, 19, PATHFLAG_FLYING },
{ path20, 20, PATHFLAG_FLYING },
{ path21, 21, PATHFLAG_FLYING },
{ path22, 22, PATHFLAG_FLYING },
{ path23, 23, PATHFLAG_FLYING },
{ path24, 24, PATHFLAG_FLYING },
{ path25, 25, PATHFLAG_FLYING },
{ path26, 26, PATHFLAG_CIRCULAR },
{ path27, 27, 0 },
{ path28, 28, 0 },
{ path29, 29, 0 },
{ path30, 30, PATHFLAG_CIRCULAR },
{ path31, 31, 0 },
{ path32, 32, 0 },
{ path33, 33, 0 },
{ path34, 34, PATHFLAG_CIRCULAR },
{ path35, 35, 0 },
{ NULL, 0, 0 },
};
+3 -3
View File
@@ -506,9 +506,9 @@ s32 path02[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ NULL, 0, 0 },
};
+13 -13
View File
@@ -362,19 +362,19 @@ s32 path12[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ NULL, 0, 0 },
};
+16 -16
View File
@@ -705,22 +705,22 @@ s32 unregistered_path1[] = {
};
struct path paths[] = {
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path13, 13, PATHTYPE_BACKANDFORTH },
{ path14, 14, PATHTYPE_BACKANDFORTH },
{ path15, 15, PATHTYPE_BACKANDFORTH },
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ path13, 13, 0 },
{ path14, 14, 0 },
{ path15, 15, 0 },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ NULL, 0, 0 },
};
+5 -5
View File
@@ -640,11 +640,11 @@ s32 path04[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_CIRCULAR },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_CIRCULAR },
{ path03, 3, PATHTYPE_CIRCULAR },
{ path04, 4, PATHTYPE_CIRCULAR },
{ path00, 0, PATHFLAG_CIRCULAR },
{ path01, 1, 0 },
{ path02, 2, PATHFLAG_CIRCULAR },
{ path03, 3, PATHFLAG_CIRCULAR },
{ path04, 4, PATHFLAG_CIRCULAR },
{ NULL, 0, 0 },
};
+4 -4
View File
@@ -3182,10 +3182,10 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_CIRCULAR },
{ path01, 1, PATHTYPE_CIRCULAR },
{ path02, 2, PATHTYPE_CIRCULAR },
{ path03, 3, PATHTYPE_CIRCULAR },
{ path00, 0, PATHFLAG_CIRCULAR },
{ path01, 1, PATHFLAG_CIRCULAR },
{ path02, 2, PATHFLAG_CIRCULAR },
{ path03, 3, PATHFLAG_CIRCULAR },
{ NULL, 0, 0 },
};
+1 -1
View File
@@ -6199,7 +6199,7 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_CIRCULAR },
{ path00, 0, PATHFLAG_CIRCULAR },
{ NULL, 0, 0 },
};
+14 -14
View File
@@ -3392,20 +3392,20 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_CIRCULAR },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path13, 13, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, PATHFLAG_CIRCULAR },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ path13, 13, 0 },
{ NULL, 0, 0 },
};
+2 -2
View File
@@ -3279,8 +3279,8 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ NULL, 0, 0 },
};
+1 -1
View File
@@ -4108,7 +4108,7 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_FLYING },
{ path00, 0, PATHFLAG_FLYING },
{ NULL, 0, 0 },
};
+6 -6
View File
@@ -3875,12 +3875,12 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ NULL, 0, 0 },
};
+15 -15
View File
@@ -4823,21 +4823,21 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path13, 13, PATHTYPE_BACKANDFORTH },
{ path14, 14, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ path13, 13, 0 },
{ path14, 14, 0 },
{ NULL, 0, 0 },
};
+33 -33
View File
@@ -830,39 +830,39 @@ s32 path33[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_CIRCULAR },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_FLYING },
{ path10, 10, PATHTYPE_FLYING },
{ path11, 11, PATHTYPE_FLYING },
{ path12, 12, PATHTYPE_FLYING },
{ path13, 13, PATHTYPE_FLYING },
{ path14, 14, PATHTYPE_FLYING },
{ path15, 15, PATHTYPE_FLYING },
{ path16, 16, PATHTYPE_FLYING },
{ path17, 17, PATHTYPE_FLYING },
{ path18, 18, PATHTYPE_FLYING },
{ path19, 19, PATHTYPE_FLYING },
{ path20, 20, PATHTYPE_FLYING },
{ path21, 21, PATHTYPE_FLYING },
{ path22, 22, PATHTYPE_FLYING },
{ path23, 23, PATHTYPE_FLYING },
{ path24, 24, PATHTYPE_FLYING },
{ path25, 25, PATHTYPE_FLYING },
{ path26, 26, PATHTYPE_FLYING },
{ path27, 27, PATHTYPE_FLYING },
{ path28, 28, PATHTYPE_FLYING },
{ path29, 29, PATHTYPE_FLYING },
{ path30, 30, PATHTYPE_FLYING },
{ path31, 31, PATHTYPE_FLYING },
{ path32, 32, PATHTYPE_FLYING },
{ path33, 33, PATHTYPE_FLYING },
{ path34, 34, PATHTYPE_FLYING },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, PATHFLAG_CIRCULAR },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path08, 8, 0 },
{ path09, 9, PATHFLAG_FLYING },
{ path10, 10, PATHFLAG_FLYING },
{ path11, 11, PATHFLAG_FLYING },
{ path12, 12, PATHFLAG_FLYING },
{ path13, 13, PATHFLAG_FLYING },
{ path14, 14, PATHFLAG_FLYING },
{ path15, 15, PATHFLAG_FLYING },
{ path16, 16, PATHFLAG_FLYING },
{ path17, 17, PATHFLAG_FLYING },
{ path18, 18, PATHFLAG_FLYING },
{ path19, 19, PATHFLAG_FLYING },
{ path20, 20, PATHFLAG_FLYING },
{ path21, 21, PATHFLAG_FLYING },
{ path22, 22, PATHFLAG_FLYING },
{ path23, 23, PATHFLAG_FLYING },
{ path24, 24, PATHFLAG_FLYING },
{ path25, 25, PATHFLAG_FLYING },
{ path26, 26, PATHFLAG_FLYING },
{ path27, 27, PATHFLAG_FLYING },
{ path28, 28, PATHFLAG_FLYING },
{ path29, 29, PATHFLAG_FLYING },
{ path30, 30, PATHFLAG_FLYING },
{ path31, 31, PATHFLAG_FLYING },
{ path32, 32, PATHFLAG_FLYING },
{ path33, 33, PATHFLAG_FLYING },
{ path34, 34, PATHFLAG_FLYING },
{ NULL, 0, 0 },
};
+6 -6
View File
@@ -258,12 +258,12 @@ s32 path04[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path00, 0, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ NULL, 0, 0 },
};
+9 -9
View File
@@ -4862,15 +4862,15 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ NULL, 0, 0 },
};
+14 -14
View File
@@ -3322,20 +3322,20 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path13, 13, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ path13, 13, 0 },
{ NULL, 0, 0 },
};
+3 -3
View File
@@ -4090,9 +4090,9 @@ struct ailist ailists[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ NULL, 0, 0 },
};
+15 -15
View File
@@ -850,21 +850,21 @@ s32 path14[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_BACKANDFORTH },
{ path02, 2, PATHTYPE_BACKANDFORTH },
{ path03, 3, PATHTYPE_BACKANDFORTH },
{ path04, 4, PATHTYPE_BACKANDFORTH },
{ path05, 5, PATHTYPE_BACKANDFORTH },
{ path06, 6, PATHTYPE_BACKANDFORTH },
{ path07, 7, PATHTYPE_BACKANDFORTH },
{ path08, 8, PATHTYPE_BACKANDFORTH },
{ path09, 9, PATHTYPE_BACKANDFORTH },
{ path10, 10, PATHTYPE_BACKANDFORTH },
{ path11, 11, PATHTYPE_BACKANDFORTH },
{ path12, 12, PATHTYPE_BACKANDFORTH },
{ path13, 13, PATHTYPE_BACKANDFORTH },
{ path14, 14, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ path13, 13, 0 },
{ path14, 14, 0 },
{ NULL, 0, 0 },
};
+38 -38
View File
@@ -956,44 +956,44 @@ s32 path29[] = {
};
struct path paths[] = {
{ path00, 0, PATHTYPE_BACKANDFORTH },
{ path01, 1, PATHTYPE_FLYING },
{ path02, 2, PATHTYPE_FLYING },
{ path03, 3, PATHTYPE_FLYING },
{ path04, 4, PATHTYPE_FLYING },
{ path05, 5, PATHTYPE_FLYING },
{ path06, 6, PATHTYPE_FLYING },
{ path07, 7, PATHTYPE_FLYING },
{ path08, 8, PATHTYPE_FLYING },
{ path09, 9, PATHTYPE_FLYING },
{ path10, 10, PATHTYPE_FLYING },
{ path11, 11, PATHTYPE_FLYING },
{ path12, 12, PATHTYPE_FLYING },
{ path13, 13, PATHTYPE_FLYING },
{ path14, 14, PATHTYPE_FLYING },
{ path15, 15, PATHTYPE_FLYING },
{ path16, 16, PATHTYPE_FLYING },
{ path17, 17, PATHTYPE_FLYING },
{ path18, 18, PATHTYPE_FLYING },
{ path19, 19, PATHTYPE_FLYING },
{ path20, 20, PATHTYPE_FLYING },
{ path21, 21, PATHTYPE_FLYING },
{ path22, 22, PATHTYPE_FLYING },
{ path23, 23, PATHTYPE_FLYING },
{ path24, 24, PATHTYPE_FLYING },
{ path25, 25, PATHTYPE_FLYING },
{ path26, 26, PATHTYPE_CIRCULAR },
{ path27, 27, PATHTYPE_BACKANDFORTH },
{ path28, 28, PATHTYPE_BACKANDFORTH },
{ path29, 29, PATHTYPE_BACKANDFORTH },
{ path30, 30, PATHTYPE_CIRCULAR },
{ path31, 31, PATHTYPE_BACKANDFORTH },
{ path32, 32, PATHTYPE_BACKANDFORTH },
{ path33, 33, PATHTYPE_BACKANDFORTH },
{ path34, 34, PATHTYPE_CIRCULAR },
{ path35, 35, PATHTYPE_CIRCULAR },
{ path36, 36, PATHTYPE_CIRCULAR },
{ path37, 37, PATHTYPE_BACKANDFORTH },
{ path00, 0, 0 },
{ path01, 1, PATHFLAG_FLYING },
{ path02, 2, PATHFLAG_FLYING },
{ path03, 3, PATHFLAG_FLYING },
{ path04, 4, PATHFLAG_FLYING },
{ path05, 5, PATHFLAG_FLYING },
{ path06, 6, PATHFLAG_FLYING },
{ path07, 7, PATHFLAG_FLYING },
{ path08, 8, PATHFLAG_FLYING },
{ path09, 9, PATHFLAG_FLYING },
{ path10, 10, PATHFLAG_FLYING },
{ path11, 11, PATHFLAG_FLYING },
{ path12, 12, PATHFLAG_FLYING },
{ path13, 13, PATHFLAG_FLYING },
{ path14, 14, PATHFLAG_FLYING },
{ path15, 15, PATHFLAG_FLYING },
{ path16, 16, PATHFLAG_FLYING },
{ path17, 17, PATHFLAG_FLYING },
{ path18, 18, PATHFLAG_FLYING },
{ path19, 19, PATHFLAG_FLYING },
{ path20, 20, PATHFLAG_FLYING },
{ path21, 21, PATHFLAG_FLYING },
{ path22, 22, PATHFLAG_FLYING },
{ path23, 23, PATHFLAG_FLYING },
{ path24, 24, PATHFLAG_FLYING },
{ path25, 25, PATHFLAG_FLYING },
{ path26, 26, PATHFLAG_CIRCULAR },
{ path27, 27, 0 },
{ path28, 28, 0 },
{ path29, 29, 0 },
{ path30, 30, PATHFLAG_CIRCULAR },
{ path31, 31, 0 },
{ path32, 32, 0 },
{ path33, 33, 0 },
{ path34, 34, PATHFLAG_CIRCULAR },
{ path35, 35, PATHFLAG_CIRCULAR },
{ path36, 36, PATHFLAG_CIRCULAR },
{ path37, 37, 0 },
{ NULL, 0, 0 },
};
+72 -67
View File
@@ -8763,79 +8763,84 @@ void chrGoPosAdvanceWaypoint(struct chrdata *chr)
chrGoPosInitExpensive(chr);
}
GLOBAL_ASM(
glabel func0f0373dc
/* f0373dc: 8c830030 */ lw $v1,0x30($a0)
/* f0373e0: 04c10004 */ bgez $a2,.L0f0373f4
/* f0373e4: 8ca70000 */ lw $a3,0x0($a1)
/* f0373e8: 2cee0001 */ sltiu $t6,$a3,0x1
/* f0373ec: 01c03825 */ or $a3,$t6,$zero
/* f0373f0: 00063023 */ negu $a2,$a2
.L0f0373f4:
/* f0373f4: 58c00028 */ blezl $a2,.L0f037498
/* f0373f8: aca70000 */ sw $a3,0x0($a1)
.L0f0373fc:
/* f0373fc: 10e00014 */ beqz $a3,.L0f037450
/* f037400: 24c6ffff */ addiu $a2,$a2,-1
/* f037404: 8c82002c */ lw $v0,0x2c($a0)
/* f037408: 24630001 */ addiu $v1,$v1,0x1
/* f03740c: 0003c080 */ sll $t8,$v1,0x2
/* f037410: 8c4f0000 */ lw $t7,0x0($v0)
/* f037414: 01f8c821 */ addu $t9,$t7,$t8
/* f037418: 8f290000 */ lw $t1,0x0($t9)
/* f03741c: 0521001b */ bgez $t1,.L0f03748c
/* f037420: 00000000 */ sll $zero,$zero,0x0
/* f037424: 904a0005 */ lbu $t2,0x5($v0)
/* f037428: 2463fffe */ addiu $v1,$v1,-2
/* f03742c: 314b0001 */ andi $t3,$t2,0x1
/* f037430: 11600003 */ beqz $t3,.L0f037440
/* f037434: 00000000 */ sll $zero,$zero,0x0
/* f037438: 10000014 */ beqz $zero,.L0f03748c
/* f03743c: 00001825 */ or $v1,$zero,$zero
.L0f037440:
/* f037440: 04610012 */ bgez $v1,.L0f03748c
/* f037444: 00003825 */ or $a3,$zero,$zero
/* f037448: 10000010 */ beqz $zero,.L0f03748c
/* f03744c: 00001825 */ or $v1,$zero,$zero
.L0f037450:
/* f037450: 2463ffff */ addiu $v1,$v1,-1
/* f037454: 0461000d */ bgez $v1,.L0f03748c
/* f037458: 00000000 */ sll $zero,$zero,0x0
/* f03745c: 8c82002c */ lw $v0,0x2c($a0)
/* f037460: 24030001 */ addiu $v1,$zero,0x1
/* f037464: 904c0005 */ lbu $t4,0x5($v0)
/* f037468: 94480006 */ lhu $t0,0x6($v0)
/* f03746c: 318d0001 */ andi $t5,$t4,0x1
/* f037470: 11a00003 */ beqz $t5,.L0f037480
/* f037474: 2508ffff */ addiu $t0,$t0,-1
/* f037478: 10000004 */ beqz $zero,.L0f03748c
/* f03747c: 01001825 */ or $v1,$t0,$zero
.L0f037480:
/* f037480: 1d000002 */ bgtz $t0,.L0f03748c
/* f037484: 24070001 */ addiu $a3,$zero,0x1
/* f037488: 01001825 */ or $v1,$t0,$zero
.L0f03748c:
/* f03748c: 1cc0ffdb */ bgtz $a2,.L0f0373fc
/* f037490: 00000000 */ sll $zero,$zero,0x0
/* f037494: aca70000 */ sw $a3,0x0($a1)
.L0f037498:
/* f037498: 03e00008 */ jr $ra
/* f03749c: 00601025 */ or $v0,$v1,$zero
);
/**
* Determines which step index the chr will be at given their current index, the
* number of steps to take and in which direction (forward or back).
*
* Returns the step index and populates *forward with true or false depending on
* whether the chr will be traversing the path in the forward direction at that
* point.
*/
s32 chrPatrolCalculateStep(struct chrdata *chr, bool *forward, s32 numsteps)
{
s32 nextstep = chr->act_patrol.nextstep;
bool isforward = *forward;
s16 chrPatrolGetCurPadNum(struct chrdata *chr, bool arg1)
if (numsteps < 0) {
isforward = !isforward;
numsteps = -numsteps;
}
while (numsteps > 0) {
numsteps--;
if (isforward) {
nextstep++;
if (chr->act_patrol.path->pads[nextstep] < 0) {
// Reached the end of the list
if (chr->act_patrol.path->flags & PATHFLAG_CIRCULAR) {
nextstep = 0;
} else {
isforward = false;
nextstep -= 2;
if (nextstep < 0) {
nextstep = 0;
}
}
}
} else {
nextstep--;
if (nextstep < 0) {
// Reached the start of the list
if (chr->act_patrol.path->flags & PATHFLAG_CIRCULAR) {
nextstep = chr->act_patrol.path->len - 1;
} else {
isforward = true;
nextstep = 1;
if (chr->act_patrol.path->len - 1 <= 0) {
nextstep = chr->act_patrol.path->len - 1;
}
}
}
}
}
*forward = isforward;
return nextstep;
}
/**
* Determines which pad number the chr will be at given their current index and
* the number of steps to take.
*/
s16 chrPatrolCalculatePadNum(struct chrdata *chr, s32 numsteps)
{
s32 *padnumptr;
u32 sp32 = chr->act_patrol.unk034;
s32 nodeindex = func0f0373dc(chr, &sp32, arg1);
padnumptr = &chr->act_patrol.path->pads[nodeindex];
bool forward = chr->act_patrol.forward;
s32 step = chrPatrolCalculateStep(chr, &forward, numsteps);
padnumptr = &chr->act_patrol.path->pads[step];
return *padnumptr;
}
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags)
{
s32 padnum = chrPatrolGetCurPadNum(chr, false);
s32 padnum = chrPatrolCalculatePadNum(chr, 0);
struct pad pad;
padUnpack(padnum, PADFIELD_POS | PADFIELD_ROOM | PADFIELD_FLAGS, &pad);
@@ -8870,7 +8875,7 @@ void func0f037580(struct chrdata *chr)
void func0f0375b0(struct chrdata *chr)
{
s32 nextstep = func0f0373dc(chr, &chr->act_patrol.unk034, true);
s32 nextstep = chrPatrolCalculateStep(chr, &chr->act_patrol.forward, 1);
chr->act_patrol.nextstep = nextstep;
chr->patrolnextstep = nextstep;
@@ -23588,11 +23593,11 @@ glabel chrTickPatrol
/* f0475d8: 13000011 */ beqz $t8,.L0f047620
.L0f0475dc:
/* f0475dc: 02002025 */ or $a0,$s0,$zero
/* f0475e0: 0fc0dd28 */ jal chrPatrolGetCurPadNum
/* f0475e0: 0fc0dd28 */ jal chrPatrolCalculatePadNum
/* f0475e4: 00002825 */ or $a1,$zero,$zero
/* f0475e8: a7a20034 */ sh $v0,0x34($sp)
/* f0475ec: 02002025 */ or $a0,$s0,$zero
/* f0475f0: 0fc0dd28 */ jal chrPatrolGetCurPadNum
/* f0475f0: 0fc0dd28 */ jal chrPatrolCalculatePadNum
/* f0475f4: 24050001 */ addiu $a1,$zero,0x1
/* f0475f8: 87b90034 */ lh $t9,0x34($sp)
/* f0475fc: 02002025 */ or $a0,$s0,$zero
+1 -1
View File
@@ -5064,7 +5064,7 @@ bool aiHovercarBeginPath(void)
struct chopperobj *chopper = chopperFromHovercar(g_Vars.hovercar);
g_Vars.hovercar->path = path;
g_Vars.hovercar->nextstep = 0;
g_Vars.hovercar->path->type |= PATHTYPE_4;
g_Vars.hovercar->path->flags |= PATHFLAG_04;
if (chopper) {
chopper->targetvisible = false;
+3 -4
View File
@@ -2165,10 +2165,9 @@
#define PADFLAG_8000 0x8000
#define PADFLAG_10000 0x10000
#define PATHTYPE_BACKANDFORTH 0
#define PATHTYPE_CIRCULAR 1
#define PATHTYPE_FLYING 2
#define PATHTYPE_4 4
#define PATHFLAG_CIRCULAR 1
#define PATHFLAG_FLYING 2
#define PATHFLAG_04 4
#define PAUSEMODE_UNPAUSED 0
#define PAUSEMODE_1 1
+2 -2
View File
@@ -72,8 +72,8 @@ s32 func0f037124(struct chrdata *chr);
void chrGoPosConsiderRestart(struct chrdata *chr);
void chrGoPosInitExpensive(struct chrdata *chr);
void chrGoPosAdvanceWaypoint(struct chrdata *chr);
s32 func0f0373dc(struct chrdata *chr, u32 *arg1, bool arg2);
s16 chrPatrolGetCurPadNum(struct chrdata *chr, bool arg1);
s32 chrPatrolCalculateStep(struct chrdata *chr, bool *forward, s32 numsteps);
s16 chrPatrolCalculatePadNum(struct chrdata *chr, s32 numsteps);
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags);
void func0f037580(struct chrdata *chr);
void func0f0375b0(struct chrdata *chr);
+5 -4
View File
@@ -553,7 +553,7 @@ struct waydata {
struct act_patrol {
/*0x02c*/ struct path *path;
/*0x030*/ s32 nextstep;
/*0x034*/ u32 unk034;
/*0x034*/ bool forward;
/*0x038*/ struct waydata waydata;
};
@@ -2703,9 +2703,10 @@ struct ailist {
};
struct path {
s32 *pads;
u8 id;
u8 type;
/*0x00*/ s32 *pads;
/*0x04*/ u8 id;
/*0x05*/ u8 flags;
/*0x06*/ u16 len;
};
struct coverdefinition {