diff --git a/actorsmenu.html b/actorsmenu.html index e7edcbc47..6439033df 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/basics.js b/basics.js index 8888e6745..e44238fef 100644 --- a/basics.js +++ b/basics.js @@ -25,7 +25,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/blue__and__red__shells_2update_8inc_8c.html b/blue__and__red__shells_2update_8inc_8c.html index 208396bb4..d37763068 100644 --- a/blue__and__red__shells_2update_8inc_8c.html +++ b/blue__and__red__shells_2update_8inc_8c.html @@ -284,6 +284,7 @@ Here is the caller graph for this function: +
Bug
commented out code results in cpus controlling player1 items and other glitches
Here is the call graph for this function:
diff --git a/blue__and__red__shells_2update_8inc_8c_source.html b/blue__and__red__shells_2update_8inc_8c_source.html index 829643249..eefeef87d 100644 --- a/blue__and__red__shells_2update_8inc_8c_source.html +++ b/blue__and__red__shells_2update_8inc_8c_source.html @@ -373,224 +373,232 @@ $(function(){initNavTree('blue__and__red__shells_2update_8inc_8c_source.html',''
263 } else {
264 shell->pos[1] = pad7;
265 }
-
266
-
267 if ((player->type & PLAYER_HUMAN) != 0) {
-
268 if (gDemoMode) {
-
269 controller = gControllerOne;
-
270 } else {
-
271 controller = &gControllers[shell->playerId];
-
272 }
-
273 } else {
-
274 controller = gControllerOne;
-
275 }
-
276
-
277 if ((controller->buttonDepressed & Z_TRIG) != 0) {
-
278 controller->buttonDepressed &= ~Z_TRIG;
-
279 shell->state = RELEASED_SHELL;
-
280 if (player->unk_0C0 > 0) {
-
281 shell->rotAngle = 0x78E3;
-
282 } else {
-
283 shell->rotAngle = -0x78E4;
-
284 }
-
285 }
-
286 break;
-
287 case RELEASED_SHELL:
-
288 player = &gPlayers[shell->playerId];
-
289 if (shell->rotAngle > 0) {
-
290 shell->rotAngle -= 0x71C;
-
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(CM_FindActorIndex(shell));
-
298 } else {
-
299 add_blue_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
-
300 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
+
266
+
268 // According to other code, this whole chunk should not be ran by CPUs
+
269 if ((player->type & PLAYER_HUMAN) != 0) {
+
270 if (gDemoMode) {
+
271 controller = gControllerOne;
+
272 } else {
+
273 controller = &gControllers[shell->playerId];
+
274 }
+
275 // } else {
+
276 // controller = gControllerOne;
+
277 // }
+
278
+
279 if ((controller->buttonDepressed & Z_TRIG) != 0) {
+
280 controller->buttonDepressed &= ~Z_TRIG;
+
281 shell->state = RELEASED_SHELL;
+
282 if (player->unk_0C0 > 0) {
+
283 shell->rotAngle = 0x78E3;
+
284 } else {
+
285 shell->rotAngle = -0x78E4;
+
286 }
+
287 }
+
288 }
+
289 break;
+
290 case RELEASED_SHELL:
+
291 player = &gPlayers[shell->playerId];
+
292 if (shell->rotAngle > 0) {
+
293 shell->rotAngle -= 0x71C;
+
294 if (shell->rotAngle < 0) {
+
295 shell->state = MOVING_SHELL;
+
296 // Added condition so that CPUs do not make sound on item-use
+
297 if ((gPlayers[shell->playerId].type & PLAYER_HUMAN) != 0) {
+
298 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
+
299 func_800C90F4(shell->playerId,
+
300 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
301 }
-
302 }
-
303 } else {
-
304 shell->rotAngle += 0x71C;
-
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(CM_FindActorIndex(shell));
-
312 } else {
-
313 add_blue_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
-
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 func_802B64C4(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_translate_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;
+
302 if (pad13 == ACTOR_RED_SHELL) {
+
303 add_red_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
+
304 } else {
+
305 add_blue_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
+
306 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
+
307 }
+
308 }
+
309 } else {
+
310 shell->rotAngle += 0x71C;
+
311 if (shell->rotAngle > 0) {
+
312 shell->state = MOVING_SHELL;
+
313 // Added condition so that CPUs do not make sound on item-use
+
314 if ((gPlayers[shell->playerId].type & PLAYER_HUMAN) != 0) {
+
315 func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
+
316 func_800C90F4(shell->playerId,
+
317 (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
+
318 }
+
319 if (pad13 == ACTOR_RED_SHELL) {
+
320 add_red_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
+
321 } else {
+
322 add_blue_shell_in_unexpired_actor_list(CM_FindActorIndex(shell));
+
323 func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
+
324 }
+
325 }
+
326 }
+
327 if (shell->state == MOVING_SHELL) {
+
328 shell->someTimer = 0x001E;
+
329 height = 8.0f;
+
330 if (player->speed > 8.0f) {
+
331 height = player->speed * 1.2f;
+
332 }
+
333 somePosVel[0] = 0.0f;
+
334 somePosVel[1] = 0.0f;
+
335 somePosVel[2] = height;
+
336 func_802B64C4(somePosVel, (s16) (player->rotation[1] + player->unk_0C0));
+
337 shell->velocity[0] = somePosVel[0];
+
338 shell->velocity[1] = somePosVel[1];
+
339 shell->velocity[2] = somePosVel[2];
+
340 } else {
+
341 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
+
342 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
+
343 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
+
344 mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix);
+
345 shell->pos[0] = player->pos[0] + somePosVel[0];
+
346 shell->pos[1] = player->pos[1] + somePosVel[1];
+
347 shell->pos[2] = player->pos[2] + somePosVel[2];
+
348 }
+
349 break;
+
350 case MOVING_SHELL:
+
351 player = &gPlayers[shell->playerId];
+
352 shell->someTimer -= 1;
+
353 if (shell->someTimer == 0) {
+
354 shell->flags &= 0xEFFF;
+
355 if (shell->type == ACTOR_BLUE_SPINY_SHELL) {
+
356 shell->targetPlayer = gPlayerPositionLUT[0];
+
357 shell->state = BLUE_SHELL_LOCK_ON;
+
358 shell->shellId = 1000.0f;
+
359 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
360 if ((s32) gSelectedPathCount < temp_v0) {
+
361 temp_v0 -= gSelectedPathCount;
+
362 }
+
363 shell->pathIndex = temp_v0;
+
364 } else if (gModeSelection == BATTLE) {
+
365 shell->shellId = 1000.0f;
+
366 shell->targetPlayer = func_802B3FD0(player, shell);
+
367 if (shell->targetPlayer < 0) {
+
368 shell->flags = 0x8000;
+
369 shell->velocity[1] = 3.0f;
+
370 shell->pathIndex = 0;
+
371 shell->someTimer = 0x003C;
+
372 shell->state = DESTROYED_SHELL;
+
373 } else {
+
374 shell->state = RED_SHELL_LOCK_ON;
+
375 }
+
376 } else {
+
377 if (player->currentRank == 0) {
+
378 shell->state = TRIPLE_GREEN_SHELL;
+
379 shell->someTimer = 0x0258;
+
380 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
381 if ((s32) gSelectedPathCount < temp_v0) {
+
382 temp_v0 -= gSelectedPathCount;
+
383 }
+
384 shell->pathIndex = temp_v0;
+
385 } else if (player->currentRank >= 5) {
+
386 shell->state = GREEN_SHELL_HIT_A_RACER;
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*) GET_ACTOR(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_translate_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 += 0x5B0;
-
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}
+
388 temp_v0 = gNearestPathPointByPlayerId[player - gPlayerOne] + 8;
+
389 if ((s32) gSelectedPathCount < temp_v0) {
+
390 temp_v0 -= gSelectedPathCount;
+
391 }
+
392 shell->pathIndex = temp_v0;
+
393 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
+
394 } else {
+
395 shell->state = RED_SHELL_LOCK_ON;
+
396 shell->shellId = 1000.0f;
+
397 shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1];
+
398 }
+
399 }
+
400 }
+
401 shell->velocity[1] -= 0.5;
+
402 if (shell->velocity[1] < -2.0f) {
+
403 shell->velocity[1] = -2.0f;
+
404 }
+
405 origPos[0] = shell->pos[0];
+
406 origPos[1] = shell->pos[1];
+
407 origPos[2] = shell->pos[2];
+
408 shell->pos[0] += shell->velocity[0];
+
409 shell->pos[1] += shell->velocity[1];
+
410 shell->pos[2] += shell->velocity[2];
+
411 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
+
412 origPos[1], origPos[2]);
+
413 func_802B4E30((struct Actor*) shell);
+
414 func_802B4104(shell);
+
415 break;
+
416 case RED_SHELL_LOCK_ON:
+
417 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
+
418 break;
+
419 case TRIPLE_GREEN_SHELL:
+
420 func_802B3B44(shell);
+
421 if (shell->someTimer == 0) {
+
422 if ((shell->flags & 0xF) == 0) {
+
423 destroy_destructable_actor((struct Actor*) shell);
+
424 } else {
+
425 shell->someTimer -= 1;
+
426 }
+
427 }
+
428 break;
+
429 case GREEN_SHELL_HIT_A_RACER:
+
430 func_802B3B44(shell);
+
431 player = &gPlayers[shell->targetPlayer];
+
432 height = player->pos[0];
+
433 height -= shell->pos[0];
+
434 temp_f2 = player->pos[2];
+
435 temp_f2 -= shell->pos[2];
+
436 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
+
437 shell->state = RED_SHELL_LOCK_ON;
+
438 }
+
439 break;
+
440 case TRIPLE_RED_SHELL:
+
441 player = &gPlayers[shell->playerId];
+
442 parent = (TripleShellParent*) GET_ACTOR(shell->parentIndex);
+
443 if (parent->type != ACTOR_TRIPLE_RED_SHELL) {
+
444 destroy_destructable_actor((struct Actor*) shell);
+
445 } else {
+
446 shell->rotAngle += parent->rotVelocity;
+
447 somePosVel[0] = sins(shell->rotAngle) * 8.0f;
+
448 somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize;
+
449 somePosVel[2] = coss(shell->rotAngle) * 8.0f;
+
450 mtxf_translate_vec3f_mat3(somePosVel, player->orientationMatrix);
+
451 origPos[0] = shell->pos[0];
+
452 origPos[1] = shell->pos[1];
+
453 origPos[2] = shell->pos[2];
+
454 shell->pos[0] = player->pos[0] + somePosVel[0];
+
455 shell->pos[1] = player->pos[1] + somePosVel[1];
+
456 shell->pos[2] = player->pos[2] + somePosVel[2];
+
457 actor_terrain_collision(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0],
+
458 origPos[1], origPos[2]);
+
459 func_802B4E30((struct Actor*) shell);
+
460 }
+
461 break;
+
462 case DESTROYED_SHELL:
+
463 shell->velocity[1] -= 0.3f;
+
464 if (shell->velocity[1] < -5.0f) {
+
465 shell->velocity[1] = -5.0f;
+
466 }
+
467 shell->rotAngle += 0x5B0;
+
468 shell->someTimer -= 1;
+
469 shell->pos[1] += shell->velocity[1];
+
470 if (shell->someTimer == 0) {
+
471 destroy_actor((struct Actor*) shell);
+
472 }
+
473 break;
+
474 case BLUE_SHELL_LOCK_ON:
+
475 func_802B3B44(shell);
+
476 shell->targetPlayer = gPlayerPositionLUT[0];
+
477 player = &gPlayers[gPlayerPositionLUT[0]];
+
478 height = player->pos[0];
+
479 height -= shell->pos[0];
+
480 temp_f2 = player->pos[2];
+
481 temp_f2 -= shell->pos[2];
+
482 if (((height * height) + (temp_f2 * temp_f2)) < 40000.0f) {
+
483 shell->state = BLUE_SHELL_TARGET_ELIMINATED;
+
484 }
+
485 break;
+
486 case 9:
+
487 func_802B3E7C(shell, &gPlayers[shell->targetPlayer]);
+
488 break;
+
489 default:
+
490 break;
+
491 }
+
492}
CM_FindActorIndex
size_t CM_FindActorIndex(Actor *actor)
Definition Game.cpp:619
Game.h
diff --git a/bug.html b/bug.html index e379b5cd1..e5d09f712 100644 --- a/bug.html +++ b/bug.html @@ -110,35 +110,37 @@ $(function(){initNavTree('bug.html',''); initResizable(true); });
Global DEBUG_MODE
-
This looks like it should work at any point in the race.
+
This looks like it should work at any point in the race.
Global detect_tyre_collision (KartTyre *)
-
+
Global func_8001969C (UNUSED s32 playerId, UNUSED f32 arg1, s32 cameraId, UNUSED s16 pathIndex)
-
Adding an (f32) cast changes asm, why?
+
Adding an (f32) cast changes asm, why?
Global func_80077E20 (s32 objectIndex)
-
frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10 right here
+
frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10 right here
Global func_800B9BE4 (f32, f32, u16 *)
-
they probably meant to store the value to tmp[i] and tmp[8 + i]
+
they probably meant to store the value to tmp[i] and tmp[8 + i]
Global func_800BB388 (s32 bankId, s32 instId, s32 arg2)
-
missing return
+
missing return
Global init_sequence_players (void)
-
Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
+
Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
Global new_actor (ActorInitParams *)
-

No null check.

-

+

No null check.

+

Global note_set_vel_pan_reverb (struct Note *note, f32 velocity, u8 pan, u8 reverbVol)
-
for the change to UQ0.7, the if statement should also have been changed accordingly
+
for the change to UQ0.7, the if statement should also have been changed accordingly
Global preload_sequence (u32, u8)
-
should be IS_SEQ_LOAD_COMPLETE
+
should be IS_SEQ_LOAD_COMPLETE
Global render_menu_item_data_course_image (MenuItem *)
-
todo: This function will not work in custom courses.
+
todo: This function will not work in custom courses.
Global setup_podium_ceremony (void)
-
these segmented addresses need to be symbols for mobility
+
these segmented addresses need to be symbols for mobility
+
Global update_actor_red_blue_shell (struct ShellActor *shell)
+
commented out code results in cpus controlling player1 items and other glitches
Global update_gamestate (void)
-
Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
+
Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
Global YoshiValley::BeginPlay () override
-
Skip spawning in credits due to animation crash for now
+
Skip spawning in credits due to animation crash for now
diff --git a/ceremony__and__credits_8c.html b/ceremony__and__credits_8c.html index cb459ffb1..8bb19fc3a 100644 --- a/ceremony__and__credits_8c.html +++ b/ceremony__and__credits_8c.html @@ -1363,7 +1363,7 @@ Here is the caller graph for this function:
-
Todo
Does this match as a return of s8?
+
Todo
Does this match as a return of s8?
Here is the call graph for this function:
@@ -2099,7 +2099,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 5c19c9229..0afc0e41a 100644 --- a/ceremony__and__credits_8h.html +++ b/ceremony__and__credits_8h.html @@ -2037,7 +2037,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/classOSeagull.html b/classOSeagull.html index 2f7584e5d..a517ac880 100644 --- a/classOSeagull.html +++ b/classOSeagull.html @@ -194,7 +194,7 @@ Additional Inherited Members  

Detailed Description

-
Todo
unk_0D5 needs to be a struct variable probably. What does it do? Behaviour?
+
Todo
unk_0D5 needs to be a struct variable probably. What does it do? Behaviour?

Constructor & Destructor Documentation

◆ OSeagull()

diff --git a/classOSnowman.html b/classOSnowman.html index 3165c14b7..fba016675 100644 --- a/classOSnowman.html +++ b/classOSnowman.html @@ -713,7 +713,7 @@ Here is the caller graph for this function:
-
Todo
quick hack to add the snow particles on hit. Need to separate into its own class
+
Todo
quick hack to add the snow particles on hit. Need to separate into its own class

Reimplemented from OObject.

diff --git a/classOThwomp.html b/classOThwomp.html index 2f23a98f7..c550e53af 100644 --- a/classOThwomp.html +++ b/classOThwomp.html @@ -289,7 +289,7 @@ Static Private Attributes  

Detailed Description

-
Todo

Make shadow size bigger if thwomp is scaled up

+
Todo

Make shadow size bigger if thwomp is scaled up

make adjustable properties for squishSize and boundingBoxSize

Thwomp OObject

@@ -1690,7 +1690,7 @@ Here is the caller graph for this function:
-
Todo
Write this better. This effects the squish size and the bounding box size.
+
Todo
Write this better. This effects the squish size and the bounding box size.
diff --git a/classWorld.html b/classWorld.html index 22334394a..01ba968a9 100644 --- a/classWorld.html +++ b/classWorld.html @@ -818,7 +818,7 @@ Here is the call graph for this function:
-
Todo
Use content dictionary instead
+
Todo
Use content dictionary instead
diff --git a/classYoshiValley.html b/classYoshiValley.html index 41e9b8456..51a0b5a91 100644 --- a/classYoshiValley.html +++ b/classYoshiValley.html @@ -239,7 +239,7 @@ Here is the call graph for this function:
-
Bug
Skip spawning in credits due to animation crash for now
+
Bug
Skip spawning in credits due to animation crash for now
Here is the call graph for this function:
diff --git a/code__80005FD0_8c.html b/code__80005FD0_8c.html index b214e8de2..31661909b 100644 --- a/code__80005FD0_8c.html +++ b/code__80005FD0_8c.html @@ -3645,7 +3645,7 @@ Here is the caller graph for this function:
-
Bug
Adding an (f32) cast changes asm, why?
+
Bug
Adding an (f32) cast changes asm, why?
Here is the caller graph for this function:
diff --git a/code__80281780_8c.html b/code__80281780_8c.html index 8dd80bf12..bd6e3779d 100644 --- a/code__80281780_8c.html +++ b/code__80281780_8c.html @@ -194,7 +194,7 @@ Variables
-
Todo
confirm this.
+
Todo
confirm this.
Here is the caller graph for this function:
@@ -266,7 +266,7 @@ Here is the caller graph for this function:
-
Bug
these segmented addresses need to be symbols for mobility
+
Bug
these segmented addresses need to be symbols for mobility
Here is the call graph for this function:
diff --git a/code__80281780_8h.html b/code__80281780_8h.html index db6ff1139..3bf336391 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 caller graph for this function:
@@ -242,7 +242,7 @@ Here is the caller graph for this function:
-
Bug
these segmented addresses need to be symbols for mobility
+
Bug
these segmented addresses need to be symbols for mobility
Here is the call graph for this function:
diff --git a/collision_8c.html b/collision_8c.html index 5a5d6aa4f..da8d27bf1 100644 --- a/collision_8c.html +++ b/collision_8c.html @@ -727,7 +727,7 @@ Here is the caller graph for this function:
-
Bug
+
Bug
Here is the call graph for this function:
diff --git a/collision_8h.html b/collision_8h.html index 5f8f1c3e0..925870be9 100644 --- a/collision_8h.html +++ b/collision_8h.html @@ -555,7 +555,7 @@ Here is the caller graph for this function:
-
Bug
+
Bug
Here is the call graph for this function:
diff --git a/controlflow.html b/controlflow.html index a93579b75..143de1bb3 100644 --- a/controlflow.html +++ b/controlflow.html @@ -135,7 +135,7 @@ $(function(){initNavTree('controlflow.html',''); initResizable(true); }); Actors
  • - Objects + Objects
  • Courses @@ -270,7 +270,7 @@ Actors code_80005FD0 Vehicles; trains, cars, trucks, boats -

    +

    Objects

    Object related code resides in

    diff --git a/defines_8h.html b/defines_8h.html index 8d6377dd5..5e9825dc2 100644 --- a/defines_8h.html +++ b/defines_8h.html @@ -1219,7 +1219,7 @@ Enumerations

    Press start to skip through menus

    Toggle resource meters by holding R and tapping B. L must not be held.

    Reset to start screen by holding A, B, R, and L.

    -

    View player direction and currentPathPoint in a single player race during staging tap L while holding A and B. Turn off this UI by tapping R while holding A and B.

    Bug
    This looks like it should work at any point in the race.
    +

    View player direction and currentPathPoint in a single player race during staging tap L while holding A and B. Turn off this UI by tapping R while holding A and B.

    Bug
    This looks like it should work at any point in the race.

    Set player 1 to the final lap by tapping D-pad up. Set player 1 and player 2 to the final lap by tapping D-pad right. Set player all players to the final lap by tapping D-pad down.

    Immediately start the race if any controller presses Z.

    As the ceremony cutscene starts hold a C or D-pad to switch characters. C UP = LUIGI C LEFT = YOSHI C RIGHT = TOAD C DOWN = DK D-pad UP = WARIO D-pad LEFT = PEACH D-pad RIGHT = BOWSER D-pad DOWN = MARIO

    diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 6fd13ae6d..16f9343b0 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -6248,7 +6248,7 @@ - + @@ -12545,7 +12545,7 @@ - + diff --git a/freecam_8cpp.html b/freecam_8cpp.html index 35f16bc0d..225eff198 100644 --- a/freecam_8cpp.html +++ b/freecam_8cpp.html @@ -279,7 +279,7 @@ Here is the caller graph for this function:
  • -
    Todo
    configure this properly
    +
    Todo
    configure this properly
    Here is the call graph for this function:
    diff --git a/freecam_8h.html b/freecam_8h.html index 9be64cb39..f0cc4f51f 100644 --- a/freecam_8h.html +++ b/freecam_8h.html @@ -221,7 +221,7 @@ Here is the caller graph for this function:
    -
    Todo
    configure this properly
    +
    Todo
    configure this properly
    Here is the call graph for this function:
    diff --git a/heap_8c.html b/heap_8c.html index 3d92c8dfc..cce221794 100644 --- a/heap_8c.html +++ b/heap_8c.html @@ -554,7 +554,7 @@ Here is the caller graph for this function:
    -
    Bug
    they probably meant to store the value to tmp[i] and tmp[8 + i]
    +
    Bug
    they probably meant to store the value to tmp[i] and tmp[8 + i]
    diff --git a/heap_8h.html b/heap_8h.html index e49e00ce9..b6f30a2b8 100644 --- a/heap_8h.html +++ b/heap_8h.html @@ -651,7 +651,7 @@ Here is the caller graph for this function:
    -
    Bug
    they probably meant to store the value to tmp[i] and tmp[8 + i]
    +
    Bug
    they probably meant to store the value to tmp[i] and tmp[8 + i]
    diff --git a/load_8c.html b/load_8c.html index 8ddaed192..f417e218f 100644 --- a/load_8c.html +++ b/load_8c.html @@ -838,7 +838,7 @@ Here is the caller graph for this function:
    -
    Bug
    missing return
    +
    Bug
    missing return
    Here is the call graph for this function:
    @@ -1131,7 +1131,7 @@ Here is the caller graph for this function:
    -
    Bug
    should be IS_SEQ_LOAD_COMPLETE
    +
    Bug
    should be IS_SEQ_LOAD_COMPLETE
    Here is the call graph for this function:
    diff --git a/load_8h.html b/load_8h.html index 494197724..4c630b182 100644 --- a/load_8h.html +++ b/load_8h.html @@ -661,7 +661,7 @@ Here is the caller graph for this function:
    -
    Bug
    missing return
    +
    Bug
    missing return
    Here is the call graph for this function:
    @@ -923,7 +923,7 @@ Here is the caller graph for this function:
    -
    Bug
    should be IS_SEQ_LOAD_COMPLETE
    +
    Bug
    should be IS_SEQ_LOAD_COMPLETE
    Here is the call graph for this function:
    diff --git a/main_8c.html b/main_8c.html index bcfc65601..09ba4ac52 100644 --- a/main_8c.html +++ b/main_8c.html @@ -1954,7 +1954,7 @@ Here is the caller graph for this function:

    Sets courseId to NULL if

    -
    Bug
    Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
    +
    Bug
    Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
    Here is the call graph for this function:
    diff --git a/main_8h.html b/main_8h.html index 69d792786..93ff54d1a 100644 --- a/main_8h.html +++ b/main_8h.html @@ -1766,7 +1766,7 @@ Here is the caller graph for this function:

    Sets courseId to NULL if

    -
    Bug
    Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
    +
    Bug
    Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.
    Here is the call graph for this function:
    diff --git a/menu__items_8c.html b/menu__items_8c.html index 9b03c20be..377911909 100644 --- a/menu__items_8c.html +++ b/menu__items_8c.html @@ -10237,7 +10237,7 @@ Here is the call graph for this function:
    -
    Bug
    todo: This function will not work in custom courses.
    +
    Bug
    todo: This function will not work in custom courses.
    Here is the call graph for this function:
    diff --git a/menu__items_8h.html b/menu__items_8h.html index 5c341c251..5fe17c0bc 100644 --- a/menu__items_8h.html +++ b/menu__items_8h.html @@ -10370,7 +10370,7 @@ Here is the call graph for this function:
    -
    Bug
    todo: This function will not work in custom courses.
    +
    Bug
    todo: This function will not work in custom courses.
    Here is the call graph for this function:
    diff --git a/menus_8c.html b/menus_8c.html index 46b185447..364c79f73 100644 --- a/menus_8c.html +++ b/menus_8c.html @@ -381,7 +381,7 @@ Here is the caller graph for this function:

    Navigation of the map select course menu screen

    -
    Todo
    SetCourse() to course one;
    +
    Todo
    SetCourse() to course one;
    Here is the call graph for this function:
    diff --git a/menus_8h.html b/menus_8h.html index c8a11e3d9..977684f70 100644 --- a/menus_8h.html +++ b/menus_8h.html @@ -861,7 +861,7 @@ Variables

    Navigation of the map select course menu screen

    -
    Todo
    SetCourse() to course one;
    +
    Todo
    SetCourse() to course one;
    Here is the call graph for this function:
    diff --git a/navtreedata.js b/navtreedata.js index 141e22ae3..dd5c58135 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -101,8 +101,8 @@ var NAVTREE = [ "Future plans", "md_docs_2textures-pack.html#future-plans-1", null ] ] ], [ "Tutorials", "tutorials.html", "tutorials" ], - [ "Todo List", "todo.html", null ], [ "Bug List", "bug.html", null ], + [ "Todo List", "todo.html", null ], [ "Deprecated List", "deprecated.html", null ], [ "Namespaces", "namespaces.html", [ [ "Namespace List", "namespaces.html", "namespaces_dup" ], diff --git a/navtreeindex26.js b/navtreeindex26.js index 7dda71962..0f4434ee7 100644 --- a/navtreeindex26.js +++ b/navtreeindex26.js @@ -175,7 +175,7 @@ var NAVTREEINDEX26 = "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/navtreeindex50.js b/navtreeindex50.js index 04b21bffd..2875d9aac 100644 --- a/navtreeindex50.js +++ b/navtreeindex50.js @@ -247,7 +247,7 @@ var NAVTREEINDEX50 = "new__func_8h.html#ac8095e2ec1adbd7e74e655c578968a36":[15,0,3,9,55,0], "new__func_8h_source.html":[15,0,3,9,55], "objects.html":[0,1], -"objects.html#objects":[0,1,0], +"objects.html#objects-1":[0,1,0], "objects_8h.html":[15,0,2,16], "objects_8h.html#a015cc1fa03690348fb398b9be74ecc15":[15,0,2,16,35] }; diff --git a/navtreeindex7.js b/navtreeindex7.js index b948ec6bd..b8bf2df91 100644 --- a/navtreeindex7.js +++ b/navtreeindex7.js @@ -33,7 +33,7 @@ var NAVTREEINDEX7 = "buffers_8h.html#ad69c72ff050917ed80fee1f0a4b6e373":[15,0,3,14,13], "buffers_8h.html#ad9140e069d65bc5b5da75424d09e9e57":[15,0,3,14,14], "buffers_8h_source.html":[15,0,3,14], -"bug.html":[11], +"bug.html":[10], "camera_8c.html":[15,0,3,15], "camera_8c.html#a0044cd79d56fa26de4dfd49bc77e3471":[15,0,3,15,14], "camera_8c.html#a005d75adccaa470b61adba174ce1a631":[15,0,3,15,34], diff --git a/navtreeindex83.js b/navtreeindex83.js index 6b361d933..1fdc30098 100644 --- a/navtreeindex83.js +++ b/navtreeindex83.js @@ -106,7 +106,7 @@ var NAVTREEINDEX83 = "toads__turnpike__vertices_8h.html":[15,0,2,0,72], "toads__turnpike__vertices_8h.html#aeb4a622bb261d15775c85686a152bff0":[15,0,2,0,72,0], "toads__turnpike__vertices_8h_source.html":[15,0,2,0,72], -"todo.html":[10], +"todo.html":[11], "track_8c.html":[15,0,0,8,12], "track_8c.html#a00958ded863a09c2857c7e89950e0601":[15,0,0,8,12,36], "track_8c.html#a01ea1f8de04f1e92a9690b1bbb863d28":[15,0,0,8,12,217], diff --git a/networking_8h.html b/networking_8h.html index 6068311c3..c262e2a38 100644 --- a/networking_8h.html +++ b/networking_8h.html @@ -841,7 +841,7 @@ Here is the caller graph for this function:
    -
    Todo
    SetCourse();
    +
    Todo
    SetCourse();
    Here is the caller graph for this function:
    diff --git a/objects.html b/objects.html index b2fddf403..fb6582607 100644 --- a/objects.html +++ b/objects.html @@ -108,7 +108,7 @@ $(function(){initNavTree('objects.html',''); initResizable(true); });
    Objects
    -

    +

    Objects

    diff --git a/pages.html b/pages.html index adee0e8f7..f833b76cf 100644 --- a/pages.html +++ b/pages.html @@ -133,8 +133,8 @@ $(function(){initNavTree('pages.html',''); initResizable(true); });  Boost Ramps  Paths  Audio - Todo List - Bug List + Bug List + Todo List  Deprecated List
    diff --git a/playback_8c.html b/playback_8c.html index b222fc8da..1b1bd9f1b 100644 --- a/playback_8c.html +++ b/playback_8c.html @@ -870,7 +870,7 @@ Here is the caller graph for this function:
    -
    Bug
    for the change to UQ0.7, the if statement should also have been changed accordingly
    +
    Bug
    for the change to UQ0.7, the if statement should also have been changed accordingly
    Here is the caller graph for this function:
    diff --git a/playback_8h.html b/playback_8h.html index fb226fe0f..e8c76d1f5 100644 --- a/playback_8h.html +++ b/playback_8h.html @@ -931,7 +931,7 @@ Here is the caller graph for this function:
    -
    Bug
    for the change to UQ0.7, the if statement should also have been changed accordingly
    +
    Bug
    for the change to UQ0.7, the if statement should also have been changed accordingly
    Here is the caller graph for this function:
    diff --git a/podium__ceremony__actors_8c.html b/podium__ceremony__actors_8c.html index e1a6a4116..526a36c34 100644 --- a/podium__ceremony__actors_8c.html +++ b/podium__ceremony__actors_8c.html @@ -627,8 +627,8 @@ Here is the caller graph for this function:
    -
    Bug
    No null check.
    -
    Bug
    +
    Bug
    No null check.
    +
    Bug
    Todo
    More indepth error checking/return value
    Here is the call graph for this function:
    diff --git a/podium__ceremony__actors_8h.html b/podium__ceremony__actors_8h.html index 7268a3a9b..341cf7f20 100644 --- a/podium__ceremony__actors_8h.html +++ b/podium__ceremony__actors_8h.html @@ -583,8 +583,8 @@ Here is the caller graph for this function:
    -
    Bug
    No null check.
    -
    Bug
    +
    Bug
    No null check.
    +
    Bug
    Todo
    More indepth error checking/return value
    Here is the call graph for this function:
    diff --git a/search/all_11.js b/search/all_11.js index 69a1ef68c..b0633fa57 100644 --- a/search/all_11.js +++ b/search/all_11.js @@ -36,7 +36,7 @@ var searchData= ['objectpicker_2ecpp_33',['ObjectPicker.cpp',['../ObjectPicker_8cpp.html',1,'']]], ['objectpicker_2eh_34',['ObjectPicker.h',['../ObjectPicker_8h.html',1,'']]], ['objectreplication_35',['ObjectReplication',['../replication_8c.html#a51d6551124e4a1946bb006ba096d6726',1,'replication.c']]], - ['objects_36',['Objects',['../structWorld_1_1Matrix.html#a9ffe24e9a3a0b5365aa5fcf5287d9619',1,'World::Matrix::Objects'],['../classWorld.html#a6cbf7696cb1102cd7f07b937b8e42648',1,'World::Objects'],['../objects.html',1,'Objects'],['../objects.html#objects',1,'Objects'],['../controlflow.html#objects-1',1,'Objects']]], + ['objects_36',['Objects',['../structWorld_1_1Matrix.html#a9ffe24e9a3a0b5365aa5fcf5287d9619',1,'World::Matrix::Objects'],['../classWorld.html#a6cbf7696cb1102cd7f07b937b8e42648',1,'World::Objects'],['../objects.html',1,'Objects'],['../controlflow.html#objects',1,'Objects'],['../objects.html#objects-1',1,'Objects']]], ['objects_2eh_37',['objects.h',['../objects_8h.html',1,'']]], ['objects_2emd_38',['objects.md',['../objects_8md.html',1,'']]], ['obombkart_39',['OBombKart',['../classOBombKart.html',1,'OBombKart'],['../classOBombKart.html#adce8f46e3608e94dd14e465b61db900b',1,'OBombKart::OBombKart()']]], diff --git a/seqplayer_8c.html b/seqplayer_8c.html index a3a20f22c..31ccd152e 100644 --- a/seqplayer_8c.html +++ b/seqplayer_8c.html @@ -438,7 +438,7 @@ Here is the caller graph for this function:
    -
    Bug
    Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
    +
    Bug
    Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
    Here is the call graph for this function:
    diff --git a/seqplayer_8h.html b/seqplayer_8h.html index 3e0a70470..5581b6ed2 100644 --- a/seqplayer_8h.html +++ b/seqplayer_8h.html @@ -502,7 +502,7 @@ Here is the caller graph for this function:
    -
    Bug
    Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
    +
    Bug
    Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
    Here is the call graph for this function:
    diff --git a/start__game_8c.html b/start__game_8c.html index 451c9a92c..bef418019 100644 --- a/start__game_8c.html +++ b/start__game_8c.html @@ -327,7 +327,7 @@ Here is the caller graph for this function:
    -
    Todo
    SetCourse();
    +
    Todo
    SetCourse();
    Here is the caller graph for this function:
    diff --git a/todo.html b/todo.html index 04bf15e65..ac031060e 100644 --- a/todo.html +++ b/todo.html @@ -136,11 +136,11 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global clear_framebuffer (s32)
    Why did void* work for matching
    Global course_select_menu_act (struct Controller *, u16)
    -
    SetCourse() to course one;
    +
    SetCourse() to course one;
    Global D_800E43B0 []
    unused?
    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?

    @@ -150,7 +150,7 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global fill2
    0x00000000800f624c fill2
    Global freecam_keyboard_manager (Camera *, Vec3f)
    -
    configure this properly
    +
    configure this properly
    Global func_80028864 (Player *, Camera *, s8, s8)
    make a proper match
    Global func_80046030 (u8 *tlut, u8 *texture, Vtx *arg2, s32 width, s32 arg4, s32 height)
    @@ -166,9 +166,9 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    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?
    +
    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 GetCupName (void)
    @@ -202,11 +202,11 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global osContInit (OSMesgQueue *mq, u8 *bitpattern, OSContStatus *status)
    figure out what it means
    Class OSeagull
    -
    unk_0D5 needs to be a struct variable probably. What does it do? Behaviour?
    +
    unk_0D5 needs to be a struct variable probably. What does it do? Behaviour?
    Global OSnowman::DrawBody (s32)
    quick hack to add the snow particles on hit. Need to separate into its own class
    Global OSnowman::Tick () override
    -
    quick hack to add the snow particles on hit. Need to separate into its own class
    +
    quick hack to add the snow particles on hit. Need to separate into its own class
    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)
    @@ -218,12 +218,12 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global osViSwapBuffer (void *vaddr)
    figure out what this flag means
    Class OThwomp
    -

    Make shadow size bigger if thwomp is scaled up

    +

    Make shadow size bigger if thwomp is scaled up

    make adjustable properties for squishSize and boundingBoxSize

    Global OThwomp::_boundingBoxSize
    -
    Write this better. This effects the squish size and the bounding box size.
    +
    Write this better. This effects the squish size and the bounding box size.
    Global PI_DOMAIN1
    This define is from os.h, but including that causes problems...
    Global render_collision (void)
    @@ -233,7 +233,7 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global render_texture_rectangle_wide (s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6)
    Update to F3DEX. Uses OLD definition for gspTextureRectangle.
    Global set_course (const char *data)
    -
    SetCourse();
    +
    SetCourse();
    Global set_minimap_finishline_position (s32)
    : Hardcode these x and y values. Because why not?
    Global SOUND_ARG_LOAD (sound_bank, byte2, byte3, sound_id)
    @@ -247,7 +247,7 @@ $(function(){initNavTree('todo.html',''); initResizable(true); });
    Global US_FLOAT (x)
    US_FLOAT should probably be renamed to JP_DOUBLE since eu seems to use floats too
    Global World::SetCourse (const char *)
    -
    Use content dictionary instead
    +
    Use content dictionary instead
    diff --git a/update__objects_8c.html b/update__objects_8c.html index 0747aad73..d9611182d 100644 --- a/update__objects_8c.html +++ b/update__objects_8c.html @@ -4833,7 +4833,7 @@ Here is the caller graph for this function:
    -
    Bug
    frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10 right here
    +
    Bug
    frappe snowland There's something up with the handling of common_vtx_rectangle and the loading of 0x10 right here
    Here is the call graph for this function: