summaryrefslogtreecommitdiff
path: root/src/code/z_player_lib.c
AgeCommit message (Collapse)Author
2023-09-25Name player's generic `actionVar`s (#1392)engineer124
* action-vars * single bracket
2023-09-24z_message_staff (1 NON-MATCHING) (#1376)Derek Hensley
* z_message_staff from z_message branch * Use highscores array * Clean up * format * PR cleanup * PR Review * Fix bss * Fix bss
2023-09-02Move libultra function declarations to libultra headers (#1196)Anghelo Carvajal
* Delete unused headers * Move PR and io to ultra64 * move headers to ultra64 * more cleanups * more reorganizing * i think that should be all * format * ifdef guards cleanup * Add IO_READ and IO_WRITE macros for future use * warnings * review Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com> * warnings again * warn * ifdef guards * fix merge * fix merge * fix merge * bss * padutils.h * bss * bss * bss * fix merge * bss * bss * bss * fix merge * fixes * fixes * bss * bss * fix merge * fix * fix * fix includepaths * fix paths * bss * fix * ultra64/ -> PR/ * header guards * fix ehader guards * fix * fix++ * format * bss is borken * prevent 2 * :despair: * bss * rename assert to dbg_hungup * fix * a * fix * bss * fix * bss * bss --------- Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2023-09-02Documentation pass for the Target system (#1281)Anghelo Carvajal
* cleanup * import bss * sActorHiliteMtx * some cleanups on func_800BB604 * Actor_IsInTargetableRange * rematch func_800BB604 Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * Name ACTOR_FLAG_UNFRIENDLY and ACTOR_FLAG_FRIENDLY * Rename some Target_ functions * cleanusp * TargetMode enum * Target_800B82EC * sNaming * more * more naming * fairyHintPos * rotation * ACTOR_FLAG_TARGETABLE * update namefixer * remove trailing comma * bss * Wall of text for Target_800BB604 * function naming * cleanups * Target_GetAdjustedDistSq * NotLeash * more comments * minor comment * review * fix * rotZTick * review * name last members * fix * review * review * more namefixer * swap members * comment * Update src/code/z_actor.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/code/z_actor.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review * format * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64actor.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review * review * fix * fix --------- Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2023-08-01Talk Exchange System Docs (#1312)Derek Hensley
* Fix typo * PLAYER_IA_HELD * Actor offer exchange item functions * SubS_OfferExchangeItemCustom * SubS_OfferItem + enum * Actors that use Subs_OfferItem * SubS_OfferExchangeItemFacing * Comments * Format * Better comment * EnRg * function names and comments * Split enum * exchangeItemId -> exchangeItemAction * namefixer * PR comments * Missed a comment * Max -> Mask * SubS_SetOfferMode * Some more comments updating * rg comment * PLAYER_IA_CONTINUE * Revert back to PLAYER_IA_MINUS1 * Comment typos/grammar * Verify functions * yawRange * Actor_OfferTalkNearby * Actor_OfferTalkExchangeEquiCylinder * format * Actor_OfferTalkNearColChkInfoCylinder * OfferTalk comments * Actor_OfferTalkExchange comment enum * format
2023-07-08Port OoT's docs for `fault.c` and `fault_drawer.c` (#1199)Anghelo Carvajal
* fault.h * some docs stealing * fix building * fault_internal.h * pass * finish stealing docs * finish cleanup * format * warning * Update src/boot_O2_g3/fault.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/boot_O2_g3/fault.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/boot_O2_g3/fault.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * arggggg * arggggg part 2 * STACK * PHYS_TO_K0(0x400000) * format * fix * Instance * format * Neutral reset * variables.h cleanup * bss * frameBuffer * format * Update src/boot_O2_g3/fault.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/boot_O2_g3/fault.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * bss * bss * bss * callback cleanup * fix function declarations * fix again * bss * bss * Update src/overlays/actors/ovl_En_Fishing/z_en_fishing.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/boot_O2_g3/fault.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * bss * bss * Update src/boot_O2_g3/fault.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review * import bss * format * minor cleanup * bss * review * fix * bss * bss * bss * bss * bss * format * a * Z_PRIORITY_FAULT * bss * fix * idle.c bss doesn't want to get fixed :c * review * bss --------- Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2023-07-04`item_name_static` documented and `ItemId` updates (#1304)engineer124
* WIP * map static * finish english names * jpn * revert map name * name prefix * boss to big * more comments * item enums * more items * more * PR Suggestions * PR Suggestion
2023-06-28Some Gameplay keep docs (starts at the top) (#1310)Derek Hensley
* bottles * hookshot * swords * masks * remove _tex from outnames * Headers * 003400 Vtx * unknown mask * LinkMask name based on renders
2023-06-25Setup for Player Cutscene Docs (#1270)engineer124
* player cs docs setup * more docs * more docs * missed enums * more docs, but broken. Need to fix sPlayerCsModeAnimFuncs * fix * rm enum * more minor docs * PR suggestion * typo * csActionFunc * PR Suggestion * fix bss * fix bss
2023-06-23`icon_item_static` and `icon_item_24_static` documented (#1297)engineer124
* extract_archives.py * autogenerated xmls * build OK * cleanup * Use symbols in gItemIcons * change how archives are generated * makeyar in C * Rename segments * rename .archive.o to .yar.o * Explanation at the top of programs * fix progress calculation * Ignore archives in progress script * merge * document icon items * cleanup * remove duplicate headers * jap -> jpn * PR review * link human * PR Review * missed some --------- Co-authored-by: angie <angheloalf95@gmail.com>
2023-06-20Audio Sfx Functions Decompiled and Documented (code_8019AF00.c) (#1242)engineer124
* sfx decomp and docs * function headers * namefixer * oops * better sfx name * PR review * namefixer * PR review * float * namefixer * namefixer * namefixer * PR Suggestions
2023-06-05sys_math.c Rename (#1258)engineer124
* rename via comments * missed a comment * math header * name boot_80086760.c functions * PR Review * rm cam comment * Elliptic review * alphabetical
2023-06-06Misc Cleanup 3 (#1268)engineer124
* begin more cleanup * more enums * typo * == * fix go.h * fix RaceDogInfo struct * PR Review * PR Suggestions * missed one * missed even more * fix params * fix number
2023-06-04Misc Cleanup (#1257)engineer124
* a lot of brackets, and some other things * oops * another bracket * check flag all * just a few more... * PR suggestions * PR comment * pr * one more bracket
2023-05-28z_rcp.c setupDL docs/cleanup (#1253)engineer124
* SetupDL enum * name functions * namefixer * cleanup * small cleanup * PR Review * don't need address of array * PR Suggestion
2023-05-28`ovl_player_actor`: Dawn of a new PR (#1227)Anghelo Carvajal
* Rename Player_UpdateBottleHeld * Match func_808497A0 * func_80852290 NON_MATCHING * Match func_8083B3B4 * Params cleanup * Match func_8083FBC4 * sfxId cleanups and others * Fix declaration of functions from D_8085D990 * Change D_8085BE84 to be a 2D array * ARRAY_COUNT_2D * Match func_8085ADA0 * func_808426F0 nonmatching * Match func_80852290 * Match func_808426F0 Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * Add notes to Player_SetDoAction * Name putAwayCountdown * rebase * Match func_80856918 * format * func_8084933C nonmatching small amount of boomerang documentation * Progress on moving data near where it is used * finish moving data * format * cleanup up remaining data * more match * Some minor cleanups * PlayerCsMode enum * func_80851F18 nonmatching * Fix unk_B10 * Purge ExchangeItemID enum * Rename `targetActor` to `talkActor` * Name `targetedActor` * PLAYER_LIMB_BUF_SIZE Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Change SkelAnime Player functions to take a void pointer for the corresponding buffers * Use PlayerAnimationFrame on Player_DrawImpl * Match func_8082F1AC * Match func_8083D23C * cleanup * Match and clean up func_808373F8 * Match and document func_8083A98C * PLAYER_PARAMS macro and PlayerInitMode enum * Preliminary names for InitMode functions * Match func_8083C8E8 * remove redundant externs * Match func_8084933C * cleanup func_8084933C * Access D_8085BE84 directly instead of using a macro * Match func_8084AC84 * Fix boomearng typo * OK boomerang * cleanup func_8083D168 * untargetedRotY * this->unk_14E = ABS_ALT(var_v1); * GIFIELD macros * sort of a match * Match func_8084C16C Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Use the same trick to match func_808573A4 * Add note on Deku spinning * Match func_8084D18C * Match func_80850D68 * Improve func_80832660 * Match func_80854EFC Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> * Rename unk_B2A to getItemDrawId * Some cleanup * fix merge issues * format * minor anim docs * Match func_808553F4 * Cleanup func_808553F4 * func_8083D860 nonmatching * Match func_8083D860 * Defake func_80859BA8 * () * Add notes to PlayerAnimGroup enum * underwaterTimer Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * some stateFlags cleaning * more stateFlags cleaning * some notes and minor cleanups * more general cleanups * Slightly less fake func_80832CAC * Document some melee weapon damage stuff * Mark lunge storage * Note PCS patch * match * add notes to bss * yeet extra indentation * add reloc as nonmatching to spec * floorSfxOffset * Player_GetFloorSfx * Player_GetFloorSfxByAge * Comments for AnimSfx dunctions * Name some AnimSfx functions * Name AnimSfx stuff * Some PlayerAgeProperties notes * use animflag defines * Player_SpawnExplosive * fix enum and some other minor fixes * Bit more misc. cleanup * Use OoT's version of func_808333CC * Note on quickspin buffer * Final nonmatching, func_80851F18 Co-authored-by: Synray <31429825+Synray@users.noreply.github.com> * RIP player.c * Name Player_StopHorizontalMovement * misc fixes * Actor_DeactivateLens * fixes * typos and tweaks * minor stuff * add names as comments on the animgoup array * Correct some function names and data type * add anim commets to ageproperties * some notes * De-fake func_80840F90 * Defake & clean up func_8085ADA0 * Improve func_80859BA8 * Enums in func_80852B28 * Name some secret-related things * 3 small things * stuff * Player_TalkWithPlayer * SurfaceType_GetFloorType * SurfaceType_GetWallFlags * and more bgcheck stuff * more bss naming * sPlayerControlInput * clean up func_80836F10 a bit * name the parameters of func_80835BF8 * door stuff * remove NON_MATCHING * remove D_8085D2B0 padding * Name some Player_Cutscene_ functions * various cleanups * format * remainingHopsCounter * some cleanups on the struct * Actor_RequestRumble * this->exchangeItemId = PLAYER_AP_NONE; * fix merge stuff * format * PlayerUnkAA5 * Name two cylinder-related functions * BSS * Add MagicConsume's enum, treat lensActive as bool * Update func_808332A0 based on better info * fix merge * fix merge issues * remove redundant comments * Name Player_AddQuake * ANIM_FLAG_UPDATE*_*Y * Format * AT_TYPE_ENEMY * fix merge issues * format * fix uintptr_ts * Rename * Name leftHandMf * fix merge issues * format * exchangeItemId <= PLAYER_IA_MINUS1 * getItemDrawIdPlusOne * currentActorCsIndex * <= PLAYER_IA_MINUS1 * fix merge issues * format * namefixer and bss * fix build * bombs parameters cleanup * bss * Fix building * fix building * Fix building * Fix building and cleanups * Pre-PR cleanup * really... * format * review * stateFlag Mistakes * 268 * 0.1f * z64door.h * fix cutscene stuff * bss * Update include/z64player.h Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Update include/z64player.h Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * reiew * PR Review * collision * review * format and a few stuff i missed * EnBomExplosiveType * weekeventregconvert and eventinfconvert * more review * review * bss * review * re format sGetItemTable * Entangle PlayerMask and PlayerItemAction * a few extra cases i missed * bss * review * EnArrow stuff * ARROW_MAGIC_DEKU_BUBBLE * minor format * merge * fix bss * review * !ARROW_IS_ARROW * review * bool cleanup * fix merge * review * Player_StopCutscene * Player_RequestQuake * quakeIndex * Player_RequestQuakeAndRumble * knobDoor and slidingDoor * bss * fix * review * dog and float --------- Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: petrie911 <pmontag@PHYS-S129.iowa.uiowa.edu> Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com> Co-authored-by: Synray <31429825+Synray@users.noreply.github.com>
2023-04-19Cutscene Documentation (z_eventmgr.c OK) (#1164)engineer124
* begin cutscene docs * more docs * more docs * z_eventmgr.c OK Co-authored-by: Thar0 <Thar0@users.noreply.github.com> * cutscene camera * commands WIP * more docs * merge master * csId, oof * more cleanup * more docs, csCam * more cleanup * more docs * more * cleanup functions.h * better misc cmd docs * apply discord discussions * small adjustment * more cleanup * more docs * more cleanup * more cs cam docs * small fix * cmd cleanup * small cleanup * better match, thanks anon * remove last return * PR suggestions, small cleanup * next PR review * rm internal funcs from functions.h * more PR * add comment * csCam interp typedef handler * cleanup, scene cmd * missed an enum use * ActorCutscene -> CutsceneManager, PR Suggestions * more PR Suggestions * more actorCutscene cleanup * R_USE_DEBUG_CUTSCENE * more small docs * move functions to cutscene.h * PlayerCsId * fix bss * missed some function headers * more scene cleanup * more scene cleanup * missed one * CS_SPAWN_FLAGS * wrong usage of macro * more cleanup * name last cs transition types * IsNext bool * update namefixer * fix namefixer * more cleanup * add comment * fixed enums for motion blur * consistent cutscene lists * cutscene entry func consistent * PR Suggestion * fig review * fix additionalCsId name in actor * more pr review * bss --------- Co-authored-by: Thar0 <Thar0@users.noreply.github.com> Co-authored-by: angie <angheloalf95@gmail.com>
2023-04-18`z_player_lib`: Dawn of the final PR (#1142)Anghelo Carvajal
* Player_GetMask and Player_RemoveMask * some comments * Player_ActionToBottle and Player_GetBottleHeld * Player_DrawGetItemImpl and Player_DrawGetItem * func_80123420 OK * Decompile a few more functions * Decompile a few more functions * func_80122760 * func_80122868, func_801229A0 and func_801229EC * func_80122F28 * func_8012301C * func_801242B4 * func_801242DC * func_80124420 nonmatching * func_80126440 * func_801240C8 and func_801240DC * func_8012405C and func_80124088 * func_80124020 * Player_IsBurningStickInRange * func_8012754C * func_80125318 and func_80125CE0 * func_801229FC * func_80127B64 * func_80127488 * func_80122D44 * func_80122BA4 * func_80122C20 attempt * func_80122EEC * func_80122F9C * func_80122FCC and func_8012300C * func_80123448 * func_801234D4 * func_801235DC * func_80123960 * func_80123BD4 * func_80123AA4 * func_801239AC * func_801241B4 * func_80123C58 and func_80123C90 * func_80123D50 and func_80123DA4 * func_80123DC0, func_80123E90 and func_80123F14 * func_80124110 and func_80124148 * func_80124168 and func_80124190 * func_80124278 * func_80124F18 non_equivalent * func_80125340 and func_8012536C * func_801263FC * func_801265C8 * func_8012669C * func_80128B74 * func_80123140 * func_801246F4 * func_801253A4 NON_MATCHING * func_801262C8 * func_80126AB4 * func_80126B8C * func_80127438 * func_801278F8 NON_MATCHING * Fix data split * cleanup externs * func_80128BD0 compiles... * Rename Player_SetEquipmentData * fix merge issues * Fix types * Improvement? Worse? I don't know at this point * func_80128640 attempt * func_80127BE8 * func_80127A60 * func_80127594 attempt * func_801271B0 * func_8012364C NON_MATCHING * func_80124618 * func_80124CC4 non matching * func_801251C4 * func_80125580 non equivalent * func_80128388 * cleanup * remove some hardcoded pointers * object symbol cleanup * func_80124870 NON_EQUIVALENT * name overridlimbdraw arguments * func_80125D4C NON_EQUIVALENT * func_80126BD0 NON_MATCHING * Match func_80126BD0 thanks to anon58 * func_80127DA4 NON_EQUIVALENT * fix merge issues * some stealing from OoT * small rename pass and cleanup * Improve some * CLAMP and fix warnings * func_80125580 matched by mzx * cleanup func_80128BD0 a bit * import data * func_80124CC4 * Rename objectFileTable to gObjectTable * Improve func_80124FF0 thanks to maide * fix renames * Match func_80124FF0 thanks to Maide * cleanup * More cleaning up * import bss * Add PLAYER_STATE macros * a bit more of cleanup * run formatter * func_80128BD0 a bit more deecent * Add player limb enum * Use limb enum * cleanup and format * Use symbols for player dlists groups * A bunch more of pointers * more object pointers * Change the remaining object pointers * Add a few missing dlist in link_child * Small rename * whoops * Work on NON_MATCHINGs * Cleanup * Steal OoT renames from "sword" to "meleeWeapon" * Fix some symbols * Match func_80127594 and format * Match func_80127DA4 * Matched func_801284A0 * Annotate D_801F59AC * Matched func_80128640 * Some cleanup * format * stuffs * some cleanups * import stuff from pr * swords and shields * fixes * bss * cleanup Player_OverrideLimbDrawGameplayCommon * progress on func_80125D4C * PlayerMeleeWeapon enum * Player_BButtonSwordFromAP * GET_B_SWORD_FROM_AP * GET_MELEE_WEAPON_FROM_AP * PlayerBottle * PlayerExplosive and PlayerSword * misc fixes * Various changes fromplayer_actor * z64player.h stuff from player_actor * Fixes * skelanime stuff * placeholders on z64item.h, save macros and ther cleanups * <= PLAYER_AP_MINUS1 * Player_UpdateBunnyEarsKinematics Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * cleanup * bodyPartsPos * comment * sizeof(u16) * typo * merge fixes * fix * fixes * format * fix merge * fix merge * func_80125D4C Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * func_80128BD0 improvement * minor renames * format * whoops * small cleanup * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * format * _B_ * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * remove gap * whoops * clanups * remove stuff from permuter_settings * steal some OoT docs * some other docs vscode didn't add to the last commit * format * data as infunction-static data * OoT docs stealing * Improvements on Player_PostLimbDrawGameplay * More improvement * Match Player_PostLimbDrawGameplay Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * cleanups * Convert unk_AF0 into an union and some other cleanups * bss * headLimbRot and upperLimbRot * fix naming * cleanups * bss * bss * Update src/code/z_player_lib.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * pr review Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * bss * gesture * namefixer * gestureInfo * IA_MIN and BOTTLE_EMPTY * review Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * review * D_801F59B0_LEN * Remove LevelOfDetail enum * bss * review * review * gLinkDekuClosedFlowerDL gLinkDekuOpenFlowerDL * _B_ * Player_DrawStrayFairyParticles * fix build --------- Co-authored-by: kyleburnette <kyle@kyleburnette.com> Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2023-03-30Effect table (#1209)Anghelo Carvajal
* effect_ss_table.h * monkaBSS * format * Remove InitVars extern headers * Remove `const` from InitVars * cleanup * cleanup * format * bss * bss * bss
2023-03-30`z_parameter`: Buttons (part 9) (#1192)engineer124
* import button docs * cleanup * sync timer val * add flag comments * Update src/code/z_parameter.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/code/z_parameter.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/code/z_parameter.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * fix merge master --------- Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2023-03-23z_room (1 non-matching) (#1143)engineer124
* begin room docs and decomp * match Room_DrawImageSingle * match Room_DrawImageMulti * Room_AllocateAndLoad non-matching * big improvements on Room_DrawCullable * match Room_AllocateAndLoad * improvement? * cleanup * comments * cleanup * small pr suggestions * PR Suggestions * cleanup sceneCmds * some PR * PR Suggestions * more PR Suggestions * col to collision
2023-03-04Introduce BgCheckFlags Defines (#1195)engineer124
* flags * cleanup * adjust comment
2023-03-03speedXZ -> speed (#1186)engineer124
* speedXZ to speed * brackets
2023-01-14Play (2 NON_MATCHINGS) (#1109)Derek Hensley
* Bring over progress from another branch Co-authored-by: Maide <34639600+Kelebek1@users.noreply.github.com> * cleanup, fake match Play_Init * small fixes * Some small cleanup * Match func_80165460 (from debug) * Match func_80165658 * Match func_80165DB8, func_80165DCC, func_80165DF0, func_80165E04 * Match func_80167DE4 (from debug) * Match func_80167F0C * Match func_80168DAC * Matched func_80169100 * Matched func_801691F0 * import D_801DFA18 * match Play_Main thanks to debug * cleanup * synray does it again * add docs from debug * fix func_801656A4 * more docs and cleanup * Match func_80166B30 and diff fake match in Init * import transition docs from OoT * Play Update, sort of * cleanup Play_Update * more cleanup * slightly more docs * small docs * Play_Draw WIP Thanks @petrie911 * progress? * two more matches * format * misc play docs * transitions cleanup * Motion Blur * Transitions * Fog * Bombers notebook + small cleanup * bss * Camera Functions * Picto functions * Init * MotionBlur Clean up * Floor Surface * Pictographs some more * regs * fix circular dependency problem * Cleanup PR commits outside play * namefixer * PR picto * PR audio * PR small clean ups * debug strings * Picto defines * bss * enums * remove void * typedefs * Hireso -> BombersNotebook * bss comments * bss and I8/I5 functions * Smaller PR comments * Transitions * Combine enums * Revert "Combine enums" This reverts commit 0da1ebcaed69a3ce0fbd5942460b67f80f0e15e7. * Fix Transition defines * RGBA16 macros * Unname * worldCoverAlpha * Rename Update and Draw * PR review, plus annotate bug * Clean up nonmatchings with a closer DrawGame * Format * New macros * UpdateMain and DrawMain * Fix merge * Small cleanups from PR * zFar * Intensity macros * Format * Remove bss comments * Compression/decompression * Small cleanup * Format * More PR cleanup * Cleanup picto stuff * format * Fix compression comments * Play processes state enums DONE -> READY * cutscene comment * fix bss Co-authored-by: Maide <34639600+Kelebek1@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: petrie911 <pmontag@PHYS-S129.iowa.uiowa.edu> Co-authored-by: angie <angheloalf95@gmail.com>
2022-12-08`z_parameter`: Main (#1157)engineer124
* main docs * formatting and bss issues * PR Suggestions * missed enums * better macros/enums * restrictions improvement, still wip * fix name, more common restriction patterns * more restrictions cleanup * rm comment
2022-11-07Fix last two functions in sys_math_atan (#1066)mzxrules
* Fix extra Atan2 funcs * format * make Math_GetAtan2Tbl private * rename Depr to XY * ./format.sh i loathe thee * namefixer.py changes
2022-11-06Rename `ActionParam` to `ItemAction` (#1069)Anghelo Carvajal
* Rename `ActionParam` to `ItemParam` * namefixer * ItemAction * merge issues * merge * fixes * format * renames * format * <= PLAYER_IA_MINUS1 * fixes * more fixes * e * revew * simple replace in namefixer * fixes * merge fixes * merge fixes
2022-11-06Player preparation 1 (#1058)Anghelo Carvajal
* Bring over new stuff from player.h * door type * PlayerModelGroup * CSMODE * PLAYER_PARAMS * functions.h * item.h * a * format * ED * stuff * Magic_Reset * bodyPartsPos * format * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * params and fixes * GetItemId * yes * 2 * warnning * closestSecretDistSq Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Name the other PLAYER_DOORTYPE * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com> * remove pyelftools * PlayerActionParam Player_GetExchangeItemId * Update include/z64animation.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * bss * bss * fix linkanimation warning * bss * bss * format * fix * namefixer * format * fix * fixes * namefixer * bss * fixes Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2022-10-28Add ALIGN16 to GRAPH_ALLOC (#1137)Derek Hensley
* Add ALIGN16 to GRAPH_ALLOC * format * DebugDisplay_PathDisplayList * 1 more * PR * Format * Reverse gfxHead and gfx * PR
2022-10-22EnOsn (Happy Mask Salesman) and object_osn Docs (#1135)Derek Hensley
* Inital cleanup * Object * Docs * Small things * PR
2022-10-15`z_player_lib`: Part 2 (#938)Anghelo Carvajal
* preparations * import data * PLAYER_STATE1 * PLAYER_STATE2 * PLAYER_STATE3 * import bss * format stuff * bss cleanup * more cleaning and some naming * face * cleaning up link human object a bit * Remove PHYSICAL_TO_VIRTUAL2 * Update src/code/z_player_lib.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * /* CAT */ Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com> * naming some stuff on objects * format * invert flags endian * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * format * drawmask Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com> * naming * another round of human object naming * enum renames * sActionModelGroups and use enum as types * PlayerAnimType * PLAYER_MODELTYPE_ * determined ranges of PlayerModelType * name PLAYER_MODELGROUP_DEFAULT * format * sheath * dlist groups placeholder namse * PLAYER_MODELGROUP_BOTTLE * Some fierce deity naming * Right hands * zora skel dlists * deku limb dlists * left hands * name most modelgroups * more hand naming * regs as dec * fix in horse * Use BUTTON_ITEM_EQUIP macro * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * reformat D_801AED58 * Sword sheaths * swords and shields * Update src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * playerForm on Player_DrawImpl * fomat * Update src/code/z_player_lib.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update assets/xml/objects/gameplay_keep.xml Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(gEffBubble1Tex)) Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * singular limb enum names * fix bss * Update src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * name goron shielding limbs * name limb * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * bss * bss * format * namefixer * bss * bss * bss * bss * format * bss * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * fix bss Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2022-10-04z_overlay and z_fbdemo_dlftbls (Transition overlay handling), clean up a lot ↵petrie911
of u32s used to store pointers (#1073) * overlay matches * prototypes * fbdemo too * virtual to physical * names, cleanup, etc * bss reordering * uintptr stuff * fixed now? * one fix * headers and such * fixes'n'stuff * XXX action * docs of a sort * useless error codes * n * format * header? I barely know her! Co-authored-by: petrie911 <petrie911@users.noreply.github.com>
2022-09-30SceneNum -> SceneId (#1036)Derek Hensley
* sceneNum -> sceneId * horse data scene -> sceneId * Clean up scene table * format * PR comments * Some more * It helps if you actually save the file * PR * Remove comment * Format * Conflicts
2022-09-29`z_parameter`: Timers (#1031)engineer124
* import timers from parameter branch * more cleanup * small namechange * improved docs * more cleanup * one more namechange * another small cleanup... * fix destroy * plurals * revert graphic function names * PR suggestions, better docs * revert namechange, better postman timer name * oops * fix merge * fix merge * fix bss * PR Suggestions
2022-09-28`z_parameter`: Hud Visibility (#942)engineer124
* Begin interface alpha docs * More Interface Alpha * cleanup docs * Minor fixes * Apply Discord Discussions * More discussions * More suggestions from OoT * fix merge
2022-09-27z_kaleido_item.c Ok and Documented (Pause Menu Item Page) (#1027)engineer124
* import wip from kaleido * small cleanup * add for-loop comments * pr review 1 * spacing * Update src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-08-15Purge `ExchangeItemID` enum (#1026)Anghelo Carvajal
* Purge ExchangeItemID enum * Add stff to namefixer * Rename FISHING_ROD
2022-08-09Decompile and Document Camera `z_play` functions (#933)engineer124
* Document z_play camera functions * cleanup function names * PR Suggestion * Fix master merge, add comments * fix merge * small fix Co-authored-by: angie <angheloalf95@gmail.com>
2022-07-22Transition System Docs (#883)engineer124
* Transition docs from OoT * Cleanup * Missed a spot
2022-07-12`z_parameter`: Items & Import Data (#799)engineer124
* Import Data * More functions * cleanup * Add Enum * Many changes, PR and add-ons * Fix bss * Better data * Extra space * DoubleDefense is boolean * Missed a macro * More enums missed * macro -> enum * More item cleanup... * missing/wrong quest items * Next PR Review * Revert Interface_AddMagic to Parameter_AddMagic * Remove QUEST_HEART_CONTAINER * Fix bss * Move Color_RGB16 up + fix incorrect numbers * Add texture pointers * Add comment * EQUIP_SLOT_A * rm redundant comment * Fix merge * PR Suggestions * fix bss
2022-07-11`z_player_lib`: Part 1 (#688)Anghelo Carvajal
* fix some symbols and file splits * PLAYER_STATE macros * Move over a few functions * AP functions and update struct * another small bunch * Add player_lib prototypes * A few more functions * Some fixes and add stuff to actorfixer * format * bss * Elliptic's review * Engineer's review * Some renames and cleanups * bss * A bit of cleaning up * Player_DrawZoraShield * format * actorfixer, bss and format * Forgot to merge master again * Rename some LinkGoron dlists * PlayerMeleeWeaponAnimation enum * format * actorfixer, bss and format * more bss * actorfixer * format * actorfixer and format * bss * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * sEnvironmentTextTriggers * Update include/z64save.h Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * breman mask march comment * fix * fixes * bss * RESPAWN_MODE_RETURN * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * format * Engineer's review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update include/z64player.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * unused mwas * fixes Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-02-05code_8012EC80.c OK and Documented + parameter_static extraction (#534)engineer124
* Match remaining functions of code_8012EC80.c * parameter_static extracted and OK * Small Progress * Documentation all over the place * Finish Documenting * Cleanup * Name more textures * Update knowledge on deku playground player name * All textures from parameter_static known now * Finish documenting and validating parameter_static * More up-to-date SaveContext docs * More docs * More cleanup * Sun -> Star * Minor touchup * More cleanup * pictograph -> pictoBox * Remove the "unused" part * More accurate name: hour lines * It's gsDPLoadTextureBlock, not gsDPSetTextureImage * Fix parameter_static and merge issues * More docs from new PRs and Parameter WIP * Missed a name * Move parameter_static to interface assets * Clean up code_8012EC80.c data * Fix comment * Add comments to parameter_static * Oops * fix merge * Missed a PR review suggestion * Fix merge
2022-01-10`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401)Anghelo Carvajal
* Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2021-08-03Overhaul the build system (#234)Tharo
* 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>