1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +00:00

ovl_demo_effect 100% OK (#466)

* Fully decompiles demo_effect actor.

* Formats z_demo_effect.c

* GET_ACTOR_TYPE is renamed to GET_EFFECT_TYPE

* Implements OPEN_DISPS macros for all draw functions.

* Fixes ugly float values

* Removes unnecessary union structs in the DemoEffect actor struct

* Renames DemoEffect SkelAnimeCurve member to skelCurve

* Names initObjectBankIndex DemoEffect struct member

* Renames jewel display list holders

* Renames initialization function pointers to initUpdateFunc and initDrawFunc

* Renames primitive and environment color DemoEffect struct members.

* Fixes a couple missed floats.

* Renames most draw and update functions.

* Finishes naming all update functions.

* Adds additional SFX defines.

* Renames the rest of the functions

* Renames all external object display lists and vertex references

* Renames DemoEffect global data variables

* Renames DemoEffect Medal function to GetItem because it's used by LightArrows too

* Fixes DemoEffect Timewarp_Timeblock documentation.

* DemoEffect_TimewarpTimeblock updates shrink functions to use decimal

* Converts DemoEffect hex to decimal where appopriate

* Names the rest of DemoEffect struct members.

* Names DemoEffect triforceSpot crystalLightOpacity

* Adds DemoEffect enums for light effect color and god lgt types.

* Renames DemoEffect_UpdateBlueOrb to DemoEffect_UpdateBlueOrbGrow

* Fixes compiler warning in DemoEffect_JewelSparkle

* Renames DemoEffect_MedalSparkle argument

* Reformatting DemoEffect struct offset comments.

* Formats z_demo_effect

* Updates DemoEffect oGfxCtx to use the new macros.

* Adds comments detailing what each function in the DemoEffect system does.

* Removes z_demo_effect.data.s

* Renames DemoEffect global variables and sets them to static

* Removes pointer from DemoEffect function references

* Removes unncecessary default: break; statements in DemoEffect

* Converts rotation values to hex in DemoEffect

* DemoEffect effectFlags now uses ~1 rather than 65534

* DemoEffect_DrawGodLgt now uses a cleaner conditional statement

* eventChkInf in DemoEffect now uses 1 << 9 and 1 << 11

* DemoEffect now uses VT macros.

* Converts DemoEffect colors to hex.

* Changes M_PI / 32768.0f to M_PI / 0x8000

* Updates demo_effect enums to be all caps

* ovl_demo_effect reloc info is now included via build process rather than included from original asm

* Adds param packing macro

* DemoEffect struct unions are now typedef'd outside of the main struct

* Reformats DemoEffect sJewelSparkleColors

* Removes an if(globalCtx){} in DemoEffect_Init

* Removes ActorFunc cast in DemoEffect_Wait

* Removes unncessary comment in DemoEffect_MedalSparkle

* Timer check in DemoEffect_UpdateLightRingShrinking now uses <= 255 rather than < 256

* Removes unnecessary comment in DemoEffect_SetJewelColor

* Removes unncessary comment in DemoEffect_MoveJewelActivateDoorOfTime

* Converts an angle to hex in DemoEffect_MoveJewelActivateDoorOfTime

* Converts a while to for loop in DemoEffect_JewelSparkle

* Moves stack variables in DemoEffect_UpdateDust to a new line for each one

* Removes globalCtx2 assignment to the beginning of the function in DemoEffect_DrawJewel

* Removes unnecessary comment in DemoEffect_DrawCrystalLight

* No longer wrapping rotation reset in if(1){} in DemoEffect_DrawGodLgt

* Converts DemoEffect if statements to use != 0 and == 0 when non-boolean ints are checked.

* DemoEffect initDrawFunc now uses type ActorFunc rather than DemoEffectFunc

* review 2

Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
Kenix3 2020-12-07 12:48:29 -05:00 committed by GitHub
parent eff219f79b
commit 353684c638
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 2260 additions and 6657 deletions

View file

@ -1,28 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Demo_Effect_InitVars
.word 0x008B0100, 0x00000030, 0x00010000, 0x000001A0
.word DemoEffect_Init
.word DemoEffect_Destroy
.word DemoEffect_Update
.word 0x00000000
glabel D_80976810
.word 0x00000000
glabel D_80976814
.word 0x008E008F, 0x00010091, 0x00930093, 0x00930094, 0x009500BA, 0x00BA00BA, 0x00BA00BA, 0x00BA00A8, 0x00940094, 0x000100AD, 0x00AD00AD, 0x00AD0158, 0x00A800A8
glabel D_80976848
.byte 0x01
glabel D_80976849
.byte 0x01, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
glabel D_80976860
.word 0xFFFFFF64, 0xFF00FFFF, 0xFFC80096, 0xFFFFFF00, 0x64FF0000, 0x00000000, 0xDF000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80976D90
.incbin "baserom/ovl_Demo_Effect", 0x5E40, 0x00000600