From 97a4f003467d05e40e7f8e099f3cb4e94b1414a9 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sun, 14 Jun 2026 03:45:19 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20n64decom?= =?UTF-8?q?p/mk64@44fe054525ebfcb50528443eb71668814c419019=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- actors__extended_8h_source.html | 26 +- actorsmenu.html | 2 +- actorsmenu.js | 2 +- banana_2update_8inc_8c_source.html | 9 +- basics.js | 2 +- behaviour__utils_8inc_8c_source.html | 2 +- ...d__red__shells_2update_8inc_8c_source.html | 412 +++++++++--------- bomb__kart_8inc_8c_source.html | 6 +- ceremony__and__credits_8c.html | 2 +- ceremony__and__credits_8h.html | 2 +- code__80281780_8c.html | 2 +- code__80281780_8h.html | 2 +- controlflow.html | 4 +- cpu__speed__control_8inc_8c_source.html | 22 +- defines_8h.html | 25 +- defines_8h.js | 2 +- defines_8h_source.html | 347 ++++++++------- doxygen_crawl.html | 62 +-- effects_8c.html | 34 +- fake__item__box_2render_8inc_8c_source.html | 208 ++++----- fake__item__box_2update_8inc_8c_source.html | 21 +- falling__rock_2update_8inc_8c_source.html | 2 +- globals_d.html | 2 +- globals_defs_d.html | 2 +- green__shell_2update_8inc_8c_source.html | 240 +++++----- guMtxCatL_8c.html | 2 +- item__box_2render_8inc_8c_source.html | 214 ++++----- item__box_2update_8inc_8c_source.html | 25 +- kalimari__desert_2course__offsets_8c.html | 14 +- kiwano__fruit_2update_8inc_8c_source.html | 4 +- mario__sign_2update_8inc_8c_source.html | 5 +- menu__items_8c.html | 4 +- menu__items_8h.html | 2 +- moo__moo__farm_2course__data_8c.html | 2 +- moo__moo__farm_2course__data_8h.html | 2 +- navtreeindex21.js | 2 +- navtreeindex27.js | 2 +- navtreeindex85.js | 2 +- objects.html | 2 +- osPiRawStartDma_8c.html | 2 +- osPiStartDma_8c.html | 2 +- osViBlack_8c.html | 2 +- osViSwapBuffer_8c.html | 2 +- os__pi_8h.html | 2 +- os__vi_8h.html | 4 +- paddle__boat_2update_8inc_8c_source.html | 3 +- path__utils_8inc_8c_source.html | 2 +- piint_8h.html | 6 +- player__controller_8h_source.html | 32 +- rainbow__road_2course__data_8c.html | 2 +- rainbow__road_2course__data_8h.html | 2 +- search/all_11.js | 2 +- search/all_6.js | 2 +- search/defines_4.js | 2 +- todo.html | 26 +- train_2render_8inc_8c_source.html | 29 +- train_2update_8inc_8c_source.html | 7 +- vehicle__utils_8inc_8c_source.html | 11 +- wario__sign_2update_8inc_8c_source.html | 3 +- yoshi__egg_2update_8inc_8c_source.html | 7 +- 60 files changed, 954 insertions(+), 918 deletions(-) diff --git a/actors__extended_8h_source.html b/actors__extended_8h_source.html index e3ff1ccb0..8e29ef7ed 100644 --- a/actors__extended_8h_source.html +++ b/actors__extended_8h_source.html @@ -163,24 +163,24 @@ $(function(){initNavTree('actors__extended_8h_source.html',''); initResizable(tr
void update_actor_banana_bunch(struct BananaBunchParent *banana_bunch)
Definition actors_extended.c:217
s32 func_802B09C0(s16 bananaId)
Definition actors_extended.c:202
void copy_collision(Collision *src, Collision *dest)
Definition actors_extended.c:19
-
s32 use_triple_shell_item(Player *player, s16 tripleShellType)
Definition actors_extended.c:532
-
void use_thunder_item(Player *player)
Definition actors_extended.c:862
-
void player_use_item(Player *player)
Definition actors_extended.c:881
-
s32 use_banana_item(Player *player)
Definition actors_extended.c:810
-
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:972
+
s32 use_triple_shell_item(Player *player, s16 tripleShellType)
Definition actors_extended.c:533
+
void use_thunder_item(Player *player)
Definition actors_extended.c:863
+
void player_use_item(Player *player)
Definition actors_extended.c:882
+
s32 use_banana_item(Player *player)
Definition actors_extended.c:811
+
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:973
void func_802B0788(s16 rawStickY, struct BananaBunchParent *banana_bunch, Player *player)
Definition actors_extended.c:155
-
s32 use_banana_bunch_item(Player *player)
Definition actors_extended.c:513
-
void use_blue_shell_item(Player *player)
Definition actors_extended.c:682
-
s32 use_fake_itembox_item(Player *player)
Definition actors_extended.c:768
+
s32 use_banana_bunch_item(Player *player)
Definition actors_extended.c:514
+
void use_blue_shell_item(Player *player)
Definition actors_extended.c:683
+
s32 use_fake_itembox_item(Player *player)
Definition actors_extended.c:769
void update_actor_triple_shell(TripleShellParent *parent, s16 shellType)
Definition actors_extended.c:334
void func_802B0464(s16 bananaIndex)
Definition actors_extended.c:77
-
s32 use_red_shell_item(Player *player)
Definition actors_extended.c:640
-
void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 bananaId)
Definition actors_extended.c:689
-
s32 init_triple_shell(TripleShellParent *parent, Player *player, s16 shellType, u16 shellId)
Definition actors_extended.c:554
+
s32 use_red_shell_item(Player *player)
Definition actors_extended.c:641
+
void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 bananaId)
Definition actors_extended.c:690
+
s32 init_triple_shell(TripleShellParent *parent, Player *player, s16 shellType, u16 shellId)
Definition actors_extended.c:555
void destroy_banana_in_banana_bunch(struct BananaActor *banana)
Definition actors_extended.c:98
-
s32 use_green_shell_item(Player *player)
Definition actors_extended.c:600
+
s32 use_green_shell_item(Player *player)
Definition actors_extended.c:601
bool is_shell_exist(s16 arg0)
Definition actors_extended.c:316
-
void check_player_use_item(void)
Definition actors_extended.c:935
+
void check_player_use_item(void)
Definition actors_extended.c:936
void update_actor_banana(struct BananaActor *banana)
Update the banana actor.
Definition update.inc.c:11
void func_802B3E7C(struct ShellActor *shell, Player *player)
Definition update.inc.c:114
void func_802B3B44(struct ShellActor *shell)
Definition update.inc.c:8
diff --git a/actorsmenu.html b/actorsmenu.html index 7dbf4c584..b91851270 100644 --- a/actorsmenu.html +++ b/actorsmenu.html @@ -177,7 +177,7 @@ $(function(){initNavTree('actorsmenu.html',''); initResizable(true); });

-

Actors Objects Vehicles Items

+

Actors Objects Vehicles Items

diff --git a/actorsmenu.js b/actorsmenu.js index 03d6a6bce..a1f7e0e44 100644 --- a/actorsmenu.js +++ b/actorsmenu.js @@ -4,7 +4,7 @@ var actorsmenu = [ "Actors", "actors.html#actors", null ] ] ], [ "Objects", "objects.html", [ - [ "Objects", "objects.html#objects", null ] + [ "Objects", "objects.html#objects-1", null ] ] ], [ "Vehicles", "vehicles.html", [ [ "Trains", "vehicles.html#trains", null ], diff --git a/banana_2update_8inc_8c_source.html b/banana_2update_8inc_8c_source.html index b55271f41..6c4a382a2 100644 --- a/banana_2update_8inc_8c_source.html +++ b/banana_2update_8inc_8c_source.html @@ -280,9 +280,9 @@ $(function(){initNavTree('banana_2update_8inc_8c_source.html',''); initResizable
174 banana->velocity[1] = -5.0f;
175 }
176 banana->pos[1] += banana->velocity[1];
-
177 banana->rot[0] += 0x16C;
-
178 banana->rot[1] -= 0x5B0;
-
179 banana->rot[2] += 0x38E;
+
177 banana->rot[0] += DEGREES(2);
+
178 banana->rot[1] -= DEGREES(8);
+
179 banana->rot[2] += DEGREES(5);
180 banana->unk_04 -= 1;
181 if (banana->unk_04 == 0) {
182 destroy_actor((struct Actor*) banana);
@@ -306,7 +306,7 @@ $(function(){initNavTree('banana_2update_8inc_8c_source.html',''); initResizable
void destroy_destructable_actor(struct Actor *actor)
Definition actors.c:1849
void destroy_actor(struct Actor *actor)
Definition actors.c:1321
-
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:972
+
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:973
void update_actor_banana(struct BananaActor *banana)
Update the banana actor.
Definition update.inc.c:11
s16 gCourseMinZ
Definition code_800029B0.c:95
s16 gCourseMaxZ
Definition code_800029B0.c:94
@@ -318,6 +318,7 @@ $(function(){initNavTree('banana_2update_8inc_8c_source.html',''); initResizable
u16 check_bounding_collision(Collision *collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ)
Definition collision.c:1358
f32 Vec3f[3]
Definition common_structs.h:6
+
#define DEGREES(degree)
Definition defines.h:347
#define PLAYER_HUMAN
Definition defines.h:105
void func_800C9060(u8 playerId, u32 soundBits)
Definition external.c:2922
#define UNUSED
Definition macros.h:23
diff --git a/basics.js b/basics.js index d8ca81661..256a27b47 100644 --- a/basics.js +++ b/basics.js @@ -26,7 +26,7 @@ var basics = [ "Menus", "controlflow.html#menus", null ], [ "Players", "controlflow.html#players", null ], [ "Actors", "controlflow.html#actors-1", null ], - [ "Objects", "controlflow.html#objects-1", null ], + [ "Objects", "controlflow.html#objects", null ], [ "Courses", "controlflow.html#courses", [ [ "Course Folder", "controlflow.html#course-folder", null ] ] ], diff --git a/behaviour__utils_8inc_8c_source.html b/behaviour__utils_8inc_8c_source.html index 2df800478..d9a4b12b5 100644 --- a/behaviour__utils_8inc_8c_source.html +++ b/behaviour__utils_8inc_8c_source.html @@ -324,7 +324,7 @@ $(function(){initNavTree('behaviour__utils_8inc_8c_source.html',''); initResizab
@ CPU_BEHAVIOUR_STATE_RUNNING
Definition cpu_vehicles_camera_path.h:336
@ CPU_BEHAVIOUR_STATE_NONE
Definition cpu_vehicles_camera_path.h:336
@ CPU_BEHAVIOUR_STATE_START
Definition cpu_vehicles_camera_path.h:336
-
#define DRIFTING_EFFECT
Definition defines.h:446
+
#define DRIFTING_EFFECT
Definition defines.h:461
@ BEHAVIOUR_FAST_SPEED
Definition defines.h:310
@ BEHAVIOUR_NORMAL_SPEED
Definition defines.h:309
@ BEHAVIOUR_DRIVE_CENTER
Definition defines.h:306
diff --git a/blue__and__red__shells_2update_8inc_8c_source.html b/blue__and__red__shells_2update_8inc_8c_source.html index e845b6c5e..d827073f8 100644 --- a/blue__and__red__shells_2update_8inc_8c_source.html +++ b/blue__and__red__shells_2update_8inc_8c_source.html @@ -352,7 +352,7 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
242 destroy_destructable_actor((struct Actor*) shell);
243 }
244
-
245 shell->rotVelocity += 0x71C;
+
245 shell->rotVelocity += DEGREES(10);
246 switch (shell->state) {
247 case HELD_SHELL:
248 player = &gPlayers[shell->playerId];
@@ -387,209 +387,210 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
277 controller->buttonDepressed &= ~Z_TRIG;
278 shell->state = RELEASED_SHELL;
279 if (player->unk_0C0 > 0) {
-
280 shell->rotAngle = 0x78E3;
+
280 shell->rotAngle = DEGREES(170);
281 } else {
-
282 shell->rotAngle = -0x78E4;
-
283 }
-
284 }
-
285 break;
-
286 case RELEASED_SHELL:
-
287 player = &gPlayers[shell->playerId];
-
288 if (shell->rotAngle > 0) {
-
289 shell->rotAngle -= 0x71C;
-
290 if (shell->rotAngle < 0) {
-
291 shell->state = MOVING_SHELL;
-
292 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
-
293 func_800C90F4(shell->playerId,
-
294 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
-
295 if (pad13 == ACTOR_RED_SHELL) {
-
296 add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
-
297 } else {
-
298 add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
-
299 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
-
300 }
-
301 }
-
302 } else {
-
303 shell->rotAngle += 0x71C;
-
304 if (shell->rotAngle > 0) {
-
305 shell->state = MOVING_SHELL;
-
306 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
-
307 func_800C90F4(shell->playerId,
-
308 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
-
309 if (pad13 == ACTOR_RED_SHELL) {
-
310 add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
-
311 } else {
-
312 add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
-
313 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
-
314 }
-
315 }
-
316 }
-
317 if (shell->state == MOVING_SHELL) {
-
318 shell->someTimer = 0x001E;
-
319 height = 8.0f;
-
320 if (player->speed > 8.0f) {
-
321 height = player->speed * 1.2f;
-
322 }
-
323 somePosVel[0] = 0.0f;
-
324 somePosVel[1] = 0.0f;
-
325 somePosVel[2] = height;
-
326 vec3f_rotate_y(somePosVel, (s16) (player->rotation[1] + player->unk_0C0));
-
327 shell->velocity[0] = somePosVel[0];
-
328 shell->velocity[1] = somePosVel[1];
-
329 shell->velocity[2] = somePosVel[2];
-
330 } else {
-
331 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
-
332 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
-
333 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
-
334 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
-
335 shell->pos[0] = player->pos[0] + somePosVel[0];
-
336 shell->pos[1] = player->pos[1] + somePosVel[1];
-
337 shell->pos[2] = player->pos[2] + somePosVel[2];
-
338 }
-
339 break;
-
340 case MOVING_SHELL:
-
341 player = &gPlayers[shell->playerId];
-
342 shell->someTimer -= 1;
-
343 if (shell->someTimer == 0) {
-
344 shell->flags &= 0xEFFF;
-
345 if (shell->type == ACTOR_BLUE_SPINY_SHELL) {
-
346 shell->targetPlayer = gPlayerPositionLUT[0];
-
347 shell->state = BLUE_SHELL_LOCK_ON;
-
348 shell->shellId = 1000.0f;
-
349 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
-
350 if ((s32) gSelectedPathCount < temp_v0) {
-
351 temp_v0 -= gSelectedPathCount;
-
352 }
-
353 shell->pathIndex = temp_v0;
-
354 } else if (gModeSelection == BATTLE) {
-
355 shell->shellId = 1000.0f;
-
356 shell->targetPlayer = func_802B3FD0(player, shell);
-
357 if (shell->targetPlayer < 0) {
-
358 shell->flags = 0x8000;
-
359 shell->velocity[1] = 3.0f;
-
360 shell->pathIndex = 0;
-
361 shell->someTimer = 0x003C;
-
362 shell->state = DESTROYED_SHELL;
-
363 } else {
-
364 shell->state = RED_SHELL_LOCK_ON;
-
365 }
-
366 } else {
-
367 if (player->currentRank == 0) {
-
368 shell->state = TRIPLE_GREEN_SHELL;
-
369 shell->someTimer = 0x0258;
-
370 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
-
371 if ((s32) gSelectedPathCount < temp_v0) {
-
372 temp_v0 -= gSelectedPathCount;
-
373 }
-
374 shell->pathIndex = temp_v0;
-
375 } else if (player->currentRank >= 5) {
-
376 shell->state = GREEN_SHELL_HIT_A_RACER;
-
377 shell->shellId = 1000.0f;
-
378 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
-
379 if ((s32) gSelectedPathCount < temp_v0) {
-
380 temp_v0 -= gSelectedPathCount;
-
381 }
-
382 shell->pathIndex = temp_v0;
-
383 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
-
384 } else {
-
385 shell->state = RED_SHELL_LOCK_ON;
-
386 shell->shellId = 1000.0f;
-
387 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
-
388 }
-
389 }
-
390 }
-
391 shell->velocity[1] -= 0.5;
-
392 if (shell->velocity[1] < -2.0f) {
-
393 shell->velocity[1] = -2.0f;
-
394 }
-
395 origPos[0] = shell->pos[0];
-
396 origPos[1] = shell->pos[1];
-
397 origPos[2] = shell->pos[2];
-
398 shell->pos[0] += shell->velocity[0];
-
399 shell->pos[1] += shell->velocity[1];
-
400 shell->pos[2] += shell->velocity[2];
-
401 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
-
402 origPos[1], origPos[2]);
-
403 func_802B4E30((struct Actor*) shell);
-
404 func_802B4104(shell);
-
405 break;
-
406 case RED_SHELL_LOCK_ON:
-
407 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
-
408 break;
-
409 case TRIPLE_GREEN_SHELL:
-
410 func_802B3B44(shell);
-
411 if (shell->someTimer == 0) {
-
412 if ((shell->flags & 0xF) == 0) {
-
413 destroy_destructable_actor((struct Actor*) shell);
-
414 } else {
-
415 shell->someTimer -= 1;
-
416 }
-
417 }
-
418 break;
-
419 case GREEN_SHELL_HIT_A_RACER:
-
420 func_802B3B44(shell);
-
421 player = &gPlayers[shell->targetPlayer];
-
422 height = player->pos[0];
-
423 height -= shell->pos[0];
-
424 temp_f2 = player->pos[2];
-
425 temp_f2 -= shell->pos[2];
-
426 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
-
427 shell->state = RED_SHELL_LOCK_ON;
-
428 }
-
429 break;
-
430 case TRIPLE_RED_SHELL:
-
431 player = &gPlayers[shell->playerId];
-
432 parent = (TripleShellParent*) &gActorList[shell->parentIndex];
-
433 if (parent->type != ACTOR_TRIPLE_RED_SHELL) {
-
434 destroy_destructable_actor((struct Actor*) shell);
-
435 } else {
-
436 shell->rotAngle += parent->rotVelocity;
-
437 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
-
438 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
-
439 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
-
440 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
-
441 origPos[0] = shell->pos[0];
-
442 origPos[1] = shell->pos[1];
-
443 origPos[2] = shell->pos[2];
-
444 shell->pos[0] = player->pos[0] + somePosVel[0];
-
445 shell->pos[1] = player->pos[1] + somePosVel[1];
-
446 shell->pos[2] = player->pos[2] + somePosVel[2];
-
447 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
-
448 origPos[1], origPos[2]);
-
449 func_802B4E30((struct Actor*) shell);
-
450 }
-
451 break;
-
452 case DESTROYED_SHELL:
-
453 shell->velocity[1] -= 0.3f;
-
454 if (shell->velocity[1] < -5.0f) {
-
455 shell->velocity[1] = -5.0f;
-
456 }
-
457 shell->rotAngle += 0x5B0;
-
458 shell->someTimer -= 1;
-
459 shell->pos[1] += shell->velocity[1];
-
460 if (shell->someTimer == 0) {
-
461 destroy_actor((struct Actor*) shell);
-
462 }
-
463 break;
-
464 case BLUE_SHELL_LOCK_ON:
-
465 func_802B3B44(shell);
-
466 shell->targetPlayer = gPlayerPositionLUT[0];
-
467 player = &gPlayers[gPlayerPositionLUT[0]];
-
468 height = player->pos[0];
-
469 height -= shell->pos[0];
-
470 temp_f2 = player->pos[2];
-
471 temp_f2 -= shell->pos[2];
-
472 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
-
473 shell->state = BLUE_SHELL_TARGET_ELIMINATED;
-
474 }
-
475 break;
-
476 case 9:
-
477 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
-
478 break;
-
479 default:
-
480 break;
-
481 }
-
482}
+
282 // The minus 1 is almost certainly just due to rounding the other way
+
283 shell->rotAngle = -DEGREES(170) - 1;
+
284 }
+
285 }
+
286 break;
+
287 case RELEASED_SHELL:
+
288 player = &gPlayers[shell->playerId];
+
289 if (shell->rotAngle > 0) {
+
290 shell->rotAngle -= DEGREES(10);
+
291 if (shell->rotAngle < 0) {
+
292 shell->state = MOVING_SHELL;
+
293 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
+
294 func_800C90F4(shell->playerId,
+
295 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
+
296 if (pad13 == ACTOR_RED_SHELL) {
+
297 add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
+
298 } else {
+
299 add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
+
300 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
+
301 }
+
302 }
+
303 } else {
+
304 shell->rotAngle += DEGREES(10);
+
305 if (shell->rotAngle > 0) {
+
306 shell->state = MOVING_SHELL;
+
307 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
+
308 func_800C90F4(shell->playerId,
+
309 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
+
310 if (pad13 == ACTOR_RED_SHELL) {
+
311 add_red_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
+
312 } else {
+
313 add_blue_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
+
314 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
+
315 }
+
316 }
+
317 }
+
318 if (shell->state == MOVING_SHELL) {
+
319 shell->someTimer = 0x001E;
+
320 height = 8.0f;
+
321 if (player->speed > 8.0f) {
+
322 height = player->speed * 1.2f;
+
323 }
+
324 somePosVel[0] = 0.0f;
+
325 somePosVel[1] = 0.0f;
+
326 somePosVel[2] = height;
+
327 vec3f_rotate_y(somePosVel, (s16) (player->rotation[1] + player->unk_0C0));
+
328 shell->velocity[0] = somePosVel[0];
+
329 shell->velocity[1] = somePosVel[1];
+
330 shell->velocity[2] = somePosVel[2];
+
331 } else {
+
332 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
+
333 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
+
334 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
+
335 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
+
336 shell->pos[0] = player->pos[0] + somePosVel[0];
+
337 shell->pos[1] = player->pos[1] + somePosVel[1];
+
338 shell->pos[2] = player->pos[2] + somePosVel[2];
+
339 }
+
340 break;
+
341 case MOVING_SHELL:
+
342 player = &gPlayers[shell->playerId];
+
343 shell->someTimer -= 1;
+
344 if (shell->someTimer == 0) {
+
345 shell->flags &= 0xEFFF;
+
346 if (shell->type == ACTOR_BLUE_SPINY_SHELL) {
+
347 shell->targetPlayer = gPlayerPositionLUT[0];
+
348 shell->state = BLUE_SHELL_LOCK_ON;
+
349 shell->shellId = 1000.0f;
+
350 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
351 if ((s32) gSelectedPathCount < temp_v0) {
+
352 temp_v0 -= gSelectedPathCount;
+
353 }
+
354 shell->pathIndex = temp_v0;
+
355 } else if (gModeSelection == BATTLE) {
+
356 shell->shellId = 1000.0f;
+
357 shell->targetPlayer = func_802B3FD0(player, shell);
+
358 if (shell->targetPlayer < 0) {
+
359 shell->flags = 0x8000;
+
360 shell->velocity[1] = 3.0f;
+
361 shell->pathIndex = 0;
+
362 shell->someTimer = 0x003C;
+
363 shell->state = DESTROYED_SHELL;
+
364 } else {
+
365 shell->state = RED_SHELL_LOCK_ON;
+
366 }
+
367 } else {
+
368 if (player->currentRank == 0) {
+
369 shell->state = TRIPLE_GREEN_SHELL;
+
370 shell->someTimer = 0x0258;
+
371 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
372 if ((s32) gSelectedPathCount < temp_v0) {
+
373 temp_v0 -= gSelectedPathCount;
+
374 }
+
375 shell->pathIndex = temp_v0;
+
376 } else if (player->currentRank >= 5) {
+
377 shell->state = GREEN_SHELL_HIT_A_RACER;
+
378 shell->shellId = 1000.0f;
+
379 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
380 if ((s32) gSelectedPathCount < temp_v0) {
+
381 temp_v0 -= gSelectedPathCount;
+
382 }
+
383 shell->pathIndex = temp_v0;
+
384 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
+
385 } else {
+
386 shell->state = RED_SHELL_LOCK_ON;
+
387 shell->shellId = 1000.0f;
+
388 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
+
389 }
+
390 }
+
391 }
+
392 shell->velocity[1] -= 0.5;
+
393 if (shell->velocity[1] < -2.0f) {
+
394 shell->velocity[1] = -2.0f;
+
395 }
+
396 origPos[0] = shell->pos[0];
+
397 origPos[1] = shell->pos[1];
+
398 origPos[2] = shell->pos[2];
+
399 shell->pos[0] += shell->velocity[0];
+
400 shell->pos[1] += shell->velocity[1];
+
401 shell->pos[2] += shell->velocity[2];
+
402 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
+
403 origPos[1], origPos[2]);
+
404 func_802B4E30((struct Actor*) shell);
+
405 func_802B4104(shell);
+
406 break;
+
407 case RED_SHELL_LOCK_ON:
+
408 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
+
409 break;
+
410 case TRIPLE_GREEN_SHELL:
+
411 func_802B3B44(shell);
+
412 if (shell->someTimer == 0) {
+
413 if ((shell->flags & 0xF) == 0) {
+
414 destroy_destructable_actor((struct Actor*) shell);
+
415 } else {
+
416 shell->someTimer -= 1;
+
417 }
+
418 }
+
419 break;
+
420 case GREEN_SHELL_HIT_A_RACER:
+
421 func_802B3B44(shell);
+
422 player = &gPlayers[shell->targetPlayer];
+
423 height = player->pos[0];
+
424 height -= shell->pos[0];
+
425 temp_f2 = player->pos[2];
+
426 temp_f2 -= shell->pos[2];
+
427 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
+
428 shell->state = RED_SHELL_LOCK_ON;
+
429 }
+
430 break;
+
431 case TRIPLE_RED_SHELL:
+
432 player = &gPlayers[shell->playerId];
+
433 parent = (TripleShellParent*) &gActorList[shell->parentIndex];
+
434 if (parent->type != ACTOR_TRIPLE_RED_SHELL) {
+
435 destroy_destructable_actor((struct Actor*) shell);
+
436 } else {
+
437 shell->rotAngle += parent->rotVelocity;
+
438 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
+
439 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
+
440 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
+
441 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
+
442 origPos[0] = shell->pos[0];
+
443 origPos[1] = shell->pos[1];
+
444 origPos[2] = shell->pos[2];
+
445 shell->pos[0] = player->pos[0] + somePosVel[0];
+
446 shell->pos[1] = player->pos[1] + somePosVel[1];
+
447 shell->pos[2] = player->pos[2] + somePosVel[2];
+
448 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
+
449 origPos[1], origPos[2]);
+
450 func_802B4E30((struct Actor*) shell);
+
451 }
+
452 break;
+
453 case DESTROYED_SHELL:
+
454 shell->velocity[1] -= 0.3f;
+
455 if (shell->velocity[1] < -5.0f) {
+
456 shell->velocity[1] = -5.0f;
+
457 }
+
458 shell->rotAngle += DEGREES(8);
+
459 shell->someTimer -= 1;
+
460 shell->pos[1] += shell->velocity[1];
+
461 if (shell->someTimer == 0) {
+
462 destroy_actor((struct Actor*) shell);
+
463 }
+
464 break;
+
465 case BLUE_SHELL_LOCK_ON:
+
466 func_802B3B44(shell);
+
467 shell->targetPlayer = gPlayerPositionLUT[0];
+
468 player = &gPlayers[gPlayerPositionLUT[0]];
+
469 height = player->pos[0];
+
470 height -= shell->pos[0];
+
471 temp_f2 = player->pos[2];
+
472 temp_f2 -= shell->pos[2];
+
473 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
+
474 shell->state = BLUE_SHELL_TARGET_ELIMINATED;
+
475 }
+
476 break;
+
477 case 9:
+
478 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
+
479 break;
+
480 default:
+
481 break;
+
482 }
+
483}
@ ACTOR_BLUE_SPINY_SHELL
Definition actor_types.h:80
@ ACTOR_RED_SHELL
Definition actor_types.h:46
@@ -608,7 +609,7 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
void destroy_actor(struct Actor *actor)
Definition actors.c:1321
void copy_collision(Collision *src, Collision *dest)
Definition actors_extended.c:19
-
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:972
+
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:973
void func_802B3E7C(struct ShellActor *shell, Player *player)
Definition update.inc.c:114
void func_802B3B44(struct ShellActor *shell)
Definition update.inc.c:8
@@ -633,7 +634,8 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
s32 add_red_shell_in_unexpired_actor_list(s32)
Definition actor_utils.inc.c:22
s32 add_blue_shell_in_unexpired_actor_list(s32)
Definition actor_utils.inc.c:38
-
#define BOO_EFFECT
Definition defines.h:473
+
#define BOO_EFFECT
Definition defines.h:488
+
#define DEGREES(degree)
Definition defines.h:347
#define BATTLE
Definition defines.h:150
#define PLAYER_EXISTS
Definition defines.h:106
#define PLAYER_HUMAN
Definition defines.h:105
diff --git a/bomb__kart_8inc_8c_source.html b/bomb__kart_8inc_8c_source.html index e20d66504..7bbeb2294 100644 --- a/bomb__kart_8inc_8c_source.html +++ b/bomb__kart_8inc_8c_source.html @@ -456,9 +456,9 @@ $(function(){initNavTree('bomb__kart_8inc_8c_source.html',''); initResizable(tru
u16 gNearestPathPointByPlayerId[12]
Definition cpu_vehicles_camera_path.c:163
s16 D_8016347C
Definition cpu_vehicles_camera_path.c:124
s16 func_8000D2B4(f32, f32, f32, s16, s32)
Definition path_utils.inc.c:553
-
#define BOO_EFFECT
Definition defines.h:473
-
#define HIT_BY_STAR_TRIGGER
Definition defines.h:421
-
#define VERTICAL_TUMBLE_TRIGGER
Definition defines.h:419
+
#define BOO_EFFECT
Definition defines.h:488
+
#define HIT_BY_STAR_TRIGGER
Definition defines.h:436
+
#define VERTICAL_TUMBLE_TRIGGER
Definition defines.h:434
#define UNUSED
Definition macros.h:23
Player gPlayers[NUM_PLAYERS]
Definition main.c:68
Player * gPlayerFour
Definition main.c:72
diff --git a/ceremony__and__credits_8c.html b/ceremony__and__credits_8c.html index b8a3cf0da..dade69c39 100644 --- a/ceremony__and__credits_8c.html +++ b/ceremony__and__credits_8c.html @@ -2017,7 +2017,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 078986035..23e197f6f 100644 --- a/ceremony__and__credits_8h.html +++ b/ceremony__and__credits_8h.html @@ -1988,7 +1988,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/code__80281780_8c.html b/code__80281780_8c.html index 6a739edee..0e4106bbe 100644 --- a/code__80281780_8c.html +++ b/code__80281780_8c.html @@ -170,7 +170,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 256551134..9ae89542e 100644 --- a/code__80281780_8h.html +++ b/code__80281780_8h.html @@ -170,7 +170,7 @@ Variables
-
Todo
confirm this.
+
Todo
confirm this.
Here is the call graph for this function:
diff --git a/controlflow.html b/controlflow.html index f53013d1b..9be31c2c1 100644 --- a/controlflow.html +++ b/controlflow.html @@ -116,7 +116,7 @@ $(function(){initNavTree('controlflow.html',''); initResizable(true); });
  • Code Breakdown
  • @@ -2075,12 +2078,12 @@ Enumerations
    Value:
    -
    #define HIT_BY_STAR_TRIGGER
    Definition defines.h:421
    -
    #define THWOMP_SQUISH_TRIGGER
    Definition defines.h:407
    -
    #define LOW_TUMBLE_TRIGGER
    Definition defines.h:405
    -
    #define LIGHTNING_STRIKE_TRIGGER
    Definition defines.h:412
    -
    #define VERTICAL_TUMBLE_TRIGGER
    Definition defines.h:419
    -
    #define HIGH_TUMBLE_TRIGGER
    Definition defines.h:404
    +
    #define HIT_BY_STAR_TRIGGER
    Definition defines.h:436
    +
    #define THWOMP_SQUISH_TRIGGER
    Definition defines.h:422
    +
    #define LOW_TUMBLE_TRIGGER
    Definition defines.h:420
    +
    #define LIGHTNING_STRIKE_TRIGGER
    Definition defines.h:427
    +
    #define VERTICAL_TUMBLE_TRIGGER
    Definition defines.h:434
    +
    #define HIGH_TUMBLE_TRIGGER
    Definition defines.h:419
    diff --git a/defines_8h.js b/defines_8h.js index 0b17c49eb..4e0ce1162 100644 --- a/defines_8h.js +++ b/defines_8h.js @@ -52,7 +52,7 @@ var defines_8h = [ "CRITTER_TOUCH", "defines_8h.html#a833689b3e0bc04d2b19b9d1eafed0ea7", null ], [ "CRITTER_TOUCH_GATE", "defines_8h.html#aceca3d6acc1b6dabc20c4c2deff0b9ff", null ], [ "DATA_MENU", "defines_8h.html#a8158aa6dfe340352f5a9ce22c3295d31", null ], - [ "DEGREES_CONVERSION_FACTOR", "defines_8h.html#a5fe5c9e278625a540997d87c80f22208", null ], + [ "DEGREES", "defines_8h.html#a29a687ccf66fa4e1e852ecfaca24a63b", null ], [ "DEMO_FIVE", "defines_8h.html#a4d0cd80c1d8a9c1b8668c6bd4f8509de", null ], [ "DEMO_FOUR", "defines_8h.html#a718455dd2e94947933201e3718c5d87e", null ], [ "DEMO_MODE_ACTIVE", "defines_8h.html#a091671188899d1f6910c2c8a08d26697", null ], diff --git a/defines_8h_source.html b/defines_8h_source.html index 548060710..402d2e88e 100644 --- a/defines_8h_source.html +++ b/defines_8h_source.html @@ -339,175 +339,190 @@ $(function(){initNavTree('defines_8h_source.html',''); initResizable(true); });
    326#define BALLOON_STATUS_DEPARTING 2
    327
    331#define MAX_TIME 0x927C0
    -
    332#define DEGREES_CONVERSION_FACTOR 182
    -
    333
    -
    334// player->unk_046
    -
    335
    -
    336/* The first time you touch a penguin or bat, and anytime you touch a thwomp during a
    -
    337 race will set a flag which will cause your next spinout to be instant (i.e. no
    -
    338 sliding forward). Probably half-implemented code to prevent sliding through enemies,
    -
    339 but causes this bug */
    -
    340#define CRITTER_TOUCH 0x2 // Touched a penguin, bat or thwomp
    -
    341#define CRITTER_TOUCH_GATE 0x4
    -
    342#define INSTANT_SPINOUT 0x40
    -
    343
    -
    344// player->oobProps
    -
    345/* Deals with the lower out of bounds (OOB) plane on levels. Represented by fluids (water / lava)
    -
    346 or nothing for Rainbow Road and Skyscraper. */
    -
    347#define UNDER_OOB_OR_FLUID_LEVEL 0x1 // Set while mostly under the plane. Does not necessarily trigger Lakitu on Koopa Troopa Beach.
    -
    348#define PASS_OOB_OR_FLUID_LEVEL 0x2 // Set when passing through the lower plane in either direction
    -
    349// The next two are also activated when passing through the lower plane.
    -
    350#define UNDER_FLUID_LEVEL 0x4 // Stays active until Lakitu places back on track
    -
    351#define UNDER_OOB_LEVEL 0x8 // Active while under a non-fluid OOB plane. Is momentarily active when passing through fluids.
    -
    352
    -
    353
    -
    354/* UNK_002 has something to do with player animations. Each player has a 32-bit
    -
    355flag broken into 8 groups of 4 bits. Those 4 bits affect how each of the 8 players
    -
    356appear to the specified player */
    -
    357#define CHANGING_ANIMATION 0x1 // Seems to be set when the kart animation has to change.
    -
    358#define UNK_002_UNKNOWN_0x2 0x2
    -
    359#define UNK_002_UNKNOWN_0x4 0x4 /* Unclear, but has to do with viewing the side of player. At least tends to change if target
    -
    360player spins. Something with avoding rollover of aniamation frame data? */
    -
    361#define SIDE_OF_KART 0x8 // Seems to be whether you are in a rectangle shooting out from both sides of target player
    - -
    363#define WHISTLE 0x20 // Whistle spinout save graphic
    -
    364#define CRASH 0x40 // Crash! graphic (vertical tumble)
    -
    365#define WHIRRR 0x80 // Whirrr! graphic (spinning out)
    -
    366#define POOMP 0x100 // Poomp! graphic (landing from a height)
    -
    367#define BOING 0x800 // Boing! graphic (hopping)
    -
    368#define EXPLOSION 0x1000 // Big shock looking graphic when starting tumble
    -
    369
    -
    370// player->lakituProps
    -
    371#define LAKITU_RETRIEVAL 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track
    -
    372#define HELD_BY_LAKITU 0x2
    -
    373#define LAKITU_FIZZLE 0x4 // Disintegration and reintegration effect when transitioning from retrieval to placement
    -
    374#define LAKITU_SCENE 0x8 // the whole segment from when lakitu is called to when you regain control
    -
    375#define FRIGID_EFFECT 0x10 // Cold colors on Sherbet Land after in frigid water
    -
    376#define THAWING_EFFECT 0x20 // Regaining usual colors post frigid effect
    -
    377#define FROZEN_EFFECT 0x80 // In the ice cube
    -
    378#define WENT_OVER_OOB 0x100 // Player went over (or is on) an OOB area. Cancelled if touch back in bounds
    -
    379#define LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava
    -
    380#define LAKITU_WATER 0x2000 // dripping effect when retreived from water
    -
    381
    -
    382// player->kartProps
    -
    383#define BACK_UP 0x1
    -
    384#define RIGHT_TURN 0x2 // non-drifting (more than 5 degrees)
    -
    385#define LEFT_TURN 0x4 // non-drifting (more than 5 degrees)
    -
    386#define MOVE_BACKWARDS 0x8 // includes lakitu
    -
    387#define LOSE_GP_RACE 0x10 // pointless, only unsets itself
    -
    388#define THROTTLE 0x20 // Closely tied to just pressing A. Possible exception for AB-spins
    -
    389#define EARLY_SPINOUT_RIGHT 0x40 // Spinning out while facing right (not actually used for anything)
    -
    390#define EARLY_SPINOUT_LEFT 0x80 // Spinning out while facing left
    -
    391#define POST_TUMBLE_GAS 0x100 // Causes particles after a vertical tumble, I think
    -
    392#define BECOME_INVISIBLE 0x200
    -
    393#define UNUSED_0x400 0x400 // locked behind 0x800 (func_80091440)
    -
    394#define UNUSED_0x800 0x800 // locked behind 0x400 (func_8002B830 -> func_800911B4)
    -
    395#define UNUSED_0x1000 0x1000 // 0x1000 locked behind 0x400 (func_8002B830 -> func_800911B4)
    -
    396#define UNUSED_0x2000 0x2000 // 0x2000 locked behind 0x400 and 0x800 (func_8002B830 -> func_800911B4, apply_effect -> func_80091298,
    -
    397 // func_80091440)
    -
    398#define DRIVING_NEAR_SPINOUT 0x4000
    -
    399#define UNKNOWN_BATTLE_VAR 0x8000 // 0x8000 something battle related, unclear if ever set
    -
    400
    -
    401/*
    -
    402 * @brief triggers indicating that an effect should be applied to a kart
    -
    403 */
    -
    404#define HIT_BANANA_TRIGGER 0x1 // hits a banana
    -
    405#define HIGH_TUMBLE_TRIGGER 0x2 // hit by a red shell, blue shell, or hit a mole
    -
    406#define LOW_TUMBLE_TRIGGER 0x4 // hit by a green shell
    -
    407#define DRIVING_SPINOUT_TRIGGER 0x80 // spinning out from erratic driving
    -
    408#define THWOMP_SQUISH_TRIGGER 0x100 // stomped by thwomp
    -
    409#define SHROOM_TRIGGER 0x200 // being boosted by trigger a mushroom
    -
    410#define BOO_TRIGGER 0x800 // being a boo
    -
    411#define UNUSED_TRIGGER_0x1000 0x1000 // Unused
    -
    412#define STAR_TRIGGER 0x2000 // Starting a star
    -
    413#define LIGHTNING_STRIKE_TRIGGER 0x4000 // Struck by lightning
    -
    414#define BOOST_RAMP_WOOD_TRIGGER 0x8000 // being boosted by a ramp
    -
    415#define UNUSED_TRIGGER_0x20000 0x20000 // Unused
    -
    416#define DRAG_ITEM_EFFECT 0x40000 // holding a non-shell item behind you
    -
    417#define HIT_PADDLE_BOAT_TRIGGER 0x80000 // hit paddle boat
    -
    418#define UNUSED_TRIGGER_0x10000 0x100000 // Unused
    -
    419#define SPINOUT_TRIGGER 0x200000 // hit crab or spiny spinout or losing versus race
    -
    420#define VERTICAL_TUMBLE_TRIGGER 0x400000 // hitting a fake item / bomb / snowman / car / train
    -
    421#define BOOST_RAMP_ASPHALT_TRIGGER 0x800000 // being boosted by a boost pad
    -
    422#define HIT_BY_STAR_TRIGGER 0x1000000 // being hit by a star
    -
    423#define START_BOOST_TRIGGER 0x2000000 // Start boost
    -
    424#define LOSE_BATTLE_EFFECT 0x4000000 // When losing battle mode
    -
    425#define BECOME_BOMB_EFFECT 0x8000000 // When becoming a bomb in battle mode
    -
    426#define START_SPINOUT_TRIGGER 0x10000000 // Spinning out by holding gas at start of race
    - -
    428#define ALL_TRIGGERS (0xFFFFFFFF)
    -
    429#define RACING_SPINOUT_TRIGGERS (SPINOUT_TRIGGER | DRIVING_SPINOUT_TRIGGER | HIT_BANANA_TRIGGER) // 0x200081
    -
    430#define RAMP_BOOST_TRIGGERS (BOOST_RAMP_ASPHALT_TRIGGER | BOOST_RAMP_WOOD_TRIGGER) // 0x00808000
    -
    -
    431#define ANY_BOOST_TRIGGERS (RAMP_BOOST_TRIGGERS | SHROOM_TRIGGER) // 0x00808200
    -
    432#define STATE_TRANSITION_TRIGGERS \
    +
    332
    +
    333/* The codebase uses 16-bit representations of angles (either u16 or s16 depending on context).
    +
    334 Thus, values of [0, 2**16 - 1] (for u16) or [-2**15, 2**15 - 1] (for s16) represent evenly
    +
    335 spaced angles around a circle. (e.g. (u16) 0x8000 is 2**15, which represents half a circle, or 180 degrees)
    +
    336
    +
    337 However, it is clear that the developers were thinking in terms of degrees and often worked
    +
    338 with values that corresponded to a specific number of degrees. The DEGREES macro converts
    +
    339 from the specified number of degrees to the 16-bit representation. This allows readers to
    +
    340 think in degrees while leaving the compiled machine code unaffected.
    +
    341
    +
    342 Note that 2**16 / 360 is not an integer. It has a value of ~182.04, but is rounded to 182
    +
    343 by the DEGREES function. There is some inconsistency with how the codebase handles this.
    +
    344 e.g. 70 degrees might be represented as DEGREES(70) or 70 * DEGREES(1), which are slightly
    +
    345 different values due to this rounding. As a practical matter, this rounding is less than
    +
    346 0.1 degrees in all cases */
    +
    347#define DEGREES(degree) ((u16) (degree * 65536.0f / 360.0f))
    +
    348
    +
    349// player->unk_046
    +
    350
    +
    351/* The first time you touch a penguin or bat, and anytime you touch a thwomp during a
    +
    352 race will set a flag which will cause your next spinout to be instant (i.e. no
    +
    353 sliding forward). Probably half-implemented code to prevent sliding through enemies,
    +
    354 but causes this bug */
    +
    355#define CRITTER_TOUCH 0x2 // Touched a penguin, bat or thwomp
    +
    356#define CRITTER_TOUCH_GATE 0x4
    +
    357#define INSTANT_SPINOUT 0x40
    +
    358
    +
    359// player->oobProps
    +
    360/* Deals with the lower out of bounds (OOB) plane on levels. Represented by fluids (water / lava)
    +
    361 or nothing for Rainbow Road and Skyscraper. */
    +
    362#define UNDER_OOB_OR_FLUID_LEVEL 0x1 // Set while mostly under the plane. Does not necessarily trigger Lakitu on Koopa Troopa Beach.
    +
    363#define PASS_OOB_OR_FLUID_LEVEL 0x2 // Set when passing through the lower plane in either direction
    +
    364// The next two are also activated when passing through the lower plane.
    +
    365#define UNDER_FLUID_LEVEL 0x4 // Stays active until Lakitu places back on track
    +
    366#define UNDER_OOB_LEVEL 0x8 // Active while under a non-fluid OOB plane. Is momentarily active when passing through fluids.
    +
    367
    +
    368
    +
    369/* UNK_002 has something to do with player animations. Each player has a 32-bit
    +
    370flag broken into 8 groups of 4 bits. Those 4 bits affect how each of the 8 players
    +
    371appear to the specified player */
    +
    372#define CHANGING_ANIMATION 0x1 // Seems to be set when the kart animation has to change.
    +
    373#define UNK_002_UNKNOWN_0x2 0x2
    +
    374#define UNK_002_UNKNOWN_0x4 0x4 /* Unclear, but has to do with viewing the side of player. At least tends to change if target
    +
    375player spins. Something with avoding rollover of aniamation frame data? */
    +
    376#define SIDE_OF_KART 0x8 // Seems to be whether you are in a rectangle shooting out from both sides of target player
    + +
    378#define WHISTLE 0x20 // Whistle spinout save graphic
    +
    379#define CRASH 0x40 // Crash! graphic (vertical tumble)
    +
    380#define WHIRRR 0x80 // Whirrr! graphic (spinning out)
    +
    381#define POOMP 0x100 // Poomp! graphic (landing from a height)
    +
    382#define BOING 0x800 // Boing! graphic (hopping)
    +
    383#define EXPLOSION 0x1000 // Big shock looking graphic when starting tumble
    +
    384
    +
    385// player->lakituProps
    +
    386#define LAKITU_RETRIEVAL 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track
    +
    387#define HELD_BY_LAKITU 0x2
    +
    388#define LAKITU_FIZZLE 0x4 // Disintegration and reintegration effect when transitioning from retrieval to placement
    +
    389#define LAKITU_SCENE 0x8 // the whole segment from when lakitu is called to when you regain control
    +
    390#define FRIGID_EFFECT 0x10 // Cold colors on Sherbet Land after in frigid water
    +
    391#define THAWING_EFFECT 0x20 // Regaining usual colors post frigid effect
    +
    392#define FROZEN_EFFECT 0x80 // In the ice cube
    +
    393#define WENT_OVER_OOB 0x100 // Player went over (or is on) an OOB area. Cancelled if touch back in bounds
    +
    394#define LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava
    +
    395#define LAKITU_WATER 0x2000 // dripping effect when retreived from water
    +
    396
    +
    397// player->kartProps
    +
    398#define BACK_UP 0x1
    +
    399#define RIGHT_TURN 0x2 // non-drifting (more than 5 degrees)
    +
    400#define LEFT_TURN 0x4 // non-drifting (more than 5 degrees)
    +
    401#define MOVE_BACKWARDS 0x8 // includes lakitu
    +
    402#define LOSE_GP_RACE 0x10 // pointless, only unsets itself
    +
    403#define THROTTLE 0x20 // Closely tied to just pressing A. Possible exception for AB-spins
    +
    404#define EARLY_SPINOUT_RIGHT 0x40 // Spinning out while facing right (not actually used for anything)
    +
    405#define EARLY_SPINOUT_LEFT 0x80 // Spinning out while facing left
    +
    406#define POST_TUMBLE_GAS 0x100 // Causes particles after a vertical tumble, I think
    +
    407#define BECOME_INVISIBLE 0x200
    +
    408#define UNUSED_0x400 0x400 // locked behind 0x800 (func_80091440)
    +
    409#define UNUSED_0x800 0x800 // locked behind 0x400 (func_8002B830 -> func_800911B4)
    +
    410#define UNUSED_0x1000 0x1000 // 0x1000 locked behind 0x400 (func_8002B830 -> func_800911B4)
    +
    411#define UNUSED_0x2000 0x2000 // 0x2000 locked behind 0x400 and 0x800 (func_8002B830 -> func_800911B4, apply_effect -> func_80091298,
    +
    412 // func_80091440)
    +
    413#define DRIVING_NEAR_SPINOUT 0x4000
    +
    414#define UNKNOWN_BATTLE_VAR 0x8000 // 0x8000 something battle related, unclear if ever set
    +
    415
    +
    416/*
    +
    417 * @brief triggers indicating that an effect should be applied to a kart
    +
    418 */
    +
    419#define HIT_BANANA_TRIGGER 0x1 // hits a banana
    +
    420#define HIGH_TUMBLE_TRIGGER 0x2 // hit by a red shell, blue shell, or hit a mole
    +
    421#define LOW_TUMBLE_TRIGGER 0x4 // hit by a green shell
    +
    422#define DRIVING_SPINOUT_TRIGGER 0x80 // spinning out from erratic driving
    +
    423#define THWOMP_SQUISH_TRIGGER 0x100 // stomped by thwomp
    +
    424#define SHROOM_TRIGGER 0x200 // being boosted by trigger a mushroom
    +
    425#define BOO_TRIGGER 0x800 // being a boo
    +
    426#define UNUSED_TRIGGER_0x1000 0x1000 // Unused
    +
    427#define STAR_TRIGGER 0x2000 // Starting a star
    +
    428#define LIGHTNING_STRIKE_TRIGGER 0x4000 // Struck by lightning
    +
    429#define BOOST_RAMP_WOOD_TRIGGER 0x8000 // being boosted by a ramp
    +
    430#define UNUSED_TRIGGER_0x20000 0x20000 // Unused
    +
    431#define DRAG_ITEM_EFFECT 0x40000 // holding a non-shell item behind you
    +
    432#define HIT_PADDLE_BOAT_TRIGGER 0x80000 // hit paddle boat
    +
    433#define UNUSED_TRIGGER_0x10000 0x100000 // Unused
    +
    434#define SPINOUT_TRIGGER 0x200000 // hit crab or spiny spinout or losing versus race
    +
    435#define VERTICAL_TUMBLE_TRIGGER 0x400000 // hitting a fake item / bomb / snowman / car / train
    +
    436#define BOOST_RAMP_ASPHALT_TRIGGER 0x800000 // being boosted by a boost pad
    +
    437#define HIT_BY_STAR_TRIGGER 0x1000000 // being hit by a star
    +
    438#define START_BOOST_TRIGGER 0x2000000 // Start boost
    +
    439#define LOSE_BATTLE_EFFECT 0x4000000 // When losing battle mode
    +
    440#define BECOME_BOMB_EFFECT 0x8000000 // When becoming a bomb in battle mode
    +
    441#define START_SPINOUT_TRIGGER 0x10000000 // Spinning out by holding gas at start of race
    + +
    443#define ALL_TRIGGERS (0xFFFFFFFF)
    +
    444#define RACING_SPINOUT_TRIGGERS (SPINOUT_TRIGGER | DRIVING_SPINOUT_TRIGGER | HIT_BANANA_TRIGGER) // 0x200081
    +
    445#define RAMP_BOOST_TRIGGERS (BOOST_RAMP_ASPHALT_TRIGGER | BOOST_RAMP_WOOD_TRIGGER) // 0x00808000
    +
    +
    446#define ANY_BOOST_TRIGGERS (RAMP_BOOST_TRIGGERS | SHROOM_TRIGGER) // 0x00808200
    +
    447#define STATE_TRANSITION_TRIGGERS \
    -
    -
    433 (STAR_TRIGGER | BOO_TRIGGER | UNUSED_TRIGGER_0x1000 | UNUSED_TRIGGER_0x20000) // 0x00023800
    -
    434#define HIT_TRIGGERS \
    -
    435 (HIT_BY_STAR_TRIGGER | VERTICAL_TUMBLE_TRIGGER | LIGHTNING_STRIKE_TRIGGER | LOW_TUMBLE_TRIGGER | \
    +
    +
    448 (STAR_TRIGGER | BOO_TRIGGER | UNUSED_TRIGGER_0x1000 | UNUSED_TRIGGER_0x20000) // 0x00023800
    +
    449#define HIT_TRIGGERS \
    +
    450 (HIT_BY_STAR_TRIGGER | VERTICAL_TUMBLE_TRIGGER | LIGHTNING_STRIKE_TRIGGER | LOW_TUMBLE_TRIGGER | \
    -
    436 HIGH_TUMBLE_TRIGGER | THWOMP_SQUISH_TRIGGER) // 0x01404106
    -
    437
    -
    442// clang-format off
    -
    443#define BRAKING_EFFECT 0x1 // pressing brake
    -
    444#define HOP_EFFECT 0x2 // from when you hop to when you land
    -
    445#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by DKJP ramp
    -
    446#define MIDAIR_EFFECT 0x8 // in midair
    -
    447#define DRIFTING_EFFECT 0x10 // drifting
    -
    448#define AB_SPIN_EFFECT 0x20 // spinning with a+b
    -
    449#define DRIVING_SPINOUT_EFFECT 0x40 // spinout (from erratic driving) or crab
    -
    450#define BANANA_SPINOUT_EFFECT 0x80 // spinout (from hitting a banana or another driver)
    -
    451#define MINI_TURBO_EFFECT 0x100 // mini-turbo
    -
    452#define STAR_EFFECT 0x200 // using a star
    -
    453#define HIT_BY_GREEN_SHELL_EFFECT 0x400 // tumbling after hit with a green shell
    -
    454#define BANANA_NEAR_SPINOUT_EFFECT 0x800 // decreased steering sensitivity after hitting a banana, but before spinning out
    -
    455#define LOST_RACE_EFFECT 0x1000 // lost race in GP mode
    -
    456#define MUSHROOM_EFFECT 0x2000 // using a mushroom
    -
    457#define EARLY_START_SPINOUT_EFFECT 0x4000 // spinning out by pressing a too early at the startline or after lakitu retrieves you
    -
    458#define ENEMY_BONK_EFFECT 0x8000 // bouncing off an enemy (penguin, thwomp, etc)
    -
    459#define TERRAIN_TUMBLE_EFFECT 0x10000 // tumbling after hitting steep terrain
    -
    460#define LIGHTNING_STRIKE_EFFECT 0x20000 // spinning and shrinking during a lightning strike
    -
    461#define BANANA_SPINOUT_SAVE_EFFECT 0x40000 // avoid spinning out by pressing b
    -
    462#define UNKNOWN_EFFECT_0x80000 0x80000 // Only set when soundEffect 0x1000 is set. Unclear if it ever is
    -
    463#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by the Royal Raceway ramp
    -
    464#define CPU_FAST_EFFECT 0x200000 // CPU Rubberbanding flag
    -
    465#define REVERSE_EFFECT 0x400000 // facing backwards
    -
    466#define UNKNOWN_EFFECT_0x800000 0x800000 // Only set when soundEffect 0x20000 is set
    -
    467#define EXPLOSION_CRASH_EFFECT 0x1000000 // vertical launch (hitting car, snowman, etc.)
    -
    468#define HIT_BY_STAR_EFFECT 0x2000000 // being hit by a red shell or star
    -
    469#define SQUISH_EFFECT 0x4000000 // hitting an object
    -
    470#define POST_SQUISH_EFFECT 0x8000000 // briefly after being squished (boulder, thwomp, etc.)
    -
    471#define UNKNOWN_EFFECT_0x10000000 0x10000000 // UNUSED (set in unused func_8008FDF4)
    -
    472#define DRIFT_OUTSIDE_EFFECT 0x20000000 // drifting toward the outside of your turn
    -
    473#define LIGHTNING_EFFECT 0x40000000 // suffering the effects of lightning
    -
    474#define BOO_EFFECT 0x80000000 // being a boo
    -
    475#define ALL_EFFECTS 0xFFFFFFFF
    -
    476// clang-format on
    -
    477
    -
    481#define STAR_EFFECT_DURATION 0xA
    -
    482#define BOO_EFFECT_DURATION 0x7
    -
    483
    -
    487#define ALPHA_MAX 0xFF
    -
    488#define ALPHA_MIN 0x0
    -
    489#define ALPHA_BOO_EFFECT 0x60
    -
    490
    -
    495#define SPAWN_FIRST_SHELL 0
    -
    496#define SPAWN_SECOND_SHELL 1
    -
    497#define SPAWN_THIRD_SHELL 2
    - -
    499#define GPACK_RGB888(r, g, b) (((r) << 16) | ((g) << 8) | (b))
    -
    500#define COLOR_LIGHT GPACK_RGB888(0x1C, 0x00, 0x00)
    -
    501#define COLOR_LAVA GPACK_RGB888(0x34, 0x00, 0x00)
    -
    502#define COLOR_BLACK GPACK_RGB888(0, 0, 0)
    -
    503
    -
    504#endif // DEFINES_H
    +
    451 HIGH_TUMBLE_TRIGGER | THWOMP_SQUISH_TRIGGER) // 0x01404106
    +
    452
    +
    457// clang-format off
    +
    458#define BRAKING_EFFECT 0x1 // pressing brake
    +
    459#define HOP_EFFECT 0x2 // from when you hop to when you land
    +
    460#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by DKJP ramp
    +
    461#define MIDAIR_EFFECT 0x8 // in midair
    +
    462#define DRIFTING_EFFECT 0x10 // drifting
    +
    463#define AB_SPIN_EFFECT 0x20 // spinning with a+b
    +
    464#define DRIVING_SPINOUT_EFFECT 0x40 // spinout (from erratic driving) or crab
    +
    465#define BANANA_SPINOUT_EFFECT 0x80 // spinout (from hitting a banana or another driver)
    +
    466#define MINI_TURBO_EFFECT 0x100 // mini-turbo
    +
    467#define STAR_EFFECT 0x200 // using a star
    +
    468#define HIT_BY_GREEN_SHELL_EFFECT 0x400 // tumbling after hit with a green shell
    +
    469#define BANANA_NEAR_SPINOUT_EFFECT 0x800 // decreased steering sensitivity after hitting a banana, but before spinning out
    +
    470#define LOST_RACE_EFFECT 0x1000 // lost race in GP mode
    +
    471#define MUSHROOM_EFFECT 0x2000 // using a mushroom
    +
    472#define EARLY_START_SPINOUT_EFFECT 0x4000 // spinning out by pressing a too early at the startline or after lakitu retrieves you
    +
    473#define ENEMY_BONK_EFFECT 0x8000 // bouncing off an enemy (penguin, thwomp, etc)
    +
    474#define TERRAIN_TUMBLE_EFFECT 0x10000 // tumbling after hitting steep terrain
    +
    475#define LIGHTNING_STRIKE_EFFECT 0x20000 // spinning and shrinking during a lightning strike
    +
    476#define BANANA_SPINOUT_SAVE_EFFECT 0x40000 // avoid spinning out by pressing b
    +
    477#define UNKNOWN_EFFECT_0x80000 0x80000 // Only set when soundEffect 0x1000 is set. Unclear if it ever is
    +
    478#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by the Royal Raceway ramp
    +
    479#define CPU_FAST_EFFECT 0x200000 // CPU Rubberbanding flag
    +
    480#define REVERSE_EFFECT 0x400000 // facing backwards
    +
    481#define UNKNOWN_EFFECT_0x800000 0x800000 // Only set when soundEffect 0x20000 is set
    +
    482#define EXPLOSION_CRASH_EFFECT 0x1000000 // vertical launch (hitting car, snowman, etc.)
    +
    483#define HIT_BY_STAR_EFFECT 0x2000000 // being hit by a red shell or star
    +
    484#define SQUISH_EFFECT 0x4000000 // hitting an object
    +
    485#define POST_SQUISH_EFFECT 0x8000000 // briefly after being squished (boulder, thwomp, etc.)
    +
    486#define UNKNOWN_EFFECT_0x10000000 0x10000000 // UNUSED (set in unused func_8008FDF4)
    +
    487#define DRIFT_OUTSIDE_EFFECT 0x20000000 // drifting toward the outside of your turn
    +
    488#define LIGHTNING_EFFECT 0x40000000 // suffering the effects of lightning
    +
    489#define BOO_EFFECT 0x80000000 // being a boo
    +
    490#define ALL_EFFECTS 0xFFFFFFFF
    +
    491// clang-format on
    +
    492
    +
    496#define STAR_EFFECT_DURATION 0xA
    +
    497#define BOO_EFFECT_DURATION 0x7
    +
    498
    +
    502#define ALPHA_MAX 0xFF
    +
    503#define ALPHA_MIN 0x0
    +
    504#define ALPHA_BOO_EFFECT 0x60
    505
    -
    512#define GRID_SIZE 32
    - -
    514#define FACING_Y_AXIS 0x4000
    -
    515#define FACING_X_AXIS 0x8000
    -
    516#define FACING_Z_AXIS 0x2000
    +
    510#define SPAWN_FIRST_SHELL 0
    +
    511#define SPAWN_SECOND_SHELL 1
    +
    512#define SPAWN_THIRD_SHELL 2
    + +
    514#define GPACK_RGB888(r, g, b) (((r) << 16) | ((g) << 8) | (b))
    +
    515#define COLOR_LIGHT GPACK_RGB888(0x1C, 0x00, 0x00)
    +
    516#define COLOR_LAVA GPACK_RGB888(0x34, 0x00, 0x00)
    +
    517#define COLOR_BLACK GPACK_RGB888(0, 0, 0)
    +
    518
    +
    519#endif // DEFINES_H
    +
    520
    +
    527#define GRID_SIZE 32
    + +
    529#define FACING_Y_AXIS 0x4000
    +
    530#define FACING_X_AXIS 0x8000
    +
    531#define FACING_Z_AXIS 0x2000
    COLOR_ID
    Text color options The 2 cycling options cycle through Blue -> Green -> Red Cycle 2 appears to be one...
    Definition defines.h:248
    @ TEXT_BLUE_GREEN_RED_CYCLE_2
    Definition defines.h:254
    @ TEXT_BLUE_GREEN_RED_CYCLE_1
    Definition defines.h:253
    diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 0e2670166..b9f8f34f4 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -9,13 +9,10 @@ - + - - - @@ -70,12 +67,15 @@ - + + + + @@ -96,11 +96,11 @@ - + @@ -259,9 +259,6 @@ - - - @@ -384,8 +381,8 @@ - + @@ -415,15 +412,18 @@ + - + + + - + @@ -436,9 +436,9 @@ - + @@ -447,12 +447,12 @@ + - @@ -539,9 +539,9 @@ + - @@ -560,8 +560,8 @@ - + @@ -573,10 +573,10 @@ + - @@ -618,8 +618,8 @@ - + @@ -655,8 +655,8 @@ - + @@ -755,8 +755,8 @@ - + @@ -858,13 +858,14 @@ - + + @@ -873,7 +874,6 @@ - @@ -891,15 +891,16 @@ - + - + + @@ -907,7 +908,6 @@ - @@ -932,9 +932,9 @@ - + @@ -947,8 +947,8 @@ - + @@ -1002,9 +1002,9 @@ + - @@ -6837,7 +6837,7 @@ - + @@ -8274,6 +8274,7 @@ + @@ -8325,7 +8326,6 @@ - @@ -22642,7 +22642,7 @@ - + diff --git a/effects_8c.html b/effects_8c.html index f0b8d5231..a1757628d 100644 --- a/effects_8c.html +++ b/effects_8c.html @@ -397,23 +397,23 @@ Variables -
    #define BOOST_RAMP_ASPHALT_EFFECT
    Definition defines.h:462
    -
    #define SQUISH_EFFECT
    Definition defines.h:468
    -
    #define LIGHTNING_STRIKE_EFFECT
    Definition defines.h:459
    -
    #define DRIVING_SPINOUT_EFFECT
    Definition defines.h:448
    -
    #define BANANA_NEAR_SPINOUT_EFFECT
    Definition defines.h:453
    -
    #define UNKNOWN_EFFECT_0x10000000
    Definition defines.h:470
    -
    #define STAR_EFFECT
    Definition defines.h:451
    -
    #define LIGHTNING_EFFECT
    Definition defines.h:472
    -
    #define UNKNOWN_EFFECT_0x800000
    Definition defines.h:465
    -
    #define BANANA_SPINOUT_EFFECT
    Definition defines.h:449
    -
    #define EARLY_START_SPINOUT_EFFECT
    Definition defines.h:456
    -
    #define BOOST_RAMP_WOOD_EFFECT
    Definition defines.h:444
    -
    #define TERRAIN_TUMBLE_EFFECT
    Definition defines.h:458
    -
    #define EXPLOSION_CRASH_EFFECT
    Definition defines.h:466
    -
    #define POST_SQUISH_EFFECT
    Definition defines.h:469
    -
    #define HIT_BY_GREEN_SHELL_EFFECT
    Definition defines.h:452
    -
    #define HIT_BY_STAR_EFFECT
    Definition defines.h:467
    +
    #define BOOST_RAMP_ASPHALT_EFFECT
    Definition defines.h:477
    +
    #define SQUISH_EFFECT
    Definition defines.h:483
    +
    #define LIGHTNING_STRIKE_EFFECT
    Definition defines.h:474
    +
    #define DRIVING_SPINOUT_EFFECT
    Definition defines.h:463
    +
    #define BANANA_NEAR_SPINOUT_EFFECT
    Definition defines.h:468
    +
    #define UNKNOWN_EFFECT_0x10000000
    Definition defines.h:485
    +
    #define STAR_EFFECT
    Definition defines.h:466
    +
    #define LIGHTNING_EFFECT
    Definition defines.h:487
    +
    #define UNKNOWN_EFFECT_0x800000
    Definition defines.h:480
    +
    #define BANANA_SPINOUT_EFFECT
    Definition defines.h:464
    +
    #define EARLY_START_SPINOUT_EFFECT
    Definition defines.h:471
    +
    #define BOOST_RAMP_WOOD_EFFECT
    Definition defines.h:459
    +
    #define TERRAIN_TUMBLE_EFFECT
    Definition defines.h:473
    +
    #define EXPLOSION_CRASH_EFFECT
    Definition defines.h:481
    +
    #define POST_SQUISH_EFFECT
    Definition defines.h:484
    +
    #define HIT_BY_GREEN_SHELL_EFFECT
    Definition defines.h:467
    +
    #define HIT_BY_STAR_EFFECT
    Definition defines.h:482
    diff --git a/fake__item__box_2render_8inc_8c_source.html b/fake__item__box_2render_8inc_8c_source.html index e180e85cc..9f0e91686 100644 --- a/fake__item__box_2render_8inc_8c_source.html +++ b/fake__item__box_2render_8inc_8c_source.html @@ -165,109 +165,110 @@ $(function(){initNavTree('fake__item__box_2render_8inc_8c_source.html',''); init
    60
    61 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    -
    63 if ((fakeItemBox->rot[1] < 0xAA1) && (fakeItemBox->rot[1] > 0)) {
    - -
    65 } else if ((fakeItemBox->rot[1] >= 0x6AA5) && (fakeItemBox->rot[1] < 0x754E)) {
    - -
    67 } else if ((fakeItemBox->rot[1] >= 0x38E1) && (fakeItemBox->rot[1] < 0x438A)) {
    - -
    69 } else if ((fakeItemBox->rot[1] >= 0xC711) && (fakeItemBox->rot[1] < 0xD1BA)) {
    - -
    71 } else {
    -
    72 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    - -
    74 }
    -
    75 gSPDisplayList(gDisplayListHead++, D_0D003090);
    -
    76 } else {
    -
    77 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    -
    78 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
    -
    79 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    -
    80 thing = fakeItemBox->someTimer;
    -
    81 mtxf_rotate_zxy_translate(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
    -
    82 if (thing < 10.0f) {
    -
    83 someMultiplier = 1.0f;
    -
    84 } else {
    -
    85 someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f);
    -
    86 }
    -
    87 mtxf_scale(someMatrix2, someMultiplier);
    -
    88 if (fakeItemBox->someTimer & 1) {
    - -
    90 } else {
    - -
    92 }
    -
    93 temp_f2 = 2.0f * thing;
    -
    94 someVec[0] = 0.0f;
    -
    95 someVec[1] = temp_f2;
    -
    96 someVec[2] = thing;
    -
    97 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    98
    -
    99 if (!render_set_position(someMatrix3, 0)) {
    -
    100 return;
    -
    101 }
    -
    102
    -
    103 gSPDisplayList(gDisplayListHead++, D_0D003158);
    -
    104 temp_f2_2 = 0.8f * thing;
    -
    105 temp_f12 = 0.5f * thing;
    -
    106 someVec[0] = temp_f2_2;
    -
    107 someVec[1] = 2.3f * thing;
    -
    108 someVec[2] = temp_f12;
    -
    109 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    110
    -
    111 if (!render_set_position(someMatrix3, 0)) {
    -
    112 return;
    -
    113 }
    -
    114
    -
    115 gSPDisplayList(gDisplayListHead++, D_0D0031B8);
    -
    116 temp_f0_2 = -0.5f * thing;
    -
    117 someVec[0] = temp_f2_2;
    -
    118 someVec[1] = 1.2f * thing;
    -
    119 someVec[2] = temp_f0_2;
    -
    120 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    121
    -
    122 if (!render_set_position(someMatrix3, 0)) {
    -
    123 return;
    -
    124 }
    -
    125
    -
    126 gSPDisplayList(gDisplayListHead++, D_0D003128);
    -
    127 if (!(fakeItemBox->someTimer & 1)) {
    - -
    129 } else {
    - -
    131 }
    -
    132 someVec[0] = 0.0f;
    -
    133 someVec[1] = 1.8f * thing;
    -
    134 someVec[2] = -1.0f * thing;
    -
    135 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    136
    -
    137 if (!render_set_position(someMatrix3, 0)) {
    -
    138 return;
    -
    139 }
    -
    140
    -
    141 gSPDisplayList(gDisplayListHead++, D_0D0031E8);
    -
    142 temp_f0_3 = -0.8f * thing;
    -
    143 someVec[0] = temp_f0_3;
    -
    144 someVec[1] = 0.6f * thing;
    -
    145 someVec[2] = temp_f0_2;
    -
    146 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    147
    -
    148 if (!render_set_position(someMatrix3, 0)) {
    -
    149 return;
    -
    150 }
    -
    151
    -
    152 gSPDisplayList(gDisplayListHead++, D_0D003188);
    -
    153 someVec[0] = temp_f0_3;
    -
    154 someVec[1] = temp_f2;
    -
    155 someVec[2] = temp_f12;
    -
    156 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    -
    157
    -
    158 if (!render_set_position(someMatrix3, 0)) {
    -
    159 return;
    -
    160 }
    -
    161
    -
    162 gSPDisplayList(gDisplayListHead++, D_0D0030F8);
    -
    163 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
    -
    164 }
    -
    165}
    +
    63 // unclear why it is 14.95 degrees instead of 15. Perhaps just a typo when entering the value as a s16.
    +
    64 if ((fakeItemBox->rot[1] < DEGREES(14.95f)) && (fakeItemBox->rot[1] > 0)) {
    + +
    66 } else if ((fakeItemBox->rot[1] > (150 * DEGREES(1))) && (fakeItemBox->rot[1] < (165 * DEGREES(1)))) {
    + +
    68 } else if ((fakeItemBox->rot[1] > (80 * DEGREES(1))) && (fakeItemBox->rot[1] < (95 * DEGREES(1)))) {
    + +
    70 } else if ((fakeItemBox->rot[1] > (280 * DEGREES(1))) && (fakeItemBox->rot[1] < (295 * DEGREES(1)))) {
    + +
    72 } else {
    +
    73 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    + +
    75 }
    +
    76 gSPDisplayList(gDisplayListHead++, D_0D003090);
    +
    77 } else {
    +
    78 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    +
    79 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
    +
    80 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    +
    81 thing = fakeItemBox->someTimer;
    +
    82 mtxf_rotate_zxy_translate(someMatrix2, fakeItemBox->pos, fakeItemBox->rot);
    +
    83 if (thing < 10.0f) {
    +
    84 someMultiplier = 1.0f;
    +
    85 } else {
    +
    86 someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f);
    +
    87 }
    +
    88 mtxf_scale(someMatrix2, someMultiplier);
    +
    89 if (fakeItemBox->someTimer & 1) {
    + +
    91 } else {
    + +
    93 }
    +
    94 temp_f2 = 2.0f * thing;
    +
    95 someVec[0] = 0.0f;
    +
    96 someVec[1] = temp_f2;
    +
    97 someVec[2] = thing;
    +
    98 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    99
    +
    100 if (!render_set_position(someMatrix3, 0)) {
    +
    101 return;
    +
    102 }
    +
    103
    +
    104 gSPDisplayList(gDisplayListHead++, D_0D003158);
    +
    105 temp_f2_2 = 0.8f * thing;
    +
    106 temp_f12 = 0.5f * thing;
    +
    107 someVec[0] = temp_f2_2;
    +
    108 someVec[1] = 2.3f * thing;
    +
    109 someVec[2] = temp_f12;
    +
    110 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    111
    +
    112 if (!render_set_position(someMatrix3, 0)) {
    +
    113 return;
    +
    114 }
    +
    115
    +
    116 gSPDisplayList(gDisplayListHead++, D_0D0031B8);
    +
    117 temp_f0_2 = -0.5f * thing;
    +
    118 someVec[0] = temp_f2_2;
    +
    119 someVec[1] = 1.2f * thing;
    +
    120 someVec[2] = temp_f0_2;
    +
    121 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    122
    +
    123 if (!render_set_position(someMatrix3, 0)) {
    +
    124 return;
    +
    125 }
    +
    126
    +
    127 gSPDisplayList(gDisplayListHead++, D_0D003128);
    +
    128 if (!(fakeItemBox->someTimer & 1)) {
    + +
    130 } else {
    + +
    132 }
    +
    133 someVec[0] = 0.0f;
    +
    134 someVec[1] = 1.8f * thing;
    +
    135 someVec[2] = -1.0f * thing;
    +
    136 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    137
    +
    138 if (!render_set_position(someMatrix3, 0)) {
    +
    139 return;
    +
    140 }
    +
    141
    +
    142 gSPDisplayList(gDisplayListHead++, D_0D0031E8);
    +
    143 temp_f0_3 = -0.8f * thing;
    +
    144 someVec[0] = temp_f0_3;
    +
    145 someVec[1] = 0.6f * thing;
    +
    146 someVec[2] = temp_f0_2;
    +
    147 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    148
    +
    149 if (!render_set_position(someMatrix3, 0)) {
    +
    150 return;
    +
    151 }
    +
    152
    +
    153 gSPDisplayList(gDisplayListHead++, D_0D003188);
    +
    154 someVec[0] = temp_f0_3;
    +
    155 someVec[1] = temp_f2;
    +
    156 someVec[2] = temp_f12;
    +
    157 add_translate_mat4_vec3f(someMatrix2, someMatrix3, someVec);
    +
    158
    +
    159 if (!render_set_position(someMatrix3, 0)) {
    +
    160 return;
    +
    161 }
    +
    162
    +
    163 gSPDisplayList(gDisplayListHead++, D_0D0030F8);
    +
    164 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
    +
    165 }
    +
    166}
    void actor_not_rendered(Camera *arg0, struct Actor *arg1)
    Definition actors.c:283
    void actor_rendered(Camera *arg0, struct Actor *arg1)
    Definition actors.c:300
    @@ -287,6 +288,7 @@ $(function(){initNavTree('fake__item__box_2render_8inc_8c_source.html',''); init
    f32 Vec3f[3]
    Definition common_structs.h:6
    s16 Vec3s[3]
    Definition common_structs.h:11
    f32 Mat4[4][4]
    Definition common_structs.h:16
    +
    #define DEGREES(degree)
    Definition defines.h:347
    void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox)
    Renders the fake item box actor.
    Definition render.inc.c:12
    #define G_CULL_BACK
    Definition gbi.h:351
    diff --git a/fake__item__box_2update_8inc_8c_source.html b/fake__item__box_2update_8inc_8c_source.html index a98052447..7669c2cf6 100644 --- a/fake__item__box_2update_8inc_8c_source.html +++ b/fake__item__box_2update_8inc_8c_source.html @@ -127,9 +127,9 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    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;
    -
    25 fake_item_box->rot[1] += 0x16C;
    -
    26 fake_item_box->rot[2] -= 0xB6;
    +
    24 fake_item_box->rot[0] -= DEGREES(1);
    +
    25 fake_item_box->rot[1] += DEGREES(2);
    +
    26 fake_item_box->rot[2] -= DEGREES(1);
    27
    28 temp_f14 = temp_v0_4->pos[0] - fake_item_box->pos[0];
    29 temp_f16 = temp_v0_4->pos[1] - fake_item_box->pos[1];
    @@ -177,9 +177,9 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    71 fake_item_box->someTimer--;
    72 }
    73 }
    -
    74 fake_item_box->rot[0] -= 0xB6;
    -
    75 fake_item_box->rot[1] += 0x16C;
    -
    76 fake_item_box->rot[2] -= 0xB6;
    +
    74 fake_item_box->rot[0] -= DEGREES(1);
    +
    75 fake_item_box->rot[1] += DEGREES(2);
    +
    76 fake_item_box->rot[2] -= DEGREES(1);
    77 break;
    78
    79 case 2:
    @@ -187,9 +187,9 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    81 destroy_actor((struct Actor*) fake_item_box);
    82 } else {
    83 fake_item_box->someTimer++;
    -
    84 fake_item_box->rot[0] += 0x444;
    -
    85 fake_item_box->rot[1] -= 0x2D8;
    -
    86 fake_item_box->rot[2] += 0x16C;
    +
    84 fake_item_box->rot[0] += DEGREES(6);
    +
    85 fake_item_box->rot[1] -= DEGREES(4);
    +
    86 fake_item_box->rot[2] += DEGREES(2);
    87 }
    88 break;
    89 default:
    @@ -201,8 +201,9 @@ $(function(){initNavTree('fake__item__box_2update_8inc_8c_source.html',''); init
    void destroy_actor(struct Actor *actor)
    Definition actors.c:1321
    void func_802A1064(struct FakeItemBox *fake_item_box)
    Definition actors.c:2377
    -
    void func_802B4E30(struct Actor *arg0)
    Definition actors_extended.c:972
    +
    void func_802B4E30(struct Actor *arg0)
    Definition actors_extended.c:973
    u16 check_bounding_collision(Collision *collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ)
    Definition collision.c:1358
    +
    #define DEGREES(degree)
    Definition defines.h:347
    #define PLAYER_HUMAN
    Definition defines.h:105
    void func_800C9060(u8 playerId, u32 soundBits)
    Definition external.c:2922
    void update_actor_fake_item_box(struct FakeItemBox *fake_item_box)
    Updates the fake item box actor.
    Definition update.inc.c:9
    diff --git a/falling__rock_2update_8inc_8c_source.html b/falling__rock_2update_8inc_8c_source.html index 12174e18a..2515ee838 100644 --- a/falling__rock_2update_8inc_8c_source.html +++ b/falling__rock_2update_8inc_8c_source.html @@ -170,7 +170,7 @@ $(function(){initNavTree('falling__rock_2update_8inc_8c_source.html',''); initRe
    67 if (rock->pos[1] < D_8015F8E4) {
    68 func_8029CF0C(d_course_choco_mountain_falling_rock_spawns, rock);
    69 }
    -
    70 rock->rot[0] += (s16) ((rock->velocity[2] * 5461.0f) / 20.0f);
    +
    70 rock->rot[0] += (s16) ((rock->velocity[2] * 5461.0f) / 20.0f); // DEGREES(30) is 5460
    71 rock->rot[2] += (s16) ((rock->velocity[0] * 5461.0f) / 20.0f);
    72 rock->velocity[1] -= 0.1;
    73 if (rock->velocity[1] < (-2.0f)) {
    diff --git a/globals_d.html b/globals_d.html index 6affa3002..806afd109 100644 --- a/globals_d.html +++ b/globals_d.html @@ -8736,7 +8736,7 @@ $(function(){initNavTree('globals_d.html',''); initResizable(true); });
  • DEFAULT_LEN_1CH : synthesis.h
  • DEFAULT_LEN_2CH : synthesis.h
  • defaultCharacterIds : code_80281780.c, code_80281780.h
  • -
  • DEGREES_CONVERSION_FACTOR : defines.h
  • +
  • DEGREES : defines.h
  • delete_actor_in_unexpired_actor_list() : cpu_vehicles_camera_path.h, actor_utils.inc.c
  • delete_object() : update_objects.c
  • delete_object_wrapper() : update_objects.c
  • diff --git a/globals_defs_d.html b/globals_defs_d.html index c8b5e0f1b..d14431e60 100644 --- a/globals_defs_d.html +++ b/globals_defs_d.html @@ -172,7 +172,7 @@ $(function(){initNavTree('globals_defs_d.html',''); initResizable(true); });
  • DECLARE_KART_TUMBLE_TABLE : kart_dma.c
  • DEFAULT_LEN_1CH : synthesis.h
  • DEFAULT_LEN_2CH : synthesis.h
  • -
  • DEGREES_CONVERSION_FACTOR : defines.h
  • +
  • DEGREES : defines.h
  • DELETED_OBJECT_ID : objects.h
  • DEMO_FIVE : defines.h
  • DEMO_FOUR : defines.h
  • diff --git a/green__shell_2update_8inc_8c_source.html b/green__shell_2update_8inc_8c_source.html index b5913628d..12b40c7d3 100644 --- a/green__shell_2update_8inc_8c_source.html +++ b/green__shell_2update_8inc_8c_source.html @@ -141,7 +141,7 @@ $(function(){initNavTree('green__shell_2update_8inc_8c_source.html',''); initRes
    35 (y < gCourseMinY)) {
    36 destroy_destructable_actor((struct Actor*) shell);
    37 }
    -
    38 shell->rotVelocity += 0x71C;
    +
    38 shell->rotVelocity += DEGREES(10);
    39 switch (shell->state) {
    40 case HELD_SHELL:
    41 player = &gPlayers[shell->playerId];
    @@ -185,124 +185,125 @@ $(function(){initNavTree('green__shell_2update_8inc_8c_source.html',''); initRes
    79 } else {
    80 shell->state = 1;
    81 if (player->unk_0C0 > 0) {
    -
    82 shell->rotAngle = 0x78E3;
    +
    82 shell->rotAngle = DEGREES(170);
    83 } else {
    -
    84 shell->rotAngle = -0x78E4;
    -
    85 }
    -
    86 }
    -
    87 }
    -
    88 }
    -
    89 break;
    -
    90 case RELEASED_SHELL:
    -
    91 player = &gPlayers[shell->playerId];
    -
    92 if (shell->rotAngle > 0) {
    -
    93 shell->rotAngle -= 0xE38;
    -
    94 if (shell->rotAngle < 0) {
    -
    95 shell->state = 2;
    -
    96 shell->someTimer = 0x001E;
    -
    97 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
    -
    98 func_800C90F4(shell->playerId,
    -
    99 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
    -
    100 add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
    -
    101 }
    -
    102 } else {
    -
    103 shell->rotAngle += 0xE38;
    -
    104 if (shell->rotAngle > 0) {
    -
    105 shell->state = 2;
    -
    106 shell->someTimer = 0x001E;
    -
    107 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
    -
    108 func_800C90F4(shell->playerId,
    -
    109 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
    -
    110 add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
    -
    111 }
    -
    112 }
    -
    113 if (shell->state == 2) {
    -
    114 var_f2 = 8.0f;
    -
    115 if (player->speed > 8.0f) {
    -
    116 var_f2 = player->speed * 1.2f;
    -
    117 }
    -
    118 somePosVel[0] = 0.0f;
    -
    119 somePosVel[1] = 0.0f;
    -
    120 somePosVel[2] = var_f2;
    -
    121 vec3f_rotate_y(somePosVel, player->rotation[1] + player->unk_0C0);
    -
    122 shell->velocity[0] = somePosVel[0];
    -
    123 shell->velocity[1] = somePosVel[1];
    -
    124 shell->velocity[2] = somePosVel[2];
    -
    125 } else {
    -
    126 somePosVel[0] = sins(shell->rotAngle) * 6.0f;
    -
    127 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
    -
    128 somePosVel[2] = coss(shell->rotAngle) * 6.0f;
    -
    129 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
    -
    130 shell->pos[0] = player->pos[0] + somePosVel[0];
    -
    131 shell->pos[1] = player->pos[1] + somePosVel[1];
    -
    132 shell->pos[2] = player->pos[2] + somePosVel[2];
    -
    133 }
    -
    134 break;
    -
    135 case MOVING_SHELL:
    -
    136 if (shell->parentIndex > 0) {
    -
    137 shell->parentIndex -= 1;
    -
    138 if (shell->parentIndex == 0) {
    -
    139 shell->flags &= ~0x1000;
    -
    140 }
    -
    141 }
    -
    142 shell->velocity[1] -= 0.5f;
    -
    143 if (shell->velocity[1] < -2.0f) {
    -
    144 shell->velocity[1] = -2.0f;
    -
    145 }
    -
    146 somePos2[0] = shell->pos[0];
    -
    147 somePos2[1] = shell->pos[1];
    -
    148 somePos2[2] = shell->pos[2];
    -
    149 shell->pos[0] += shell->velocity[0];
    -
    150 shell->pos[1] += shell->velocity[1];
    -
    151 shell->pos[2] += shell->velocity[2];
    -
    152 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0],
    -
    153 somePos2[1], somePos2[2]);
    -
    154 func_802B4E30((struct Actor*) shell);
    -
    155 if ((shell->unk30.surfaceDistance[0] < 0.0f) || (shell->unk30.surfaceDistance[1] < 0.0f)) {
    -
    156 shell_collision(&shell->unk30, shell->velocity);
    -
    157 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
    -
    158 shell->flags |= 0x80;
    -
    159 }
    -
    160 break;
    -
    161 case TRIPLE_GREEN_SHELL:
    -
    162 player = &gPlayers[shell->playerId];
    -
    163 parent = (TripleShellParent*) &gActorList[shell->parentIndex];
    -
    164 if (parent->type != ACTOR_TRIPLE_GREEN_SHELL) {
    -
    165 destroy_destructable_actor((struct Actor*) shell);
    -
    166 } else {
    -
    167 shell->rotAngle += parent->rotVelocity;
    -
    168 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
    -
    169 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
    -
    170 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
    -
    171 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
    -
    172 somePos2[0] = shell->pos[0];
    -
    173 somePos2[1] = shell->pos[1];
    -
    174 somePos2[2] = shell->pos[2];
    -
    175 shell->pos[0] = player->pos[0] + somePosVel[0];
    -
    176 shell->pos[1] = player->pos[1] + somePosVel[1];
    -
    177 shell->pos[2] = player->pos[2] + somePosVel[2];
    -
    178 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0],
    -
    179 somePos2[1], somePos2[2]);
    -
    180 func_802B4E30((struct Actor*) shell);
    -
    181 }
    -
    182 break;
    -
    183 case GREEN_SHELL_HIT_A_RACER:
    -
    184 // Somehow, this fake match affects stack management up in case 2
    -
    185 shell->velocity[1] -= (0, 0.3f);
    -
    186 if (shell->velocity[1] < -5.0f) {
    -
    187 shell->velocity[1] = -5.0f;
    -
    188 }
    -
    189 shell->rotAngle += 0x5B0;
    -
    190 shell->someTimer -= 1;
    -
    191 shell->pos[1] += shell->velocity[1];
    -
    192 if (shell->someTimer == 0) {
    -
    193 destroy_actor((struct Actor*) shell);
    -
    194 }
    -
    195 break;
    -
    196 default:
    -
    197 break;
    -
    198 }
    -
    199}
    +
    84 // The minus 1 is almost certainly just due to rounding the other way
    +
    85 shell->rotAngle = -DEGREES(170) - 1;
    +
    86 }
    +
    87 }
    +
    88 }
    +
    89 }
    +
    90 break;
    +
    91 case RELEASED_SHELL:
    +
    92 player = &gPlayers[shell->playerId];
    +
    93 if (shell->rotAngle > 0) {
    +
    94 shell->rotAngle -= DEGREES(20);
    +
    95 if (shell->rotAngle < 0) {
    +
    96 shell->state = 2;
    +
    97 shell->someTimer = 0x001E;
    +
    98 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
    +
    99 func_800C90F4(shell->playerId,
    +
    100 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
    +
    101 add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
    +
    102 }
    +
    103 } else {
    +
    104 shell->rotAngle += DEGREES(20);
    +
    105 if (shell->rotAngle > 0) {
    +
    106 shell->state = 2;
    +
    107 shell->someTimer = 0x001E;
    +
    108 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
    +
    109 func_800C90F4(shell->playerId,
    +
    110 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
    +
    111 add_green_shell_in_unexpired_actor_list((struct Actor*) shell - gActorList);
    +
    112 }
    +
    113 }
    +
    114 if (shell->state == 2) {
    +
    115 var_f2 = 8.0f;
    +
    116 if (player->speed > 8.0f) {
    +
    117 var_f2 = player->speed * 1.2f;
    +
    118 }
    +
    119 somePosVel[0] = 0.0f;
    +
    120 somePosVel[1] = 0.0f;
    +
    121 somePosVel[2] = var_f2;
    +
    122 vec3f_rotate_y(somePosVel, player->rotation[1] + player->unk_0C0);
    +
    123 shell->velocity[0] = somePosVel[0];
    +
    124 shell->velocity[1] = somePosVel[1];
    +
    125 shell->velocity[2] = somePosVel[2];
    +
    126 } else {
    +
    127 somePosVel[0] = sins(shell->rotAngle) * 6.0f;
    +
    128 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
    +
    129 somePosVel[2] = coss(shell->rotAngle) * 6.0f;
    +
    130 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
    +
    131 shell->pos[0] = player->pos[0] + somePosVel[0];
    +
    132 shell->pos[1] = player->pos[1] + somePosVel[1];
    +
    133 shell->pos[2] = player->pos[2] + somePosVel[2];
    +
    134 }
    +
    135 break;
    +
    136 case MOVING_SHELL:
    +
    137 if (shell->parentIndex > 0) {
    +
    138 shell->parentIndex -= 1;
    +
    139 if (shell->parentIndex == 0) {
    +
    140 shell->flags &= ~0x1000;
    +
    141 }
    +
    142 }
    +
    143 shell->velocity[1] -= 0.5f;
    +
    144 if (shell->velocity[1] < -2.0f) {
    +
    145 shell->velocity[1] = -2.0f;
    +
    146 }
    +
    147 somePos2[0] = shell->pos[0];
    +
    148 somePos2[1] = shell->pos[1];
    +
    149 somePos2[2] = shell->pos[2];
    +
    150 shell->pos[0] += shell->velocity[0];
    +
    151 shell->pos[1] += shell->velocity[1];
    +
    152 shell->pos[2] += shell->velocity[2];
    +
    153 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0],
    +
    154 somePos2[1], somePos2[2]);
    +
    155 func_802B4E30((struct Actor*) shell);
    +
    156 if ((shell->unk30.surfaceDistance[0] < 0.0f) || (shell->unk30.surfaceDistance[1] < 0.0f)) {
    +
    157 shell_collision(&shell->unk30, shell->velocity);
    +
    158 func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
    +
    159 shell->flags |= 0x80;
    +
    160 }
    +
    161 break;
    +
    162 case TRIPLE_GREEN_SHELL:
    +
    163 player = &gPlayers[shell->playerId];
    +
    164 parent = (TripleShellParent*) &gActorList[shell->parentIndex];
    +
    165 if (parent->type != ACTOR_TRIPLE_GREEN_SHELL) {
    +
    166 destroy_destructable_actor((struct Actor*) shell);
    +
    167 } else {
    +
    168 shell->rotAngle += parent->rotVelocity;
    +
    169 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
    +
    170 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
    +
    171 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
    +
    172 mtxf_transform_vec3f_mat3(somePosVel, player->orientationMatrix);
    +
    173 somePos2[0] = shell->pos[0];
    +
    174 somePos2[1] = shell->pos[1];
    +
    175 somePos2[2] = shell->pos[2];
    +
    176 shell->pos[0] = player->pos[0] + somePosVel[0];
    +
    177 shell->pos[1] = player->pos[1] + somePosVel[1];
    +
    178 shell->pos[2] = player->pos[2] + somePosVel[2];
    +
    179 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0],
    +
    180 somePos2[1], somePos2[2]);
    +
    181 func_802B4E30((struct Actor*) shell);
    +
    182 }
    +
    183 break;
    +
    184 case GREEN_SHELL_HIT_A_RACER:
    +
    185 // Somehow, this fake match affects stack management up in case 2
    +
    186 shell->velocity[1] -= (0, 0.3f);
    +
    187 if (shell->velocity[1] < -5.0f) {
    +
    188 shell->velocity[1] = -5.0f;
    +
    189 }
    +
    190 shell->rotAngle += DEGREES(8);
    +
    191 shell->someTimer -= 1;
    +
    192 shell->pos[1] += shell->velocity[1];
    +
    193 if (shell->someTimer == 0) {
    +
    194 destroy_actor((struct Actor*) shell);
    +
    195 }
    +
    196 break;
    +
    197 default:
    +
    198 break;
    +
    199 }
    +
    200}
    @ ACTOR_TRIPLE_GREEN_SHELL
    Definition actor_types.h:59
    @ MOVING_SHELL
    Definition actor_types.h:95
    @@ -314,7 +315,7 @@ $(function(){initNavTree('green__shell_2update_8inc_8c_source.html',''); initRes
    void destroy_actor(struct Actor *actor)
    Definition actors.c:1321
    void copy_collision(Collision *src, Collision *dest)
    Definition actors_extended.c:19
    -
    void func_802B4E30(struct Actor *arg0)
    Definition actors_extended.c:972
    +
    void func_802B4E30(struct Actor *arg0)
    Definition actors_extended.c:973
    s16 gCourseMinZ
    Definition code_800029B0.c:95
    s16 gCourseMaxZ
    Definition code_800029B0.c:94
    s16 gCourseMinX
    Definition code_800029B0.c:89
    @@ -329,6 +330,7 @@ $(function(){initNavTree('green__shell_2update_8inc_8c_source.html',''); initRes
    f32 Vec3f[3]
    Definition common_structs.h:6
    s32 add_green_shell_in_unexpired_actor_list(s32)
    Definition actor_utils.inc.c:30
    +
    #define DEGREES(degree)
    Definition defines.h:347
    #define PLAYER_HUMAN
    Definition defines.h:105
    void func_800C9060(u8 playerId, u32 soundBits)
    Definition external.c:2922
    void func_800C90F4(u8 playerId, u32 soundBits)
    Definition external.c:2935
    diff --git a/guMtxCatL_8c.html b/guMtxCatL_8c.html index 6fb7c4478..94f5321eb 100644 --- a/guMtxCatL_8c.html +++ b/guMtxCatL_8c.html @@ -184,7 +184,7 @@ Here is the caller graph for this function:
    -
    Todo
    Move gGfxPool out of main.h
    +
    Todo
    Move gGfxPool out of main.h
    Here is the call graph for this function:
    diff --git a/item__box_2render_8inc_8c_source.html b/item__box_2render_8inc_8c_source.html index b9137fbcd..543a9b94d 100644 --- a/item__box_2render_8inc_8c_source.html +++ b/item__box_2render_8inc_8c_source.html @@ -176,112 +176,113 @@ $(function(){initNavTree('item__box_2render_8inc_8c_source.html',''); initResiza
    71
    72 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    -
    74 if ((item_box->rot[1] < 0xAA1) && (item_box->rot[1] > 0)) {
    - -
    76 } else if ((item_box->rot[1] >= 0x6AA5) && (item_box->rot[1] < 0x754E)) {
    - -
    78 } else if ((item_box->rot[1] >= 0x38E1) && (item_box->rot[1] < 0x438A)) {
    - -
    80 } else if ((item_box->rot[1] >= 0xC711) && (item_box->rot[1] < 0xD1BA)) {
    - -
    82 } else {
    -
    83 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    - -
    85 }
    -
    86 gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
    -
    87 gSPDisplayList(gDisplayListHead++, D_0D003090);
    -
    88 } else {
    -
    89 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    -
    90 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
    -
    91 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    -
    92 thing = item_box->someTimer;
    -
    93 mtxf_rotate_zxy_translate(someMatrix1, item_box->pos, item_box->rot);
    -
    94 if (thing < 10.0f) {
    -
    95 someMultiplier = 1.0f;
    -
    96 } else {
    -
    97 someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f);
    -
    98 }
    -
    99 mtxf_scale(someMatrix1, someMultiplier);
    -
    100 if (item_box->someTimer & 1) {
    - -
    102 } else {
    - -
    104 }
    -
    105 temp_f2 = 2.0f * thing;
    -
    106 someVec1[0] = 0.0f;
    -
    107 someVec1[1] = temp_f2;
    -
    108 someVec1[2] = thing;
    -
    109 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    110
    -
    111 if (!render_set_position(someMatrix2, 0)) {
    -
    112 return;
    -
    113 }
    -
    114
    -
    115 gSPDisplayList(gDisplayListHead++, D_0D003158);
    -
    116 temp_f2_2 = 0.8f * thing;
    -
    117 temp_f12 = 0.5f * thing;
    -
    118 someVec1[0] = temp_f2_2;
    -
    119 someVec1[1] = 2.3f * thing;
    -
    120 someVec1[2] = temp_f12;
    -
    121 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    122
    -
    123 if (!render_set_position(someMatrix2, 0)) {
    -
    124 return;
    -
    125 }
    -
    126
    -
    127 gSPDisplayList(gDisplayListHead++, D_0D0031B8);
    -
    128 temp_f0_2 = -0.5f * thing;
    -
    129 someVec1[0] = temp_f2_2;
    -
    130 someVec1[1] = 1.2f * thing;
    -
    131 someVec1[2] = temp_f0_2;
    -
    132 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    133
    -
    134 if (!render_set_position(someMatrix2, 0)) {
    -
    135 return;
    -
    136 }
    -
    137
    -
    138 gSPDisplayList(gDisplayListHead++, D_0D003128);
    -
    139 if (!(item_box->someTimer & 1)) {
    - -
    141 } else {
    - -
    143 }
    -
    144 someVec1[0] = 0.0f;
    -
    145 someVec1[1] = 1.8f * thing;
    -
    146 someVec1[2] = -1.0f * thing;
    -
    147 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    148
    -
    149 if (!render_set_position(someMatrix2, 0)) {
    -
    150 return;
    -
    151 }
    -
    152
    -
    153 gSPDisplayList(gDisplayListHead++, D_0D0031E8);
    -
    154 temp_f0_3 = -0.8f * thing;
    -
    155 someVec1[0] = temp_f0_3;
    -
    156 someVec1[1] = 0.6f * thing;
    -
    157 someVec1[2] = temp_f0_2;
    -
    158 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    159
    -
    160 if (!render_set_position(someMatrix2, 0)) {
    -
    161 return;
    -
    162 }
    -
    163
    -
    164 gSPDisplayList(gDisplayListHead++, D_0D003188);
    -
    165 someVec1[0] = temp_f0_3;
    -
    166 someVec1[1] = temp_f2;
    -
    167 someVec1[2] = temp_f12;
    -
    168 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    -
    169
    -
    170 if (!render_set_position(someMatrix2, 0)) {
    -
    171 return;
    -
    172 }
    -
    173
    -
    174 gSPDisplayList(gDisplayListHead++, D_0D0030F8);
    -
    175 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
    -
    176 }
    -
    177 gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
    -
    178 }
    -
    179}
    +
    74 // unclear why it is 14.95 degrees instead of 15. Perhaps just a typo when entering the value as a s16.
    +
    75 if ((item_box->rot[1] < DEGREES(14.95f)) && (item_box->rot[1] > 0)) {
    + +
    77 } else if ((item_box->rot[1] > (150 * DEGREES(1))) && (item_box->rot[1] < (165 * DEGREES(1)))) {
    + +
    79 } else if ((item_box->rot[1] > (80 * DEGREES(1))) && (item_box->rot[1] < (95 * DEGREES(1)))) {
    + +
    81 } else if ((item_box->rot[1] > (280 * DEGREES(1))) && (item_box->rot[1] < (295 * DEGREES(1)))) {
    + +
    83 } else {
    +
    84 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    + +
    86 }
    +
    87 gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
    +
    88 gSPDisplayList(gDisplayListHead++, D_0D003090);
    +
    89 } else {
    +
    90 gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
    +
    91 gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
    +
    92 gDPSetBlendMask(gDisplayListHead++, 0xFF);
    +
    93 thing = item_box->someTimer;
    +
    94 mtxf_rotate_zxy_translate(someMatrix1, item_box->pos, item_box->rot);
    +
    95 if (thing < 10.0f) {
    +
    96 someMultiplier = 1.0f;
    +
    97 } else {
    +
    98 someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f);
    +
    99 }
    +
    100 mtxf_scale(someMatrix1, someMultiplier);
    +
    101 if (item_box->someTimer & 1) {
    + +
    103 } else {
    + +
    105 }
    +
    106 temp_f2 = 2.0f * thing;
    +
    107 someVec1[0] = 0.0f;
    +
    108 someVec1[1] = temp_f2;
    +
    109 someVec1[2] = thing;
    +
    110 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    111
    +
    112 if (!render_set_position(someMatrix2, 0)) {
    +
    113 return;
    +
    114 }
    +
    115
    +
    116 gSPDisplayList(gDisplayListHead++, D_0D003158);
    +
    117 temp_f2_2 = 0.8f * thing;
    +
    118 temp_f12 = 0.5f * thing;
    +
    119 someVec1[0] = temp_f2_2;
    +
    120 someVec1[1] = 2.3f * thing;
    +
    121 someVec1[2] = temp_f12;
    +
    122 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    123
    +
    124 if (!render_set_position(someMatrix2, 0)) {
    +
    125 return;
    +
    126 }
    +
    127
    +
    128 gSPDisplayList(gDisplayListHead++, D_0D0031B8);
    +
    129 temp_f0_2 = -0.5f * thing;
    +
    130 someVec1[0] = temp_f2_2;
    +
    131 someVec1[1] = 1.2f * thing;
    +
    132 someVec1[2] = temp_f0_2;
    +
    133 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    134
    +
    135 if (!render_set_position(someMatrix2, 0)) {
    +
    136 return;
    +
    137 }
    +
    138
    +
    139 gSPDisplayList(gDisplayListHead++, D_0D003128);
    +
    140 if (!(item_box->someTimer & 1)) {
    + +
    142 } else {
    + +
    144 }
    +
    145 someVec1[0] = 0.0f;
    +
    146 someVec1[1] = 1.8f * thing;
    +
    147 someVec1[2] = -1.0f * thing;
    +
    148 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    149
    +
    150 if (!render_set_position(someMatrix2, 0)) {
    +
    151 return;
    +
    152 }
    +
    153
    +
    154 gSPDisplayList(gDisplayListHead++, D_0D0031E8);
    +
    155 temp_f0_3 = -0.8f * thing;
    +
    156 someVec1[0] = temp_f0_3;
    +
    157 someVec1[1] = 0.6f * thing;
    +
    158 someVec1[2] = temp_f0_2;
    +
    159 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    160
    +
    161 if (!render_set_position(someMatrix2, 0)) {
    +
    162 return;
    +
    163 }
    +
    164
    +
    165 gSPDisplayList(gDisplayListHead++, D_0D003188);
    +
    166 someVec1[0] = temp_f0_3;
    +
    167 someVec1[1] = temp_f2;
    +
    168 someVec1[2] = temp_f12;
    +
    169 add_translate_mat4_vec3f(someMatrix1, someMatrix2, someVec1);
    +
    170
    +
    171 if (!render_set_position(someMatrix2, 0)) {
    +
    172 return;
    +
    173 }
    +
    174
    +
    175 gSPDisplayList(gDisplayListHead++, D_0D0030F8);
    +
    176 gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
    +
    177 }
    +
    178 gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
    +
    179 }
    +
    180}
    Camera * camera1
    Definition camera.c:25
    @@ -297,6 +298,7 @@ $(function(){initNavTree('item__box_2render_8inc_8c_source.html',''); initResiza
    f32 Vec3f[3]
    Definition common_structs.h:6
    s16 Vec3s[3]
    Definition common_structs.h:11
    f32 Mat4[4][4]
    Definition common_structs.h:16
    +
    #define DEGREES(degree)
    Definition defines.h:347
    #define G_CULL_BACK
    Definition gbi.h:351
    #define G_RM_NOOP2
    Definition gbi.h:968
    #define G_RM_ZB_CLD_SURF2
    Definition gbi.h:949
    diff --git a/item__box_2update_8inc_8c_source.html b/item__box_2update_8inc_8c_source.html index 76a162c7f..cb65f5f48 100644 --- a/item__box_2update_8inc_8c_source.html +++ b/item__box_2update_8inc_8c_source.html @@ -114,9 +114,9 @@ $(function(){initNavTree('item__box_2update_8inc_8c_source.html',''); initResiza
    11 switch (itemBox->state) {
    12 case 5:
    -
    13 itemBox->rot[0] += 0xB6;
    -
    14 itemBox->rot[1] -= 0x16C;
    -
    15 itemBox->rot[2] += 0xB6;
    +
    13 itemBox->rot[0] += DEGREES(1);
    +
    14 itemBox->rot[1] -= DEGREES(2);
    +
    15 itemBox->rot[2] += DEGREES(1);
    16 break;
    17 case 3:
    18 if (itemBox->someTimer == 0x14) {
    @@ -124,9 +124,9 @@ $(function(){initNavTree('item__box_2update_8inc_8c_source.html',''); initResiza
    20 itemBox->flags = -0x4000;
    21 } else {
    22 itemBox->someTimer++;
    -
    23 itemBox->rot[0] += 0x444;
    -
    24 itemBox->rot[1] -= 0x2D8;
    -
    25 itemBox->rot[2] += 0x16C;
    +
    23 itemBox->rot[0] += DEGREES(6);
    +
    24 itemBox->rot[1] -= DEGREES(4);
    +
    25 itemBox->rot[2] += DEGREES(2);
    26 }
    27 break;
    28 }
    @@ -149,9 +149,9 @@ $(function(){initNavTree('item__box_2update_8inc_8c_source.html',''); initResiza
    48 }
    49 break;
    50 case 2:
    -
    51 itemBox->rot[0] += 0xB6;
    -
    52 itemBox->rot[1] -= 0x16C;
    -
    53 itemBox->rot[2] += 0xB6;
    +
    51 itemBox->rot[0] += DEGREES(1);
    +
    52 itemBox->rot[1] -= DEGREES(2);
    +
    53 itemBox->rot[2] += DEGREES(1);
    54 break;
    55 case 3:
    56 if (itemBox->someTimer == 20) {
    @@ -160,15 +160,16 @@ $(function(){initNavTree('item__box_2update_8inc_8c_source.html',''); initResiza
    59 itemBox->flags = 0xC000;
    60 } else {
    61 itemBox->someTimer++;
    -
    62 itemBox->rot[0] += 0x444;
    -
    63 itemBox->rot[1] -= 0x2D8;
    -
    64 itemBox->rot[2] += 0x16C;
    +
    62 itemBox->rot[0] += DEGREES(6);
    +
    63 itemBox->rot[1] -= DEGREES(4);
    +
    64 itemBox->rot[2] += DEGREES(2);
    65 }
    66 break;
    67 }
    68}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox)
    Updates the item box under the hot air balloon object. It used in Luigi Raceway. (here it's just upda...
    Definition update.inc.c:10
    void update_actor_item_box(struct ItemBox *itemBox)
    Updates the item box actor.
    Definition update.inc.c:36
    Definition actor_types.h:331
    diff --git a/kalimari__desert_2course__offsets_8c.html b/kalimari__desert_2course__offsets_8c.html index 3e94d96cf..9fbda0a21 100644 --- a/kalimari__desert_2course__offsets_8c.html +++ b/kalimari__desert_2course__offsets_8c.html @@ -872,9 +872,9 @@ Variables
    { gTextureRailroadTrack, 0x0B5B, 0x1000, 0x0 }, { gTextureRailroadCrossingTrack, 0x0208, 0x1000, 0x0 },
    { gTexture67291C, 0x059C, 0x0800, 0x0 }, { gTextureFenceBarbedWire, 0x021E, 0x1000, 0x0 },
    { gTexture67D304, 0x091C, 0x1000, 0x0 }, { gTexture67E010, 0x0415, 0x0800, 0x0 },
    -
    { gTexture67EEAC, 0x0140, 0x0800, 0x0 }, { gTextureSignShellShot0, 0x038C, 0x1000, 0x0 },
    -
    { gTextureSignShellShot1, 0x0247, 0x1000, 0x0 }, { gTextureSignKoopaAir0, 0x0360, 0x1000, 0x0 },
    -
    { gTextureSignKoopaAir1, 0x0304, 0x1000, 0x0 }, { 0x00000000, 0x0000, 0x0000, 0x0 },
    +
    { gTexture67EEAC, 0x0140, 0x0800, 0x0 }, { gTextureSignShellShot0, 0x038C, 0x1000, 0x0 },
    +
    { gTextureSignShellShot1, 0x0247, 0x1000, 0x0 }, { gTextureSignKoopaAir0, 0x0360, 0x1000, 0x0 },
    +
    { gTextureSignKoopaAir1, 0x0304, 0x1000, 0x0 }, { 0x00000000, 0x0000, 0x0000, 0x0 },
    }
    u8 gTexture67490C[]
    u8 gTextureCheckerboardBlueGray[]
    @@ -887,20 +887,20 @@ Variables
    u8 gTexture67E010[]
    u8 gTextureRailroadTrack[]
    u8 gTextureRailroadCrossingTrack[]
    +
    u8 gTextureSignKoopaAir0[]
    u8 gTexture6473E4[]
    +
    u8 gTextureSignShellShot1[]
    u8 gTexture67D304[]
    +
    u8 gTextureSignShellShot0[]
    u8 gTextureSignMarioStar0[]
    u8 gTexture668920[]
    u8 gTexture67291C[]
    u8 gTexture67EEAC[]
    u8 gTexture646CA8[]
    +
    u8 gTextureSignKoopaAir1[]
    u8 gTexture647994[]
    u8 gTextureFenceBarbedWire[]
    u8 gTextureSignMarioStar1[]
    -
    u8 gTextureSignKoopaAir0[]
    -
    u8 gTextureSignShellShot1[]
    -
    u8 gTextureSignShellShot0[]
    -
    u8 gTextureSignKoopaAir1[]
    diff --git a/kiwano__fruit_2update_8inc_8c_source.html b/kiwano__fruit_2update_8inc_8c_source.html index c0f980940..6a17d4ec0 100644 --- a/kiwano__fruit_2update_8inc_8c_source.html +++ b/kiwano__fruit_2update_8inc_8c_source.html @@ -198,9 +198,9 @@ $(function(){initNavTree('kiwano__fruit_2update_8inc_8c_source.html',''); initRe
    TrackPathPoint * gCurrentTrackPath
    Definition cpu_vehicles_camera_path.c:167
    u16 gNearestPathPointByPlayerId[12]
    Definition cpu_vehicles_camera_path.c:163
    -
    #define STAR_EFFECT
    Definition defines.h:451
    +
    #define STAR_EFFECT
    Definition defines.h:466
    #define GRAND_PRIX
    Options for gModeSelection.
    Definition defines.h:147
    -
    #define ENEMY_BONK_EFFECT
    Definition defines.h:457
    +
    #define ENEMY_BONK_EFFECT
    Definition defines.h:472
    #define PLAYER_CPU
    Definition defines.h:103
    void func_800C9060(u8 playerId, u32 soundBits)
    Definition external.c:2922
    void update_actor_kiwano_fruit(struct KiwanoFruit *fruit)
    Updates the kiwano fruit actor. Actor used in DK's Jungle Parkway.
    Definition update.inc.c:12
    diff --git a/mario__sign_2update_8inc_8c_source.html b/mario__sign_2update_8inc_8c_source.html index 079041645..5d4fb45b5 100644 --- a/mario__sign_2update_8inc_8c_source.html +++ b/mario__sign_2update_8inc_8c_source.html @@ -117,15 +117,16 @@ $(function(){initNavTree('mario__sign_2update_8inc_8c_source.html',''); initResi
    11 arg0->pos[1] += 4.0f;
    12 if (arg0->pos[1] > 800.0f) {
    13 arg0->flags |= 0x800;
    -
    14 arg0->rot[1] += 1820;
    +
    14 arg0->rot[1] += DEGREES(10);
    15 }
    16 } else {
    -
    17 arg0->rot[1] += 182;
    +
    17 arg0->rot[1] += DEGREES(1);
    18 }
    19 }
    20}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    void update_actor_mario_sign(struct Actor *arg0)
    Updates the Mario sign actor.
    Definition update.inc.c:8
    Definition actor_types.h:120
    Vec3s rot
    Definition actor_types.h:127
    diff --git a/menu__items_8c.html b/menu__items_8c.html index 39a64ae40..09ccead28 100644 --- a/menu__items_8c.html +++ b/menu__items_8c.html @@ -2082,7 +2082,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:
    @@ -8954,7 +8954,7 @@ Here is the caller graph for this function:
    -
    Todo
    Move gGfxPool out of main.h
    +
    Todo
    Move gGfxPool out of main.h
    Here is the call graph for this function:
    diff --git a/menu__items_8h.html b/menu__items_8h.html index 76855be41..14d5d2c56 100644 --- a/menu__items_8h.html +++ b/menu__items_8h.html @@ -2700,7 +2700,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:
    diff --git a/moo__moo__farm_2course__data_8c.html b/moo__moo__farm_2course__data_8c.html index a192d459b..7d8d7c8bd 100644 --- a/moo__moo__farm_2course__data_8c.html +++ b/moo__moo__farm_2course__data_8c.html @@ -492,7 +492,7 @@ Variables
    #define G_RM_AA_ZB_OPA_SURF2
    Definition gbi.h:879
    #define G_LIGHTING
    Definition gbi.h:355
    #define G_CC_MODULATEI
    Definition gbi.h:480
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/moo__moo__farm_2course__data_8h.html b/moo__moo__farm_2course__data_8h.html index 29d43d179..a7eb1d50f 100644 --- a/moo__moo__farm_2course__data_8h.html +++ b/moo__moo__farm_2course__data_8h.html @@ -482,7 +482,7 @@ Variables
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/navtreeindex21.js b/navtreeindex21.js index a97ba2bd2..e366ede23 100644 --- a/navtreeindex21.js +++ b/navtreeindex21.js @@ -173,7 +173,7 @@ var NAVTREEINDEX21 = "controlflow.html#engine":[1,2,4,6], "controlflow.html#math":[1,2,4,7], "controlflow.html#menus":[1,2,4,0], -"controlflow.html#objects-1":[1,2,4,3], +"controlflow.html#objects":[1,2,4,3], "controlflow.html#overall-control-flow":[1,2,2], "controlflow.html#paradigm":[1,2,0], "controlflow.html#players":[1,2,4,1], diff --git a/navtreeindex27.js b/navtreeindex27.js index c1353d480..812e253ab 100644 --- a/navtreeindex27.js +++ b/navtreeindex27.js @@ -117,6 +117,7 @@ var NAVTREEINDEX27 = "defines_8h.html#a26ddda3177948a34eaf3c4d953b92b6b":[8,0,2,11,126], "defines_8h.html#a2871d7a02126585577a298308febbf93":[8,0,2,11,4], "defines_8h.html#a28d1cba03bcdd4fff1922efbd92a2673":[8,0,2,11,33], +"defines_8h.html#a29a687ccf66fa4e1e852ecfaca24a63b":[8,0,2,11,52], "defines_8h.html#a2bbfe6ff4f130e0985ee29c71a816b50":[8,0,2,11,207], "defines_8h.html#a2f525ee1d4444807b6d6d63db4ec8579":[8,0,2,11,45], "defines_8h.html#a31213c9fb13bbc97f0ae1e30c1a6b1cf":[8,0,2,11,110], @@ -168,7 +169,6 @@ var NAVTREEINDEX27 = "defines_8h.html#a5af9b5343563ff68ae7d252d560ebb0d":[8,0,2,11,57], "defines_8h.html#a5c9df8d9502c3c234100b291c1628394":[8,0,2,11,22], "defines_8h.html#a5e748dc6af74a4076772106205f0d897":[8,0,2,11,219], -"defines_8h.html#a5fe5c9e278625a540997d87c80f22208":[8,0,2,11,52], "defines_8h.html#a60528aaa3366d7dfd35145c2bfd62f69":[8,0,2,11,107], "defines_8h.html#a60db4f58cdf07e448d79a8806cdf482e":[8,0,2,11,95], "defines_8h.html#a62645260c4c31608ddd6702527a0b9e8":[8,0,2,11,138], diff --git a/navtreeindex85.js b/navtreeindex85.js index b6d6ce119..f39a584e9 100644 --- a/navtreeindex85.js +++ b/navtreeindex85.js @@ -51,7 +51,7 @@ var NAVTREEINDEX85 = "new__func_8h.html#ac8095e2ec1adbd7e74e655c578968a36":[8,0,3,7,55,0], "new__func_8h_source.html":[8,0,3,7,55], "objects.html":[0,1], -"objects.html#objects":[0,1,0], +"objects.html#objects-1":[0,1,0], "objects_8h.html":[8,0,2,16], "objects_8h.html#a015cc1fa03690348fb398b9be74ecc15":[8,0,2,16,34], "objects_8h.html#a02bd29e49d2089bb6bd1bfe33e360584":[8,0,2,16,86], diff --git a/objects.html b/objects.html index 45cf27317..831310619 100644 --- a/objects.html +++ b/objects.html @@ -108,7 +108,7 @@ $(function(){initNavTree('objects.html',''); initResizable(true); });
    Objects
    -

    +

    Objects

    diff --git a/osPiRawStartDma_8c.html b/osPiRawStartDma_8c.html index 2cc167b60..7a7dc9554 100644 --- a/osPiRawStartDma_8c.html +++ b/osPiRawStartDma_8c.html @@ -191,7 +191,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 94ac5d4fa..1fb40a7cb 100644 --- a/osPiStartDma_8c.html +++ b/osPiStartDma_8c.html @@ -172,7 +172,7 @@ Variables
    -
    Todo
    name magic constants
    +
    Todo
    name magic constants
    Here is the call graph for this function:
    diff --git a/osViBlack_8c.html b/osViBlack_8c.html index c581bdb45..4b653ae85 100644 --- a/osViBlack_8c.html +++ b/osViBlack_8c.html @@ -143,7 +143,7 @@ Variables
    -
    Todo
    name magic constants
    +
    Todo
    name magic constants
    Here is the call graph for this function:
    diff --git a/osViSwapBuffer_8c.html b/osViSwapBuffer_8c.html index 42e357004..696742037 100644 --- a/osViSwapBuffer_8c.html +++ b/osViSwapBuffer_8c.html @@ -143,7 +143,7 @@ Variables
    -
    Todo
    figure out what this flag means
    +
    Todo
    figure out what this flag means
    Here is the call graph for this function:
    diff --git a/os__pi_8h.html b/os__pi_8h.html index 1badf506c..0cd785792 100644 --- a/os__pi_8h.html +++ b/os__pi_8h.html @@ -446,7 +446,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/os__vi_8h.html b/os__vi_8h.html index e0edb9097..a0b2b90d1 100644 --- a/os__vi_8h.html +++ b/os__vi_8h.html @@ -877,7 +877,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:
    @@ -995,7 +995,7 @@ Here is the caller graph for this function:
    -
    Todo
    figure out what this flag means
    +
    Todo
    figure out what this flag means
    Here is the call graph for this function:
    diff --git a/paddle__boat_2update_8inc_8c_source.html b/paddle__boat_2update_8inc_8c_source.html index 1b8c495b1..ad9199d09 100644 --- a/paddle__boat_2update_8inc_8c_source.html +++ b/paddle__boat_2update_8inc_8c_source.html @@ -113,10 +113,11 @@ $(function(){initNavTree('paddle__boat_2update_8inc_8c_source.html',''); initRes
    3
    -
    12 boat->wheelRot += 0x38E;
    +
    12 boat->wheelRot += DEGREES(5);
    13}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    void update_actor_paddle_boat(struct PaddleWheelBoat *boat)
    Updates the paddle boat actor. Actor used in DK's Jungle Parkway. Rotate only the paddle wheel,...
    Definition update.inc.c:11
    Definition actor_types.h:248
    s16 wheelRot
    Definition actor_types.h:252
    diff --git a/path__utils_8inc_8c_source.html b/path__utils_8inc_8c_source.html index 68860335d..1870aa256 100644 --- a/path__utils_8inc_8c_source.html +++ b/path__utils_8inc_8c_source.html @@ -987,7 +987,7 @@ $(function(){initNavTree('path__utils_8inc_8c_source.html',''); initResizable(tr
    s32 D_80163488
    Definition cpu_vehicles_camera_path.c:128
    -
    #define LAKITU_RETRIEVAL
    Definition defines.h:370
    +
    #define LAKITU_RETRIEVAL
    Definition defines.h:385
    #define PLAYER_EXISTS
    Definition defines.h:106
    #define PLAYER_HUMAN
    Definition defines.h:105
    #define PLAYER_CPU
    Definition defines.h:103
    diff --git a/piint_8h.html b/piint_8h.html index 1757237ae..af327be25 100644 --- a/piint_8h.html +++ b/piint_8h.html @@ -786,7 +786,7 @@ Variables
    -
    Todo
    name
    +
    Todo
    name
    @@ -801,7 +801,7 @@ Variables
    -
    Todo
    name
    +
    Todo
    name
    @@ -816,7 +816,7 @@ Variables
    -
    Todo
    name
    +
    Todo
    name
    diff --git a/player__controller_8h_source.html b/player__controller_8h_source.html index 6609b8ffd..a0f5b7aac 100644 --- a/player__controller_8h_source.html +++ b/player__controller_8h_source.html @@ -306,7 +306,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    f32 Vec3f[3]
    Definition common_structs.h:6
    s16 cpu_forMarioAndPeach[]
    Definition player_controller.c:56
    -
    void func_800371F4(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4419
    +
    void func_800371F4(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4418
    void player_accelerate(Player *)
    Definition player_controller.c:3708
    s16 * gListCPUforLuigi[]
    Definition player_controller.c:161
    void func_80029200(Player *, s8)
    Definition player_controller.c:694
    @@ -317,7 +317,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    void detect_triple_a_combo_a_pressed(Player *)
    Definition player_controller.c:3242
    void apply_effect(Player *, s8, s8)
    Definition player_controller.c:1981
    void func_8002A704(Player *, s8)
    Definition player_controller.c:1112
    -
    void cancel_drift_effect(Player *)
    Definition player_controller.c:4336
    +
    void cancel_drift_effect(Player *)
    Definition player_controller.c:4335
    s16 * gListCPUforBowser[]
    Definition player_controller.c:179
    void player_decelerate(Player *, f32)
    Definition player_controller.c:3748
    s16 cpu_forWarioAndBowser[]
    Definition player_controller.c:128
    @@ -326,7 +326,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forLuigiAndMario[]
    Definition player_controller.c:60
    s16 cpu_forToadAndYoshi[]
    Definition player_controller.c:92
    s16 cpu_forBowserAndDk[]
    Definition player_controller.c:150
    -
    void apply_cpu_turn(Player *, s16)
    Definition player_controller.c:4247
    +
    void apply_cpu_turn(Player *, s16)
    Definition player_controller.c:4246
    s16 cpu_forMarioAndBowser[]
    Definition player_controller.c:58
    void player_accelerate_global(Player *, s32)
    Definition player_controller.c:3759
    void detect_triple_a_combo_a_released(Player *)
    Definition player_controller.c:3182
    @@ -339,7 +339,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    void player_accelerate_during_start_sequence(Player *)
    Definition player_controller.c:3633
    s16 cpu_forMarioAndLuigi[]
    Definition player_controller.c:46
    void func_800291F8(void)
    Definition player_controller.c:691
    -
    void func_80037A4C(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4569
    +
    void func_80037A4C(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4568
    s16 cpu_forPeachAndDk[]
    Definition player_controller.c:136
    s16 cpu_forToadAndLuigi[]
    Definition player_controller.c:90
    s16 cpu_forDkAndWario[]
    Definition player_controller.c:110
    @@ -348,10 +348,10 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forLuigiAndPeach[]
    Definition player_controller.c:70
    void player_decelerate_during_start_sequence(Player *, f32)
    Definition player_controller.c:3689
    s16 cpu_forYoshiAndLuigi[]
    Definition player_controller.c:76
    -
    void func_80037BB4(Player *player, Vec3f)
    Definition player_controller.c:4596
    +
    void func_80037BB4(Player *player, Vec3f)
    Definition player_controller.c:4595
    s16 cpu_forWario[]
    Definition player_controller.c:37
    void func_8002C954(Player *, s8, Vec3f)
    Definition player_controller.c:1920
    -
    void func_80036DB4(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4357
    +
    void func_80036DB4(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4356
    s16 cpu_forMarioAndWario[]
    Definition player_controller.c:54
    s16 cpu_forToadAndMario[]
    Definition player_controller.c:88
    void update_steering_small(Player *, s32 *, s32 *, s32, s32, s32, f32)
    Definition player_controller.c:3881
    @@ -363,7 +363,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    void func_8002A79C(Player *, s8)
    Definition player_controller.c:1123
    void func_8002FE84(Player *, f32)
    Definition player_controller.c:2943
    void update_drift_state_counter(Player *, s8)
    Definition player_controller.c:1148
    -
    void func_80037614(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4483
    +
    void func_80037614(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4482
    void func_8002C4F8(Player *, s8)
    Definition player_controller.c:1826
    void func_80028F70(void)
    Definition player_controller.c:650
    void func_80029150(void)
    Definition player_controller.c:674
    @@ -376,10 +376,10 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forToadAndBowser[]
    Definition player_controller.c:100
    s16 cpu_forPeachAndWario[]
    Definition player_controller.c:138
    s16 cpu_forLuigiAndDk[]
    Definition player_controller.c:66
    -
    void handle_a_press_for_all_players_during_race(void)
    Definition player_controller.c:4765
    +
    void handle_a_press_for_all_players_during_race(void)
    Definition player_controller.c:4764
    s16 cpu_forYoshiAndToad[]
    Definition player_controller.c:78
    s16 ** cpu_forTwoPlayer[]
    Definition player_controller.c:184
    -
    void func_80037CFC(Player *, struct Controller *, s8)
    Definition player_controller.c:4635
    +
    void func_80037CFC(Player *, struct Controller *, s8)
    Definition player_controller.c:4634
    void func_8002AB70(Player *)
    Definition player_controller.c:1241
    s16 cpu_forBowserAndMario[]
    Definition player_controller.c:144
    s16 cpu_forDkAndToad[]
    Definition player_controller.c:106
    @@ -390,7 +390,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forYoshiAndPeach[]
    Definition player_controller.c:84
    s16 cpu_forToadAndPeach[]
    Definition player_controller.c:98
    void func_8002C17C(Player *, s8)
    Definition player_controller.c:1769
    -
    s16 get_clamped_stickX_with_deadzone(struct Controller *)
    Definition player_controller.c:4828
    +
    s16 get_clamped_stickX_with_deadzone(struct Controller *)
    Definition player_controller.c:4827
    s16 cpu_forToadAndWario[]
    Definition player_controller.c:96
    void func_80027EDC(Player *, s8)
    Definition player_controller.c:241
    void player_accelerate_alternative(Player *)
    Definition player_controller.c:3302
    @@ -400,14 +400,14 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forPeach[]
    Definition player_controller.c:39
    s16 cpu_forBowserAndWario[]
    Definition player_controller.c:152
    void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 playerId)
    -
    void func_8003777C(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4513
    +
    void func_8003777C(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4512
    s16 cpu_forYoshiAndMario[]
    Definition player_controller.c:74
    void func_8002AAC0(Player *)
    Definition player_controller.c:1219
    void func_8002D028(Player *, s8)
    Definition player_controller.c:2055
    s16 cpu_forWarioAndDk[]
    Definition player_controller.c:122
    s16 cpu_forToad[]
    Definition player_controller.c:33
    void func_800339C4(Player *, s32 *, s32, s32, f32)
    Definition player_controller.c:3864
    -
    void func_80038BE4(Player *, s16)
    Definition player_controller.c:4935
    +
    void func_80038BE4(Player *, s16)
    Definition player_controller.c:4934
    void player_decelerate_global(Player *, f32, s32)
    Definition player_controller.c:3801
    s16 cpu_forPeachAndYoshi[]
    Definition player_controller.c:134
    void apply_triggers(Player *, s8, s8)
    @@ -419,7 +419,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forWarioAndYoshi[]
    Definition player_controller.c:120
    void kart_hop(Player *)
    Definition player_controller.c:1192
    void update_player_drift_duration(Player *)
    Definition player_controller.c:1755
    -
    void func_800378E8(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4542
    +
    void func_800378E8(Player *, Vec3f, Vec3f)
    Definition player_controller.c:4541
    void func_80028C44(Player *, Camera *, s8, s8)
    Definition player_controller.c:571
    void func_800291F0(void)
    Definition player_controller.c:688
    s16 cpu_forYoshiAndWario[]
    Definition player_controller.c:82
    @@ -430,12 +430,12 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    s16 cpu_forYoshiAndDk[]
    Definition player_controller.c:80
    s16 cpu_forPeachAndBowser[]
    Definition player_controller.c:142
    void func_80028F5C(s32, s32, s32, s32)
    -
    void func_80036C5C(Player *)
    Definition player_controller.c:4328
    +
    void func_80036C5C(Player *)
    Definition player_controller.c:4327
    s32 get_player_index_for_player(Player *)
    Definition player_controller.c:188
    void func_8002A5F4(Vec3f, f32, Vec3f, f32, f32)
    Definition player_controller.c:1079
    s16 cpu_forWarioAndMario[]
    Definition player_controller.c:116
    void func_80029060(void)
    Definition player_controller.c:662
    -
    s16 get_clamped_stickY_with_deadzone(struct Controller *)
    Definition player_controller.c:4881
    +
    s16 get_clamped_stickY_with_deadzone(struct Controller *)
    Definition player_controller.c:4880
    s16 cpu_forDk[]
    Definition player_controller.c:35
    s16 cpu_forMario[]
    Definition player_controller.c:27
    void func_8002AE28(void)
    Definition player_controller.c:1294
    @@ -457,7 +457,7 @@ $(function(){initNavTree('player__controller_8h_source.html',''); initResizable(
    void func_80029B4C(Player *, f32, f32, f32)
    void func_80038C6C(Player *, Camera *, s8, s8)
    void func_80033940(Player *, s32 *, s32, s32, f32)
    Definition player_controller.c:3845
    -
    void handle_a_press_for_player_during_race(Player *, struct Controller *, s8)
    Definition player_controller.c:4733
    +
    void handle_a_press_for_player_during_race(Player *, struct Controller *, s8)
    Definition player_controller.c:4732
    s16 cpu_forLuigiAndBowser[]
    Definition player_controller.c:72
    void func_8002C7E4(Player *, s8, s8)
    Definition player_controller.c:1881
    void func_80030A34(Player *)
    Definition player_controller.c:3132
    diff --git a/rainbow__road_2course__data_8c.html b/rainbow__road_2course__data_8c.html index 35925bacb..bb10edc22 100644 --- a/rainbow__road_2course__data_8c.html +++ b/rainbow__road_2course__data_8c.html @@ -715,7 +715,7 @@ Variables
    #define G_RM_AA_ZB_XLU_SURF2
    Definition gbi.h:881
    #define G_ON
    Definition mbi.h:51
    u8 gRRTextureStarOutline[]
    Definition course_textures.linkonly.c:4
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/rainbow__road_2course__data_8h.html b/rainbow__road_2course__data_8h.html index 74d6581ac..469b116bf 100644 --- a/rainbow__road_2course__data_8h.html +++ b/rainbow__road_2course__data_8h.html @@ -600,7 +600,7 @@ Variables
    -
    Todo
    Replace addresses with variables
    +
    Todo
    Replace addresses with variables
    diff --git a/search/all_11.js b/search/all_11.js index 2631a9dc4..71a7e4f28 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -19,7 +19,7 @@ var searchData= ['object_5forigin_5fpos_5frandomize_5faround_5fz_16',['object_origin_pos_randomize_around_z',['../code__80086E70_8c.html#ac6428c27f0022ef2f12b28a39c386945',1,'object_origin_pos_randomize_around_z(s32 objectIndex, s16 z, u16 arg2): code_80086E70.c'],['../code__80086E70_8h.html#af49d1527179dc119222464883ebe5174',1,'object_origin_pos_randomize_around_z(s32, s16, u16): code_80086E70.c']]], ['objectindex_17',['objectIndex',['../structstruct__D__8018CE10.html#a127e1b12aed47ab382b129edabb71d52',1,'struct_D_8018CE10']]], ['objectlistsize_18',['objectListSize',['../code__80057C60_8c.html#a619a9cb4ca05d69a44a5928af9e499ad',1,'code_80057C60.c']]], - ['objects_19',['Objects',['../objects.html',1,'Objects'],['../objects.html#objects',1,'Objects'],['../controlflow.html#objects-1',1,'Objects']]], + ['objects_19',['Objects',['../objects.html',1,'Objects'],['../controlflow.html#objects',1,'Objects'],['../objects.html#objects-1',1,'Objects']]], ['objects_2eh_20',['objects.h',['../objects_8h.html',1,'']]], ['objects_2emd_21',['objects.md',['../objects_8md.html',1,'']]], ['objx_22',['objX',['../structuObjSprite__t.html#aa56aa472d1ac710dd829e6f1cd9f7ad0',1,'uObjSprite_t']]], diff --git a/search/all_6.js b/search/all_6.js index b42c195ba..31c62a13c 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -8661,7 +8661,7 @@ var searchData= ['defaultcharacterids_8658',['defaultCharacterIds',['../code__80281780_8c.html#ad88934a4bcda92e222b2a466e1e26c12',1,'defaultCharacterIds: code_80281780.c'],['../code__80281780_8h.html#ad88934a4bcda92e222b2a466e1e26c12',1,'defaultCharacterIds: code_80281780.c']]], ['defines_2eh_8659',['defines.h',['../defines_8h.html',1,'']]], ['definitions_8660',['Technical Definitions',['../terminology.html#technical-definitions',1,'']]], - ['degrees_5fconversion_5ffactor_8661',['DEGREES_CONVERSION_FACTOR',['../defines_8h.html#a5fe5c9e278625a540997d87c80f22208',1,'defines.h']]], + ['degrees_8661',['DEGREES',['../defines_8h.html#a29a687ccf66fa4e1e852ecfaca24a63b',1,'defines.h']]], ['delay_8662',['delay',['../structVibratoState.html#ac7b0ebaf890134933a4888c2be0fbfc9',1,'VibratoState::delay'],['../structAdsrEnvelope.html#a0cb5b8f0c8cd0c0133ef589e194dd9a1',1,'AdsrEnvelope::delay'],['../structSequencePlayer.html#aa22d2a5a381563d6357394d5208a1778',1,'SequencePlayer::delay'],['../structAdsrState.html#a6ccfb81ff3259a289e5cc122e788807d',1,'AdsrState::delay'],['../structSequenceChannel.html#aca133567ad3c965a02afe14490e9e4ea',1,'SequenceChannel::delay'],['../structSequenceChannelLayer.html#a847c174ff1b4e29c3e717188bb5b76f4',1,'SequenceChannelLayer::delay']]], ['delayunused_8663',['delayUnused',['../structSequenceChannelLayer.html#a9ed3e8ff831716e3e68c38c5131ffc8d',1,'SequenceChannelLayer']]], ['delete_5factor_5fin_5funexpired_5factor_5flist_8664',['delete_actor_in_unexpired_actor_list',['../cpu__vehicles__camera__path_8h.html#a6cc38ffe3621fcb43db305340f3ab4c9',1,'delete_actor_in_unexpired_actor_list(s32): actor_utils.inc.c'],['../actor__utils_8inc_8c.html#ad301b978cdd3c4cc190b10be050d51d8',1,'delete_actor_in_unexpired_actor_list(s32 actorIndex): actor_utils.inc.c']]], diff --git a/search/defines_4.js b/search/defines_4.js index 7c5c3bcd3..38df630c4 100644 --- a/search/defines_4.js +++ b/search/defines_4.js @@ -64,7 +64,7 @@ var searchData= ['declare_5fkart_5ftumble_5ftable_61',['DECLARE_KART_TUMBLE_TABLE',['../kart__dma_8c.html#a9ce3390a2f0fbde77667e9ae510e9844',1,'kart_dma.c']]], ['default_5flen_5f1ch_62',['DEFAULT_LEN_1CH',['../synthesis_8h.html#a595997d04904dfb0bf3bcef45336e373',1,'synthesis.h']]], ['default_5flen_5f2ch_63',['DEFAULT_LEN_2CH',['../synthesis_8h.html#af8e8ccd276f35d9a4cee4a4a3d624373',1,'synthesis.h']]], - ['degrees_5fconversion_5ffactor_64',['DEGREES_CONVERSION_FACTOR',['../defines_8h.html#a5fe5c9e278625a540997d87c80f22208',1,'defines.h']]], + ['degrees_64',['DEGREES',['../defines_8h.html#a29a687ccf66fa4e1e852ecfaca24a63b',1,'defines.h']]], ['deleted_5fobject_5fid_65',['DELETED_OBJECT_ID',['../objects_8h.html#a5da8f460a22c441fb5bb00bd5b3bac2a',1,'objects.h']]], ['demo_5ffive_66',['DEMO_FIVE',['../defines_8h.html#a4d0cd80c1d8a9c1b8668c6bd4f8509de',1,'defines.h']]], ['demo_5ffour_67',['DEMO_FOUR',['../defines_8h.html#a718455dd2e94947933201e3718c5d87e',1,'defines.h']]], diff --git a/todo.html b/todo.html index 28543d1f5..8ce1a1bd2 100644 --- a/todo.html +++ b/todo.html @@ -150,9 +150,9 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global d_course_mario_raceway_dl_0 []
    Replace addresses with variables
    Global d_course_moo_moo_farm_dl_0 []
    -
    Replace addresses with variables
    -
    Global d_course_rainbow_road_dl_0 []
    Replace addresses with variables
    +
    Global d_course_rainbow_road_dl_0 []
    +
    Replace addresses with variables
    Global d_course_royal_raceway_dl_0 []
    Replace addresses with variables
    Global d_course_sherbet_land_dl_0 []
    @@ -164,7 +164,7 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    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?

    @@ -182,13 +182,13 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global func_800745C8 (s32 objectIndex, uintptr_t 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_8028336C (UNUSED CinematicCamera *arg0, UNUSED Camera *camera)
    Does this match as a return of s8?
    Global func_802846E4 (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.
    Global gen_random_item (s16 rank, s16 isCpu)
    @@ -198,15 +198,15 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global gTorchSpawns []
    fix this extern
    Global guMtxCatL (Mtx *m, Mtx *n, Mtx *res)
    -
    Move gGfxPool out of main.h
    +
    Move gGfxPool out of main.h
    Global IO_WRITE (addr, data)
    These defines are from PR/rcp.h, but including that causes problems...
    Global LEO_CMD_TYPE_0
    -
    name
    +
    name
    Global LEO_CMD_TYPE_1
    -
    name
    +
    name
    Global LEO_CMD_TYPE_2
    -
    name
    +
    name
    Global load_track_path (s32 pathIndex)
    Confirm this comment
    Global M_TASK_FLAG0
    @@ -224,13 +224,13 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    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
    +
    name magic constants
    Global osViSwapBuffer (void *vaddr)
    -
    figure out what this flag means
    +
    figure out what this flag means
    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)
    diff --git a/train_2render_8inc_8c_source.html b/train_2render_8inc_8c_source.html index 85fe95bd8..332244835 100644 --- a/train_2render_8inc_8c_source.html +++ b/train_2render_8inc_8c_source.html @@ -183,7 +183,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    80 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    81 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    82
    -
    83 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    +
    83 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(2)));
    84 vec3f_set(sp160, 17.0f, 6.0f, 16.0f);
    85 mtxf_translate(spE0, sp160);
    86 mtxf_multiplication(spA0, sp120, spE0);
    @@ -196,7 +196,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    93 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    94 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    95
    -
    96 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    +
    96 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(2)));
    97 vec3f_set(sp160, -17.0f, 6.0f, 16.0f);
    98 mtxf_translate(spE0, sp160);
    99 mtxf_multiplication(spA0, sp120, spE0);
    @@ -209,7 +209,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    106 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    107 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    108
    -
    109 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444));
    +
    109 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(6)));
    110 vec3f_set(sp160, 17.0f, 12.0f, -12.0f);
    111 mtxf_translate(spE0, sp160);
    112 mtxf_multiplication(spA0, sp120, spE0);
    @@ -222,7 +222,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    119 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70);
    120 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    121
    -
    122 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444));
    +
    122 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(6)));
    123 vec3f_set(sp160, -17.0f, 12.0f, -12.0f);
    124 mtxf_translate(spE0, sp160);
    125 mtxf_multiplication(spA0, sp120, spE0);
    @@ -235,7 +235,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    132 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70);
    133 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    134
    -
    135 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x2D8));
    +
    135 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(4)));
    136 vec3f_set(sp160, 17.0f, 12.0f, -34.0f);
    137 mtxf_translate(spE0, sp160);
    138 mtxf_multiplication(spA0, sp120, spE0);
    @@ -248,7 +248,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    145 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70);
    146 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    147
    -
    148 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x2D8));
    +
    148 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(4)));
    149 vec3f_set(sp160, -17.0f, 12.0f, -34.0f);
    150 mtxf_translate(spE0, sp160);
    151 mtxf_multiplication(spA0, sp120, spE0);
    @@ -325,7 +325,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    220 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    221 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    222
    -
    223 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444));
    +
    223 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(6)));
    224 vec3f_set(sp160, 17.0f, 6.0f, -8.0f);
    225 mtxf_translate(spE0, sp160);
    226 mtxf_multiplication(spA0, sp120, spE0);
    @@ -337,7 +337,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    232 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    233 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    234
    -
    235 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444));
    +
    235 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(6)));
    236 vec3f_set(sp160, -17.0f, 6.0f, -8.0f);
    237 mtxf_translate(spE0, sp160);
    238 mtxf_multiplication(spA0, sp120, spE0);
    @@ -417,7 +417,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    310 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    311 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    312
    -
    313 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x222));
    +
    313 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(3)));
    314 vec3f_set(sp160, 17.0f, 6.0f, 12.0f);
    315 mtxf_translate(spE0, sp160);
    316 mtxf_multiplication(spA0, sp120, spE0);
    @@ -429,7 +429,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    322 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    323 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    324
    -
    325 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x222));
    +
    325 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(3)));
    326 vec3f_set(sp160, -17.0f, 6.0f, 12.0f);
    327 mtxf_translate(spE0, sp160);
    328 mtxf_multiplication(spA0, sp120, spE0);
    @@ -441,7 +441,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    334 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    335 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    336
    -
    337 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x5B0));
    +
    337 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(8)));
    338 vec3f_set(sp160, 17.0f, 6.0f, -8.0f);
    339 mtxf_translate(spE0, sp160);
    340 mtxf_multiplication(spA0, sp120, spE0);
    @@ -453,7 +453,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    346 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    347 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    348
    -
    349 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x5B0));
    +
    349 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(8)));
    350 vec3f_set(sp160, -17.0f, 6.0f, -8.0f);
    351 mtxf_translate(spE0, sp160);
    352 mtxf_multiplication(spA0, sp120, spE0);
    @@ -465,7 +465,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    358 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    359 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    360
    -
    361 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    +
    361 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(2)));
    362 vec3f_set(sp160, 17.0f, 6.0f, -24.0f);
    363 mtxf_translate(spE0, sp160);
    364 mtxf_multiplication(spA0, sp120, spE0);
    @@ -477,7 +477,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    370 gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8);
    371 gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
    372
    -
    373 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C));
    +
    373 mtxf_rotate_x(sp120, (s16) (actor->wheelRot + DEGREES(2)));
    374 vec3f_set(sp160, -17.0f, 6.0f, -24.0f);
    375 mtxf_translate(spE0, sp160);
    376 mtxf_multiplication(spA0, sp120, spE0);
    @@ -495,6 +495,7 @@ $(function(){initNavTree('train_2render_8inc_8c_source.html',''); initResizable(
    Camera * camera1
    Definition camera.c:25
    f32 Vec3f[3]
    Definition common_structs.h:6
    f32 Mat4[4][4]
    Definition common_structs.h:16
    +
    #define DEGREES(degree)
    Definition defines.h:347
    #define G_CULL_BACK
    Definition gbi.h:351
    #define G_MTX_MODELVIEW
    Definition gbi.h:305
    diff --git a/train_2update_8inc_8c_source.html b/train_2update_8inc_8c_source.html index 79d6506ae..3f2a7aa7a 100644 --- a/train_2update_8inc_8c_source.html +++ b/train_2update_8inc_8c_source.html @@ -112,7 +112,7 @@ $(function(){initNavTree('train_2update_8inc_8c_source.html',''); initResizable(
    2
    -
    11 arg0->wheelRot -= 0x666;
    +
    11 arg0->wheelRot -= DEGREES(9);
    12
    13 if (arg0->unk_08 != 0.0f) {
    14 arg0->unk_08 = 0.0f;
    @@ -123,16 +123,17 @@ $(function(){initNavTree('train_2update_8inc_8c_source.html',''); initResizable(
    18
    25void update_actor_train_tender(struct TrainCar* tender) {
    -
    26 tender->wheelRot -= 0x4FA;
    +
    26 tender->wheelRot -= DEGREES(7);
    27}
    28
    -
    37 arg0->wheelRot -= 0x666;
    +
    37 arg0->wheelRot -= DEGREES(9);
    38}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    void func_800C9D80(Vec3f position, Vec3f velocity, u32 soundBits)
    Definition external.c:3177
    #define SOUND_ARG_LOAD(sound_bank, byte2, byte3, sound_id)
    Definition sounds.h:14
    Definition actor_types.h:144
    diff --git a/vehicle__utils_8inc_8c_source.html b/vehicle__utils_8inc_8c_source.html index 7e987563f..5472c768d 100644 --- a/vehicle__utils_8inc_8c_source.html +++ b/vehicle__utils_8inc_8c_source.html @@ -161,7 +161,7 @@ $(function(){initNavTree('vehicle__utils_8inc_8c_source.html',''); initResizable
    44 func_8000D6D0(vehicle->position, (s16*) &vehicle->pathPointIndex, vehicle->speed,
    45 vehicle->someMultiplierTheSequel, 0, 3);
    46 vehicle->rotation[0] = 0;
    -
    47 vehicle->rotation[1] = -0x8000;
    +
    47 vehicle->rotation[1] = -DEGREES(180);
    48 vehicle->rotation[2] = 0;
    49 } else {
    50 func_8000D940(vehicle->position, (s16*) &vehicle->pathPointIndex, vehicle->speed,
    @@ -1312,17 +1312,18 @@ $(function(){initNavTree('vehicle__utils_8inc_8c_source.html',''); initResizable
    s16 update_vehicle_following_path(Vec3f, s16 *, f32)
    Definition path_utils.inc.c:794
    s32 generate_2d_path(Path2D *, TrackPathPoint *, s32)
    Definition path_calc.inc.c:462
    #define SCREEN_MODE_2P_SPLITSCREEN_VERTICAL
    Definition defines.h:226
    +
    #define DEGREES(degree)
    Definition defines.h:347
    #define SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL
    Definition defines.h:225
    #define SCREEN_MODE_1P
    Options for gScreenModeSelection and gActiveScreenMode.
    Definition defines.h:224
    #define CC_50
    Options for gCCSelection CC stands for cubic-centimetres. It measures engine displacement composed fr...
    Definition defines.h:160
    #define GRAND_PRIX
    Options for gModeSelection.
    Definition defines.h:147
    -
    #define HIT_PADDLE_BOAT_TRIGGER
    Definition defines.h:416
    +
    #define HIT_PADDLE_BOAT_TRIGGER
    Definition defines.h:431
    #define PLAYER_HUMAN
    Definition defines.h:105
    -
    #define VERTICAL_TUMBLE_TRIGGER
    Definition defines.h:419
    +
    #define VERTICAL_TUMBLE_TRIGGER
    Definition defines.h:434
    #define PLAYER_CPU
    Definition defines.h:103
    -
    #define EXPLOSION_CRASH_EFFECT
    Definition defines.h:466
    +
    #define EXPLOSION_CRASH_EFFECT
    Definition defines.h:481
    #define TIME_TRIALS
    Definition defines.h:148
    -
    #define HIT_BY_STAR_EFFECT
    Definition defines.h:467
    +
    #define HIT_BY_STAR_EFFECT
    Definition defines.h:482
    TrackPathPoint d_course_dks_jungle_parkway_ferry_path[]
    Definition course_data.c:4003
    void func_800C9EF4(Vec3f arg0, u32 soundBits)
    Definition external.c:3196
    void func_800C9D80(Vec3f position, Vec3f velocity, u32 soundBits)
    Definition external.c:3177
    diff --git a/wario__sign_2update_8inc_8c_source.html b/wario__sign_2update_8inc_8c_source.html index 151d01388..24a9d793b 100644 --- a/wario__sign_2update_8inc_8c_source.html +++ b/wario__sign_2update_8inc_8c_source.html @@ -112,10 +112,11 @@ $(function(){initNavTree('wario__sign_2update_8inc_8c_source.html',''); initResi
    2
    9void update_actor_wario_sign(struct Actor* arg0) {
    -
    10 arg0->rot[1] += 0xB6;
    +
    10 arg0->rot[1] += DEGREES(1);
    11}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    Definition actor_types.h:120
    Vec3s rot
    Definition actor_types.h:127
    void update_actor_wario_sign(struct Actor *arg0)
    Updates the Wario sign actor. Used in Wario Stadium.
    Definition update.inc.c:9
    diff --git a/yoshi__egg_2update_8inc_8c_source.html b/yoshi__egg_2update_8inc_8c_source.html index f868e4af3..528b75303 100644 --- a/yoshi__egg_2update_8inc_8c_source.html +++ b/yoshi__egg_2update_8inc_8c_source.html @@ -112,7 +112,7 @@ $(function(){initNavTree('yoshi__egg_2update_8inc_8c_source.html',''); initResiz
    2
    -
    9 egg->pathRot += 0x5B;
    +
    9 egg->pathRot += 0x5B; // half a degree
    10 egg->pos[0] = egg->pathCenter[0] + (sins(egg->pathRot) * egg->pathRadius);
    11 egg->pos[2] = egg->pathCenter[2] + (coss(egg->pathRot) * egg->pathRadius);
    12 if ((egg->flags & 0x400) != 0) {
    @@ -126,12 +126,13 @@ $(function(){initNavTree('yoshi__egg_2update_8inc_8c_source.html',''); initResiz
    20 egg->pathCenter[1] = 0.0f;
    21 egg->flags &= ~(1 << 10);
    22 }
    -
    23 egg->eggRot -= 0x4FA;
    +
    23 egg->eggRot -= DEGREES(7);
    24 }
    -
    25 egg->eggRot -= 0x222;
    +
    25 egg->eggRot -= DEGREES(3);
    26}
    +
    #define DEGREES(degree)
    Definition defines.h:347
    f32 coss(u16 angle)
    Definition math_util.c:1319
    f32 sins(u16 angle)
    Definition math_util.c:1310
    Definition actor_types.h:212