diff --git a/actors.html b/actors.html index ccd072f80..fb1e8f1af 100644 --- a/actors.html +++ b/actors.html @@ -103,7 +103,7 @@ $(function(){initNavTree('actors.html',''); initResizable(); });
How Actors Work
-

+

Actors

If you are familiar with oot or sm64 prepare to be very disappointed. Both games split actors into separate files. In an unorderly fashion, mk64 appears to place all actors in the same file save for the odd exception.

Example actor setup based on update_course_actors

// Loop through the actor list and run that particular actors behaviour.
diff --git a/actors_8c.html b/actors_8c.html index 4751f7e1f..e0896421f 100644 --- a/actors_8c.html +++ b/actors_8c.html @@ -1565,7 +1565,7 @@ Here is the caller graph for this function:
-
Todo
Is this making the shell spin?
+
Todo
Is this making the shell spin?
Here is the call graph for this function:
diff --git a/actorsmenu.html b/actorsmenu.html index 94bcb85a7..f8807dd58 100644 --- a/actorsmenu.html +++ b/actorsmenu.html @@ -172,7 +172,7 @@ $(function(){initNavTree('actorsmenu.html',''); initResizable(); });

-

Actors Objects Vehicles Items

+

Actors Objects Vehicles Items

diff --git a/actorsmenu.js b/actorsmenu.js index 03d6a6bce..fdd93972e 100644 --- a/actorsmenu.js +++ b/actorsmenu.js @@ -1,7 +1,7 @@ var actorsmenu = [ [ "How Actors Work", "actors.html", [ - [ "Actors", "actors.html#actors", null ] + [ "Actors", "actors.html#actors-1", null ] ] ], [ "Objects", "objects.html", [ [ "Objects", "objects.html#objects", null ] diff --git a/asm_funcs.svg b/asm_funcs.svg index ba99fe5b9..c66ca9d7a 100644 --- a/asm_funcs.svg +++ b/asm_funcs.svg @@ -1 +1 @@ -ASM functionsASM functions6868 \ No newline at end of file +WIP functionsWIP functions6868 \ No newline at end of file diff --git a/banshee__boardwalk_2course__data_8c.html b/banshee__boardwalk_2course__data_8c.html index 3ed43b002..f9b828631 100644 --- a/banshee__boardwalk_2course__data_8c.html +++ b/banshee__boardwalk_2course__data_8c.html @@ -665,7 +665,7 @@ Variables
gsSPEndDisplayList(),
}
gCourseMaxZ
s16 gCourseMaxZ
Definition code_800029B0.c:93
-
Todo
Replace addresses with variables
+
Todo
Replace addresses with variables
diff --git a/banshee__boardwalk_2course__data_8h.html b/banshee__boardwalk_2course__data_8h.html index f60e8596f..72b9788aa 100644 --- a/banshee__boardwalk_2course__data_8h.html +++ b/banshee__boardwalk_2course__data_8h.html @@ -716,7 +716,7 @@ Variables
-
Todo
Replace addresses with variables
+
Todo
Replace addresses with variables
diff --git a/basics.js b/basics.js index 8888e6745..50263aa6b 100644 --- a/basics.js +++ b/basics.js @@ -24,7 +24,7 @@ var basics = [ "Code Breakdown", "controlflow.html#code-breakdown", [ [ "Menus", "controlflow.html#menus", null ], [ "Players", "controlflow.html#players", null ], - [ "Actors", "controlflow.html#actors-1", null ], + [ "Actors", "controlflow.html#actors", null ], [ "Objects", "controlflow.html#objects-1", null ], [ "Courses", "controlflow.html#courses", [ [ "Course Folder", "controlflow.html#course-folder", null ] diff --git a/big__donut_2course__data_8c.html b/big__donut_2course__data_8c.html index 64397fc44..d9f52a6ed 100644 --- a/big__donut_2course__data_8c.html +++ b/big__donut_2course__data_8c.html @@ -160,7 +160,7 @@ Variables
G_RM_AA_ZB_OPA_SURF2
#define G_RM_AA_ZB_OPA_SURF2
Definition gbi.h:942
G_CC_MODULATEIA
#define G_CC_MODULATEIA
Definition gbi.h:492
G_RM_AA_ZB_TEX_EDGE
#define G_RM_AA_ZB_TEX_EDGE
Definition gbi.h:957
-
Todo
Replace addresses with variables
+
Todo
Replace addresses with variables
diff --git a/big__donut_2course__data_8h.html b/big__donut_2course__data_8h.html index a0ac9a8a0..9283306e6 100644 --- a/big__donut_2course__data_8h.html +++ b/big__donut_2course__data_8h.html @@ -148,7 +148,7 @@ Variables
-
Todo
Replace addresses with variables
+
Todo
Replace addresses with variables
diff --git a/blue__and__red__shells_2update_8inc_8c_source.html b/blue__and__red__shells_2update_8inc_8c_source.html index 70a2d9d5c..7cdae473f 100644 --- a/blue__and__red__shells_2update_8inc_8c_source.html +++ b/blue__and__red__shells_2update_8inc_8c_source.html @@ -116,169 +116,169 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
6#include <code_800029B0.h>
7
-
8void func_802B3B44(struct ShellActor *shell) {
-
9 u16 currentWaypoint;
-
10 u16 nextWaypoint;
-
11 f32 temp_f0;
-
12 f32 temp_f0_2;
-
13 f32 temp_f0_3;
-
14 f32 temp_f12_3;
-
15 f32 temp_f14_2;
-
16 f32 temp_f16_2;
-
17 f32 temp_f2;
-
18 f32 temp_f12;
-
19 f32 temp_f28;
-
20 f32 temp_f20;
-
21 f32 temp_f22;
-
22 f32 temp_f24;
-
23 f32 temp_f12_0;
-
24 f32 temp_f12_1;
-
25 f32 temp_f12_2;
-
26 f32 temp_f18_3;
-
27 f32 temp_f16_3;
-
28 f32 temp_f26;
-
29 Vec3f origPos;
+
8void func_802B3B44(struct ShellActor *shell) {
+
9 u16 currentWaypoint;
+
10 u16 nextWaypoint;
+
11 f32 temp_f0;
+
12 f32 temp_f0_2;
+
13 f32 temp_f0_3;
+
14 f32 temp_f12_3;
+
15 f32 temp_f14_2;
+
16 f32 temp_f16_2;
+
17 f32 temp_f2;
+
18 f32 temp_f12;
+
19 f32 temp_f28;
+
20 f32 temp_f20;
+
21 f32 temp_f22;
+
22 f32 temp_f24;
+
23 f32 temp_f12_0;
+
24 f32 temp_f12_1;
+
25 f32 temp_f12_2;
+
26 f32 temp_f18_3;
+
27 f32 temp_f16_3;
+
28 f32 temp_f26;
+
29 Vec3f origPos;
30
-
31 currentWaypoint = shell->pathIndex;
-
32 temp_f2 = D_80164490[currentWaypoint].posX;
-
33 temp_f12 = D_80164490[currentWaypoint].posY;
-
34 temp_f28 = D_80164490[currentWaypoint].posZ;
-
35 nextWaypoint = currentWaypoint + 1;
+
31 currentWaypoint = shell->pathIndex;
+
32 temp_f2 = D_80164490[currentWaypoint].posX;
+
33 temp_f12 = D_80164490[currentWaypoint].posY;
+
34 temp_f28 = D_80164490[currentWaypoint].posZ;
+
35 nextWaypoint = currentWaypoint + 1;
36
-
37 if (nextWaypoint >= D_80164430) {
-
38 nextWaypoint -= D_80164430;
+
37 if (nextWaypoint >= D_80164430) {
+
38 nextWaypoint -= D_80164430;
39 }
40
-
41 temp_f20 = temp_f2 - shell->pos[0];
-
42 temp_f22 = temp_f12 - shell->pos[1];
-
43 temp_f24 = temp_f28 - shell->pos[2];
-
44 temp_f0 = (temp_f20 * temp_f20) + (temp_f22 * temp_f22) + (temp_f24 * temp_f24);
-
45 if (temp_f0 > 400.0f) {
-
46 temp_f18_3 = D_80164490[nextWaypoint].posX;
-
47 temp_f16_3 = D_80164490[nextWaypoint].posY;
-
48 temp_f26 = D_80164490[nextWaypoint].posZ;
+
41 temp_f20 = temp_f2 - shell->pos[0];
+
42 temp_f22 = temp_f12 - shell->pos[1];
+
43 temp_f24 = temp_f28 - shell->pos[2];
+
44 temp_f0 = (temp_f20 * temp_f20) + (temp_f22 * temp_f22) + (temp_f24 * temp_f24);
+
45 if (temp_f0 > 400.0f) {
+
46 temp_f18_3 = D_80164490[nextWaypoint].posX;
+
47 temp_f16_3 = D_80164490[nextWaypoint].posY;
+
48 temp_f26 = D_80164490[nextWaypoint].posZ;
49
-
50 temp_f12_0 = temp_f18_3 - shell->pos[0];
-
51 temp_f12_1 = temp_f16_3 - shell->pos[1];
-
52 temp_f12_2 = temp_f26 - shell->pos[2];
+
50 temp_f12_0 = temp_f18_3 - shell->pos[0];
+
51 temp_f12_1 = temp_f16_3 - shell->pos[1];
+
52 temp_f12_2 = temp_f26 - shell->pos[2];
53
-
54 temp_f0_3 = (temp_f12_0 * temp_f12_0) + (temp_f12_1 * temp_f12_1) + (temp_f12_2 * temp_f12_2);
-
55 if (temp_f0_3 < temp_f0) {
-
56 shell->pathIndex = nextWaypoint;
+
54 temp_f0_3 = (temp_f12_0 * temp_f12_0) + (temp_f12_1 * temp_f12_1) + (temp_f12_2 * temp_f12_2);
+
55 if (temp_f0_3 < temp_f0) {
+
56 shell->pathIndex = nextWaypoint;
57 } else {
-
58 temp_f0_2 = sqrtf(temp_f0) * 4.0f;
-
59 temp_f20 /= temp_f0_2;
-
60 temp_f22 /= temp_f0_2;
-
61 temp_f24 /= temp_f0_2;
+
58 temp_f0_2 = sqrtf(temp_f0) * 4.0f;
+
59 temp_f20 /= temp_f0_2;
+
60 temp_f22 /= temp_f0_2;
+
61 temp_f24 /= temp_f0_2;
62
-
63 temp_f12_3 = shell->velocity[0];
-
64 temp_f14_2 = shell->velocity[1];
-
65 temp_f16_2 = shell->velocity[2];
+
63 temp_f12_3 = shell->velocity[0];
+
64 temp_f14_2 = shell->velocity[1];
+
65 temp_f16_2 = shell->velocity[2];
66
-
67 temp_f12_3 += temp_f20;
-
68 temp_f14_2 += temp_f22;
-
69 temp_f16_2 += temp_f24;
-
70 temp_f0 = sqrtf((temp_f12_3 * temp_f12_3) + (temp_f14_2 * temp_f14_2) + (temp_f16_2 * temp_f16_2));
-
71 if (temp_f0 > 6.0f) {
-
72 temp_f0 /= 6.0f;
-
73 temp_f12_3 /= temp_f0;
-
74 temp_f14_2 /= temp_f0;
-
75 temp_f16_2 /= temp_f0;
+
67 temp_f12_3 += temp_f20;
+
68 temp_f14_2 += temp_f22;
+
69 temp_f16_2 += temp_f24;
+
70 temp_f0 = sqrtf((temp_f12_3 * temp_f12_3) + (temp_f14_2 * temp_f14_2) + (temp_f16_2 * temp_f16_2));
+
71 if (temp_f0 > 6.0f) {
+
72 temp_f0 /= 6.0f;
+
73 temp_f12_3 /= temp_f0;
+
74 temp_f14_2 /= temp_f0;
+
75 temp_f16_2 /= temp_f0;
76 }
-
77 shell->velocity[0] = temp_f12_3;
-
78 shell->velocity[1] = temp_f14_2;
-
79 shell->velocity[2] = temp_f16_2;
+
77 shell->velocity[0] = temp_f12_3;
+
78 shell->velocity[1] = temp_f14_2;
+
79 shell->velocity[2] = temp_f16_2;
80
-
81 origPos[0] = shell->pos[0];
-
82 origPos[1] = shell->pos[1];
-
83 origPos[2] = shell->pos[2];
+
81 origPos[0] = shell->pos[0];
+
82 origPos[1] = shell->pos[1];
+
83 origPos[2] = shell->pos[2];
84
-
85 shell->pos[0] += temp_f12_3;
-
86 shell->pos[1] += temp_f14_2;
-
87 shell->pos[2] += temp_f16_2;
-
88 func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]);
-
89 func_802B4E30((struct Actor *) shell);
+
85 shell->pos[0] += temp_f12_3;
+
86 shell->pos[1] += temp_f14_2;
+
87 shell->pos[2] += temp_f16_2;
+
88 func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]);
+
89 func_802B4E30((struct Actor *) shell);
90 }
91 } else {
-
92 if (temp_f0 > 5.0f) {
-
93 shell->pos[0] = temp_f2;
-
94 shell->pos[1] = shell->boundingBoxSize + temp_f12;
-
95 shell->pos[2] = temp_f28;
-
96 shell->pathIndex = nextWaypoint;
+
92 if (temp_f0 > 5.0f) {
+
93 shell->pos[0] = temp_f2;
+
94 shell->pos[1] = shell->boundingBoxSize + temp_f12;
+
95 shell->pos[2] = temp_f28;
+
96 shell->pathIndex = nextWaypoint;
97 } else {
-
98 temp_f18_3 = D_80164490[nextWaypoint].posX;
-
99 temp_f16_3 = D_80164490[nextWaypoint].posY;
-
100 temp_f26 = D_80164490[nextWaypoint].posZ;
+
98 temp_f18_3 = D_80164490[nextWaypoint].posX;
+
99 temp_f16_3 = D_80164490[nextWaypoint].posY;
+
100 temp_f26 = D_80164490[nextWaypoint].posZ;
101
-
102 shell->pos[0] = (temp_f2 + temp_f18_3) * 0.5f;
-
103 shell->pos[1] = ((temp_f12 + temp_f16_3) * 0.5f) + shell->boundingBoxSize;
-
104 shell->pos[2] = (temp_f28 + temp_f26) * 0.5f;
+
102 shell->pos[0] = (temp_f2 + temp_f18_3) * 0.5f;
+
103 shell->pos[1] = ((temp_f12 + temp_f16_3) * 0.5f) + shell->boundingBoxSize;
+
104 shell->pos[2] = (temp_f28 + temp_f26) * 0.5f;
105
-
106 shell->velocity[0] = (temp_f18_3 - temp_f2) * 0.5f;
-
107 shell->velocity[1] = (temp_f16_3 - temp_f12) * 0.5f;
-
108 shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f;
+
106 shell->velocity[0] = (temp_f18_3 - temp_f2) * 0.5f;
+
107 shell->velocity[1] = (temp_f16_3 - temp_f12) * 0.5f;
+
108 shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f;
109 }
110 }
111}
112
-
113void func_802B3E7C(struct ShellActor *shell, Player *player) {
-
114 f32 x_velocity;
-
115 f32 z_velocity;
-
116 f32 xz_dist;
-
117 Vec3f newPosition;
+
113void func_802B3E7C(struct ShellActor *shell, Player *player) {
+
114 f32 x_velocity;
+
115 f32 z_velocity;
+
116 f32 xz_dist;
+
117 Vec3f newPosition;
118
-
119 x_velocity = player->pos[0];
-
120 x_velocity -= shell->pos[0];
-
121 z_velocity = player->pos[2];
-
122 z_velocity -= shell->pos[2];
-
123 xz_dist = sqrtf((x_velocity * x_velocity) + (z_velocity * z_velocity)) / 8;
-
124 if (xz_dist == 0.0f) {
-
125 x_velocity = 0.0f;
-
126 z_velocity = 0.0f;
+
119 x_velocity = player->pos[0];
+
120 x_velocity -= shell->pos[0];
+
121 z_velocity = player->pos[2];
+
122 z_velocity -= shell->pos[2];
+
123 xz_dist = sqrtf((x_velocity * x_velocity) + (z_velocity * z_velocity)) / 8;
+
124 if (xz_dist == 0.0f) {
+
125 x_velocity = 0.0f;
+
126 z_velocity = 0.0f;
127 } else {
-
128 x_velocity /= xz_dist;
-
129 z_velocity /= xz_dist;
+
128 x_velocity /= xz_dist;
+
129 z_velocity /= xz_dist;
130 }
131
-
132 newPosition[0] = shell->pos[0];
-
133 newPosition[1] = shell->pos[1];
-
134 newPosition[2] = shell->pos[2];
-
135 shell->pos[0] += x_velocity;
-
136 shell->pos[1] -= 2.0f;
-
137 shell->pos[2] += z_velocity;
-
138 shell->velocity[0] = x_velocity;
-
139 shell->velocity[1] = -2.0f;
-
140 shell->velocity[2] = z_velocity;
+
132 newPosition[0] = shell->pos[0];
+
133 newPosition[1] = shell->pos[1];
+
134 newPosition[2] = shell->pos[2];
+
135 shell->pos[0] += x_velocity;
+
136 shell->pos[1] -= 2.0f;
+
137 shell->pos[2] += z_velocity;
+
138 shell->velocity[0] = x_velocity;
+
139 shell->velocity[1] = -2.0f;
+
140 shell->velocity[2] = z_velocity;
141
142 if (player->effects & BOO_EFFECT) {
-
143 destroy_destructable_actor((struct Actor *) shell);
+
143 destroy_destructable_actor((struct Actor *) shell);
144 } else {
-
145 func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], newPosition[0], newPosition[1], newPosition[2]);
-
146 func_802B4E30((struct Actor *) shell);
-
147 func_802B4104(shell);
+
145 func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], newPosition[0], newPosition[1], newPosition[2]);
+
146 func_802B4E30((struct Actor *) shell);
+
147 func_802B4104(shell);
148 }
149}
150
-
155s16 func_802B3FD0(Player *owner, struct ShellActor *shell) {
+
155s16 func_802B3FD0(Player *owner, struct ShellActor *shell) {
156 Player *player;
-
157 s32 playerIndex;
-
158 f32 playerToShellDistance;
+
157 s32 playerIndex;
+
158 f32 playerToShellDistance;
159 s16 playerId = -1;
-
160 f32 smallestDistance = 25000000.0f;
+
160 f32 smallestDistance = 25000000.0f;
161
-
162 for (playerIndex = 0; playerIndex < 4; playerIndex++) {
-
163 player = &gPlayers[playerIndex];
+
162 for (playerIndex = 0; playerIndex < 4; playerIndex++) {
+
163 player = &gPlayers[playerIndex];
164 if ((player->type & PLAYER_EXISTS) == 0) {continue;}
-
165 if (player == owner) {continue; }
-
166 if (gPlayerBalloonCount[playerIndex] < 0) { continue; }
+
165 if (player == owner) {continue; }
+
166 if (gPlayerBalloonCount[playerIndex] < 0) { continue; }
167 // func_802B51E8 is not quite a 3D distance function, it doubles (rather than squares) the Z difference of the positions
-
168 playerToShellDistance = func_802B51E8(player->pos, shell->pos);
-
169 if (playerToShellDistance < smallestDistance) {
-
170 smallestDistance = playerToShellDistance;
+
168 playerToShellDistance = func_802B51E8(player->pos, shell->pos);
+
169 if (playerToShellDistance < smallestDistance) {
+
170 smallestDistance = playerToShellDistance;
171 playerId = player - gPlayerOne;
172 }
173
@@ -289,54 +289,54 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
178
-
179void func_802B4104(struct ShellActor *shell) {
-
180 if ((shell->unk30.unk3C[0] < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) {
-
181 destroy_destructable_actor((struct Actor *) shell);
-
182 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
-
183 shell->flags |= 0x80;
-
184 } else if ((shell->unk30.unk3C[1] < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) {
-
185 destroy_destructable_actor((struct Actor *) shell);
-
186 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
-
187 shell->flags |= 0x80;
+
179void func_802B4104(struct ShellActor *shell) {
+
180 if ((shell->unk30.unk3C[0] < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) {
+
181 destroy_destructable_actor((struct Actor *) shell);
+
182 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
+
183 shell->flags |= 0x80;
+
184 } else if ((shell->unk30.unk3C[1] < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) {
+
185 destroy_destructable_actor((struct Actor *) shell);
+
186 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
+
187 shell->flags |= 0x80;
188 }
189}
190
-
196void update_actor_red_blue_shell(struct ShellActor *shell) {
-
197 UNUSED f32 pad9;
+
196void update_actor_red_blue_shell(struct ShellActor *shell) {
+
197 UNUSED f32 pad9;
198 Player *player;
-
199 f32 temp_f0;
-
200 UNUSED f32 temp_f14;
-
201 f32 temp_f2;
-
202 s16 temp_v0;
+
199 f32 temp_f0;
+
200 UNUSED f32 temp_f14;
+
201 f32 temp_f2;
+
202 s16 temp_v0;
203 UNUSED s16 pad3;
-
204 Vec3f somePosVel;
-
205 struct Controller *controller;
-
206 TripleShellParent *parent;
+
204 Vec3f somePosVel;
+
205 struct Controller *controller;
+
206 TripleShellParent *parent;
207 UNUSED f32 pad0;
208 UNUSED f32 pad1;
209 UNUSED f32 pad2;
-
210 UNUSED f32 pad4;
-
211 UNUSED f32 pad5;
-
212 UNUSED f32 pad6;
-
213 UNUSED f32 pad7;
-
214 UNUSED f32 pad8;
-
215 UNUSED f32 pad10;
-
216 UNUSED f32 pad11;
-
217 UNUSED f32 pad12;
-
218 UNUSED s16 pad13;
-
219 UNUSED s16 pad13_2;
-
220 UNUSED f32 pad14;
-
221 UNUSED f32 pad15;
-
222 UNUSED f32 pad16;
-
223 UNUSED f32 pad17;
-
224 Vec3f origPos;
+
210 UNUSED f32 pad4;
+
211 UNUSED f32 pad5;
+
212 UNUSED f32 pad6;
+
213 UNUSED f32 pad7;
+
214 UNUSED f32 pad8;
+
215 UNUSED f32 pad10;
+
216 UNUSED f32 pad11;
+
217 UNUSED f32 pad12;
+
218 UNUSED s16 pad13;
+
219 UNUSED s16 pad13_2;
+
220 UNUSED f32 pad14;
+
221 UNUSED f32 pad15;
+
222 UNUSED f32 pad16;
+
223 UNUSED f32 pad17;
+
224 Vec3f origPos;
225
-
226 pad1 = shell->pos[0];
-
227 pad0 = shell->pos[2];
-
228 pad2 = shell->pos[1];
-
229 pad13 = shell->type;
+
226 pad1 = shell->pos[0];
+
227 pad0 = shell->pos[2];
+
228 pad2 = shell->pos[1];
+
229 pad13 = shell->type;
230 if ((pad0 < (f32) gCourseMinZ) || ((f32) gCourseMaxZ < pad0) || (pad1 < (f32) gCourseMinX) || ((f32) gCourseMaxX < pad1) || (pad2 < (f32) gCourseMinY)) {
231 destroy_destructable_actor((struct Actor *) shell);
232 }
@@ -643,8 +643,14 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
#define Z_TRIG
Definition os.h:398
#define SOUND_ARG_LOAD(sound_bank, byte2, byte3, sound_id)
Definition sounds.h:14
Definition actor_types.h:120
+
Vec3f velocity
Definition actor_types.h:130
+
s16 flags
Definition actor_types.h:122
+
Vec3f pos
Definition actor_types.h:129
+
Vec3f unk3C
Definition common_structs.h:125
u16 unk30
Definition common_structs.h:118
u16 unk3A
Definition common_structs.h:124
+
Vec3f unk54
Definition common_structs.h:127
+
Vec3f unk48
Definition common_structs.h:126
Definition types.h:43
u16 buttonDepressed
Definition types.h:48
Definition common_structs.h:248
@@ -660,11 +666,16 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
s16 currentRank
Definition common_structs.h:251
Vec3f pos
Definition common_structs.h:258
Definition actor_types.h:302
+
f32 boundingBoxSize
Definition actor_types.h:315
+
s16 type
Definition actor_types.h:303
+
Vec3f velocity
Definition actor_types.h:324
+
Vec3f pos
Definition actor_types.h:323
+
Collision unk30
Definition actor_types.h:325
+
u16 pathIndex
Definition actor_types.h:319
s16 posZ
Definition waypoints.h:9
s16 posY
Definition waypoints.h:8
s16 posX
Definition waypoints.h:7
Definition actor_types.h:286
-
s16 type
Definition actor_types.h:287
signed int s32
Definition ultratypes.h:15
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:33
diff --git a/bug.html b/bug.html index 59cb433d0..3bbf85e12 100644 --- a/bug.html +++ b/bug.html @@ -105,11 +105,11 @@ $(function(){initNavTree('bug.html',''); initResizable(); });
Global crash_screen_draw_info (u16 *framebuffer, OSThread *thread)
-
if this check fails, the ra register is printed a second time.
+
if this check fails, the ra register is printed a second time.
Global DEBUG_MODE
This looks like it should work at any point in the race.
Global func_8001969C (s32, f32, s32, s16)
-
Adding an (f32) cast changes asm, why?
+
Adding an (f32) cast changes asm, why?
Global func_800B9BE4 (f32, f32, u16 *)
they probably meant to store the value to tmp[i] and tmp[8 + i]
Global func_800BB388 (s32 bankId, s32 instId, s32 arg2)
diff --git a/ceremony__and__credits_8c.html b/ceremony__and__credits_8c.html index b68eb5aab..957409a15 100644 --- a/ceremony__and__credits_8c.html +++ b/ceremony__and__credits_8c.html @@ -1008,7 +1008,7 @@ Here is the caller graph for this function:
-
Todo
Cast to normal Camera? Or from CinematicCamera?
+
Todo
Cast to normal Camera? Or from CinematicCamera?
Here is the call graph for this function:
@@ -1295,7 +1295,7 @@ Here is the caller graph for this function:
-
Todo
Does this match as a return of s8?
+
Todo
Does this match as a return of s8?
Here is the call graph for this function:
@@ -2367,7 +2367,7 @@ Here is the call graph for this function:
-
Todo
What does this even do?
+
Todo
What does this even do?
Here is the call graph for this function:
diff --git a/ceremony__and__credits_8h.html b/ceremony__and__credits_8h.html index 137e34dda..a7448a0bf 100644 --- a/ceremony__and__credits_8h.html +++ b/ceremony__and__credits_8h.html @@ -955,7 +955,7 @@ Here is the caller graph for this function:
-
Todo
Cast to normal Camera? Or from CinematicCamera?
+
Todo
Cast to normal Camera? Or from CinematicCamera?
Here is the call graph for this function:
@@ -2197,7 +2197,7 @@ Here is the call graph for this function:
-
Todo
What does this even do?
+
Todo
What does this even do?
Here is the call graph for this function:
diff --git a/choco__mountain_2course__offsets_8c.html b/choco__mountain_2course__offsets_8c.html index 01c9eead1..627cb3a2f 100644 --- a/choco__mountain_2course__offsets_8c.html +++ b/choco__mountain_2course__offsets_8c.html @@ -192,7 +192,7 @@ Variables
{gTexture64647C, 0x0829, 0x1000, 0x0},
{gTexture647F4C, 0x05BC, 0x1000, 0x0},
{gTexture64FBF4, 0x0274, 0x0800, 0x0},
-
{gTexture653DB0, 0x06AE, 0x0800, 0x0},
+
{gTexture653DB0, 0x06AE, 0x0800, 0x0},
{gTexture652B54, 0x0606, 0x0800, 0x0},
{gTexture65315C, 0x04A9, 0x0800, 0x0},
{gTexture6684F8, 0x010D, 0x0800, 0x0},
@@ -211,7 +211,6 @@ Variables
{0x00000000, 0x0000, 0x0000, 0x0},
}
u8 gTexture64FBF4[]
-
u8 gTexture653DB0[]
u8 gTexture67B864[]
u8 gTexture65315C[]
u8 gTexture679C04[]
@@ -227,6 +226,7 @@ Variables
u8 gTexture64619C[]
u8 gTextureSignBackside[]
u8 gTexture6774D8[]
+
u8 gTexture653DB0[]
u8 gTextureSignFallingRocks[]
u8 gTexture647F4C[]
u8 gTexture67DC20[]
diff --git a/code__80005FD0_8c.html b/code__80005FD0_8c.html index 577800be7..93992046b 100644 --- a/code__80005FD0_8c.html +++ b/code__80005FD0_8c.html @@ -5107,7 +5107,7 @@ Here is the caller graph for this function:
-
Bug
Adding an (f32) cast changes asm, why?
+
Bug
Adding an (f32) cast changes asm, why?
Here is the caller graph for this function:
diff --git a/code__80005FD0_8h.html b/code__80005FD0_8h.html index 96b7ec1fb..969f71b24 100644 --- a/code__80005FD0_8h.html +++ b/code__80005FD0_8h.html @@ -4810,7 +4810,7 @@ Here is the caller graph for this function:
-
Bug
Adding an (f32) cast changes asm, why?
+
Bug
Adding an (f32) cast changes asm, why?
Here is the caller graph for this function:
diff --git a/code__80091750_8c.html b/code__80091750_8c.html index ca437d8ca..e1f869167 100644 --- a/code__80091750_8c.html +++ b/code__80091750_8c.html @@ -1879,7 +1879,7 @@ Here is the caller graph for this function:
-
Todo
These sizes need to be sizeof() for shiftability if possible
+
Todo
These sizes need to be sizeof() for shiftability if possible
Here is the call graph for this function:
@@ -12162,7 +12162,7 @@ Here is the caller graph for this function:
-
Todo
Move gGfxPool out of main.h
+
Todo
Move gGfxPool out of main.h
diff --git a/code__80091750_8h.html b/code__80091750_8h.html index 19cbdb429..16047a98d 100644 --- a/code__80091750_8h.html +++ b/code__80091750_8h.html @@ -2057,7 +2057,7 @@ Here is the caller graph for this function:
-
Todo
These sizes need to be sizeof() for shiftability if possible
+
Todo
These sizes need to be sizeof() for shiftability if possible
Here is the call graph for this function:
@@ -13150,7 +13150,7 @@ Here is the caller graph for this function:
-
Todo
Move gGfxPool out of main.h
+
Todo
Move gGfxPool out of main.h
diff --git a/code__80281780_8c.html b/code__80281780_8c.html index 2aa52b199..427df7a0b 100644 --- a/code__80281780_8c.html +++ b/code__80281780_8c.html @@ -165,7 +165,7 @@ Variables
-
Todo
confirm this.
+
Todo
confirm this.
Here is the call graph for this function:
diff --git a/code__80281780_8h.html b/code__80281780_8h.html index 72e5eb8c6..affe4d396 100644 --- a/code__80281780_8h.html +++ b/code__80281780_8h.html @@ -165,7 +165,7 @@ Variables
-
Todo
confirm this.
+
Todo
confirm this.
Here is the call graph for this function:
diff --git a/contpfs_8c.html b/contpfs_8c.html index ec5c98925..1703a39ef 100644 --- a/contpfs_8c.html +++ b/contpfs_8c.html @@ -205,8 +205,8 @@ Here is the caller graph for this function:
-
Todo
remove magic constant
-
Todo
loads of magic constants..
+
Todo
remove magic constant
+
Todo
loads of magic constants..
Here is the call graph for this function:
@@ -279,7 +279,7 @@ Here is the caller graph for this function:
-
Todo
don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
+
Todo
don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
Here is the call graph for this function:
@@ -343,8 +343,8 @@ Here is the caller graph for this function:
-
Todo
fix magic number
-
Todo
remove magic constant
+
Todo
fix magic number
+
Todo
remove magic constant
Here is the call graph for this function:
diff --git a/controlflow.html b/controlflow.html index bb49c133d..3f27da4de 100644 --- a/controlflow.html +++ b/controlflow.html @@ -110,7 +110,7 @@ $(function(){initNavTree('controlflow.html',''); initResizable(); });
  • Segments
  • Code Breakdown
    • Menus
    • Players
    • -
    • Actors
    • +
    • Actors
    • Objects
    • Courses @@ -220,7 +220,7 @@ Players camera Player cameras -

      +

      Actors

      Actor related code resides in

      diff --git a/controller_8h.html b/controller_8h.html index 57432f08a..0db747f41 100644 --- a/controller_8h.html +++ b/controller_8h.html @@ -1095,8 +1095,8 @@ Here is the caller graph for this function:
  • -
    Todo
    remove magic constant
    -
    Todo
    loads of magic constants..
    +
    Todo
    remove magic constant
    +
    Todo
    loads of magic constants..
    Here is the call graph for this function:
    @@ -1383,7 +1383,7 @@ Here is the caller graph for this function:
    -
    Todo
    don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
    +
    Todo
    don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
    Here is the call graph for this function:
    @@ -1447,8 +1447,8 @@ Here is the caller graph for this function:
    -
    Todo
    fix magic number
    -
    Todo
    remove magic constant
    +
    Todo
    fix magic number
    +
    Todo
    remove magic constant
    Here is the call graph for this function:
    diff --git a/crash__screen_8c.html b/crash__screen_8c.html index 424a1da29..fe02308f8 100644 --- a/crash__screen_8c.html +++ b/crash__screen_8c.html @@ -283,7 +283,7 @@ Here is the caller graph for this function:
    -
    Bug
    if this check fails, the ra register is printed a second time.
    +
    Bug
    if this check fails, the ra register is printed a second time.
    Here is the call graph for this function:
    diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 4ac3c3335..688725f88 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -11,8 +11,8 @@ - + @@ -101,8 +101,8 @@ - + @@ -124,8 +124,8 @@ - + @@ -154,10 +154,10 @@ - - + + @@ -223,8 +223,8 @@ - + @@ -346,6 +346,7 @@ + @@ -363,7 +364,6 @@ - @@ -400,6 +400,7 @@ + @@ -408,16 +409,16 @@ - + - + @@ -426,9 +427,9 @@ + - @@ -436,12 +437,11 @@ - + - - + @@ -457,8 +457,8 @@ - + @@ -466,8 +466,8 @@ - + @@ -521,8 +521,8 @@ - + @@ -554,8 +554,8 @@ - + @@ -643,21 +643,21 @@ + - - - - + + + @@ -669,10 +669,10 @@ + - @@ -681,8 +681,8 @@ - + @@ -711,10 +711,10 @@ - + @@ -734,9 +734,9 @@ + - @@ -805,16 +805,16 @@ - - + + - + @@ -842,15 +842,15 @@ - + - + @@ -878,10 +878,10 @@ + - @@ -908,8 +908,8 @@ - + @@ -931,17 +931,17 @@ - + - + @@ -966,11 +966,11 @@ - - + + @@ -1004,8 +1004,8 @@ - + @@ -1027,21 +1027,21 @@ - + - - + + @@ -1051,11 +1051,11 @@ - + diff --git a/fake__item__box_2update_8inc_8c_source.html b/fake__item__box_2update_8inc_8c_source.html index 2238ed9fd..29b44bcae 100644 --- a/fake__item__box_2update_8inc_8c_source.html +++ b/fake__item__box_2update_8inc_8c_source.html @@ -112,19 +112,19 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    2#include <main.h>
    3
    - -
    10 u32 temp_v1 = fake_item_box->playerId;
    - -
    12 struct Controller *temp_v1_3;
    +
    9void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) {
    +
    10 u32 temp_v1 = fake_item_box->playerId;
    +
    11 Player *temp_v0_4 = &gPlayers[temp_v1];
    +
    12 struct Controller *temp_v1_3;
    13
    14 UNUSED s32 pad[7];
    - - - - +
    15 f32 temp_f2_2;
    +
    16 f32 temp_f14;
    +
    17 f32 temp_f16;
    +
    18 f32 temp_f18;
    19 UNUSED s32 pad2[3];
    20
    -
    21 switch(fake_item_box->state) {
    +
    21 switch(fake_item_box->state) {
    22 case 0:
    23 fake_item_box->boundingBoxSize = fake_item_box->sizeScaling * 5.5f;
    24 fake_item_box->rot[0] -= 0xB6;
    @@ -217,6 +217,8 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    Definition types.h:43
    u16 buttonDepressed
    Definition types.h:48
    Definition actor_types.h:346
    +
    f32 playerId
    Definition actor_types.h:356
    +
    s16 state
    Definition actor_types.h:350
    Definition common_structs.h:248
    signed int s32
    Definition ultratypes.h:15
    unsigned int u32
    Definition ultratypes.h:16
    diff --git a/main_8c.html b/main_8c.html index 2a18568c1..f89bc8d64 100644 --- a/main_8c.html +++ b/main_8c.html @@ -573,7 +573,7 @@ Here is the caller graph for this function:
    -
    Todo
    Why did void* work for matching
    +
    Todo
    Why did void* work for matching
    Here is the caller graph for this function:
    diff --git a/main_8h.html b/main_8h.html index 22bd553ec..7db00ef8a 100644 --- a/main_8h.html +++ b/main_8h.html @@ -613,7 +613,7 @@ Variables
    -
    Todo
    Verify with proper documentation
    +
    Todo
    Verify with proper documentation
    @@ -642,7 +642,7 @@ Variables
    -
    Todo
    Verify with proper documentation
    +
    Todo
    Verify with proper documentation
    @@ -661,7 +661,7 @@ Variables
    -
    Todo
    Why did void* work for matching
    +
    Todo
    Why did void* work for matching
    Here is the caller graph for this function:
    diff --git a/navtreeindex1.js b/navtreeindex1.js index 236cdaf4f..0f3eae9a3 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -167,8 +167,8 @@ var NAVTREEINDEX1 = "abi_8h.html":[8,0,2,2,0], "abi_8h.html#a0fa85b4a63cdef587611a5cfc518b029":[8,0,2,2,0,1], "abi_8h.html#a14d6d1a5fe10cc2b775388380a8d75f6":[8,0,2,2,0,28], -"abi_8h.html#a16f303da41012b9a13d7c5cd5a47d64a":[8,0,2,2,0,19], "abi_8h.html#a16f303da41012b9a13d7c5cd5a47d64a":[8,0,2,2,0,20], +"abi_8h.html#a16f303da41012b9a13d7c5cd5a47d64a":[8,0,2,2,0,19], "abi_8h.html#a18fb2ca6586420606f75125ebc7e4d0f":[8,0,2,2,0,12], "abi_8h.html#a2259f4cc6cd203ea6ef6d598674a48e6":[8,0,2,2,0,14], "abi_8h.html#a2b203222776ef9b58154e173b768b21c":[8,0,2,2,0,7], diff --git a/navtreeindex2.js b/navtreeindex2.js index 201808caa..df557ca3f 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -19,7 +19,7 @@ var NAVTREEINDEX2 = "actor__types_8h.html#affb5ffde510634c5c1e09a5b934d29c3":[8,0,2,3,20], "actor__types_8h_source.html":[8,0,2,3], "actors.html":[0,0], -"actors.html#actors":[0,0,0], +"actors.html#actors-1":[0,0,0], "actors_8c.html":[8,0,3,7,0], "actors_8c.html#a0239c06a587826a0319fce63214d3ae7":[8,0,3,7,0,25], "actors_8c.html#a047d32425b6ea73e667cb31548bdc8dd":[8,0,3,7,0,51], diff --git a/navtreeindex29.js b/navtreeindex29.js index fbe125683..84c84b97d 100644 --- a/navtreeindex29.js +++ b/navtreeindex29.js @@ -18,7 +18,7 @@ var NAVTREEINDEX29 = "contramwrite_8c.html#a5a8e6638b28caf3b5faba67df76d099c":[8,0,3,6,34,1], "contramwrite_8c.html#ac0f1bb81601cedc5fc5868fc7e500b88":[8,0,3,6,34,0], "controlflow.html":[1,2], -"controlflow.html#actors-1":[1,2,4,2], +"controlflow.html#actors":[1,2,4,2], "controlflow.html#code-breakdown":[1,2,4], "controlflow.html#course-folder":[1,2,4,4,0], "controlflow.html#courses":[1,2,4,4], diff --git a/navtreeindex42.js b/navtreeindex42.js index 1e412688a..e30a717bc 100644 --- a/navtreeindex42.js +++ b/navtreeindex42.js @@ -15,14 +15,14 @@ var NAVTREEINDEX42 = "gfx__output__buffer_8h.html#aa6e89ad26a571573a3618e8bd57f2fcd":[8,0,3,2,2,1], "gfx__output__buffer_8h.html#acd645401a3e14e342cad25f6471ef97a":[8,0,3,2,2,0], "gfx__output__buffer_8h_source.html":[8,0,3,2,2], -"globals.html":[8,1,0], "globals.html":[8,1,0,0], +"globals.html":[8,1,0], "globals_a.html":[8,1,0,1], "globals_b.html":[8,1,0,2], "globals_c.html":[8,1,0,3], "globals_d.html":[8,1,0,4], -"globals_defs.html":[8,1,6,0], "globals_defs.html":[8,1,6], +"globals_defs.html":[8,1,6,0], "globals_defs_a.html":[8,1,6,1], "globals_defs_b.html":[8,1,6,2], "globals_defs_c.html":[8,1,6,3], @@ -93,8 +93,8 @@ var NAVTREEINDEX42 = "globals_type.html":[8,1,3], "globals_u.html":[8,1,0,21], "globals_v.html":[8,1,0,22], -"globals_vars.html":[8,1,2], "globals_vars.html":[8,1,2,0], +"globals_vars.html":[8,1,2], "globals_vars_b.html":[8,1,2,1], "globals_vars_c.html":[8,1,2,2], "globals_vars_d.html":[8,1,2,3], diff --git a/osPiRawStartDma_8c.html b/osPiRawStartDma_8c.html index 63716b4b1..434040118 100644 --- a/osPiRawStartDma_8c.html +++ b/osPiRawStartDma_8c.html @@ -186,7 +186,7 @@ Here is the caller graph for this function:
    -
    Todo
    figure out why this is like this
    +
    Todo
    figure out why this is like this
    diff --git a/osPiStartDma_8c.html b/osPiStartDma_8c.html index 9628404cc..3509a0d13 100644 --- a/osPiStartDma_8c.html +++ b/osPiStartDma_8c.html @@ -167,7 +167,7 @@ Variables
    -
    Todo
    name magic constants
    +
    Todo
    name magic constants
    Here is the call graph for this function:
    diff --git a/os__pi_8h.html b/os__pi_8h.html index ca6c516ec..86b5884ac 100644 --- a/os__pi_8h.html +++ b/os__pi_8h.html @@ -441,7 +441,7 @@ Here is the caller graph for this function:
    -
    Todo
    name magic constants
    +
    Todo
    name magic constants
    Here is the call graph for this function:
    diff --git a/player__controller_8c.html b/player__controller_8c.html index 0a06b34d1..888e04c2c 100644 --- a/player__controller_8c.html +++ b/player__controller_8c.html @@ -763,7 +763,7 @@ Here is the caller graph for this function:
    -
    Todo
    make a proper match
    +
    Todo
    make a proper match
    Here is the call graph for this function:
    diff --git a/player__controller_8h.html b/player__controller_8h.html index 8c1437f27..2664727cb 100644 --- a/player__controller_8h.html +++ b/player__controller_8h.html @@ -729,7 +729,7 @@ Here is the caller graph for this function:
    -
    Todo
    make a proper match
    +
    Todo
    make a proper match
    Here is the call graph for this function:
    diff --git a/podium__ceremony__actors_8c.html b/podium__ceremony__actors_8c.html index dd0d4767b..ae2168bd8 100644 --- a/podium__ceremony__actors_8c.html +++ b/podium__ceremony__actors_8c.html @@ -596,7 +596,7 @@ Here is the caller graph for this function:
    Bug
    No null check.
    Bug
    -
    Todo
    More indepth error checking/return value
    +
    Todo
    More indepth error checking/return value
    Here is the call graph for this function:
    diff --git a/podium__ceremony__actors_8h.html b/podium__ceremony__actors_8h.html index 34f52a4ed..bfcf0234c 100644 --- a/podium__ceremony__actors_8h.html +++ b/podium__ceremony__actors_8h.html @@ -555,7 +555,7 @@ Here is the caller graph for this function:
    Bug
    No null check.
    Bug
    -
    Todo
    More indepth error checking/return value
    +
    Todo
    More indepth error checking/return value
    Here is the call graph for this function:
    diff --git a/race__logic_8c.html b/race__logic_8c.html index f34163dfc..5f80dc606 100644 --- a/race__logic_8c.html +++ b/race__logic_8c.html @@ -704,7 +704,7 @@ Here is the caller graph for this function:
    -
    Todo
    increasing players past four would require increase this loop iterator.
    +
    Todo
    increasing players past four would require increase this loop iterator.
    Here is the call graph for this function:
    diff --git a/race__logic_8h.html b/race__logic_8h.html index cbd039b5e..2a55911f9 100644 --- a/race__logic_8h.html +++ b/race__logic_8h.html @@ -643,7 +643,7 @@ Here is the caller graph for this function:
    -
    Todo
    increasing players past four would require increase this loop iterator.
    +
    Todo
    increasing players past four would require increase this loop iterator.
    Here is the call graph for this function:
    diff --git a/search/all_3.js b/search/all_3.js index 91009a506..ea1d9bbdf 100644 --- a/search/all_3.js +++ b/search/all_3.js @@ -96,7 +96,7 @@ var searchData= ['actor_5fyoshi_5fegg_93',['ACTOR_YOSHI_EGG',['../actor__types_8h.html#a06ad3f803827afd107e7682c8c22d990a9a5b90d71f1d6c4a72fafd72661e0660',1,'actor_types.h']]], ['actorindex_94',['actorIndex',['../structunexpiredActors.html#a1e1419ce2f7577336dd49e2bd062ce17',1,'unexpiredActors::actorIndex'],['../structD__801642D8__entry.html#a0fbf587266ea6cf89ce5d066e14a0caa',1,'D_801642D8_entry::actorIndex'],['../structTrainCarStuff.html#a534b8b495eec302fd11a493758be8a80',1,'TrainCarStuff::actorIndex'],['../structPaddleBoatStuff.html#ad9b828347dae9adcc6c5d8a301faad06',1,'PaddleBoatStuff::actorIndex'],['../structVehicleStuff.html#aa2cb9651e75a3ddf588ecda2135ed1b8',1,'VehicleStuff::actorIndex']]], ['actorinitparams_95',['ActorInitParams',['../structActorInitParams.html',1,'']]], - ['actors_96',['Actors',['../actorsmenu.html',1,'Actors'],['../actors.html#actors',1,'Actors'],['../controlflow.html#actors-1',1,'Actors']]], + ['actors_96',['Actors',['../actorsmenu.html',1,'Actors'],['../actors.html#actors-1',1,'Actors'],['../controlflow.html#actors',1,'Actors']]], ['actors_20work_97',['How Actors Work',['../actors.html',1,'actorsmenu']]], ['actors_2ec_98',['actors.c',['../actors_8c.html',1,'']]], ['actors_2eh_99',['actors.h',['../actors_8h.html',1,'']]], diff --git a/toads__turnpike_2course__data_8c.html b/toads__turnpike_2course__data_8c.html index 039d32a3d..5a025f8f9 100644 --- a/toads__turnpike_2course__data_8c.html +++ b/toads__turnpike_2course__data_8c.html @@ -3026,7 +3026,7 @@ Variables
    #define G_IM_FMT_RGBA
    Definition gbi.h:396
    #define G_IM_SIZ_16b
    Definition gbi.h:407
    #define G_CC_DECALRGBA
    Definition gbi.h:512
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/toads__turnpike_2course__data_8h.html b/toads__turnpike_2course__data_8h.html index a051f777a..da1e20ef8 100644 --- a/toads__turnpike_2course__data_8h.html +++ b/toads__turnpike_2course__data_8h.html @@ -2812,7 +2812,7 @@ Variables
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/todo.html b/todo.html index 8a04885cf..6747980ed 100644 --- a/todo.html +++ b/todo.html @@ -105,18 +105,18 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global __osGetId (OSPfs *pfs)
    -

    remove magic constant

    -

    loads of magic constants..

    +

    loads of magic constants..

    +

    remove magic constant

    Global __osPfsReleasePages (OSPfs *pfs, __OSInode *inode, u8 start_page, u16 *sum, u8 bank, __OSInodeUnit *last_page, int flag)
    magic number
    Global __osPfsRWInode (OSPfs *pfs, __OSInode *inode, u8 flag, u8 bank)
    -
    don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
    +
    don't like this =/ //maybe &inode->inode_table[j*PFS_ONE_PAGE].ipage or something
    Global __osPiDevMgr
    In libreultra this is in an include
    Global __osRepairPackId (OSPfs *pfs, __OSPackId *badid, __OSPackId *newid)
    -

    fix magic number

    -

    remove magic constant

    +

    remove magic constant

    +

    fix magic number

    Global _course_mario_raceway_dl_mio0SegmentRomStart []
    These should probably be ptr's instead of array's?
    @@ -125,17 +125,17 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global BAD_RETURN (cmd)
    put this define in types.h or similar. Certain functions are marked as having return values, but do not actually return a value. This causes undefined behavior, which we'd rather avoid on modern GCC. This only impacts -O2 and can matter for both the function itself and functions that call it.
    Global clear_framebuffer (s32)
    -
    Why did void* work for matching
    +
    Why did void* work for matching
    Global D_02007BB8 []
    Place all these vertices in a single array
    Global D_800E43B0 []
    unused?
    Global D_8018D9B0
    -
    Move gGfxPool out of main.h
    +
    Move gGfxPool out of main.h
    Global d_course_banshee_boardwalk_dl_0 []
    -
    Replace addresses with variables
    -
    Global d_course_big_donut_dl []
    Replace addresses with variables
    +
    Global d_course_big_donut_dl []
    +
    Replace addresses with variables
    Global d_course_bowsers_castle_dl_0 []
    Replace addresses with variables
    Global d_course_dks_jungle_parkway_dl_0 []
    @@ -159,16 +159,16 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global d_course_sherbet_land_dl_0 []
    Replace addresses with variables
    Global d_course_toads_turnpike_dl_0 []
    -
    Replace addresses with variables
    -
    Global d_course_wario_stadium_dl_0 []
    Replace addresses with variables
    +
    Global d_course_wario_stadium_dl_0 []
    +
    Replace addresses with variables
    Global d_course_yoshi_valley_dl_0 []
    Replace addresses with variables
    Global debug_switch_character_ceremony_cutscene (void)
    -
    confirm this.
    +
    confirm this.
    Union du

    is it possible to remove them somehow?

    -

    is it possible to remove them somehow?

    +

    is it possible to remove them somehow?

    Global fill [2]
    file boundary?
    @@ -177,7 +177,7 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global func_800100F0 (s32)
    Confirm this comment
    Global func_80028864 (Player *, Camera *, s8, s8)
    -
    make a proper match
    +
    make a proper match
    Global func_80046030 (u8 *tlut, u8 *texture, Vtx *arg2, s32 width, s32 arg4, s32 height)
    tlut/texture unconfirmed. This could be texture1 and texture2
    Global func_8004B7DC (s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6)
    @@ -187,17 +187,17 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global func_800745C8 (s32 objectIndex, s32 arg1)
    arg1 should likely be a u8 *
    Global func_80091FA4 (void)
    -
    These sizes need to be sizeof() for shiftability if possible
    +
    These sizes need to be sizeof() for shiftability if possible
    Global func_800CBC24 (void)
    clenanup, something's weird with the variables. D_800EA4A4 is probably EuAudioCmd bc of the + 0x100
    Global func_80282D90 (struct CinematicCamera *, struct struct_80286A04 *, struct struct_80286A04 *, s32)
    -
    Cast to normal Camera? Or from CinematicCamera?
    +
    Cast to normal Camera? Or from CinematicCamera?
    Global func_8028336C (UNUSED struct CinematicCamera *arg0, UNUSED Camera *camera)
    -
    Does this match as a return of s8?
    +
    Does this match as a return of s8?
    Global func_802846E4 (struct CinematicCamera *)
    -
    What does this even do?
    +
    What does this even do?
    Global func_8028F970 (void)
    -
    increasing players past four would require increase this loop iterator.
    +
    increasing players past four would require increase this loop iterator.
    Global gen_random_item (s16 rank, s16 isCpu)
    Cleanup this function to use array access and struct if possible.
    Global gPlayerWinningIndex
    @@ -217,11 +217,11 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global M_TASK_FLAG0
    These defines shouldn't exist - PR/rcp.h has them properly defined (ultralib)
    Global MTX_KART_POOL_SIZE
    -
    Verify with proper documentation
    -
    Global MTX_SHADOW_POOL_SIZE
    Verify with proper documentation
    +
    Global MTX_SHADOW_POOL_SIZE
    +
    Verify with proper documentation
    Global new_actor (ActorInitParams *)
    -
    More indepth error checking/return value
    +
    More indepth error checking/return value
    Global Note::priority
    use macros or something instead.
    Global osContInit (OSMesgQueue *mq, u8 *bitpattern, OSContStatus *status)
    @@ -229,9 +229,9 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global osPfsDeleteFile (OSPfs *pfs, u16 company_code, u32 game_code, u8 *game_name, u8 *ext_name)
    magic constant
    Global osPiStartDma (OSIoMesg *mb, s32 priority, s32 direction, uintptr_t devAddr, void *vAddr, size_t nbytes, OSMesgQueue *mq)
    -
    name magic constants
    +
    name magic constants
    Global osRomBase
    -
    figure out why this is like this
    +
    figure out why this is like this
    Global osViBlack (u8 active)
    name magic constants
    Global osViSwapBuffer (void *vaddr)
    @@ -239,7 +239,7 @@ $(function(){initNavTree('todo.html',''); initResizable(); });
    Global PI_DOMAIN1
    This define is from os.h, but including that causes problems...
    Global render_actor_shell (Camera *camera, Mat4 matrix, struct ShellActor *shell)
    -
    Is this making the shell spin?
    +
    Is this making the shell spin?
    Global SOUND_ARG_LOAD (sound_bank, byte2, byte3, sound_id)
    format like sm64 sounds.h
    Struct unkStruct
    diff --git a/train_2render_8inc_8c_source.html b/train_2render_8inc_8c_source.html index e455ec89d..fadd6588f 100644 --- a/train_2render_8inc_8c_source.html +++ b/train_2render_8inc_8c_source.html @@ -415,24 +415,23 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    308
    309 if (render_set_position(spA0, 3) == 0) { return; }
    310
    - - + +
    312 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    313
    -
    314 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    -
    315 vec3f_set(sp160, -17.0f, 6.0f, -24.0f);
    - - +
    314 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    +
    315 vec3f_set(sp160, -17.0f, 6.0f, -24.0f);
    +
    316 mtxf_translate(spE0, sp160);
    +
    317 mtxf_multiplication(spA0, sp120, spE0);
    318
    -
    319 if (render_set_position(spA0, 3) == 0) { return; }
    +
    319 if (render_set_position(spA0, 3) == 0) { return; }
    320
    - - - + +
    322 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    +
    323 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
    324}
    Camera * camera1
    Definition camera.c:22
    -
    s16 gCourseMaxZ
    Definition code_800029B0.c:93
    f32 Vec3f[3]
    Definition common_structs.h:6
    f32 Mat4[4][4]
    Definition common_structs.h:16
    diff --git a/trees_2render_8inc_8c_source.html b/trees_2render_8inc_8c_source.html index 3ff48af1a..63a9078e0 100644 --- a/trees_2render_8inc_8c_source.html +++ b/trees_2render_8inc_8c_source.html @@ -303,89 +303,89 @@ $(function(){initNavTree('trees_2render_8inc_8c_source.html',''); initResizable(
    227
    228 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    229
    -
    230 if (temp_f0 < 0.0f) { return; }
    +
    230 if (temp_f0 < 0.0f) { return; }
    231
    -
    232 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) {
    +
    232 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) {
    233 func_8029794C(arg2->pos, arg2->rot, 2.79999995f);
    234 }
    -
    235 arg1[3][0] = arg2->pos[0];
    -
    236 arg1[3][1] = arg2->pos[1];
    -
    237 arg1[3][2] = arg2->pos[2];
    +
    235 arg1[3][0] = arg2->pos[0];
    +
    236 arg1[3][1] = arg2->pos[1];
    +
    237 arg1[3][2] = arg2->pos[2];
    238
    -
    239 if (render_set_position(arg1, 0) != 0) {
    -
    240 gSPDisplayList(gDisplayListHead++, d_course_frappe_snowland_dl_tree);
    +
    239 if (render_set_position(arg1, 0) != 0) {
    +
    240 gSPDisplayList(gDisplayListHead++, d_course_frappe_snowland_dl_tree);
    241 }
    242}
    243
    -
    251void render_actor_tree_cactus1_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    -
    252 f32 temp_f0;
    -
    253 s16 temp_v0 = arg2->flags;
    +
    251void render_actor_tree_cactus1_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    +
    252 f32 temp_f0;
    +
    253 s16 temp_v0 = arg2->flags;
    254
    -
    255 if ((temp_v0 & 0x800) != 0) { return; }
    +
    255 if ((temp_v0 & 0x800) != 0) { return; }
    256
    -
    257 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    +
    257 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    258
    -
    259 if (temp_f0 < 0.0f) { return; }
    +
    259 if (temp_f0 < 0.0f) { return; }
    260
    -
    261 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    +
    261 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    262 func_8029794C(arg2->pos, arg2->rot, 1.0f);
    263 }
    -
    264 arg1[3][0] = arg2->pos[0];
    -
    265 arg1[3][1] = arg2->pos[1];
    -
    266 arg1[3][2] = arg2->pos[2];
    +
    264 arg1[3][0] = arg2->pos[0];
    +
    265 arg1[3][1] = arg2->pos[1];
    +
    266 arg1[3][2] = arg2->pos[2];
    267
    -
    268 if (render_set_position(arg1, 0) != 0) {
    -
    269 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus1);
    +
    268 if (render_set_position(arg1, 0) != 0) {
    +
    269 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus1);
    270 }
    271}
    272
    -
    280void render_actor_tree_cactus2_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    -
    281 f32 temp_f0;
    -
    282 s16 temp_v0 = arg2->flags;
    +
    280void render_actor_tree_cactus2_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    +
    281 f32 temp_f0;
    +
    282 s16 temp_v0 = arg2->flags;
    283
    -
    284 if ((temp_v0 & 0x800) != 0) { return; }
    +
    284 if ((temp_v0 & 0x800) != 0) { return; }
    285
    -
    286 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    +
    286 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    287
    -
    288 if (temp_f0 < 0.0f) { return; }
    +
    288 if (temp_f0 < 0.0f) { return; }
    289
    -
    290 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    +
    290 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    291 func_8029794C(arg2->pos, arg2->rot, 1.0f);
    292 }
    -
    293 arg1[3][0] = arg2->pos[0];
    -
    294 arg1[3][1] = arg2->pos[1];
    -
    295 arg1[3][2] = arg2->pos[2];
    +
    293 arg1[3][0] = arg2->pos[0];
    +
    294 arg1[3][1] = arg2->pos[1];
    +
    295 arg1[3][2] = arg2->pos[2];
    296
    -
    297 if (render_set_position(arg1, 0) != 0) {
    -
    298 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus2);
    +
    297 if (render_set_position(arg1, 0) != 0) {
    +
    298 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus2);
    299 }
    300}
    301
    -
    309void render_actor_tree_cactus3_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    -
    310 f32 temp_f0;
    -
    311 s16 temp_v0 = arg2->flags;
    +
    309void render_actor_tree_cactus3_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2) {
    +
    310 f32 temp_f0;
    +
    311 s16 temp_v0 = arg2->flags;
    312
    -
    313 if ((temp_v0 & 0x800) != 0) { return; }
    +
    313 if ((temp_v0 & 0x800) != 0) { return; }
    314
    -
    315 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    +
    315 temp_f0 = is_within_render_distance(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f);
    316
    -
    317 if (temp_f0 < 0.0f) { return; }
    +
    317 if (temp_f0 < 0.0f) { return; }
    318
    -
    319 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    +
    319 if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) {
    320 func_8029794C(arg2->pos, arg2->rot, 0.80000001f);
    321 }
    -
    322 arg1[3][0] = arg2->pos[0];
    -
    323 arg1[3][1] = arg2->pos[1];
    -
    324 arg1[3][2] = arg2->pos[2];
    +
    322 arg1[3][0] = arg2->pos[0];
    +
    323 arg1[3][1] = arg2->pos[1];
    +
    324 arg1[3][2] = arg2->pos[2];
    325
    -
    326 if (render_set_position(arg1, 0) != 0) {
    -
    327 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus3);
    +
    326 if (render_set_position(arg1, 0) != 0) {
    +
    327 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_cactus3);
    328 }
    329}
    @@ -394,6 +394,7 @@ $(function(){initNavTree('trees_2render_8inc_8c_source.html',''); initResizable(
    all_course_data.h
    d_course_bowsers_castle_dl_bush
    Gfx d_course_bowsers_castle_dl_bush[]
    Definition course_data.c:3957
    camera1
    Camera * camera1
    Definition camera.c:22
    +
    gCourseMaxZ
    s16 gCourseMaxZ
    Definition code_800029B0.c:93
    common_data.h
    common_tlut_trees_import
    u16 common_tlut_trees_import[]
    Mat4
    f32 Mat4[4][4]
    Definition common_structs.h:16
    diff --git a/uniondu.html b/uniondu.html index ecff778b7..d79bfaf46 100644 --- a/uniondu.html +++ b/uniondu.html @@ -133,8 +133,8 @@ Data Fields  

    Detailed Description

    -
    Todo
    is it possible to remove them somehow?
    -
    Todo
    is it possible to remove them somehow?
    +
    Todo
    is it possible to remove them somehow?
    +
    Todo
    is it possible to remove them somehow?

    Field Documentation

    ◆ d

    diff --git a/wario__stadium_2course__data_8c.html b/wario__stadium_2course__data_8c.html index 2f3a65207..2033286e3 100644 --- a/wario__stadium_2course__data_8c.html +++ b/wario__stadium_2course__data_8c.html @@ -450,7 +450,7 @@ Variables
    Gfx d_course_wario_stadium_packed_dl_4218[]
    Definition course_displaylists.inc.c:2649
    Gfx d_course_wario_stadium_packed_dl_5888[]
    Definition course_displaylists.inc.c:3475
    Gfx d_course_wario_stadium_packed_dl_4BA8[]
    Definition course_displaylists.inc.c:3007
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/wario__stadium_2course__data_8h.html b/wario__stadium_2course__data_8h.html index 56f606d6d..3bef6e624 100644 --- a/wario__stadium_2course__data_8h.html +++ b/wario__stadium_2course__data_8h.html @@ -418,7 +418,7 @@ Variables
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables