Fix podium ceremony scene (#464)

* Update podium_ceremony_actors.c

* Update podium_ceremony_actors.h

* Update code_80281780.c
This commit is contained in:
MegaMech
2025-07-15 12:15:50 -06:00
committed by GitHub
parent 01f6b9a1ce
commit 4868fadcb9
3 changed files with 7 additions and 8 deletions
-2
View File
@@ -95,8 +95,6 @@ void func_802818BC(void) {
void setup_podium_ceremony(void) {
Camera* camera = &cameras[0];
clear_podium_actors();
gCurrentCourseId = COURSE_ROYAL_RACEWAY;
SelectPodiumCeremony();
D_800DC5B4 = (u16) 1;
+7 -5
View File
@@ -132,10 +132,6 @@ CeremonyActor* new_actor(ActorInitParams* arg0) {
return actor;
}
void clear_podium_actors() {
memset(&sPodiumActorList, 0, sizeof(CeremonyActor));
}
u16 random_u16_credits(void) {
u16 temp1, temp2;
@@ -308,8 +304,14 @@ void unused_80280FA0(UNUSED CeremonyActor* actor) {
void unused_80280FA8(UNUSED CeremonyActor* actor) {
}
/*
* Original game only cleared D_802874D8.actorTimer.
* However, the whole struct needs to be cleared otherwise, the
* podium racers do not reset to their starting positions
* and some of the camera scenes or positions get mixed up.
*/
void balloons_and_fireworks_init(void) {
D_802874D8.actorTimer = 0;
memset(&D_802874D8, 0, sizeof(struct_D_802874D8)); // podium fix
sPodiumActorList = (CeremonyActor*) get_next_available_memory_addr(sizeof(CeremonyActor) * 200);
bzero(sPodiumActorList, (sizeof(CeremonyActor) * 200));
new_actor(&initDummy);
-1
View File
@@ -100,7 +100,6 @@ void func_80281530(void);
void func_80281538(void);
void func_80281540(void);
void podium_ceremony_loop(void);
void clear_podium_actors(void);
extern struct_D_802874D8 D_802874D8;
extern CeremonyActor* sPodiumActorList;