diff options
| author | Tharo <17233964+Thar0@users.noreply.github.com> | 2021-08-04 04:21:31 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-03 23:21:31 -0400 |
| commit | 7743e5a2c4b6d01c847dea8929c707e65e5e18b3 (patch) | |
| tree | 344b481b7f247b8718db059cac0042e921115714 /src/code/z_effect_soft_sprite.c | |
| parent | 60ff2079829021dcc80f40171ca2652f3ab1f9ae (diff) | |
Overhaul the build system (#234)
* wip
* fix
* add disassembler
* Disasm builds OK
* Variable addends
* More wip
* Rodata migration implemented
* Cleanup old tools
* Try fix submodule -> subrepo merge
* git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD
subrepo:
subdir: "tools/ZAPD"
merged: "602e609"
upstream:
origin: "https://github.com/zeldaret/ZAPD.git"
branch: "master"
commit: "602e609"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "2f68596"
* Builds again but assets are totally broken
* git subrepo pull --force tools/asm-processor
subrepo:
subdir: "tools/asm-processor"
merged: "1ffdb08a"
upstream:
origin: "https://github.com/simonlindholm/asm-processor.git"
branch: "master"
commit: "1ffdb08a"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "2f68596"
* More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables
* rm z64compress in preparation for subrepo
* git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress
subrepo:
subdir: "tools/z64compress"
merged: "eb11085c"
upstream:
origin: "https://github.com/z64me/z64compress.git"
branch: "main"
commit: "eb11085c"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "2f68596"
* Fix asset extraction
* Fix diff-init make rule
* Split code bss
* Split assumed linker bug padding from assembly files
* add filelists for mm.us.rev1
* Maybe working, but I'm not sure
* add overlays to spec
* Add rodata to actos
* Everything compiles
* Make a lot of C files for code
* Add almost every file in code to spec
* whoops
* 3 code files left
* add scenes to spec
* More progress on progress.py
* Fix skelanime in spec
* audio files!
* Fix merge issues
* Fix some C files in code
* Fix remaining code files
* Use existing O1 C files in spec
* reorder boot order in spec
* update spec
* fault.c
* Convert relocs on completed actors, fixbaserom uses current rom name
* more boot files
* Add VT macros and script
* finish already existing boot files
* most of libultra
* fix 64bits libultra files
* Use C files for libultra, wrap some functions in NON_MATCHING
* Remove duplicate of OS_CLOCK_RATE from fault.c
* C files for fbdemos
* delete dumb files
* bootstrap C files, still need to add them to the spec
* update fixbaserom
* boot OK?
* I forgot to commit the spec
* C for gamestates
* C for kaleido
* Change all includes to ""
* copy actor sizes script from oot
* I forgot to delete those files
* Basic C files for effects
* Add effects initvars names
* Remove mislabelled boot functions from header/txt
* Begin porting bootstrap_fx, some sizes
* Fix <>
* Fix enum
* Fix diff.py
* fix libultra stuff
* update regconvert
* update setup warnings
* add some missing ;
* Fix some makefile stuff and other fixes on some non_matching functions
* add executable flag in extract_baserom and fixbaserom
* fix relative path
* copy assist from oot
* fix map path
* another assist path fix
* Delete C files for handwritten files
* add code_801A51F0 to spec
* add gfxbuffers to spec
* Move rodata to top of each file when possible
* UNK_TYPEs for func_801A51F0
* Remove kaleido rodata from spec
* Update spec and undefined_syms for recent merge
* GCC warnings and fix errors in nonmatchings,
* round percentage numbers
* progress script: format changes
* progress: error on non-existing files
* fix warning in z_scene_table
* Match 2 nonmatchings in z_actor
* Warnings in lightswitch and invadepoh
* Fix warning in z_actor_dlftbls
* I though I fixed this one
* whoops
* Comment out CC_CHECK
* Removed redundant ultra64.h includes
* Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms
* Completed gamestates bootstrap
* Split kaleido_scope
* Remove section.h and segment.h, move keep object externs to a common location in variables.h
* Completed effects bootstrap
* Segmented address externs for effects, fbdemos, gamestates and kaleido
* Move actor data externs out of the if 0
* Segmented address externs for actors
* Prepare actionfunc detection
* fix script, how did it even work before
* Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler
* Automated actionFunc detection in actors
* Segmented addresses from player .text
* rm old segment addrs script and fix build
* Move sizes folder to tools
* Make build.py executable
* New Jenkinsfile Prayge
* Remove numpy dependencies
* Add warnings_disasm_current.txt
* my bad
* Update spec and undefined_syms
* Add z_eff_ss_hahen to pametfrog
* git subrepo pull (merge) --force tools/z64compress
subrepo:
subdir: "tools/z64compress"
merged: "163ca2af"
upstream:
origin: "https://github.com/z64me/z64compress.git"
branch: "main"
commit: "163ca2af"
git-subrepo:
version: "0.4.3"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "2f68596"
* Make z64compress print to stdout
* sneeky commit to update warnings tooling
* test
* Another test
* Mark fixing overlay reloc generating as a TODO
* Update warnings stuff
* Communicate the return code from running z64compress back to the Makefile through the wrapper
* Run formatter, remove extra commented copy of function
* Re-fix some includes
* Convert atan to hex to conform to decided style
* Some tidying up, remove c for fp and the other two handwritten code files
* BSS in z_collision_check & z_scene_proc
* add static back in
* Fix timerintr bss, add file to spec, some cleanup
* Remove externs
* Newline
* Readd enums
* Typo
* Colours
* Comments for hitmark enum values
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
* Improvements and suggestions
* Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py
Co-authored-by: angie <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Diffstat (limited to 'src/code/z_effect_soft_sprite.c')
| -rw-r--r-- | src/code/z_effect_soft_sprite.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index 73bd5b4bd..0ed19c050 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -1,10 +1,9 @@ -#include <ultra64.h> -#include <global.h> +#include "global.h" void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { u32 i; EffectSs* effectsSs; - ParticleOverlay* overlay; + EffectSsOverlay* overlay; EffectSS2Info.data_table = (EffectSs*)THA_AllocEndAlign16(&globalCtx->state.heap, numEntries * sizeof(EffectSs)); EffectSS2Info.searchIndex = 0; @@ -16,7 +15,7 @@ void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { } overlay = &particleOverlayTable[0]; - for (i = 0; i < EFFECT_SS2_TYPE_LAST_LABEL; i++) { + for (i = 0; i < EFFECT_SS_MAX; i++) { overlay->loadedRamAddr = NULL; overlay++; } @@ -25,7 +24,7 @@ void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { void EffectSS_Clear(GlobalContext* globalCtx) { u32 i; EffectSs* effectsSs; - ParticleOverlay* overlay; + EffectSsOverlay* overlay; void* addr; EffectSS2Info.data_table = NULL; @@ -39,7 +38,7 @@ void EffectSS_Clear(GlobalContext* globalCtx) { // Free memory from loaded particle overlays overlay = &particleOverlayTable[0]; - for (i = 0; i < EFFECT_SS2_TYPE_LAST_LABEL; i++) { + for (i = 0; i < EFFECT_SS_MAX; i++) { addr = overlay->loadedRamAddr; if (addr != NULL) { zelda_free(addr); @@ -69,7 +68,7 @@ void EffectSS_Delete(EffectSs* effectSs) { void EffectSS_ResetEntry(EffectSs* particle) { u32 i; - particle->type = EFFECT_SS2_TYPE_LAST_LABEL; + particle->type = EFFECT_SS_MAX; particle->accel.x = particle->accel.y = particle->accel.z = 0; particle->velocity.x = particle->velocity.y = particle->velocity.z = 0; particle->vec.x = particle->vec.y = particle->vec.z = 0; @@ -161,8 +160,8 @@ void EffectSS_Copy(GlobalContext* globalCtx, EffectSs* effectsSs) { void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* initData) { s32 index; u32 overlaySize; - ParticleOverlay* entry = &particleOverlayTable[type]; - ParticleOverlayInfo* overlayInfo; + EffectSsOverlay* entry = &particleOverlayTable[type]; + EffectSsInit* initInfo; if (EffectSS_FindFreeSpace(priority, &index) != 0) { // Abort because we couldn't find a suitable slot to add this effect in @@ -173,7 +172,7 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init overlaySize = (u32)entry->vramEnd - (u32)entry->vramStart; if (entry->vramStart == NULL) { - overlayInfo = entry->overlayInfo; + initInfo = entry->initInfo; } else { if (entry->loadedRamAddr == NULL) { entry->loadedRamAddr = zelda_mallocR(overlaySize); @@ -185,20 +184,20 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init Load2_LoadOverlay(entry->vromStart, entry->vromEnd, entry->vramStart, entry->vramEnd, entry->loadedRamAddr); } - overlayInfo = (void*)(u32)( - entry->overlayInfo != NULL - ? (ParticleOverlayInfo*)(-((u32)entry->vramStart - (u32)entry->loadedRamAddr) + (u32)entry->overlayInfo) + initInfo = (void*)(u32)( + entry->initInfo != NULL + ? (EffectSsInit*)(-((u32)entry->vramStart - (u32)entry->loadedRamAddr) + (u32)entry->initInfo) : NULL); } - if (overlayInfo->init != NULL) { + if (initInfo->init != NULL) { // Delete the previous effect in the slot, in case the slot wasn't free EffectSS_Delete(&EffectSS2Info.data_table[index]); EffectSS2Info.data_table[index].type = type; EffectSS2Info.data_table[index].priority = priority; - if (overlayInfo->init(globalCtx, index, &EffectSS2Info.data_table[index], initData) == 0) { + if (initInfo->init(globalCtx, index, &EffectSS2Info.data_table[index], initData) == 0) { EffectSS_ResetEntry(&EffectSS2Info.data_table[index]); } } |
