summaryrefslogtreecommitdiff
path: root/ZAPD/ZSkeleton.h
AgeCommit message (Collapse)Author
2023-10-28MMlouist103
2023-10-17update to latest version used by SoHbriaguya
2022-01-20Automatic limbs enum generation (#221)Anghelo Carvajal
* proof of concept * SetLimbIndex * LIMB_DONE * use proper enum name in limbs * fix naming * add ifdefs * fix me being dumb * format * Add EnumPrefix * EnumName * Remove autogenerator stuff * Add warnings * format * Use HANDLE_WARNING_RESOURCE for warning * object_box special case * whoops * Remove overloaded bitconverter methods and use boundary-checker .at method when possible * Fix warning * Fix warning * format * Hopefully fix every warning now * docs * Review * typo * Update jenkinsfile for MM * format * Force functionpreamble printing in development mode * Use ARRAY_COUNT on SkeletonHeaders * Simplify endif in header guards * fix limbs using the wrong enum value * use hex in enum comments
2021-10-05ZResource cleanup (#178)Anghelo Carvajal
* Add some general use methods to ZResource * change zarray * adapt ztexture * Clean up ZCollision, ZPath, ZScalar and ZVector * cleanup background * cleanup zmtx * Clean up skeleton and limb * mark GetSourceTypeName as abstract * Remove redundant ExtractFromXML * Reorder stuff to minimize changes in github * remove extra ZDisplayList constructor * Remove using namespace tinyxml2; * run formatter * Add some brief descriptions, and remove some methods * Remove trivials GetSourceOutputCode and a bit of cleanup * Add more descriptions to methods * Fix blob build * improve descriptions a bit * Run formatter * Now builds * Add attributes and fix some warnings * format * fix merge issues * fix merge issues and some clang warnings * format * Run formatter * Fix merge issues * Format * add SEGMENTED_NULL * Fix merge issues * Run format * dumb fix * whoops * format * whoops
2021-08-05Exporter Support Added (#127)Nicholas Estelami
* Initial exporter implementation * Updated to use static library. * minor cleanup * Cleaned things up a bit * Fixed merge issues * Minor commenting * Added Begin and End functions, and removed HL stuff (to be turned into an exporter at a later date) * Cleaned some stuff up * Additional cleanup * Removed some commented out code * Fixed compilation issues * Cleanup * Fixed merge issues * Got rid of unused windows.h includes * Cleanup * Fixed warning * Removed additional redundancies * Cleanup * Fixed merge issues * Fixed some compiler issues, added makefile for exportertest. * Removed redundancies and clang formatted * Made sure exportertest compiles with C++17 * Moved certain files into new "Utils" folder. * GetExporterMap uses a reference now * Minor fixes and updates. Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2021-06-23Add support to `LegacyLimb`s and `LegacyAnimation`, making `object_human` ↵Anghelo Carvajal
extractable (#152) * proof of concept * Add hex type to ZScalar * minor fixes * BetaAnimation proof of concept * FrameData and JointKey * Fix warnings * Rename betalimb to legacylimb and move with the rest of limbs * Rename BetaAnimation to LegacyAnimation * Add verboseunaccounted * Add limb table * Use ZLimbTable in ZSkeleton * run format * Update docs * AnimationHeader2 -> LegacyAnimationHeader
2021-06-04Optimize RAM usage and performance by removing redundant `rawData` (#148)Anghelo Carvajal
* Remove rawData from ZResource * Remove dlistRawData and some leftovers extra params * Run format * Unused variable warning
2021-05-26Check XML resource attributes (#126)Anghelo Carvajal
* register attibutes * fix array problems * cutscene problems * Set inner * fix merge * ups * Run format * small cleaning * A small blob cleanup * Simplify the logic a bit * ups * Fix merge problem * Fix merge issues * Fix merge issues * fix merge-produced type * Fix merge issues * run format and update easteregg * register ZPath attributes * dumb problems * How dumb can I be? * future proof change * empty commit * Check if Width and Height attributes of ZTexture has only decimal digits
2021-05-08Add const to most functions that need it and remove all "using namespace ↵louist103
std" (#132) * started on basic type errors * Done. For now * remove libgfxd binary * const * no more namespace std * revert alloca * re add a few missing consts
2021-05-07Change image library to `libpng` and improve how palettized textures are ↵Anghelo Carvajal
extracted (#133) * trying to change to libpng * It works again! * move the libpng abstraction to another file * GetBytesPerPixel * I'm dumb * fix warnings and remove dead code * Fix CRC being called multiples times and clean up code * textureDataRaw * code clean * Optimizations and removal of redundant data moves * ups * run format * use fs::path more * i'm dumb again * Add a Readme * remove texDeclarations * handle tluts better * vtx change and set segment file * small changes * Fix ZAPD ignoring textures declared in a scene in the XML * small cleanup before tluts * paletted images are broken * kinda works for automatic textures * fix automatic ci * TEXTURE_DEBUG * Remove extra `-j` * Fix extraction of ci4 * Finally palettes OK * ups * Move textures map to ZFile * Fix intersection warnings * Add `TlutOffset` attribute * Move Tlut declaration to a later step * Hopefully the last cleanup of this branch * Run format * Always calc hash * run format * Delete stb * fix merge issues * run format
2021-05-06Refactor: Removed `relPath` since it is no longer used. (#136)Nicholas Estelami
* Refactor: Removed relPath since it is no longer used. * Removed remaining references Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2021-04-24Fix most -Wall warnings (#115)louist103
* started on basic type errors * Done. For now * remove libgfxd binary * Most warnings fixed * Fix conflicts and new warnings * Makefile * Sig * Clang format * destructor * Add a bunch of destructors * clear the scalars vector after freeing the elements * PR fixes (Anghelo Alf) * Fix most clang -Wall warnings
2021-04-13Refactoring and various features added (#108)Nicholas Estelami
* ZAPD prints out git hash * Refactor: ZResource constructor sets parent always. ZOverlay also no longer a ZResource, since it did not make much sense. * Organized ZResource a bit * A number of bug fixes, cleanup, and feature improvements. * Prepping for legacy dlist disasm * Fixed some merging issues. Fixed compilation issues with MSVC. Added in proper support for legacy display list disassembler. Refactored parts of ZFile. * Merge with upstream * Finished ZFile refactor, and other tidying. * Fixed up merge issues * Minor cleanup * Got rid of libgfxd_win.a * Fixed matching issue * Fixed up a few bugs * Fixed issue with exceptions * Fixed up merge issues with ZPrerender, along with cleaning up some code * Additional cleanup * Fixed merge issues with ZMtx and fixed a bug with ZDisplayList * Fixes based on PR feedback * run clang-format (#7) Signed-off-by: angie <angheloalf95@gmail.com> * Fixed merge issues with Roz's PR * Misc fixes * Fixed MM bug, removed redundant file. * Removed some commented out code Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com> Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
2021-03-20Add a clang-format config and reformat all source files (#63)Léo Lam
* build: Add genbuildinfo as a dependency for ZAPD object files * Add a clang-format config and reformat all source files The existing code style is mostly preserved; this just makes formatting more consistent and prevents lines from getting too long. * Fix missing includes
2021-03-19Add support to `SkelCurve` and its animation type (#98)Anghelo Carvajal
* Type="Curve" Signed-off-by: angie <angheloalf95@gmail.com> * Starting to extract CurveLimbs Signed-off-by: angie <angheloalf95@gmail.com> * Fix a few oversights Signed-off-by: angie <angheloalf95@gmail.com> * Reading the TransformUpdateIndex Signed-off-by: angie <angheloalf95@gmail.com> * Export the body of the ZCurveAnimation Signed-off-by: angie <angheloalf95@gmail.com> * Add TransformData Signed-off-by: angie <angheloalf95@gmail.com> * Extracting one element of the arrays Signed-off-by: angie <angheloalf95@gmail.com> * Extract the whole refIndexArr Signed-off-by: Angie <angheloalf95@gmail.com> * fix a typo Signed-off-by: Angie <angheloalf95@gmail.com> * Extract the whole transformData array Signed-off-by: Angie <angheloalf95@gmail.com> * Extract copyValues array Signed-off-by: Angie <angheloalf95@gmail.com>
2021-03-12Add horses support (#89)Anghelo Carvajal
* Factor common code as a function Signed-off-by: angie <angheloalf95@gmail.com> * Add some missing methods and change limbs from structs to classes Signed-off-by: angie <angheloalf95@gmail.com> * ZSkeleton::GetRawDataSize Signed-off-by: angie <angheloalf95@gmail.com> * add segAddress and fileAddress in ZLimbStandard Signed-off-by: angie <angheloalf95@gmail.com> * Move code to ZLimbStandard::GetSourceOutputCode Signed-off-by: angie <angheloalf95@gmail.com> * Move code to ZLimbLOD::GetSourceOutputCode and a few fixes Signed-off-by: angie <angheloalf95@gmail.com> * Add missing & and reestructure the code a bit. Signed-off-by: angie <angheloalf95@gmail.com> * Fix merge issues Signed-off-by: angie <angheloalf95@gmail.com> * Move stuff from FromRawData to constructors Signed-off-by: angie <angheloalf95@gmail.com> * Merge both Limb classes and refactor Signed-off-by: angie <angheloalf95@gmail.com> * Initial SkinLimb support Signed-off-by: angie <angheloalf95@gmail.com> * Extract SkinLimb type 11 dlist Signed-off-by: Angie <angheloalf95@gmail.com> * Extracting the first struct of SkinLimb Signed-off-by: Angie <angheloalf95@gmail.com> * Exporting the dlist of SkinLimb breaks stuff Signed-off-by: Angie <angheloalf95@gmail.com> * Add another struct of skinlimb Signed-off-by: Angie <angheloalf95@gmail.com> * Parse Struct_800A598C_2 Signed-off-by: Angie <angheloalf95@gmail.com> * Parse Struct_800A57C0 Signed-off-by: Angie <angheloalf95@gmail.com> * Extract sublimbs as array Signed-off-by: Angie <angheloalf95@gmail.com> * Export the full array of Struct_800A5E28 Signed-off-by: Angie <angheloalf95@gmail.com> * A few stylistic changes Signed-off-by: angie <angheloalf95@gmail.com> * a bit of cleanup Signed-off-by: angie <angheloalf95@gmail.com> * ZSkeleton::ParseXML Signed-off-by: angie <angheloalf95@gmail.com> * ZSkeleton::ParseRawData() Signed-off-by: Angie <angheloalf95@gmail.com> * Move the code around a bit Signed-off-by: Angie <angheloalf95@gmail.com> * Remove ZSkeletonType::Skin Signed-off-by: Angie <angheloalf95@gmail.com> * class Struct_800A57C0 Signed-off-by: Angie <angheloalf95@gmail.com> * class Struct_800A598C_2 Signed-off-by: Angie <angheloalf95@gmail.com> * class Struct_800A598C and class Struct_800A5E28 Signed-off-by: angie <angheloalf95@gmail.com> * MakeInternalDeclarations Signed-off-by: angie <angheloalf95@gmail.com> * Move limbs to ZLimb Signed-off-by: Angie <angheloalf95@gmail.com> * A bit of cleanup Signed-off-by: angie <angheloalf95@gmail.com> * Works, but something is wrong... Signed-off-by: angie <angheloalf95@gmail.com> * Final cleanup Signed-off-by: angie <angheloalf95@gmail.com> * I hope this is the final cleanup Signed-off-by: angie <angheloalf95@gmail.com>
2021-01-19Added in support for ZArray (WIP) and ZVtx. Also cleaned up some of the ↵Nicholas Estelami
virtual functions. (#73)
2021-01-05Avoid unnecessary copies (#46)Léo Lam
Pass some parameters by reference to avoid unnecessary copies. When the parameter is intended to be copied into a member variable, pass it by value and move it into the member instead. This doesn't fix every occurrence of the issue but this diff is already getting big so let's stop here for the moment.
2020-12-30ZAP2 project renamed to ZAPD (#27)Kenix3