mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-23 06:54:14 -04:00
Introduce actor_table.h (#985)
* Make actor_table.h
* DECLARE_OVERLAY_SEGMENT
* InitVars
* Remove InitVars from actor headers
* format
* Use table for ActorID enum
* Move segment symbols declarations back to segment_symbols.h
* add newline to actor_table.h
* Add effects back to segnt_symbols.h
* Update include/tables/actor_table.h
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* Update src/overlays/actors/ovl_Shot_Sun/z_shot_sun.h
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
* name unused parameters
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
* format
* Revert "name unused parameters"
This reverts commit 14fe63313a.
* Remove `const` from InitVars
* Add underscore to unused parameters
* ActorID -> ActorId
* bss
* missing symbols and bss
* lower diff a bit
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
@@ -26,7 +26,7 @@ void func_809527F8(EnMs* this, PlayState* play);
|
||||
void func_809529AC(EnMs* this, PlayState* play);
|
||||
void func_80952A1C(EnMs* this, PlayState* play);
|
||||
|
||||
const ActorInit En_Ms_InitVars = {
|
||||
ActorInit En_Ms_InitVars = {
|
||||
ACTOR_EN_MS,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
|
||||
@@ -27,7 +27,7 @@ void EnRecepgirl_Draw(Actor* thisx, PlayState* play);
|
||||
|
||||
// --------------- 4 ---------------
|
||||
#if 0
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
@@ -122,8 +122,6 @@ typedef struct EnRecepgirl {
|
||||
/* 0x02AC */ char unk_2AC[0x8];
|
||||
} EnRecepgirl; // size = 0x2B4
|
||||
|
||||
extern const ActorInit En_Recepgirl_InitVars;
|
||||
|
||||
#endif // Z_EN_RECEPGIRL_H
|
||||
```
|
||||
|
||||
@@ -337,7 +335,7 @@ For now, we do not want to consider the data that mips2c has kindly imported for
|
||||
|
||||
```C
|
||||
#if 0
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
|
||||
@@ -43,7 +43,7 @@ Once we have decompiled enough things to know what the data is, we can import it
|
||||
|
||||
```C
|
||||
#if 0
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
@@ -99,7 +99,7 @@ endseg
|
||||
Next remove all the externs, and uncomment their corresponding commented data:
|
||||
|
||||
```C
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
@@ -139,7 +139,7 @@ As we'd expect, of course: we didn't fulfil our promise that they were defined e
|
||||
For actors which have yet to be decompiled, this is mitigated by use of the file `undefined_syms.txt`, which feeds the linker the raw addresses to use as the symbol definitions. However, we want to replace these segmented addresses with proper object symbols whenever possible. In `En_Recepgirl_InitVars`, we can see that this actor uses the object `OBJECT_BG`:
|
||||
|
||||
```c
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
|
||||
@@ -48,7 +48,7 @@ void func_80C1019C(EnRecepgirl* this, PlayState* play);
|
||||
void func_80C10290(EnRecepgirl* this);
|
||||
void func_80C102D4(EnRecepgirl* this, PlayState* play);
|
||||
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
@@ -316,7 +316,7 @@ So it is used as an index into the array `D_80C106B0`, and the element with that
|
||||
As we discussed last time, `D_80C106B0` is an array of [segmented pointers](data.md#segmented-pointers). Since they are in segment `6`, they are in the actor's object file. Which object? The InitVars tell us: namely,
|
||||
|
||||
```C
|
||||
const ActorInit En_Recepgirl_InitVars = {
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
|
||||
Reference in New Issue
Block a user