summaryrefslogtreecommitdiff
path: root/extract_assets.py
AgeCommit message (Collapse)Author
2025-04-12Fix for MMlouist103
2025-04-12Fix for linuxlouis
2025-04-12Move configs to the portlouist103
2025-03-30MM FIxeslouist103
2025-03-30OOT Fixeslouist103
2025-03-29Fix some MM specific thingslouist103
2025-03-29Binary by default (#33)louist103
2025-03-29Add XML option to Audio Exporter (#32)louist103
* Add XML option * Fix python script
2025-03-29Use O2R by defaultLouis
2025-03-29Fix files from MMlouist103
2025-03-29make otrexporter support mm better (#4)Archez
2025-03-29MM cutscene exporterLouis
2025-03-29Fixes for new ZAPD (#8)louist103
* Fixes for new ZAPD * Vertex fix * remove MSVC Hack --------- Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com>
2023-11-04Store port version in OTR files (#10)Adam Bird
* store port version in otr files * semver numbers shouldn't be negative
2023-10-24remove hardcoded soh assets and allow custom assets to be passed in (#9)Adam Bird
2023-08-15Opt-in for an easy-way CMake target to create soh.otr file (#3057)AltoXorg
* use a convenient cmake target for gen soh otr * Update generate-builds.yml * Apply for all conditions * grandma change
2023-04-14chore: move asset header generation to new ExtractAssetsHeaders target (#2705)Adam Bird
* add dedicated build target for extracting asset headers conditionally * dont gen otr when generating headers * simplify python array
2023-01-17changes to the asset extraction script (#2068)AltoXorg
- fixes exiting with Ctrl+C on linux - chooseROM returns Z64Rom object in addition to speed - adds simple verbosity for inspecting roms
2022-10-16Dual OTR MQ and Vanilla Support (#1694)Christopher Leggett
* Changes OTR Extraction to have specific mq and nonmq paths. Also updates the game to load resources according to whether or not Master Quest or Vanilla is loaded. * Removes unneeded code from the last commit. * Fixes some weird formatting in ZRom.c * Loads oot-mq.otr and patches oot.otr on top, if both are present. If only one or the other are present, it becomes the only and main OTR. * Adds ImGui Logic for whether or an MQ Checkbox. Checkbox checked only specifies whether new saves should be MQ or not. Checkbox is disabled or force-enabled according to which OTRs are loaded. Also as a necessity includes tracking what game versions have been loaded from the OTRs. * Adds MQ settings logic for Randomizer's ImGui menu. * Writes Master Quest dungeons to the spoiler log * Loads MQ Dungeons from spoiler, persists in save, and loads when appropriate. * Adds logic to prevent loading or creating incompatible rando saves. * Fixdes some linux build issues and new rando save issues * Makes appimage create both vanilla and mq otrs If either rom is present, it makes the corresponding OTR. If both are present, it will make both. If one OTR is present but both roms are present, it will create the missing OTR. * Makes it so a randomized save file will not be marked as MQ. * Refactors to load all OTRs from MainPath or a specific list. Also adds the ability to take a std::unordered_set of hashes to validate each OTR's version file against. * Fixes a syntax error * Makes ExtractAssets output Vanilla and MQ OTRs if both roms are present * Fixes asset generation bug. * Partially working fix for dual OTR extract_assets Currently the cmake ExtractAssets target will return with a 1 if you only end up exporting one type of OTR isntead of both. Haven't found a great way to only attempt to copy a file if it exists from within cmake. It does actually correctly copy the OTR that is generated, despite the error from copying the other one. Pushing as is for now but will keep investigating. * Adds oot-mq.otr to the gitignore. * Makes ExtractAssets not fail on only one rom/OTR. * Removes PatchesPath from the constructors requiring OTRFiles vector. * Renames OOT_UNKNOWN to just UNKNOWN to remove OOT specific reference. * Removes randomizing MQ Dungeons and re-disables MQ rando. Doing this so the PR can get merged quicker with just the Dual OTR support and won't need to wait on rando logic to be updated. That will happen in another PR directly after the merge. * Update mac startup script for dual otr * Update soh/macosx/soh-macos.sh * Update soh/macosx/soh-macos.sh * Update soh/macosx/soh-macos.sh * Implements new BinaryReader to fix Linux build issue. BinaryReader itself comes from https://github.com/Moneyl/BinaryTools I added a wrapper to adapt it to the ABI from ZAPD's Binary Reader and add Endianness checking. I also had to copy a handful of other bits and pieces from ZAPD to make it all function as expected. * A few edits to the updatream BinaryReader to compile it on Linux. * Adds the Endianness to the first byte of the version file. * Fixes Jenkins * Addresses some of Kenix's comments * Renames `ReadNullTerminatedString` to `ReadCString` * Refactors Archive::LoadFile into a private method with more arguments. * Removes BitConverter and extends existing endianness.h instead. * Fixes an endianness issue with the version file. Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2022-09-19Bugfix/version file creation (#1475)Dan Lilja
* Added creation of version file to OTRExporter * Removed creation of version file from other places * Made path to version file portable * Changed spaces to tabs in OTRExporter/Main.cpp
2022-08-16[cmake] Improve OTRExporter asset extraction script, Lower required CMake to ↵Zaxus125
3.16 (#1196) * supply ZAPD.out path as an argument to extract_assets.py rather than regenerating the script Generating an entirely new script file to change a string is excessive. Instead, extract_assets.py takes in one optional positional argument that contains the path to ZAPD.out, the original purpose for the string replacement. This also removes the need for the file(CHMOD ...) command, which bumps the minimum cmake version all the way up to 3.19. Additionally, there was an extra script being generated in OTRExporter/CMakeLists.txt that used the same CHMOD logic, but did not accurately declare its minimum version to 3.19, this removes that unused logic. * OTRExporter: accept a rom path as an argument to extract_assets.py
2022-07-25allow roms with spaces to be extracted (#868)Jeffrey Crowell
using subprocess instead of os.system() is a little safer, and allows for roms with spaces to be extraced. i've noticed this is somewhat common in people reporting issues on discord.
2022-07-18Include game version in linux otr builds (#826)GaryOderNichts
2022-05-11Linux/GCC Support (#28)Random
* Initial Linux/GCC support commit * Add instructins for linux in the README * apply suggestions by @Erotemic and @Emill * Fix python 3.10 symlink line * Fix func_80041E80 type mismatch (#3) Type mismatch functions.h:664 * Makefile: clean OTRExporter/libultraship/ZAPDTR with distclean and fix CXX_FILES * Makefile: find C/CXX_FILES automatically * Makefile: remove ugly conditions in find commands * cleanup _MSC_VER usage * fix Windows build * cleanup extraction scripts * fix Windows build * Fix Windows path separator issue * fix rumble support for linux * use glew-cmake in dockerfile * add pulseaudio backend * fix ZAPDTR linkage * Check for "soh.elf" in directory (#6) hide second button if `soh.exe` or `soh.elf` is present * Fix hardcoded segment addresses (#5) * fix condition * hack lus -> soh dep for ZAPDTR Co-authored-by: sholdee <102821812+sholdee@users.noreply.github.com> Co-authored-by: qurious-pixel <62252937+qurious-pixel@users.noreply.github.com> Co-authored-by: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
2022-04-25Fixed bug in extract_assets.py that caused wrong XML folder to be usedNicholas Estelami
Also removed duplicate python script in soh folder.
2022-04-19Implement todo in extract_assets.py (#154)MegaMech
* Update extract_assets.py * Update extract_assets.py * Update extract_assets.py * Update extract_assets.py * Update extract_assets.py * Update README.md * Update extract_assets.py
2022-04-06Updated python script to use new "extract directory" mode.Nicholas Estelami
Additionally fixed oversight with audio files and bug in OTRGui.
2022-03-31Added support for multiple game versions (#107)Nicholas Estelami
* WIP Multiversion support * GC PAL Non-MQ support complete * Updated OtrGui to handle different game versions * Added version file * Added new extract mode to ZAPD and optimized OTR gen time * Fixed bug causing crash * Further optimized OTRExporter, saving around ~20 seconds. * ZAPD is now multi-threaded. * Fixed merge issue * Fixed memory leak and fog issue on pause screen. * Additional fog fixes. Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2022-03-22git subrepo clone https://github.com/HarbourMasters/OTRExporter.gitM4xw
subrepo: subdir: "OTRExporter" merged: "1503d3eef" upstream: origin: "https://github.com/HarbourMasters/OTRExporter.git" branch: "master" commit: "1503d3eef" git-subrepo: version: "0.4.1" origin: "???" commit: "???"