1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-05 22:00:15 +00:00

ovl_Demo_Gj Ok (#670)

* a bunch of functions

Signed-off-by: angie <angheloalf95@gmail.com>

* another bunch of functions

Signed-off-by: angie <angheloalf95@gmail.com>

* add dummies to func_8097911C to match it

Signed-off-by: angie <angheloalf95@gmail.com>

* fix some functions declarations

Signed-off-by: angie <angheloalf95@gmail.com>

* Add functions of the array used by the update function

Signed-off-by: angie <angheloalf95@gmail.com>

* add functions used by draw

Signed-off-by: angie <angheloalf95@gmail.com>

* draw and update functions

Signed-off-by: angie <angheloalf95@gmail.com>

* DemoGj_Init

Signed-off-by: angie <angheloalf95@gmail.com>

* fix some functions declarations

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* 9 small functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Some unmatched functions and 12 small matched functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* another 7 small functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* add data

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* small types fixes

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* six more functions

Signed-off-by: angie <angheloalf95@gmail.com>

* func_80978C20

Signed-off-by: angie <angheloalf95@gmail.com>

* func_8097BA48

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* five repeated functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Array of cylinders and two other functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* seven equals and problematic functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_80978F60 and func_80979860

Signed-off-by: angie <angheloalf95@gmail.com>

* func_8097923C doesn't want to match :c

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* three not matching functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_80978AFC

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* three more

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* DemoGj_FindGanon

Signed-off-by: angie <angheloalf95@gmail.com>

* func_809797E4

Signed-off-by: angie <angheloalf95@gmail.com>

* func_80978B90

Signed-off-by: angie <angheloalf95@gmail.com>

* last non matching function

Signed-off-by: angie <angheloalf95@gmail.com>

* erase reloc

Signed-off-by: angie <angheloalf95@gmail.com>

* a bit of renaming

Signed-off-by: angie <angheloalf95@gmail.com>

* another chunk of renaming

Signed-off-by: angie <angheloalf95@gmail.com>

* fix reg macros and a few comments

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* vt, arrayfuncs renaming and another bit of renaming

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* More renaming

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* i'm hating this actor

Signed-off-by: angie <angheloalf95@gmail.com>

* format

Signed-off-by: angie <angheloalf95@gmail.com>

* Changes asked by @shawlucas

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* swap globalCtx and globalCtx2

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Move static variables nearer to where they are used and general cleanup

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* A bunch of changes

Signed-off-by: angie <angheloalf95@gmail.com>

* run format.sh

Signed-off-by: angie <angheloalf95@gmail.com>

* Forgot to change updateMode

Signed-off-by: Angie <angheloalf95@gmail.com>

* Rename the references to object_gj

Signed-off-by: Angie <angheloalf95@gmail.com>

* Rename some functions

Signed-off-by: Angie <angheloalf95@gmail.com>

* document the actor params, a few members and rename some draw functions

Signed-off-by: Angie <angheloalf95@gmail.com>

* Rename DemoGj_DrawRubbleDisplayList into DemoGj_DrawRotated

Signed-off-by: angie <angheloalf95@gmail.com>

* The first type is the the rubble that is around the fight's arena

Signed-off-by: angie <angheloalf95@gmail.com>

* rename the enums

Signed-off-by: angie <angheloalf95@gmail.com>

* Document the value read from the Ganon instance and rename a few functions from that

Signed-off-by: Angie <angheloalf95@gmail.com>

* rename init and draw functions

Signed-off-by: Angie <angheloalf95@gmail.com>

* rename smoke spawner functions

Signed-off-by: angie <angheloalf95@gmail.com>

* run format.sh

Signed-off-by: angie <angheloalf95@gmail.com>

* fix merge issues

Signed-off-by: Angie <angheloalf95@gmail.com>
This commit is contained in:
Anghelo Carvajal 2021-02-28 11:53:46 -03:00 committed by GitHub
parent c47372d397
commit 62606737f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
126 changed files with 1464 additions and 4249 deletions

View file

@ -8,7 +8,9 @@ struct BossGanon2;
typedef struct BossGanon2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1D8];
/* 0x014C */ char unk_14C[0x1C8];
/* 0x0314 */ u8 unk_314;
/* 0x0315 */ char unk_315[0x0F];
/* 0x0324 */ f32 unk_324;
/* 0x0328 */ char unk_328[0x5BC];
} BossGanon2; // size = 0x08E4

File diff suppressed because it is too large Load diff

View file

@ -4,13 +4,44 @@
#include "ultra64.h"
#include "global.h"
#include "overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.h"
struct DemoGj;
typedef struct DemoGj {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x12C];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ s32 updateMode;
/* 0x0168 */ s32 drawConfig;
/* 0x016C */ Vec3s rotationVec;
/* 0x0172 */ Vec3s unk_172; // It is assigned only. @see DemoGj_SetupTranslation and @see DemoGj_SetupMovement
/* 0x0178 */ BossGanon2* ganon;
/* 0x017C */ s32 isTransformedIntoGanon; // flag
/* 0x0180 */ s32 isRotated; // flag
/* 0x0184 */ ColliderCylinder cylinders[3];
/* 0x0268 */ s32 killFlag; // This actor never sets this flag, but it reads it. If set to `true` and the actor type is DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_1, DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_2 or DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_TALL, then the actor will be killed and will drop the specified amount of collectibles.
/* 0x026C */ Vec3f unk_26C; // This actor never sets this. Specifies which direction will this actor explode when killed using `killFlag`.
} DemoGj; // size = 0x0278
extern const ActorInit Demo_Gj_InitVars;
/**
* The format of this actor's params is the following:
* bits 11-15: The collectible that will be dropped when killed.
* bits 8-10: The amount of collectible that will be dropped when killed.
* bits 0- 7: A value of the enum DemoGjType.
*/
typedef enum {
/* 04 */ DEMOGJ_TYPE_AROUNDARENA = 4, // This is the indestructible rubble around the arena. This actor keeps alive the whole fight.
/* 08 */ DEMOGJ_TYPE_RUBBLE_PILE_1 = 8, // DEMOGJ_TYPE_RUBBLE_PILE_X are the rubbles from where Ganondorf rises. When he transforms into Ganon these are removed from the scene (Actor_Kill).
/* 09 */ DEMOGJ_TYPE_RUBBLE_PILE_2,
/* 10 */ DEMOGJ_TYPE_RUBBLE_PILE_3,
/* 11 */ DEMOGJ_TYPE_RUBBLE_PILE_4,
/* 12 */ DEMOGJ_TYPE_RUBBLE_PILE_5,
/* 13 */ DEMOGJ_TYPE_RUBBLE_PILE_6,
/* 14 */ DEMOGJ_TYPE_RUBBLE_PILE_7,
/* 16 */ DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_1 = 16, // This three rubbles are the ones that Ganon can destroy and drop collectables.
/* 17 */ DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_2, // They are spawned as soon as the others, but they have collision and are rendered only when Ganondorf has transformed into Ganon.
/* 22 */ DEMOGJ_TYPE_DESTRUCTABLE_RUBBLE_TALL = 22 //
} DemoGjType;
#endif