summaryrefslogtreecommitdiff
path: root/ZAPDUtils/Utils
AgeCommit message (Collapse)Author
2023-10-17update to latest version used by SoHbriaguya
2022-12-05Read from an external file for entrance lists (#271)louist103
* Read from entrance list file * Remove switch. * Add check for special entrances. * Ignore warning for GCC in specific spot. * u
2022-10-31Check for non hex in offset.louist103
2022-04-06add collision poly (#246)louist103
2022-03-26Add cutscene extraction for MM (#242)Anghelo Carvajal
* Initial draft * crashes a lot less * Some scenes matches * GiveTatl * A class for every command * CS_MISC * A few macros * More commands * Macros for unknown commands * small cleanup * Remove useless destructors and fix warnings * More cleanup * format * Move stuff around * move commands to commands file * oot builds again * Mix OoT and MM SetTime commands * Name Terminator and Camera * MOTIONBLUR * Use CS_TEXT_LEARN_SONG in OoT * Macros for each type of textbox * Mix PlaySec and PlayBgm classes * Mix StopSeq and StopBgm * Mix the actor actions from oot and mm * Merge unknown command * Mix ZCutscene and ZCutsceneMM into one * Fix SCENE_CMD_CUTSCENE_LIST not using symbol and hardcoded MM cutscenes names * Mix OoT and MM LIGHTING class * Mix OoT and MM misc * Rumble * format * remove redundant else * CS_FADESCREEN * argument change * Remove some redundant parameters * Renames * format * Rename ChooseCredits class * Final cleanup * line * GenericCmd class for MM * Move some extra commands to csCommandsDescMM * Remove redundant GetCommandOoTFromID * CutsceneCommand_GenericCmd for OoT * Move CS_UNK_DATA to GenericCmd * Final cleanup * format * warning
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
2022-01-20Fix out-of-bounds reading when converting textures to C (#236)Anghelo Carvajal
* Fill buffer to a multiple of 8 bytes * Remove overloaded bitconverter methods and use boundary-checker .at method when possible * Add a warning in oob reads in the bitconverter * Remove repeated code * format * Whoops * whoops++
2021-12-25Add option for f3dex (#214)louist103
* add option for f3dex * fix * Make it actually good * Update ZAPD/Main.cpp Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2021-11-27Updated MSVC libpng package to newer version (#208)Nicholas Estelami
* Updated nuget to use newer version of libpng. Also updated uses of std::filesystem::path to be compliant with MSVC implementation. * Updated nuget to use newer version of libpng. Also updated uses of std::filesystem::path to be compliant with MSVC implementation. * Added missing cpp file and adjusted MSVC includes * Added new function to StringHelper Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2021-11-27Warning system (#189)EllipticEllipsis
* first draft * take vt.h from mm repo * Colors * Fix argument types * Add argument parser to errorhandler * Rename ErrorHandler to WarningHandler * Add -Wno- and more warning types * header and body in warnings * Small cleanup * Replace a bunch of warnings with the new system Co-authored-by: EllipticEllipsis <EllipticEllipsis@users.noreply.github.com> * Move stuff around * Move stuff to header * Make some more VT macros, new Warning_Build function + macro, ZBackground * Add remaining warnings * Add ZResource* param to Warning_Resource * Add warning help message * Simplify help message a bit * Refactor warnings into lots of helper functions * Fix HANG_INDT in the wild * Builds now * Update macros to use bold * Fix body printing and error colour * Add -Werror= * Add warningType to HANDLE_ERROR * Change some throws into HANDLE_ERROR * Create init and main maps and write new help printer * Changed ZTextureAnimation to new w/e * Typo * Delete build warnings list file * Use ERROR in ZResource and ZPath * Remove extra structs * Move ifdef into the InitMap, add descriptions * Actually move into initMap and add descriptions... * Remove Everything from the WarningType enum * Make more of the handler arguments const for compatibility * Fix warning * Document macros a bit * Add ImageBackend ERRRORs * Note on Weverything, rename InvalidData to InvalidExtractedData * add texture and mesh warnings/errors * InvalidExtractedData * Add description for InvalidPNG * print which warnings are enabled by using debug verbosity * Fix everything * Fix some newlines * Move help to the end, start some documentation * Remove unnecessary `WarningHandler::`s * Remove commented code * Some more documentation * Make first letters consistenty lowercase, more docs * Consistently use lowercase, more docs * Format consistently, more detail in documentation * Simplify enabled warnings checks * Rename HANDLE_WARNING_BUILD and add HANDLE_ERROR_PROCESS * Delete BuildInfo.cpp * Use PROCESS where possible, bit more documentation * Add documenation to README, sort when printing help * Add an example, escalate the rest of the invalids by default * Format warning names in table * format readme * Remove old flags info * Remove obsolete variables * Format * assert.h -> cassert * Replace some asserts in ZTexture * Remove test file * Minor cleanup * Bit more in the help * Fix header includes * Format * One character in readme * Update README.md Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> * Some Morita inspiration * Convert new errors * Static warnings/errors * Merge remote-tracking branch 'upstream/master' into errorlib * Add explanation for switch control flow * format * whooops * Fix segment warning that doesn't apply now we assume no segment means use VRAM * Comment out MM in Jenkinsfile Co-authored-by: Angie <angheloalf95@gmail.com> Co-authored-by: EllipticEllipsis <EllipticEllipsis@users.noreply.github.com>
2021-10-16`ExternalFile`: Expose other XML's declarations during extraction (#151)Anghelo Carvajal
* proof of concept * fix header include paths * GetDeclarationAlignment and others * this should fix this * minor * DeclareVar in ExtractFromXML * fix vtx intersections * Fix segmented vtxs * --version * zcollision changes * Use GetSegmentedPtrName a lot more * memory related stuff * minor style fixes and use the actual symbol for zlinkanimation instead of the hex address * Simplify lots of GetSourceOutputCode * ZSkeleton cleanup and other changes * Elevate unknown types in skeleton to errors * ZAnimation cleanup * Add ExternalFile to config * delete some code * Remove unused code * fix conflicts * format * remove redundant constructors * minor fixes * fix vtx warnings * extract every vtx as standalone files * format * uups * Bugfix: don't create extra blank files * Fix some Vtx warnings and remove "defaulting to normal" in skeleton error * Refactor ZLimb * Make each limb to look up in every file for dlists * Use GetSegmentedArrayIndexedName in VTX references in dlists * simplify simple condition * search by type * run format * Revert "search by type" This reverts commit a049bdfc94c4ab04613b354f466dee836a20508a. * Add range checks * uups * Always set rangeEnd * special case zsymbol * Revert "Revert "search by type"" This reverts commit 3f6e77c780bd30dc7000614304021a0940168316. * symbol fix and IsOffsetInFileRange * Bugfix and minor checks * run format * Don't extract data from external files * Fix extraction of overly big tluts * Minor changes * More minor fixes * Fix clang warnings * Remove unused parameter * Fix merge issues * Fix ZLimbTable::DeclareVar * Fix limbs not naming properly their DLists * Remove segment number check * Fix merge problems * Run formatter * Maybe fix? * path * empty commit * Fix a typo * Fix merge issues * Fix null ptr dereferencing * Fix merge issues and some clang warnings * Format * Fix not-matching * Format * Fix merge issues * Fix exporter * Last fixes I hope * Fix merge issues * format * fix * fix * I'm dumb * format * static fix * Whoops * fix asan * Fix? * fix * reduce artificial changes * reduce artificial changes 2 * reorder more stuff * format * fix borken thing * Remove redundant stuff in zfile * fix * Format * Fix conflict issues * format * cleanup header includes * format * Add error checks in for ExternalXMLFolder * format
2021-10-11string -> const string& and more (#199)louist103
* all possible strings use const & and make some strings const char* * remove ='' from new strings * formatter * revert globals * Fix warning (error)
2021-10-01Add `--static` flag (#193)Anghelo Carvajal
* remove static from every extracted asset * fix makefile * Move a bunch of code to Declaration * make static enablalble * fix texture static * clean up * minor fixes * Format * add small docs * fix * add table * add note in the readme * typo * maybe_unused * Add warning to ZSymbol * format * fix
2021-09-20Improve makefiles (#187)EllipticEllipsis
* Rewrite makefiles, eliminate all the extra clang warnings * Include stdexcept in BinaryReader * Update gitignore * Clean up flags, add LLD option * Update readme to mention LLD * Update ExporterTest makefile in line with the others * OUTPUT_OPTION and remove redundant Main rule * Order arguments consistently, add note on submake variables
2021-09-13Texture Animation extraction from objects (#180)EllipticEllipsis
* Initial files * Add resource header, first go at ExtractFromXML * Now prints plenty to terminal, but not to file * Main array now declared in file * Erroring, but need to checkout master to test * Not erroring any more, hooray * TextureScrollingParams working, missing pointer * Scrolling works * Cycling params should work completely now * Type 2 works, type 4 crashes * Fixed iterator bound, works for Type 4 too now * Correct a couple more EnvColor things * Add null checks to declarations * Switch to Seg2Offset, make TextureAnimationEntry an ordinary struct, delete some obsolete functions * Remove Unknown (throws exception at construction instead) * Move GetResourceType down * Begin rewrite of SetAnimatedMaterialList * Remove old structs in SetAnimatedMaterialList * Fix infinite loop * Tested and working for MM, objects and scenes * Add warnings for undeclared textures (MM OK) * Make `__PRETTY_FUNCTION__` work on GCC/Clang, at least * Remove address from GetDefault name, add fancy errors * Format (also added some extensive documentation last time) * More formatting * Fiddle with errors a bit more * Fix pointer offsets and alignment * Format, add comment to SetAnimatedMaterialList * Add to docs * Review * Add [[maybe_unused]] * uint to get rid of warnings * makefile * Fix most warnings * Add default to shut GCC up * Format
2021-08-08Moved utility code into its own library (#162)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. * Moved utility code into its own library * Fixed merge issues * Fixed compilation issue * Added missing classes * Updated makefile * Minor update * Forgot to make an enum an 'enum class' * Minor fix * Few more adjustments * Bug fix * Another bug fix * Bug fix again * added comment * New functions added for exporters * Made certain fields public Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>