summaryrefslogtreecommitdiff
path: root/ZAPD/ZVector.cpp
AgeCommit message (Collapse)Author
2022-07-30Done?Louis
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-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-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-29Remove `DeclarationPadding` and `DeclarationAlignment::None` (#186)Anghelo Carvajal
* Nuke DeclarationPadding * Remove DeclarationAlignment::None * Fix AddDeclaration memory leaks * Run formatter * Remove extra AddDeclarationPlaceholder * Revert "Remove extra AddDeclarationPlaceholder" This reverts commit 7a5d6a19d80bb246e0a6c8fde009b2a00a84ef96.
2021-09-13ZRoom cleaning 3 (#140)Anghelo Carvajal
* Remove redundant scene member * altheaders clean * it is broken and I don't know why * fix VTXs * Fix the stuff I broke in SetRoomList * Add RoomAltHeader and SceneAltHeader * fix syotes again and set the size of each ZRoomCommand * Add SCENE_CMD_UNK_09 todo * Nuke HintSystem * run format * Remove `canHaveInner` from ZRoom since the HintSystem doesn't exists anymore * Remove sourceOutput member from ZResource * Update docs * run format * Add non 64-bits aligned textures warning * remove unused json library * Update SCENE_CMD_UNK_09 * Fix merge issues * run format * Clean up actorlist output * Fix merge conflicts * format * Fix actorlist extraction * Unify AltHeader * fix merge conflicts * Run formatter * minor style changes * fix using wrong symbols for extracted vtxs from overlays * format * fix makefile stuff * fix merge issue
2021-09-12Fix compilation with -Wextra (#164)Random
* add -Wextra -Werror * remove void arg in GfxdCallback_FormatSingleEntry * mark CRC32 functions as maybe_unused * remove useless comment * fix clang warnings * replace (void) with [[maybe_unused]] * run make format
2021-09-12Run formatter (#170)EllipticEllipsis
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-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-10ZRoom refactor (#124)Anghelo Carvajal
* Remove redundant methods * first pass os cleaning * More cleaning * Fix compilation errors * Fix dumb crashes * Fix dumb issues * Removing most uses of GenerateSourceCodePass1 * more cleanup * Move segmentOffset to ZRoomCommand * Half of ParseRawData * somehow broken... * fix broken stuff * This may or may not be broken * More cleaning * Remove GenerateSourceCodePass2 * More cleanup and pointer removal * Use PolygonType2 in SetMesh * another small cleanup * Merge PolygonDlist and PolygonDlist2 * More code merging * GetDeclarationPtrName * Remove most repeated externs and a bit of redundant code * Dumb MM fixes * small fix (cherry picked from commit 0813fd69538491c5aceb00d79d19bf59fd082ca7) * Another dumb fix * Remove GenerateExterns * Change DeclareReferences signature * Refactor SetAnimatedTextureList * const std::vector<uint8_t>& * another small bunch of changes * last parserawdata and declarereferences separation probably * Move parserawdata * Remove GenerateSourceCodePass1 * Use macros for commands * Make ZRoomCommand inherit ZResource * shrink scenes tluts * ProcessTextureIntersections * small output improvements * Small changes * run format * SCENE_CMD -> SCENECMD * fix merge errors * run format * fix some warnings * update macros names * Add again different commands for each game ni SCENE_CMD_ROOM_BEHAVIOR * macro update * More booleans * Move declaration to its own file * minor changes * Update according to latest reviews in oot * run format * Yet another cutscene change * Remove special scene/room segment code * This is crashing and I don't know why * remove includeFilePrefix * fix merge issues * always pass a parent to zresource * move path to its own zclass and properly implement parserawdata in commands * Fix GetDeclarationPtrName uses * Some ZPath fixes (still broken tho) * Fix ZPath declarations * Fix weird problem * Add `Path` to the docs * run format * clean syotes code * A bunch of changes for MM * run format
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-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-28Use OutputFormatter for every C and H file, to improve the generated output ↵Anghelo Carvajal
(#122) * Small changes in collision * Use outputformatter to write C files * Outputformatter for .h files * Use more fs::path * Use gfxd_udata_set and gfxd_udata_get instead of an instance * Fix merge issues and warnings * run format
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-04-01Unmangle backtrace (#100)Anghelo Carvajal
* its kinda functional Signed-off-by: angie <angheloalf95@gmail.com> * Looks nicer now Signed-off-by: angie <angheloalf95@gmail.com> * cleanup the makefile Signed-off-by: angie <angheloalf95@gmail.com> * Fix small issues with error handling Signed-off-by: angie <angheloalf95@gmail.com> * fix order of dependencies of main.cpp in makefile Signed-off-by: Angie <angheloalf95@gmail.com> * Add varname to the intersection warning Signed-off-by: angie <angheloalf95@gmail.com> * run clang-format Signed-off-by: angie <angheloalf95@gmail.com> * Don't print the backtrace two times Signed-off-by: angie <angheloalf95@gmail.com>
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-20Final Warning pass (#99)louist103
* started on basic type errors * Done. For now * remove libgfxd binary * Fix Clang Warnings * Fix2 * Fix rollback of #92 and missed warning in ZCutscene.cpp * ? * add stdexcept to ZResource * Fix make clean * PR fixes * Fix make file stuff * Remove many more errors and remove -Wall * Turns out Globals was used * Final pass Co-authored-by: Fig02 <fig02srl@gmail.com>
2021-03-19Fix all warnings output by Clang++ (#94)louist103
* started on basic type errors * Done. For now * remove libgfxd binary * Fix Clang Warnings * Fix2 * Fix rollback of #92 and missed warning in ZCutscene.cpp * ? * add stdexcept to ZResource * Fix make clean * PR fixes * Fix make file stuff * Remove many more errors and remove -Wall * Turns out Globals was used Co-authored-by: Fig02 <fig02srl@gmail.com>
2021-01-23Added bug fix that accidentally wasn't included in the last PR (#76)Nicholas Estelami
2021-01-19Added in support for ZArray (WIP) and ZVtx. Also cleaned up some of the ↵Nicholas Estelami
virtual functions. (#73)
2021-01-09Fix MacOS build (#68)Ethan Roseman
2021-01-08ZAPD now supports Vector types. (#64)Kenix3