mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-29 15:33:02 -04:00
Decompile chrPatrolCalculateStep
This commit is contained in:
+36
-36
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -6199,7 +6199,7 @@ struct ailist ailists[] = {
|
||||
};
|
||||
|
||||
struct path paths[] = {
|
||||
{ path00, 0, PATHTYPE_CIRCULAR },
|
||||
{ path00, 0, PATHFLAG_CIRCULAR },
|
||||
{ NULL, 0, 0 },
|
||||
};
|
||||
|
||||
|
||||
+14
-14
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -4108,7 +4108,7 @@ struct ailist ailists[] = {
|
||||
};
|
||||
|
||||
struct path paths[] = {
|
||||
{ path00, 0, PATHTYPE_FLYING },
|
||||
{ path00, 0, PATHFLAG_FLYING },
|
||||
{ NULL, 0, 0 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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 },
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user