mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-07-15 01:22:59 -07:00
Tools update (#5454)
* Bump ZAPDTR & OTRExporter. Changes to use o2r by default Changes to the new player animation format # Conflicts: # OTRExporter # ZAPDTR # soh/soh/OTRGlobals.cpp # soh/src/code/z_skelanime.c * Fix actions * Format * Cherry pick ZAPDTR * Update exporter * Move configs to port * Remove copy * Remove more XML copies * Remove extractor directory from actions builds. * Fix OTRExporter for linux * FIx ZAPD volatile * Format * Fix extractor? * Fix linux * Fix * Remove appimage stuff * Screnity now * Remove ZAPD from install paths * Remove soh.sh.in * Fix linux * Cleanups and use a thread for message box
This commit is contained in:
parent
64f9e433da
commit
040e0e1921
37 changed files with 10096 additions and 498 deletions
20
.github/workflows/generate-builds.yml
vendored
20
.github/workflows/generate-builds.yml
vendored
|
@ -62,16 +62,16 @@ jobs:
|
|||
cmake ..
|
||||
make
|
||||
sudo make install
|
||||
- name: Generate soh.otr
|
||||
- name: Generate soh.o2r
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
cmake --build build-cmake --config Release --target GenerateSohOtr -j3
|
||||
- name: Upload soh.otr
|
||||
- name: Upload soh.o2r
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: soh.otr
|
||||
path: soh.otr
|
||||
name: soh.o2r
|
||||
path: soh.o2r
|
||||
retention-days: 3
|
||||
|
||||
build-macos:
|
||||
|
@ -122,10 +122,10 @@ jobs:
|
|||
brew uninstall --ignore-dependencies libpng
|
||||
sudo port install $(cat .github/workflows/macports-deps.txt)
|
||||
brew install ninja
|
||||
- name: Download soh.otr
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-cmake/soh
|
||||
- name: Build SoH
|
||||
run: |
|
||||
|
@ -233,10 +233,10 @@ jobs:
|
|||
make
|
||||
sudo make install
|
||||
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
|
||||
- name: Download soh.otr
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-cmake/soh
|
||||
- name: Build SoH
|
||||
run: |
|
||||
|
@ -298,10 +298,10 @@ jobs:
|
|||
path: vcpkg
|
||||
- name: Configure Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: Download soh.otr
|
||||
- name: Download soh.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: soh.otr
|
||||
name: soh.o2r
|
||||
path: build-windows/soh
|
||||
- name: Build SoH
|
||||
env:
|
||||
|
|
2
.github/workflows/pr-artifacts.yml
vendored
2
.github/workflows/pr-artifacts.yml
vendored
|
@ -48,7 +48,7 @@ jobs:
|
|||
});
|
||||
|
||||
return allArtifacts.data.artifacts.reduce((acc, item) => {
|
||||
if (item.name === "soh.otr") return acc;
|
||||
if (item.name === "soh.o2r") return acc;
|
||||
acc += `
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
||||
return acc;
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -412,6 +412,7 @@ ReleaseObj/*
|
|||
.tags
|
||||
tags
|
||||
*.otr
|
||||
*.o2r
|
||||
*.sav
|
||||
shipofharkinian.ini
|
||||
shipofharkinian.json
|
||||
|
|
|
@ -174,24 +174,15 @@ set_property(TARGET soh PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/scri
|
|||
set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon.png")
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/linux/soh.sh" DESTINATION . COMPONENT appimage)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.otr" DESTINATION . COMPONENT ship)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.o2r" DESTINATION . COMPONENT ship)
|
||||
install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT extractor)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/ COMPONENT ship)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml COMPONENT ship)
|
||||
endif()
|
||||
|
||||
find_package(Python3 COMPONENTS Interpreter)
|
||||
|
@ -199,42 +190,42 @@ find_package(Python3 COMPONENTS Interpreter)
|
|||
# Target to generate OTRs
|
||||
add_custom_target(
|
||||
ExtractAssets
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f oot.otr oot-mq.otr soh.otr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f oot.o2r oot-mq.o2r soh.o2r
|
||||
|
||||
# copy LUS default shaders into assets/custom
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Running asset extraction..."
|
||||
DEPENDS ZAPD
|
||||
BYPRODUCTS oot.otr ${CMAKE_SOURCE_DIR}/oot.otr oot-mq.otr ${CMAKE_SOURCE_DIR}/oot-mq.otr ${CMAKE_SOURCE_DIR}/soh.otr
|
||||
BYPRODUCTS oot.o2r ${CMAKE_SOURCE_DIR}/oot.o2r oot-mq.o2r ${CMAKE_SOURCE_DIR}/oot-mq.o2r ${CMAKE_SOURCE_DIR}/soh.o2r
|
||||
)
|
||||
|
||||
# Target to generate headers
|
||||
add_custom_target(
|
||||
ExtractAssetHeaders
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../soh/assets/xml --gen-headers
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root assets/xml --gen-headers
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Generating asset headers..."
|
||||
DEPENDS ZAPD
|
||||
)
|
||||
|
||||
# Target to generate only soh.otr
|
||||
# Target to generate only soh.o2r
|
||||
add_custom_target(
|
||||
GenerateSohOtr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f soh.otr
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -f soh.o2r
|
||||
|
||||
# copy LUS default shaders into assets/custom
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -r -f ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libultraship/src/graphic/Fast3D/shaders/ ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom/shaders/
|
||||
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.otr "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file soh.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/soh/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLYSOHOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMENT "Generating soh.otr..."
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||
COMMENT "Generating soh.o2r..."
|
||||
DEPENDS ZAPD
|
||||
)
|
||||
|
||||
|
@ -267,22 +258,12 @@ add_custom_target(CreateOSXIcons
|
|||
)
|
||||
add_dependencies(soh CreateOSXIcons)
|
||||
|
||||
install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets/extractor)
|
||||
install(TARGETS ZAPD DESTINATION ${CMAKE_BINARY_DIR}/assets)
|
||||
|
||||
set(PROGRAM_PERMISSIONS_EXECUTE OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
|
||||
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists/" DESTINATION ./assets/extractor/filelists)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt" DESTINATION ./assets/extractor/symbols)
|
||||
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/assets
|
||||
DESTINATION .
|
||||
PATTERN ZAPD.out
|
||||
PERMISSIONS ${PROGRAM_PERMISSIONS_EXECUTE}
|
||||
)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/extractor/" DESTINATION ./assets/)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml)
|
||||
|
||||
# Rename the installed soh binary to drop the macos suffix
|
||||
INSTALL(CODE "FILE(RENAME \${CMAKE_INSTALL_PREFIX}/../MacOS/soh-macos \${CMAKE_INSTALL_PREFIX}/../MacOS/soh)")
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 41052efcdf8df8e67517cc93da8975fcd4e14af9
|
||||
Subproject commit 461ab19a36cde807591543397e136cae19aa6e7c
|
2
ZAPDTR
2
ZAPDTR
|
@ -1 +1 @@
|
|||
Subproject commit 2aeababbfb81b00d34673406453e8e8e2deaa27b
|
||||
Subproject commit 684f21a475dcfeee89938ae1f4afc42768a3e7ef
|
|
@ -1,37 +1,37 @@
|
|||
message(STATUS "Copying otr files...")
|
||||
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot.otr")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot.o2r")
|
||||
endif()
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot-mq.otr")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied oot-mq.o2r")
|
||||
endif()
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied soh.otr")
|
||||
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${SOURCE_DIR})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${BINARY_DIR}/soh/)
|
||||
message(STATUS "Copied soh.o2r")
|
||||
endif()
|
||||
|
||||
# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe
|
||||
if(SYSTEM_NAME MATCHES "Windows")
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${TARGET_DIR})
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${TARGET_DIR})
|
||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${TARGET_DIR})
|
||||
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.otr AND NOT EXISTS ${SOURCE_DIR}/oot-mq.otr))
|
||||
if(NOT ONLYSOHOTR AND (NOT EXISTS ${SOURCE_DIR}/oot.o2r AND NOT EXISTS ${SOURCE_DIR}/oot-mq.o2r))
|
||||
message(FATAL_ERROR "Failed to copy. No OTR files found.")
|
||||
endif()
|
||||
if(NOT EXISTS ${SOURCE_DIR}/soh.otr)
|
||||
if(NOT EXISTS ${SOURCE_DIR}/soh.o2r)
|
||||
message(FATAL_ERROR "Failed to copy. No soh OTR found.")
|
||||
endif()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=SOH
|
||||
Exec=soh.sh
|
||||
Exec=soh.elf
|
||||
Terminal=false
|
||||
Icon=sohIcon
|
||||
Type=Application
|
||||
|
|
|
@ -1,338 +0,0 @@
|
|||
#!/bin/bash
|
||||
HERE="$(dirname "$(readlink -f "${0}")")"/../..
|
||||
|
||||
export PATH="$HERE"/bin:"$HERE"/usr/bin:"$PATH"
|
||||
export LD_LIBRARY_PATH="$HERE"/usr/lib:"$LD_LIBRARY_PATH"
|
||||
export ZENITY=$(command -v zenity)
|
||||
|
||||
if [ -z ${SHIP_HOME+x} ]; then
|
||||
export SHIP_HOME=$PWD
|
||||
fi
|
||||
|
||||
if [ -z ${SHIP_BIN_DIR+x} ]; then
|
||||
export SHIP_BIN_DIR="$HERE/usr/bin"
|
||||
fi
|
||||
|
||||
if [[ ! -e "$SHIP_HOME"/mods ]]; then
|
||||
mkdir -p "$SHIP_HOME"/mods
|
||||
touch "$SHIP_HOME"/mods/custom_otr_files_go_here.txt
|
||||
fi
|
||||
|
||||
while [[ (! -e "$SHIP_HOME"/oot.otr) || (! -e "$SHIP_HOME"/oot-mq.otr) ]]; do
|
||||
for romfile in "$SHIP_HOME"/*.*64
|
||||
do
|
||||
if [[ -e "$romfile" ]] || [[ -L "$romfile" ]]; then
|
||||
export ASSETDIR="$(mktemp -d /tmp/assets-XXXXX)"
|
||||
ln -s "$SHIP_BIN_DIR"/{assets,soh.elf,ZAPD} "$ASSETDIR"
|
||||
export OLDPWD="$PWD"
|
||||
mkdir -p "$ASSETDIR"/tmp
|
||||
if [[ -e "$romfile" ]]; then
|
||||
ln -s "$romfile" "$ASSETDIR"/tmp/rom.z64
|
||||
else
|
||||
ORIG_ROM_PATH=$(readlink "$romfile")
|
||||
ln -s "$ORIG_ROM_PATH" "$ASSETDIR"/tmp/rom.z64
|
||||
fi
|
||||
cd "$ASSETDIR"
|
||||
ROMHASH=$(sha1sum -b "$ASSETDIR"/tmp/rom.z64 | awk '{ print $1 }')
|
||||
|
||||
# Remap v64 and n64 hashes to their z64 hash equivalent
|
||||
# ZAPD will handle converting the data into z64 format
|
||||
case "$ROMHASH" in
|
||||
a9059b56e761c9034fbe02fe4c24985aaa835dac) # v64
|
||||
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
|
||||
;;
|
||||
24708102dc504d3f375a37f4ae4e149c167dc515) # n64
|
||||
ROMHASH=cee6bc3c2a634b41728f2af8da54d9bf8cc14099
|
||||
;;
|
||||
580dd0bd1b6d2c51cc20a764eece84dba558964c) # v64
|
||||
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
|
||||
;;
|
||||
d6342c59007e57c1194661ec6880b2f078403f4e) # n64
|
||||
ROMHASH=0227d7c0074f2d0ac935631990da8ec5914597b4
|
||||
;;
|
||||
d0bdc2eb320668b4ba6893b9aefe4040a73123ff) # v64
|
||||
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
|
||||
;;
|
||||
4946ab250f6ac9b32d76b21f309ebb8ebc8103d2) # n64
|
||||
ROMHASH=328a1f1beba30ce5e178f031662019eb32c5f3b5
|
||||
;;
|
||||
663c34f1b2c05a09e5beffe4d0dcd440f7d49dc7) # v64
|
||||
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
|
||||
;;
|
||||
24c73d378b0620a380ce5ef9f2b186c6c157a68b) # n64
|
||||
ROMHASH=cfbb98d392e4a9d39da8285d10cbef3974c2f012
|
||||
;;
|
||||
8ebf2e29313f44f2d49e5b4191971d09919e8e48) # v64
|
||||
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
|
||||
;;
|
||||
4264bf7b875737b8fae77d52322a5099d051fc11) # n64
|
||||
ROMHASH=f46239439f59a2a594ef83cf68ef65043b1bffe2
|
||||
;;
|
||||
973bc6fe56010a8d646166a1182a81b4f13b8cf9) # v64
|
||||
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
|
||||
;;
|
||||
d327752c46edc70ff3668b9514083dbbee08927c) # v64
|
||||
ROMHASH=50bebedad9e0f10746a52b07239e47fa6c284d03
|
||||
;;
|
||||
ecdeb1747560834e079c22243febea7f6f26ba3b) # v64
|
||||
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
|
||||
;;
|
||||
f19f8662ec7abee29484a272a6fda53e39efe0f1) # n64
|
||||
ROMHASH=079b855b943d6ad8bd1eb026c0ed169ecbdac7da
|
||||
;;
|
||||
ab519ce04a33818ce2c39b3c514a751d807a494a) # v64
|
||||
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
|
||||
;;
|
||||
c19a34f7646305e1755249fca2071e178bd7cd00) # n64
|
||||
ROMHASH=cfecfdc58d650e71a200c81f033de4e6d617a9f6
|
||||
;;
|
||||
25e8ae79ea0839ca5c984473f7460d8040c36f9c) # v64
|
||||
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
|
||||
;;
|
||||
166c02770d67fcc3954c443eb400a6a3573d3fc0) # n64
|
||||
ROMHASH=517bd9714c73cb96c21e7c2ef640d7b55186102f
|
||||
;;
|
||||
79a4f053d34018e59279e6d4b83c7daccd985c87) # v64
|
||||
ROMHASH=ad69c91157f6705e8ab06c79fe08aad47bb57ba7
|
||||
;;
|
||||
82fafee9c6ac7946739282958364ce606077ac65) # n64
|
||||
ROMHASH=ad69c91157f6705e8ab06c79fe08aad47bb57ba7
|
||||
;;
|
||||
18cd0eb65914a21d8fa08dfe71c29d865e9d728a) # v64
|
||||
ROMHASH=d3ecb253776cd847a5aa63d859d8c89a2f37b364
|
||||
;;
|
||||
07940d5609e04b7caac63570731e01189129212e) # n64
|
||||
ROMHASH=d3ecb253776cd847a5aa63d859d8c89a2f37b364
|
||||
;;
|
||||
3ac86253e0c0d55486d212e647350c1527b9c92d) # v64
|
||||
ROMHASH=41b3bdc48d98c48529219919015a1af22f5057c2
|
||||
;;
|
||||
70bf30a9980026e615a1ae8d2735a773cf9fcc94) # n64
|
||||
ROMHASH=41b3bdc48d98c48529219919015a1af22f5057c2
|
||||
;;
|
||||
f9e2b6840b9103e9707ea390089a7b6943592a98) # v64
|
||||
ROMHASH=c892bbda3993e66bd0d56a10ecd30b1ee612210f
|
||||
;;
|
||||
2fae1601aa7ae8d3e03ba3f4dcdfca3a36002ac5) # n64
|
||||
ROMHASH=c892bbda3993e66bd0d56a10ecd30b1ee612210f
|
||||
;;
|
||||
1181034d5f9533f53ebe8e1c781badbee115f5aa) # v64
|
||||
ROMHASH=dbfc81f655187dc6fefd93fa6798face770d579d
|
||||
;;
|
||||
07477067943abe8d0c50285eb4a6cb9ece99e79b) # n64
|
||||
ROMHASH=dbfc81f655187dc6fefd93fa6798face770d579d
|
||||
;;
|
||||
2d8fb7140a9c5d11ce614561e5a36ffef0c17540) # v64
|
||||
ROMHASH=fa5f5942b27480d60243c2d52c0e93e26b9e6b86
|
||||
;;
|
||||
d90bbe422ac728ac54ac6a2c9fec942f7ff04df9) # n64
|
||||
ROMHASH=fa5f5942b27480d60243c2d52c0e93e26b9e6b86
|
||||
;;
|
||||
44c75962911e13bdfdc31b35e0b8e3be6a6a49ab) # v64
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b
|
||||
;;
|
||||
5d47025581060af5ba19e6719c25fea7398e87cf) # n64
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b
|
||||
;;
|
||||
e1d070ad7b017de9f992b362164dcd9d7f820f7e) # v64
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d
|
||||
;;
|
||||
a8c04cd5aa94a6a32198f36ff2069d43342d18a8) # n64
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d
|
||||
;;
|
||||
245410280d152f28d5b1c0c0fc37f384db0020cd) # v64
|
||||
0769c84615422d60f16925cd859593cdfa597f84
|
||||
;;
|
||||
fbdc9e444807f9b881e3432cedf66f38746b81d8) # n64
|
||||
0769c84615422d60f16925cd859593cdfa597f84
|
||||
;;
|
||||
b6d33d6bf5d6700c64b6a873ab8b06ff039619bc) # v64
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73
|
||||
;;
|
||||
2c7113d20044f93c82ec888c19aa09ea7797396d) # n64
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73
|
||||
;;
|
||||
06c3c098f0e14ed61811dfaf0e8e4519d7d7a826) # v64
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f
|
||||
;;
|
||||
bb3f85bfaad9ae7a20afbf618fc9fe126c8c1b4f) # n64
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$ROMHASH" in
|
||||
cee6bc3c2a634b41728f2af8da54d9bf8cc14099)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_D
|
||||
OTRNAME="oot.otr"
|
||||
fi
|
||||
;;
|
||||
0227d7c0074f2d0ac935631990da8ec5914597b4)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_PAL_F
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
328a1f1beba30ce5e178f031662019eb32c5f3b5)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_PAL_10
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
cfbb98d392e4a9d39da8285d10cbef3974c2f012)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_PAL_11
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
ad69c91157f6705e8ab06c79fe08aad47bb57ba7|c892bbda3993e66bd0d56a10ecd30b1ee612210f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_10
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
d3ecb253776cd847a5aa63d859d8c89a2f37b364|dbfc81f655187dc6fefd93fa6798face770d579d)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_11
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
41b3bdc48d98c48529219919015a1af22f5057c2|fa5f5942b27480d60243c2d52c0e93e26b9e6b86)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=N64_NTSC_12
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
f46239439f59a2a594ef83cf68ef65043b1bffe2)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_PAL_F
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
50bebedad9e0f10746a52b07239e47fa6c284d03)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
079b855b943d6ad8bd1eb026c0ed169ecbdac7da)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
cfecfdc58d650e71a200c81f033de4e6d617a9f6)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
517bd9714c73cb96c21e7c2ef640d7b55186102f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_D
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
b82710ba2bd3b4c6ee8aa1a7e9acf787dfc72e9b)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_U
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
8b5d13aac69bfbf989861cfdc50b1d840945fc1d)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_NTSC_U
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
0769c84615422d60f16925cd859593cdfa597f84)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_J
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
2ce2d1a9f0534c9cd9fa04ea5317b80da21e5e73)
|
||||
if [[ ! -e "$SHIP_HOME"/oot.otr ]]; then
|
||||
ROM=GC_NMQ_NTSC_J_CE
|
||||
OTRNAME="oot.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
dd14e143c4275861fe93ea79d0c02e36ae8c6c2f)
|
||||
if [[ ! -e "$SHIP_HOME"/oot-mq.otr ]]; then
|
||||
ROM=GC_MQ_NTSC_J
|
||||
OTRNAME="oot-mq.otr"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo -e "\n$romfile - $ROMHASH rom hash does not match\n"
|
||||
continue;;
|
||||
esac
|
||||
if [[ ! -e "$SHIP_HOME"/"$OTRNAME" ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
(echo "# 25%"; echo "25"; sleep 2; echo "# 50%"; echo "50"; sleep 3; echo "# 75%"; echo "75"; sleep 2; echo "# 100%"; echo "100"; sleep 3) |
|
||||
zenity --progress --title="OTR Generating..." --timeout=10 --percentage=0 --icon-name=soh --window-icon=soh.png --height=80 --width=400 &
|
||||
else
|
||||
echo "Processing..."
|
||||
fi
|
||||
assets/extractor/ZAPD.out ed -eh -i assets/extractor/xmls/"${ROM}" -b tmp/rom.z64 -fl assets/extractor/filelists -o placeholder -osf placeholder -gsf 1 -rconf assets/extractor/Config_"${ROM}".xml -se OTR --otrfile "${OTRNAME}" --portVer "@CMAKE_PROJECT_VERSION@" > /dev/null 2>&1
|
||||
cp "$ASSETDIR"/"$OTRNAME" "$SHIP_HOME"
|
||||
fi
|
||||
else
|
||||
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
zenity --error --timeout=5 --text="Place ROM in $SHIP_HOME" --title="Missing ROM file" --width=500 --width=200
|
||||
else
|
||||
echo -e "\nPlace ROM in this folder\n"
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [[ (! -e "$SHIP_HOME"/oot.otr) && (! -e "$SHIP_HOME"/oot-mq.otr) ]]; then
|
||||
if [ -n "$ZENITY" ]; then
|
||||
zenity --error --timeout=10 --text="No valid ROMs were provided, No OTR was generated." --title="Incorrect ROM file" --width=500 --width=200
|
||||
else
|
||||
echo "No valid roms provided, no OTR was generated."
|
||||
fi
|
||||
rm -r "$ASSETDIR"
|
||||
exit
|
||||
else
|
||||
(cd "$SHIP_BIN_DIR"; ./soh.elf)
|
||||
exit
|
||||
fi
|
||||
rm -r "$ASSETDIR"
|
||||
done
|
||||
(cd "$SHIP_BIN_DIR"; ./soh.elf)
|
||||
exit
|
|
@ -594,21 +594,22 @@ endif()
|
|||
# Pre build events
|
||||
################################################################################
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
set(VS_COPY_ASSETS_CMD ${CMAKE_COMMAND} -E copy_directory_if_different $<TARGET_FILE_DIR:soh>/assets ${CMAKE_BINARY_DIR}/soh/assets)
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor ${CMAKE_BINARY_DIR}/soh/assets
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml ${CMAKE_BINARY_DIR}/soh/assets/xml
|
||||
)
|
||||
endif()
|
||||
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS")
|
||||
add_custom_command(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMENT "Copying asset xmls..."
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets/extractor
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/extractor/xmls
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/filelists $<TARGET_FILE_DIR:soh>/assets/extractor/filelists
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ActorList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/ObjectList_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/OTRExporter/CFG/SymbolMap_OoTMqDbg.txt $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
||||
COMMAND ${VS_COPY_ASSETS_CMD}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/extractor $<TARGET_FILE_DIR:soh>/assets
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/xml
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/symbols
|
||||
# COMMAND ${VS_COPY_ASSETS_CMD}
|
||||
)
|
||||
endif()
|
||||
################################################################################
|
||||
|
@ -694,11 +695,7 @@ endif()
|
|||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../scripts/linux/appimage/soh.sh.in ${CMAKE_BINARY_DIR}/linux/soh.sh @ONLY)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
||||
find_program(CURL NAMES curl DOC "Path to the curl program. Used to download files.")
|
||||
|
@ -708,7 +705,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
|
|||
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY)
|
||||
INSTALL(TARGETS soh DESTINATION ../MacOS COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION ../Resources COMPONENT ship)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r DESTINATION ../Resources COMPONENT ship)
|
||||
elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS")
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
|
||||
endif()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_MQ_D/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_MQ_D/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_MQ_NTSC_J/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_MQ_NTSC_J/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_MQ_NTSC_U/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_MQ_NTSC_U/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_MQ_PAL_F/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_MQ_PAL_F/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_NMQ_D/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_NMQ_D/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_NMQ_NTSC_J/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_NMQ_NTSC_J/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_NMQ_NTSC_J_CE/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_NMQ_NTSC_J_CE/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_NMQ_NTSC_U/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_NMQ_NTSC_U/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_NMQ_PAL_F/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/GC_NMQ_PAL_F/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_NTSC_10/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/N64_NTSC_10/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_NTSC_11/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/N64_NTSC_11/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_NTSC_12/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/N64_NTSC_12/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_PAL_10/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/N64_PAL_10/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_OoTMqDbg.txt"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_PAL_11/"/>
|
||||
<ExternalXMLFolder Path="assets/xml/N64_PAL_11/"/>
|
||||
<TexturePool File="TexturePool.xml"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
|
|
1532
soh/assets/extractor/filelists/dbg.txt
Normal file
1532
soh/assets/extractor/filelists/dbg.txt
Normal file
File diff suppressed because it is too large
Load diff
1509
soh/assets/extractor/filelists/gamecube.txt
Normal file
1509
soh/assets/extractor/filelists/gamecube.txt
Normal file
File diff suppressed because it is too large
Load diff
1510
soh/assets/extractor/filelists/gamecube_pal.txt
Normal file
1510
soh/assets/extractor/filelists/gamecube_pal.txt
Normal file
File diff suppressed because it is too large
Load diff
1510
soh/assets/extractor/filelists/ntsc_12_oot.txt
Normal file
1510
soh/assets/extractor/filelists/ntsc_12_oot.txt
Normal file
File diff suppressed because it is too large
Load diff
1510
soh/assets/extractor/filelists/ntsc_oot.txt
Normal file
1510
soh/assets/extractor/filelists/ntsc_oot.txt
Normal file
File diff suppressed because it is too large
Load diff
1511
soh/assets/extractor/filelists/pal_oot.txt
Normal file
1511
soh/assets/extractor/filelists/pal_oot.txt
Normal file
File diff suppressed because it is too large
Load diff
472
soh/assets/extractor/symbols/ActorList_OoTMqDbg.txt
Normal file
472
soh/assets/extractor/symbols/ActorList_OoTMqDbg.txt
Normal file
|
@ -0,0 +1,472 @@
|
|||
ACTOR_PLAYER
|
||||
ACTOR_UNSET_1
|
||||
ACTOR_EN_TEST
|
||||
ACTOR_UNSET_3
|
||||
ACTOR_EN_GIRLA
|
||||
ACTOR_UNSET_5
|
||||
ACTOR_UNSET_6
|
||||
ACTOR_EN_PART
|
||||
ACTOR_EN_LIGHT
|
||||
ACTOR_EN_DOOR
|
||||
ACTOR_EN_BOX
|
||||
ACTOR_BG_DY_YOSEIZO
|
||||
ACTOR_BG_HIDAN_FIREWALL
|
||||
ACTOR_EN_POH
|
||||
ACTOR_EN_OKUTA
|
||||
ACTOR_BG_YDAN_SP
|
||||
ACTOR_EN_BOM
|
||||
ACTOR_EN_WALLMAS
|
||||
ACTOR_EN_DODONGO
|
||||
ACTOR_EN_FIREFLY
|
||||
ACTOR_EN_HORSE
|
||||
ACTOR_EN_ITEM00
|
||||
ACTOR_EN_ARROW
|
||||
ACTOR_UNSET_17
|
||||
ACTOR_EN_ELF
|
||||
ACTOR_EN_NIW
|
||||
ACTOR_UNSET_1A
|
||||
ACTOR_EN_TITE
|
||||
ACTOR_EN_REEBA
|
||||
ACTOR_EN_PEEHAT
|
||||
ACTOR_EN_BUTTE
|
||||
ACTOR_UNSET_1F
|
||||
ACTOR_EN_INSECT
|
||||
ACTOR_EN_FISH
|
||||
ACTOR_UNSET_22
|
||||
ACTOR_EN_HOLL
|
||||
ACTOR_EN_SCENE_CHANGE
|
||||
ACTOR_EN_ZF
|
||||
ACTOR_EN_HATA
|
||||
ACTOR_BOSS_DODONGO
|
||||
ACTOR_BOSS_GOMA
|
||||
ACTOR_EN_ZL1
|
||||
ACTOR_EN_VIEWER
|
||||
ACTOR_EN_GOMA
|
||||
ACTOR_BG_PUSHBOX
|
||||
ACTOR_EN_BUBBLE
|
||||
ACTOR_DOOR_SHUTTER
|
||||
ACTOR_EN_DODOJR
|
||||
ACTOR_EN_BDFIRE
|
||||
ACTOR_UNSET_31
|
||||
ACTOR_EN_BOOM
|
||||
ACTOR_EN_TORCH2
|
||||
ACTOR_EN_BILI
|
||||
ACTOR_EN_TP
|
||||
ACTOR_UNSET_36
|
||||
ACTOR_EN_ST
|
||||
ACTOR_EN_BW
|
||||
ACTOR_EN_A_OBJ
|
||||
ACTOR_EN_EIYER
|
||||
ACTOR_EN_RIVER_SOUND
|
||||
ACTOR_EN_HORSE_NORMAL
|
||||
ACTOR_EN_OSSAN
|
||||
ACTOR_BG_TREEMOUTH
|
||||
ACTOR_BG_DODOAGO
|
||||
ACTOR_BG_HIDAN_DALM
|
||||
ACTOR_BG_HIDAN_HROCK
|
||||
ACTOR_EN_HORSE_GANON
|
||||
ACTOR_BG_HIDAN_ROCK
|
||||
ACTOR_BG_HIDAN_RSEKIZOU
|
||||
ACTOR_BG_HIDAN_SEKIZOU
|
||||
ACTOR_BG_HIDAN_SIMA
|
||||
ACTOR_BG_HIDAN_SYOKU
|
||||
ACTOR_EN_XC
|
||||
ACTOR_BG_HIDAN_CURTAIN
|
||||
ACTOR_BG_SPOT00_HANEBASI
|
||||
ACTOR_EN_MB
|
||||
ACTOR_EN_BOMBF
|
||||
ACTOR_EN_ZL2
|
||||
ACTOR_BG_HIDAN_FSLIFT
|
||||
ACTOR_EN_OE2
|
||||
ACTOR_BG_YDAN_HASI
|
||||
ACTOR_BG_YDAN_MARUTA
|
||||
ACTOR_BOSS_GANONDROF
|
||||
ACTOR_UNSET_53
|
||||
ACTOR_EN_AM
|
||||
ACTOR_EN_DEKUBABA
|
||||
ACTOR_EN_M_FIRE1
|
||||
ACTOR_EN_M_THUNDER
|
||||
ACTOR_BG_DDAN_JD
|
||||
ACTOR_BG_BREAKWALL
|
||||
ACTOR_EN_JJ
|
||||
ACTOR_EN_HORSE_ZELDA
|
||||
ACTOR_BG_DDAN_KD
|
||||
ACTOR_DOOR_WARP1
|
||||
ACTOR_OBJ_SYOKUDAI
|
||||
ACTOR_ITEM_B_HEART
|
||||
ACTOR_EN_DEKUNUTS
|
||||
ACTOR_BG_MENKURI_KAITEN
|
||||
ACTOR_BG_MENKURI_EYE
|
||||
ACTOR_EN_VALI
|
||||
ACTOR_BG_MIZU_MOVEBG
|
||||
ACTOR_BG_MIZU_WATER
|
||||
ACTOR_ARMS_HOOK
|
||||
ACTOR_EN_FHG
|
||||
ACTOR_BG_MORI_HINERI
|
||||
ACTOR_EN_BB
|
||||
ACTOR_BG_TOKI_HIKARI
|
||||
ACTOR_EN_YUKABYUN
|
||||
ACTOR_BG_TOKI_SWD
|
||||
ACTOR_EN_FHG_FIRE
|
||||
ACTOR_BG_MJIN
|
||||
ACTOR_BG_HIDAN_KOUSI
|
||||
ACTOR_DOOR_TOKI
|
||||
ACTOR_BG_HIDAN_HAMSTEP
|
||||
ACTOR_EN_BIRD
|
||||
ACTOR_UNSET_73
|
||||
ACTOR_UNSET_74
|
||||
ACTOR_UNSET_75
|
||||
ACTOR_UNSET_76
|
||||
ACTOR_EN_WOOD02
|
||||
ACTOR_UNSET_78
|
||||
ACTOR_UNSET_79
|
||||
ACTOR_UNSET_7A
|
||||
ACTOR_UNSET_7B
|
||||
ACTOR_EN_LIGHTBOX
|
||||
ACTOR_EN_PU_BOX
|
||||
ACTOR_UNSET_7E
|
||||
ACTOR_UNSET_7F
|
||||
ACTOR_EN_TRAP
|
||||
ACTOR_EN_AROW_TRAP
|
||||
ACTOR_EN_VASE
|
||||
ACTOR_UNSET_83
|
||||
ACTOR_EN_TA
|
||||
ACTOR_EN_TK
|
||||
ACTOR_BG_MORI_BIGST
|
||||
ACTOR_BG_MORI_ELEVATOR
|
||||
ACTOR_BG_MORI_KAITENKABE
|
||||
ACTOR_BG_MORI_RAKKATENJO
|
||||
ACTOR_EN_VM
|
||||
ACTOR_DEMO_EFFECT
|
||||
ACTOR_DEMO_KANKYO
|
||||
ACTOR_BG_HIDAN_FWBIG
|
||||
ACTOR_EN_FLOORMAS
|
||||
ACTOR_EN_HEISHI1
|
||||
ACTOR_EN_RD
|
||||
ACTOR_EN_PO_SISTERS
|
||||
ACTOR_BG_HEAVY_BLOCK
|
||||
ACTOR_BG_PO_EVENT
|
||||
ACTOR_OBJ_MURE
|
||||
ACTOR_EN_SW
|
||||
ACTOR_BOSS_FD
|
||||
ACTOR_OBJECT_KANKYO
|
||||
ACTOR_EN_DU
|
||||
ACTOR_EN_FD
|
||||
ACTOR_EN_HORSE_LINK_CHILD
|
||||
ACTOR_DOOR_ANA
|
||||
ACTOR_BG_SPOT02_OBJECTS
|
||||
ACTOR_BG_HAKA
|
||||
ACTOR_MAGIC_WIND
|
||||
ACTOR_MAGIC_FIRE
|
||||
ACTOR_UNSET_A0
|
||||
ACTOR_EN_RU1
|
||||
ACTOR_BOSS_FD2
|
||||
ACTOR_EN_FD_FIRE
|
||||
ACTOR_EN_DH
|
||||
ACTOR_EN_DHA
|
||||
ACTOR_EN_RL
|
||||
ACTOR_EN_ENCOUNT1
|
||||
ACTOR_DEMO_DU
|
||||
ACTOR_DEMO_IM
|
||||
ACTOR_DEMO_TRE_LGT
|
||||
ACTOR_EN_FW
|
||||
ACTOR_BG_VB_SIMA
|
||||
ACTOR_EN_VB_BALL
|
||||
ACTOR_BG_HAKA_MEGANE
|
||||
ACTOR_BG_HAKA_MEGANEBG
|
||||
ACTOR_BG_HAKA_SHIP
|
||||
ACTOR_BG_HAKA_SGAMI
|
||||
ACTOR_UNSET_B2
|
||||
ACTOR_EN_HEISHI2
|
||||
ACTOR_EN_ENCOUNT2
|
||||
ACTOR_EN_FIRE_ROCK
|
||||
ACTOR_EN_BROB
|
||||
ACTOR_MIR_RAY
|
||||
ACTOR_BG_SPOT09_OBJ
|
||||
ACTOR_BG_SPOT18_OBJ
|
||||
ACTOR_BOSS_VA
|
||||
ACTOR_BG_HAKA_TUBO
|
||||
ACTOR_BG_HAKA_TRAP
|
||||
ACTOR_BG_HAKA_HUTA
|
||||
ACTOR_BG_HAKA_ZOU
|
||||
ACTOR_BG_SPOT17_FUNEN
|
||||
ACTOR_EN_SYATEKI_ITM
|
||||
ACTOR_EN_SYATEKI_MAN
|
||||
ACTOR_EN_TANA
|
||||
ACTOR_EN_NB
|
||||
ACTOR_BOSS_MO
|
||||
ACTOR_EN_SB
|
||||
ACTOR_EN_BIGOKUTA
|
||||
ACTOR_EN_KAREBABA
|
||||
ACTOR_BG_BDAN_OBJECTS
|
||||
ACTOR_DEMO_SA
|
||||
ACTOR_DEMO_GO
|
||||
ACTOR_EN_IN
|
||||
ACTOR_EN_TR
|
||||
ACTOR_BG_SPOT16_BOMBSTONE
|
||||
ACTOR_UNSET_CE
|
||||
ACTOR_BG_HIDAN_KOWARERUKABE
|
||||
ACTOR_BG_BOMBWALL
|
||||
ACTOR_BG_SPOT08_ICEBLOCK
|
||||
ACTOR_EN_RU2
|
||||
ACTOR_OBJ_DEKUJR
|
||||
ACTOR_BG_MIZU_UZU
|
||||
ACTOR_BG_SPOT06_OBJECTS
|
||||
ACTOR_BG_ICE_OBJECTS
|
||||
ACTOR_BG_HAKA_WATER
|
||||
ACTOR_UNSET_D8
|
||||
ACTOR_EN_MA2
|
||||
ACTOR_EN_BOM_CHU
|
||||
ACTOR_EN_HORSE_GAME_CHECK
|
||||
ACTOR_BOSS_TW
|
||||
ACTOR_EN_RR
|
||||
ACTOR_EN_BA
|
||||
ACTOR_EN_BX
|
||||
ACTOR_EN_ANUBICE
|
||||
ACTOR_EN_ANUBICE_FIRE
|
||||
ACTOR_BG_MORI_HASHIGO
|
||||
ACTOR_BG_MORI_HASHIRA4
|
||||
ACTOR_BG_MORI_IDOMIZU
|
||||
ACTOR_BG_SPOT16_DOUGHNUT
|
||||
ACTOR_BG_BDAN_SWITCH
|
||||
ACTOR_EN_MA1
|
||||
ACTOR_BOSS_GANON
|
||||
ACTOR_BOSS_SST
|
||||
ACTOR_UNSET_EA
|
||||
ACTOR_UNSET_EB
|
||||
ACTOR_EN_NY
|
||||
ACTOR_EN_FR
|
||||
ACTOR_ITEM_SHIELD
|
||||
ACTOR_BG_ICE_SHELTER
|
||||
ACTOR_EN_ICE_HONO
|
||||
ACTOR_ITEM_OCARINA
|
||||
ACTOR_UNSET_F2
|
||||
ACTOR_UNSET_F3
|
||||
ACTOR_MAGIC_DARK
|
||||
ACTOR_DEMO_6K
|
||||
ACTOR_EN_ANUBICE_TAG
|
||||
ACTOR_BG_HAKA_GATE
|
||||
ACTOR_BG_SPOT15_SAKU
|
||||
ACTOR_BG_JYA_GOROIWA
|
||||
ACTOR_BG_JYA_ZURERUKABE
|
||||
ACTOR_UNSET_FB
|
||||
ACTOR_BG_JYA_COBRA
|
||||
ACTOR_BG_JYA_KANAAMI
|
||||
ACTOR_FISHING
|
||||
ACTOR_OBJ_OSHIHIKI
|
||||
ACTOR_BG_GATE_SHUTTER
|
||||
ACTOR_EFF_DUST
|
||||
ACTOR_BG_SPOT01_FUSYA
|
||||
ACTOR_BG_SPOT01_IDOHASHIRA
|
||||
ACTOR_BG_SPOT01_IDOMIZU
|
||||
ACTOR_BG_PO_SYOKUDAI
|
||||
ACTOR_BG_GANON_OTYUKA
|
||||
ACTOR_BG_SPOT15_RRBOX
|
||||
ACTOR_BG_UMAJUMP
|
||||
ACTOR_UNSET_109
|
||||
ACTOR_ARROW_FIRE
|
||||
ACTOR_ARROW_ICE
|
||||
ACTOR_ARROW_LIGHT
|
||||
ACTOR_UNSET_10D
|
||||
ACTOR_UNSET_10E
|
||||
ACTOR_ITEM_ETCETERA
|
||||
ACTOR_OBJ_KIBAKO
|
||||
ACTOR_OBJ_TSUBO
|
||||
ACTOR_EN_WONDER_ITEM
|
||||
ACTOR_EN_IK
|
||||
ACTOR_DEMO_IK
|
||||
ACTOR_EN_SKJ
|
||||
ACTOR_EN_SKJNEEDLE
|
||||
ACTOR_EN_G_SWITCH
|
||||
ACTOR_DEMO_EXT
|
||||
ACTOR_DEMO_SHD
|
||||
ACTOR_EN_DNS
|
||||
ACTOR_ELF_MSG
|
||||
ACTOR_EN_HONOTRAP
|
||||
ACTOR_EN_TUBO_TRAP
|
||||
ACTOR_OBJ_ICE_POLY
|
||||
ACTOR_BG_SPOT03_TAKI
|
||||
ACTOR_BG_SPOT07_TAKI
|
||||
ACTOR_EN_FZ
|
||||
ACTOR_EN_PO_RELAY
|
||||
ACTOR_BG_RELAY_OBJECTS
|
||||
ACTOR_EN_DIVING_GAME
|
||||
ACTOR_EN_KUSA
|
||||
ACTOR_OBJ_BEAN
|
||||
ACTOR_OBJ_BOMBIWA
|
||||
ACTOR_UNSET_128
|
||||
ACTOR_UNSET_129
|
||||
ACTOR_OBJ_SWITCH
|
||||
ACTOR_OBJ_ELEVATOR
|
||||
ACTOR_OBJ_LIFT
|
||||
ACTOR_OBJ_HSBLOCK
|
||||
ACTOR_EN_OKARINA_TAG
|
||||
ACTOR_EN_YABUSAME_MARK
|
||||
ACTOR_EN_GOROIWA
|
||||
ACTOR_EN_EX_RUPPY
|
||||
ACTOR_EN_TORYO
|
||||
ACTOR_EN_DAIKU
|
||||
ACTOR_UNSET_134
|
||||
ACTOR_EN_NWC
|
||||
ACTOR_EN_BLKOBJ
|
||||
ACTOR_ITEM_INBOX
|
||||
ACTOR_EN_GE1
|
||||
ACTOR_OBJ_BLOCKSTOP
|
||||
ACTOR_EN_SDA
|
||||
ACTOR_EN_CLEAR_TAG
|
||||
ACTOR_EN_NIW_LADY
|
||||
ACTOR_EN_GM
|
||||
ACTOR_EN_MS
|
||||
ACTOR_EN_HS
|
||||
ACTOR_BG_INGATE
|
||||
ACTOR_EN_KANBAN
|
||||
ACTOR_EN_HEISHI3
|
||||
ACTOR_EN_SYATEKI_NIW
|
||||
ACTOR_EN_ATTACK_NIW
|
||||
ACTOR_BG_SPOT01_IDOSOKO
|
||||
ACTOR_EN_SA
|
||||
ACTOR_EN_WONDER_TALK
|
||||
ACTOR_BG_GJYO_BRIDGE
|
||||
ACTOR_EN_DS
|
||||
ACTOR_EN_MK
|
||||
ACTOR_EN_BOM_BOWL_MAN
|
||||
ACTOR_EN_BOM_BOWL_PIT
|
||||
ACTOR_EN_OWL
|
||||
ACTOR_EN_ISHI
|
||||
ACTOR_OBJ_HANA
|
||||
ACTOR_OBJ_LIGHTSWITCH
|
||||
ACTOR_OBJ_MURE2
|
||||
ACTOR_EN_GO
|
||||
ACTOR_EN_FU
|
||||
ACTOR_UNSET_154
|
||||
ACTOR_EN_CHANGER
|
||||
ACTOR_BG_JYA_MEGAMI
|
||||
ACTOR_BG_JYA_LIFT
|
||||
ACTOR_BG_JYA_BIGMIRROR
|
||||
ACTOR_BG_JYA_BOMBCHUIWA
|
||||
ACTOR_BG_JYA_AMISHUTTER
|
||||
ACTOR_BG_JYA_BOMBIWA
|
||||
ACTOR_BG_SPOT18_BASKET
|
||||
ACTOR_UNSET_15D
|
||||
ACTOR_EN_GANON_ORGAN
|
||||
ACTOR_EN_SIOFUKI
|
||||
ACTOR_EN_STREAM
|
||||
ACTOR_UNSET_161
|
||||
ACTOR_EN_MM
|
||||
ACTOR_EN_KO
|
||||
ACTOR_EN_KZ
|
||||
ACTOR_EN_WEATHER_TAG
|
||||
ACTOR_BG_SST_FLOOR
|
||||
ACTOR_EN_ANI
|
||||
ACTOR_EN_EX_ITEM
|
||||
ACTOR_BG_JYA_IRONOBJ
|
||||
ACTOR_EN_JS
|
||||
ACTOR_EN_JSJUTAN
|
||||
ACTOR_EN_CS
|
||||
ACTOR_EN_MD
|
||||
ACTOR_EN_HY
|
||||
ACTOR_EN_GANON_MANT
|
||||
ACTOR_EN_OKARINA_EFFECT
|
||||
ACTOR_EN_MAG
|
||||
ACTOR_DOOR_GERUDO
|
||||
ACTOR_ELF_MSG2
|
||||
ACTOR_DEMO_GT
|
||||
ACTOR_EN_PO_FIELD
|
||||
ACTOR_EFC_ERUPC
|
||||
ACTOR_BG_ZG
|
||||
ACTOR_EN_HEISHI4
|
||||
ACTOR_EN_ZL3
|
||||
ACTOR_BOSS_GANON2
|
||||
ACTOR_EN_KAKASI
|
||||
ACTOR_EN_TAKARA_MAN
|
||||
ACTOR_OBJ_MAKEOSHIHIKI
|
||||
ACTOR_OCEFF_SPOT
|
||||
ACTOR_END_TITLE
|
||||
ACTOR_UNSET_180
|
||||
ACTOR_EN_TORCH
|
||||
ACTOR_DEMO_EC
|
||||
ACTOR_SHOT_SUN
|
||||
ACTOR_EN_DY_EXTRA
|
||||
ACTOR_EN_WONDER_TALK2
|
||||
ACTOR_EN_GE2
|
||||
ACTOR_OBJ_ROOMTIMER
|
||||
ACTOR_EN_SSH
|
||||
ACTOR_EN_STH
|
||||
ACTOR_OCEFF_WIPE
|
||||
ACTOR_OCEFF_STORM
|
||||
ACTOR_EN_WEIYER
|
||||
ACTOR_BG_SPOT05_SOKO
|
||||
ACTOR_BG_JYA_1FLIFT
|
||||
ACTOR_BG_JYA_HAHENIRON
|
||||
ACTOR_BG_SPOT12_GATE
|
||||
ACTOR_BG_SPOT12_SAKU
|
||||
ACTOR_EN_HINTNUTS
|
||||
ACTOR_EN_NUTSBALL
|
||||
ACTOR_BG_SPOT00_BREAK
|
||||
ACTOR_EN_SHOPNUTS
|
||||
ACTOR_EN_IT
|
||||
ACTOR_EN_GELDB
|
||||
ACTOR_OCEFF_WIPE2
|
||||
ACTOR_OCEFF_WIPE3
|
||||
ACTOR_EN_NIW_GIRL
|
||||
ACTOR_EN_DOG
|
||||
ACTOR_EN_SI
|
||||
ACTOR_BG_SPOT01_OBJECTS2
|
||||
ACTOR_OBJ_COMB
|
||||
ACTOR_BG_SPOT11_BAKUDANKABE
|
||||
ACTOR_OBJ_KIBAKO2
|
||||
ACTOR_EN_DNT_DEMO
|
||||
ACTOR_EN_DNT_JIJI
|
||||
ACTOR_EN_DNT_NOMAL
|
||||
ACTOR_EN_GUEST
|
||||
ACTOR_BG_BOM_GUARD
|
||||
ACTOR_EN_HS2
|
||||
ACTOR_DEMO_KEKKAI
|
||||
ACTOR_BG_SPOT08_BAKUDANKABE
|
||||
ACTOR_BG_SPOT17_BAKUDANKABE
|
||||
ACTOR_UNSET_1AA
|
||||
ACTOR_OBJ_MURE3
|
||||
ACTOR_EN_TG
|
||||
ACTOR_EN_MU
|
||||
ACTOR_EN_GO2
|
||||
ACTOR_EN_WF
|
||||
ACTOR_EN_SKB
|
||||
ACTOR_DEMO_GJ
|
||||
ACTOR_DEMO_GEFF
|
||||
ACTOR_BG_GND_FIREMEIRO
|
||||
ACTOR_BG_GND_DARKMEIRO
|
||||
ACTOR_BG_GND_SOULMEIRO
|
||||
ACTOR_BG_GND_NISEKABE
|
||||
ACTOR_BG_GND_ICEBLOCK
|
||||
ACTOR_EN_GB
|
||||
ACTOR_EN_GS
|
||||
ACTOR_BG_MIZU_BWALL
|
||||
ACTOR_BG_MIZU_SHUTTER
|
||||
ACTOR_EN_DAIKU_KAKARIKO
|
||||
ACTOR_BG_BOWL_WALL
|
||||
ACTOR_EN_WALL_TUBO
|
||||
ACTOR_EN_PO_DESERT
|
||||
ACTOR_EN_CROW
|
||||
ACTOR_DOOR_KILLER
|
||||
ACTOR_BG_SPOT11_OASIS
|
||||
ACTOR_BG_SPOT18_FUTA
|
||||
ACTOR_BG_SPOT18_SHUTTER
|
||||
ACTOR_EN_MA3
|
||||
ACTOR_EN_COW
|
||||
ACTOR_BG_ICE_TURARA
|
||||
ACTOR_BG_ICE_SHUTTER
|
||||
ACTOR_EN_KAKASI2
|
||||
ACTOR_EN_KAKASI3
|
||||
ACTOR_OCEFF_WIPE4
|
||||
ACTOR_EN_EG
|
||||
ACTOR_BG_MENKURI_NISEKABE
|
||||
ACTOR_EN_ZO
|
||||
ACTOR_OBJ_MAKEKINSUTA
|
||||
ACTOR_EN_GE3
|
||||
ACTOR_OBJ_TIMEBLOCK
|
||||
ACTOR_OBJ_HAMISHI
|
||||
ACTOR_EN_ZL4
|
||||
ACTOR_EN_MM2
|
||||
ACTOR_BG_JYA_BLOCK
|
||||
ACTOR_OBJ_WARP2BLOCK
|
||||
ACTOR_ID_MAX
|
402
soh/assets/extractor/symbols/ObjectList_OoTMqDbg.txt
Normal file
402
soh/assets/extractor/symbols/ObjectList_OoTMqDbg.txt
Normal file
|
@ -0,0 +1,402 @@
|
|||
OBJECT_INVALID
|
||||
OBJECT_GAMEPLAY_KEEP
|
||||
OBJECT_GAMEPLAY_FIELD_KEEP
|
||||
OBJECT_GAMEPLAY_DANGEON_KEEP
|
||||
OBJECT_UNSET_4
|
||||
OBJECT_UNSET_5
|
||||
OBJECT_HUMAN
|
||||
OBJECT_OKUTA
|
||||
OBJECT_CROW
|
||||
OBJECT_POH
|
||||
OBJECT_DY_OBJ
|
||||
OBJECT_WALLMASTER
|
||||
OBJECT_DODONGO
|
||||
OBJECT_FIREFLY
|
||||
OBJECT_BOX
|
||||
OBJECT_FIRE
|
||||
OBJECT_UNSET_10
|
||||
OBJECT_UNSET_11
|
||||
OBJECT_BUBBLE
|
||||
OBJECT_NIW
|
||||
OBJECT_LINK_BOY
|
||||
OBJECT_LINK_CHILD
|
||||
OBJECT_TITE
|
||||
OBJECT_REEBA
|
||||
OBJECT_PEEHAT
|
||||
OBJECT_KINGDODONGO
|
||||
OBJECT_HORSE
|
||||
OBJECT_ZF
|
||||
OBJECT_GOMA
|
||||
OBJECT_ZL1
|
||||
OBJECT_GOL
|
||||
OBJECT_DODOJR
|
||||
OBJECT_TORCH2
|
||||
OBJECT_BL
|
||||
OBJECT_TP
|
||||
OBJECT_OA1
|
||||
OBJECT_ST
|
||||
OBJECT_BW
|
||||
OBJECT_EI
|
||||
OBJECT_HORSE_NORMAL
|
||||
OBJECT_OB1
|
||||
OBJECT_O_ANIME
|
||||
OBJECT_SPOT04_OBJECTS
|
||||
OBJECT_DDAN_OBJECTS
|
||||
OBJECT_HIDAN_OBJECTS
|
||||
OBJECT_HORSE_GANON
|
||||
OBJECT_OA2
|
||||
OBJECT_SPOT00_OBJECTS
|
||||
OBJECT_MB
|
||||
OBJECT_BOMBF
|
||||
OBJECT_SK2
|
||||
OBJECT_OE1
|
||||
OBJECT_OE_ANIME
|
||||
OBJECT_OE2
|
||||
OBJECT_YDAN_OBJECTS
|
||||
OBJECT_GND
|
||||
OBJECT_AM
|
||||
OBJECT_DEKUBABA
|
||||
OBJECT_UNSET_3A
|
||||
OBJECT_OA3
|
||||
OBJECT_OA4
|
||||
OBJECT_OA5
|
||||
OBJECT_OA6
|
||||
OBJECT_OA7
|
||||
OBJECT_JJ
|
||||
OBJECT_OA8
|
||||
OBJECT_OA9
|
||||
OBJECT_OB2
|
||||
OBJECT_OB3
|
||||
OBJECT_OB4
|
||||
OBJECT_HORSE_ZELDA
|
||||
OBJECT_OPENING_DEMO1
|
||||
OBJECT_WARP1
|
||||
OBJECT_B_HEART
|
||||
OBJECT_DEKUNUTS
|
||||
OBJECT_OE3
|
||||
OBJECT_OE4
|
||||
OBJECT_MENKURI_OBJECTS
|
||||
OBJECT_OE5
|
||||
OBJECT_OE6
|
||||
OBJECT_OE7
|
||||
OBJECT_OE8
|
||||
OBJECT_OE9
|
||||
OBJECT_OE10
|
||||
OBJECT_OE11
|
||||
OBJECT_OE12
|
||||
OBJECT_VALI
|
||||
OBJECT_OA10
|
||||
OBJECT_OA11
|
||||
OBJECT_MIZU_OBJECTS
|
||||
OBJECT_FHG
|
||||
OBJECT_OSSAN
|
||||
OBJECT_MORI_HINERI1
|
||||
OBJECT_BB
|
||||
OBJECT_TOKI_OBJECTS
|
||||
OBJECT_YUKABYUN
|
||||
OBJECT_ZL2
|
||||
OBJECT_MJIN
|
||||
OBJECT_MJIN_FLASH
|
||||
OBJECT_MJIN_DARK
|
||||
OBJECT_MJIN_FLAME
|
||||
OBJECT_MJIN_ICE
|
||||
OBJECT_MJIN_SOUL
|
||||
OBJECT_MJIN_WIND
|
||||
OBJECT_MJIN_OKA
|
||||
OBJECT_HAKA_OBJECTS
|
||||
OBJECT_SPOT06_OBJECTS
|
||||
OBJECT_ICE_OBJECTS
|
||||
OBJECT_RELAY_OBJECTS
|
||||
OBJECT_PO_FIELD
|
||||
OBJECT_PO_COMPOSER
|
||||
OBJECT_MORI_HINERI1A
|
||||
OBJECT_MORI_HINERI2
|
||||
OBJECT_MORI_HINERI2A
|
||||
OBJECT_MORI_OBJECTS
|
||||
OBJECT_MORI_TEX
|
||||
OBJECT_SPOT08_OBJ
|
||||
OBJECT_WARP2
|
||||
OBJECT_HATA
|
||||
OBJECT_BIRD
|
||||
OBJECT_UNSET_78
|
||||
OBJECT_UNSET_79
|
||||
OBJECT_UNSET_7A
|
||||
OBJECT_UNSET_7B
|
||||
OBJECT_WOOD02
|
||||
OBJECT_UNSET_7D
|
||||
OBJECT_UNSET_7E
|
||||
OBJECT_UNSET_7F
|
||||
OBJECT_UNSET_80
|
||||
OBJECT_LIGHTBOX
|
||||
OBJECT_PU_BOX
|
||||
OBJECT_UNSET_83
|
||||
OBJECT_UNSET_84
|
||||
OBJECT_TRAP
|
||||
OBJECT_VASE
|
||||
OBJECT_IM
|
||||
OBJECT_TA
|
||||
OBJECT_TK
|
||||
OBJECT_XC
|
||||
OBJECT_VM
|
||||
OBJECT_BV
|
||||
OBJECT_HAKACH_OBJECTS
|
||||
OBJECT_EFC_CRYSTAL_LIGHT
|
||||
OBJECT_EFC_FIRE_BALL
|
||||
OBJECT_EFC_FLASH
|
||||
OBJECT_EFC_LGT_SHOWER
|
||||
OBJECT_EFC_STAR_FIELD
|
||||
OBJECT_GOD_LGT
|
||||
OBJECT_LIGHT_RING
|
||||
OBJECT_TRIFORCE_SPOT
|
||||
OBJECT_BDAN_OBJECTS
|
||||
OBJECT_SD
|
||||
OBJECT_RD
|
||||
OBJECT_PO_SISTERS
|
||||
OBJECT_HEAVY_OBJECT
|
||||
OBJECT_GNDD
|
||||
OBJECT_FD
|
||||
OBJECT_DU
|
||||
OBJECT_FW
|
||||
OBJECT_MEDAL
|
||||
OBJECT_HORSE_LINK_CHILD
|
||||
OBJECT_SPOT02_OBJECTS
|
||||
OBJECT_HAKA
|
||||
OBJECT_RU1
|
||||
OBJECT_SYOKUDAI
|
||||
OBJECT_FD2
|
||||
OBJECT_DH
|
||||
OBJECT_RL
|
||||
OBJECT_EFC_TW
|
||||
OBJECT_DEMO_TRE_LGT
|
||||
OBJECT_GI_KEY
|
||||
OBJECT_MIR_RAY
|
||||
OBJECT_BROB
|
||||
OBJECT_GI_JEWEL
|
||||
OBJECT_SPOT09_OBJ
|
||||
OBJECT_SPOT18_OBJ
|
||||
OBJECT_BDOOR
|
||||
OBJECT_SPOT17_OBJ
|
||||
OBJECT_SHOP_DUNGEN
|
||||
OBJECT_NB
|
||||
OBJECT_MO
|
||||
OBJECT_SB
|
||||
OBJECT_GI_MELODY
|
||||
OBJECT_GI_HEART
|
||||
OBJECT_GI_COMPASS
|
||||
OBJECT_GI_BOSSKEY
|
||||
OBJECT_GI_MEDAL
|
||||
OBJECT_GI_NUTS
|
||||
OBJECT_SA
|
||||
OBJECT_GI_HEARTS
|
||||
OBJECT_GI_ARROWCASE
|
||||
OBJECT_GI_BOMBPOUCH
|
||||
OBJECT_IN
|
||||
OBJECT_TR
|
||||
OBJECT_SPOT16_OBJ
|
||||
OBJECT_OE1S
|
||||
OBJECT_OE4S
|
||||
OBJECT_OS_ANIME
|
||||
OBJECT_GI_BOTTLE
|
||||
OBJECT_GI_STICK
|
||||
OBJECT_GI_MAP
|
||||
OBJECT_OF1D_MAP
|
||||
OBJECT_RU2
|
||||
OBJECT_GI_SHIELD_1
|
||||
OBJECT_DEKUJR
|
||||
OBJECT_GI_MAGICPOT
|
||||
OBJECT_GI_BOMB_1
|
||||
OBJECT_OF1S
|
||||
OBJECT_MA2
|
||||
OBJECT_GI_PURSE
|
||||
OBJECT_HNI
|
||||
OBJECT_TW
|
||||
OBJECT_RR
|
||||
OBJECT_BXA
|
||||
OBJECT_ANUBICE
|
||||
OBJECT_GI_GERUDO
|
||||
OBJECT_GI_ARROW
|
||||
OBJECT_GI_BOMB_2
|
||||
OBJECT_GI_EGG
|
||||
OBJECT_GI_SCALE
|
||||
OBJECT_GI_SHIELD_2
|
||||
OBJECT_GI_HOOKSHOT
|
||||
OBJECT_GI_OCARINA
|
||||
OBJECT_GI_MILK
|
||||
OBJECT_MA1
|
||||
OBJECT_GANON
|
||||
OBJECT_SST
|
||||
OBJECT_NY_UNUSED
|
||||
OBJECT_UNSET_E4
|
||||
OBJECT_NY
|
||||
OBJECT_FR
|
||||
OBJECT_GI_PACHINKO
|
||||
OBJECT_GI_BOOMERANG
|
||||
OBJECT_GI_BOW
|
||||
OBJECT_GI_GLASSES
|
||||
OBJECT_GI_LIQUID
|
||||
OBJECT_ANI
|
||||
OBJECT_DEMO_6K
|
||||
OBJECT_GI_SHIELD_3
|
||||
OBJECT_GI_LETTER
|
||||
OBJECT_SPOT15_OBJ
|
||||
OBJECT_JYA_OBJ
|
||||
OBJECT_GI_CLOTHES
|
||||
OBJECT_GI_BEAN
|
||||
OBJECT_GI_FISH
|
||||
OBJECT_GI_SAW
|
||||
OBJECT_GI_HAMMER
|
||||
OBJECT_GI_GRASS
|
||||
OBJECT_GI_LONGSWORD
|
||||
OBJECT_SPOT01_OBJECTS
|
||||
OBJECT_MD_UNUSED
|
||||
OBJECT_MD
|
||||
OBJECT_KM1
|
||||
OBJECT_KW1
|
||||
OBJECT_ZO
|
||||
OBJECT_KZ
|
||||
OBJECT_UMAJUMP
|
||||
OBJECT_MASTERKOKIRI
|
||||
OBJECT_MASTERKOKIRIHEAD
|
||||
OBJECT_MASTERGOLON
|
||||
OBJECT_MASTERZOORA
|
||||
OBJECT_AOB
|
||||
OBJECT_IK
|
||||
OBJECT_AHG
|
||||
OBJECT_CNE
|
||||
OBJECT_GI_NIWATORI
|
||||
OBJECT_SKJ
|
||||
OBJECT_GI_BOTTLE_LETTER
|
||||
OBJECT_BJI
|
||||
OBJECT_BBA
|
||||
OBJECT_GI_OCARINA_0
|
||||
OBJECT_DS
|
||||
OBJECT_ANE
|
||||
OBJECT_BOJ
|
||||
OBJECT_SPOT03_OBJECT
|
||||
OBJECT_SPOT07_OBJECT
|
||||
OBJECT_FZ
|
||||
OBJECT_BOB
|
||||
OBJECT_GE1
|
||||
OBJECT_YABUSAME_POINT
|
||||
OBJECT_GI_BOOTS_2
|
||||
OBJECT_GI_SEED
|
||||
OBJECT_GND_MAGIC
|
||||
OBJECT_D_ELEVATOR
|
||||
OBJECT_D_HSBLOCK
|
||||
OBJECT_D_LIFT
|
||||
OBJECT_MAMENOKI
|
||||
OBJECT_GOROIWA
|
||||
OBJECT_UNSET_120
|
||||
OBJECT_TORYO
|
||||
OBJECT_DAIKU
|
||||
OBJECT_UNSET_123
|
||||
OBJECT_NWC
|
||||
OBJECT_BLKOBJ
|
||||
OBJECT_GM
|
||||
OBJECT_MS
|
||||
OBJECT_HS
|
||||
OBJECT_INGATE
|
||||
OBJECT_LIGHTSWITCH
|
||||
OBJECT_KUSA
|
||||
OBJECT_TSUBO
|
||||
OBJECT_GI_GLOVES
|
||||
OBJECT_GI_COIN
|
||||
OBJECT_KANBAN
|
||||
OBJECT_GJYO_OBJECTS
|
||||
OBJECT_OWL
|
||||
OBJECT_MK
|
||||
OBJECT_FU
|
||||
OBJECT_GI_KI_TAN_MASK
|
||||
OBJECT_GI_REDEAD_MASK
|
||||
OBJECT_GI_SKJ_MASK
|
||||
OBJECT_GI_RABIT_MASK
|
||||
OBJECT_GI_TRUTH_MASK
|
||||
OBJECT_GANON_OBJECTS
|
||||
OBJECT_SIOFUKI
|
||||
OBJECT_STREAM
|
||||
OBJECT_MM
|
||||
OBJECT_FA
|
||||
OBJECT_OS
|
||||
OBJECT_GI_EYE_LOTION
|
||||
OBJECT_GI_POWDER
|
||||
OBJECT_GI_MUSHROOM
|
||||
OBJECT_GI_TICKETSTONE
|
||||
OBJECT_GI_BROKENSWORD
|
||||
OBJECT_JS
|
||||
OBJECT_CS
|
||||
OBJECT_GI_PRESCRIPTION
|
||||
OBJECT_GI_BRACELET
|
||||
OBJECT_GI_SOLDOUT
|
||||
OBJECT_GI_FROG
|
||||
OBJECT_MAG
|
||||
OBJECT_DOOR_GERUDO
|
||||
OBJECT_GT
|
||||
OBJECT_EFC_ERUPC
|
||||
OBJECT_ZL2_ANIME1
|
||||
OBJECT_ZL2_ANIME2
|
||||
OBJECT_GI_GOLONMASK
|
||||
OBJECT_GI_ZORAMASK
|
||||
OBJECT_GI_GERUDOMASK
|
||||
OBJECT_GANON2
|
||||
OBJECT_KA
|
||||
OBJECT_TS
|
||||
OBJECT_ZG
|
||||
OBJECT_GI_HOVERBOOTS
|
||||
OBJECT_GI_M_ARROW
|
||||
OBJECT_DS2
|
||||
OBJECT_EC
|
||||
OBJECT_FISH
|
||||
OBJECT_GI_SUTARU
|
||||
OBJECT_GI_GODDESS
|
||||
OBJECT_SSH
|
||||
OBJECT_BIGOKUTA
|
||||
OBJECT_BG
|
||||
OBJECT_SPOT05_OBJECTS
|
||||
OBJECT_SPOT12_OBJ
|
||||
OBJECT_BOMBIWA
|
||||
OBJECT_HINTNUTS
|
||||
OBJECT_RS
|
||||
OBJECT_SPOT00_BREAK
|
||||
OBJECT_GLA
|
||||
OBJECT_SHOPNUTS
|
||||
OBJECT_GELDB
|
||||
OBJECT_GR
|
||||
OBJECT_DOG
|
||||
OBJECT_JYA_IRON
|
||||
OBJECT_JYA_DOOR
|
||||
OBJECT_UNSET_16E
|
||||
OBJECT_SPOT11_OBJ
|
||||
OBJECT_KIBAKO2
|
||||
OBJECT_DNS
|
||||
OBJECT_DNK
|
||||
OBJECT_GI_FIRE
|
||||
OBJECT_GI_INSECT
|
||||
OBJECT_GI_BUTTERFLY
|
||||
OBJECT_GI_GHOST
|
||||
OBJECT_GI_SOUL
|
||||
OBJECT_BOWL
|
||||
OBJECT_DEMO_KEKKAI
|
||||
OBJECT_EFC_DOUGHNUT
|
||||
OBJECT_GI_DEKUPOUCH
|
||||
OBJECT_GANON_ANIME1
|
||||
OBJECT_GANON_ANIME2
|
||||
OBJECT_GANON_ANIME3
|
||||
OBJECT_GI_RUPY
|
||||
OBJECT_SPOT01_MATOYA
|
||||
OBJECT_SPOT01_MATOYAB
|
||||
OBJECT_MU
|
||||
OBJECT_WF
|
||||
OBJECT_SKB
|
||||
OBJECT_GJ
|
||||
OBJECT_GEFF
|
||||
OBJECT_HAKA_DOOR
|
||||
OBJECT_GS
|
||||
OBJECT_PS
|
||||
OBJECT_BWALL
|
||||
OBJECT_COW
|
||||
OBJECT_COB
|
||||
OBJECT_GI_SWORD_1
|
||||
OBJECT_DOOR_KILLER
|
||||
OBJECT_OUKE_HAKA
|
||||
OBJECT_TIMEBLOCK
|
||||
OBJECT_ZL4
|
1
soh/assets/extractor/symbols/SymbolMap_OoTMqDbg.txt
Normal file
1
soh/assets/extractor/symbols/SymbolMap_OoTMqDbg.txt
Normal file
|
@ -0,0 +1 @@
|
|||
8012DB20 gMtxClear
|
|
@ -607,15 +607,16 @@ std::string Extractor::Mkdtemp() {
|
|||
}
|
||||
|
||||
extern "C" int zapd_main(int argc, char** argv);
|
||||
static void MessageboxWorker();
|
||||
|
||||
bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||
constexpr int argc = 18;
|
||||
constexpr int argc = 22;
|
||||
char xmlPath[1024];
|
||||
char confPath[1024];
|
||||
char portVersion[18]; // 5 digits for int16_max (x3) + separators + terminator
|
||||
std::array<const char*, argc> argv;
|
||||
const char* version = GetZapdVerStr();
|
||||
const char* otrFile = IsMasterQuest() ? "oot-mq.otr" : "oot.otr";
|
||||
const char* otrFile = IsMasterQuest() ? "oot-mq.o2r" : "oot.o2r";
|
||||
|
||||
std::string romPath = std::filesystem::absolute(mCurrentRomPath).string();
|
||||
installPath = std::filesystem::absolute(installPath).string();
|
||||
|
@ -632,8 +633,8 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
|||
|
||||
std::filesystem::current_path(tempdir);
|
||||
|
||||
snprintf(xmlPath, 1024, "assets/extractor/xmls/%s", version);
|
||||
snprintf(confPath, 1024, "assets/extractor/Config_%s.xml", version);
|
||||
snprintf(xmlPath, 1024, "assets/xml/%s", version);
|
||||
snprintf(confPath, 1024, "assets/Config_%s.xml", version);
|
||||
snprintf(portVersion, 18, "%d.%d.%d", gBuildVersionMajor, gBuildVersionMinor, gBuildVersionPatch);
|
||||
|
||||
argv[0] = "ZAPD";
|
||||
|
@ -643,9 +644,9 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
|||
argv[4] = "-b";
|
||||
argv[5] = romPath.c_str();
|
||||
argv[6] = "-fl";
|
||||
argv[7] = "assets/extractor/filelists";
|
||||
argv[7] = "assets/filelists";
|
||||
argv[8] = "-gsf";
|
||||
argv[9] = "1";
|
||||
argv[9] = "0";
|
||||
argv[10] = "-rconf";
|
||||
argv[11] = confPath;
|
||||
argv[12] = "-se";
|
||||
|
@ -654,6 +655,10 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
|||
argv[15] = otrFile;
|
||||
argv[16] = "--portVer";
|
||||
argv[17] = portVersion;
|
||||
argv[18] = "-o";
|
||||
argv[19] = "placeholder";
|
||||
argv[20] = "-osf";
|
||||
argv[21] = "placeholder";
|
||||
|
||||
#ifdef _WIN32
|
||||
// Grab a handle to the command window.
|
||||
|
@ -665,10 +670,8 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
|||
SetWindowPos(cmdWindow, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
|
||||
#else
|
||||
// Show extraction in background message until linux/mac can have visual progress
|
||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, "Extracting",
|
||||
"Extraction will now begin in the background.\n\nPlease be patient for the process to "
|
||||
"finish. Do not close the main program.",
|
||||
nullptr);
|
||||
std::thread mbThread(MessageboxWorker);
|
||||
mbThread.detach();
|
||||
#endif
|
||||
|
||||
zapd_main(argc, (char**)argv.data());
|
||||
|
@ -684,5 +687,12 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
|||
std::filesystem::current_path(curdir);
|
||||
std::filesystem::remove_all(tempdir);
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void MessageboxWorker() {
|
||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, "Extracting",
|
||||
"Extraction will now begin in the background.\n\nPlease be patient for the process to "
|
||||
"finish. Do not close the main program.",
|
||||
nullptr);
|
||||
}
|
||||
|
|
|
@ -266,15 +266,17 @@ OTRGlobals::OTRGlobals() {
|
|||
|
||||
void OTRGlobals::Initialize() {
|
||||
std::vector<std::string> OTRFiles;
|
||||
std::string mqPath = Ship::Context::LocateFileAcrossAppDirs("oot-mq.otr", appShortName);
|
||||
std::string mqPath = Ship::Context::LocateFileAcrossAppDirs("oot-mq.o2r", appShortName);
|
||||
if (std::filesystem::exists(mqPath)) {
|
||||
OTRFiles.push_back(mqPath);
|
||||
}
|
||||
std::string ootPath = Ship::Context::LocateFileAcrossAppDirs("oot.otr", appShortName);
|
||||
std::string ootPath = Ship::Context::LocateFileAcrossAppDirs("oot.o2r", appShortName);
|
||||
if (std::filesystem::exists(ootPath)) {
|
||||
OTRFiles.push_back(ootPath);
|
||||
}
|
||||
std::string sohOtrPath = Ship::Context::LocateFileAcrossAppDirs("soh.otr");
|
||||
|
||||
std::string sohOtrPath = Ship::Context::LocateFileAcrossAppDirs("soh.o2r");
|
||||
|
||||
if (std::filesystem::exists(sohOtrPath)) {
|
||||
OTRFiles.push_back(sohOtrPath);
|
||||
}
|
||||
|
@ -944,7 +946,7 @@ OTRVersion ReadPortVersionFromOTR(std::string otrPath) {
|
|||
OTRVersion version = {};
|
||||
|
||||
// Use a temporary archive instance to load the otr and read the version file
|
||||
auto archive = std::make_shared<Ship::OtrArchive>(otrPath);
|
||||
auto archive = std::make_shared<Ship::O2rArchive>(otrPath);
|
||||
if (archive->Open()) {
|
||||
auto t = archive->LoadFile("portVersion");
|
||||
if (t != nullptr && t->IsLoaded) {
|
||||
|
@ -962,7 +964,7 @@ OTRVersion ReadPortVersionFromOTR(std::string otrPath) {
|
|||
return version;
|
||||
}
|
||||
|
||||
// Check that a soh.otr exists and matches the version of soh running
|
||||
// Check that a soh.o2r exists and matches the version of soh running
|
||||
// Otherwise show a message and exit
|
||||
void CheckSoHOTRVersion(std::string otrPath) {
|
||||
std::string msg;
|
||||
|
@ -971,20 +973,20 @@ void CheckSoHOTRVersion(std::string otrPath) {
|
|||
msg = "\x1b[4;2HPlease re-extract it from the download."
|
||||
"\x1b[6;2HPress the Home button to exit...";
|
||||
#elif defined(__WIIU__)
|
||||
msg = "Please extract the soh.otr from the Ship of Harkinian download\nto your folder.\n\nPress and hold the power "
|
||||
msg = "Please extract the soh.o2r from the Ship of Harkinian download\nto your folder.\n\nPress and hold the power "
|
||||
"button to shutdown...";
|
||||
#else
|
||||
msg = "Please extract the soh.otr from the Ship of Harkinian download to your folder.\n\nExiting...";
|
||||
msg = "Please extract the soh.o2r from the Ship of Harkinian download to your folder.\n\nExiting...";
|
||||
#endif
|
||||
|
||||
if (!std::filesystem::exists(otrPath)) {
|
||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||
Extractor::ShowErrorBox("soh.otr file is missing", msg.c_str());
|
||||
Extractor::ShowErrorBox("soh.o2r file is missing", msg.c_str());
|
||||
exit(1);
|
||||
#elif defined(__SWITCH__)
|
||||
Ship::Switch::PrintErrorMessageToScreen(("\x1b[2;2HYou are missing the soh.otr file." + msg).c_str());
|
||||
Ship::Switch::PrintErrorMessageToScreen(("\x1b[2;2HYou are missing the soh.o2r file." + msg).c_str());
|
||||
#elif defined(__WIIU__)
|
||||
OSFatal(("You are missing the soh.otr file\n\n" + msg).c_str());
|
||||
OSFatal(("You are missing the soh.o2r file\n\n" + msg).c_str());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -993,12 +995,12 @@ void CheckSoHOTRVersion(std::string otrPath) {
|
|||
if (otrVersion.major != gBuildVersionMajor || otrVersion.minor != gBuildVersionMinor ||
|
||||
otrVersion.patch != gBuildVersionPatch) {
|
||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||
Extractor::ShowErrorBox("soh.otr file version does not match", msg.c_str());
|
||||
Extractor::ShowErrorBox("soh.o2r file version does not match", msg.c_str());
|
||||
exit(1);
|
||||
#elif defined(__SWITCH__)
|
||||
Ship::Switch::PrintErrorMessageToScreen(("\x1b[2;2HYou have an old soh.otr file." + msg).c_str());
|
||||
Ship::Switch::PrintErrorMessageToScreen(("\x1b[2;2HYou have an old soh.o2r file." + msg).c_str());
|
||||
#elif defined(__WIIU__)
|
||||
OSFatal(("You have an old soh.otr file\n\n" + msg).c_str());
|
||||
OSFatal(("You have an old soh.o2r file\n\n" + msg).c_str());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -1039,10 +1041,10 @@ void DetectOTRVersion(std::string fileName, bool isMQ) {
|
|||
|
||||
if (Extractor::ShowYesNoBox("Old OTR File Found", msgBuf) == IDYES) {
|
||||
std::string installPath = Ship::Context::GetAppBundlePath();
|
||||
if (!std::filesystem::exists(installPath + "/assets/extractor")) {
|
||||
if (!std::filesystem::exists(installPath + "/assets")) {
|
||||
Extractor::ShowErrorBox(
|
||||
"Extractor assets not found",
|
||||
"Unable to regenerate. Missing assets/extractor folder needed to generate OTR file.\n\nExiting...");
|
||||
"Unable to regenerate. Missing assets/ folder needed to generate OTR file.\n\nExiting...");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -1156,18 +1158,18 @@ extern "C" void InitOTR() {
|
|||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||
CheckAndCreateModFolder();
|
||||
#endif
|
||||
const bool ootO2RExists =
|
||||
std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot-mq.o2r", appShortName)) ||
|
||||
std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot.o2r", appShortName));
|
||||
|
||||
CheckSoHOTRVersion(Ship::Context::LocateFileAcrossAppDirs("soh.otr"));
|
||||
|
||||
if (!std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot-mq.otr", appShortName)) &&
|
||||
!std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot.otr", appShortName))) {
|
||||
if (!ootO2RExists) {
|
||||
|
||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||
std::string installPath = Ship::Context::GetAppBundlePath();
|
||||
if (!std::filesystem::exists(installPath + "/assets/extractor")) {
|
||||
if (!std::filesystem::exists(installPath + "/assets")) {
|
||||
Extractor::ShowErrorBox(
|
||||
"Extractor assets not found",
|
||||
"No OTR files found. Missing assets/extractor folder needed to generate OTR file.\n\nExiting...");
|
||||
"No OTR files found. Missing assets/ folder needed to generate OTR file.\n\nExiting...");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -1206,8 +1208,8 @@ extern "C" void InitOTR() {
|
|||
#endif
|
||||
}
|
||||
|
||||
DetectOTRVersion("oot.otr", false);
|
||||
DetectOTRVersion("oot-mq.otr", true);
|
||||
DetectOTRVersion("oot.o2r", false);
|
||||
DetectOTRVersion("oot-mq.o2r", true);
|
||||
|
||||
OTRGlobals::Instance->Initialize();
|
||||
CustomMessageManager::Instance = new CustomMessageManager();
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "soh/resource/importer/AnimationFactory.h"
|
||||
#include "soh/resource/type/Animation.h"
|
||||
#include "ResourceManager.h"
|
||||
#include "spdlog/spdlog.h"
|
||||
#include "Context.h"
|
||||
|
||||
namespace SOH {
|
||||
std::shared_ptr<Ship::IResource>
|
||||
|
@ -80,7 +82,11 @@ ResourceFactoryBinaryAnimationV0::ReadResource(std::shared_ptr<Ship::File> file,
|
|||
animation->animationData.linkAnimationHeader.common.frameCount = reader->ReadInt16();
|
||||
|
||||
// Read the segment pointer (always 32 bit, doesn't adjust for system pointer size)
|
||||
animation->animationData.linkAnimationHeader.segment = (void*)reader->ReadUInt32();
|
||||
std::string path = reader->ReadString();
|
||||
const auto animData = std::static_pointer_cast<Animation>(
|
||||
Ship::Context::GetInstance()->GetResourceManager()->LoadResourceProcess(path.c_str()));
|
||||
|
||||
animation->animationData.linkAnimationHeader.segment = animData->GetPointer();
|
||||
} else if (animType == AnimationType::Legacy) {
|
||||
SPDLOG_DEBUG("BEYTAH ANIMATION?!");
|
||||
}
|
||||
|
|
|
@ -894,33 +894,15 @@ void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animati
|
|||
if (ResourceMgr_OTRSigCheck(animation) != 0)
|
||||
animation = ResourceMgr_LoadAnimByName(animation);
|
||||
|
||||
LinkAnimationHeader* linkAnimHeader = SEGMENTED_TO_VIRTUAL(animation);
|
||||
Vec3s* ram = frameTable;
|
||||
|
||||
osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1);
|
||||
|
||||
char animPath[2048];
|
||||
|
||||
snprintf(animPath, sizeof(animPath), "misc/link_animetion/gPlayerAnimData_%06X",
|
||||
(((uintptr_t)linkAnimHeader->segment - 0x07000000)));
|
||||
|
||||
// printf("Streaming %s, seg = %08X\n", animPath, linkAnimHeader->segment);
|
||||
|
||||
s16* animData = ResourceMgr_LoadPlayerAnimByName(animPath);
|
||||
|
||||
s16* animData = animation->segment;
|
||||
// SOH [Port] sometimes a HESS can set a negative frame value from a negative playback speed. When converted to
|
||||
// a signed value this will cause a crash due to copying way much data.
|
||||
if (frame < 0) {
|
||||
frame = 0;
|
||||
}
|
||||
memcpy(ram, (uintptr_t)animData + (((sizeof(Vec3s) * limbCount + 2) * frame)), sizeof(Vec3s) * limbCount + 2);
|
||||
|
||||
/*u32* ramPtr = (u32*)ram;
|
||||
|
||||
for (int i = 0; i < 1024; i++)
|
||||
{
|
||||
ramPtr[i] = i * 7;
|
||||
}*/
|
||||
|
||||
// DmaMgr_SendRequest2(&entry->data.load.req, ram,
|
||||
// LINK_ANIMATION_OFFSET(linkAnimHeader->segment, ((sizeof(Vec3s) * limbCount + 2) * frame)),
|
||||
// sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL, __FILE__,
|
||||
//__LINE__);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue