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 ..
|
cmake ..
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
- name: Generate soh.otr
|
- name: Generate soh.o2r
|
||||||
run: |
|
run: |
|
||||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
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 --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||||
cmake --build build-cmake --config Release --target GenerateSohOtr -j3
|
cmake --build build-cmake --config Release --target GenerateSohOtr -j3
|
||||||
- name: Upload soh.otr
|
- name: Upload soh.o2r
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: soh.otr
|
name: soh.o2r
|
||||||
path: soh.otr
|
path: soh.o2r
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
build-macos:
|
build-macos:
|
||||||
|
@ -122,10 +122,10 @@ jobs:
|
||||||
brew uninstall --ignore-dependencies libpng
|
brew uninstall --ignore-dependencies libpng
|
||||||
sudo port install $(cat .github/workflows/macports-deps.txt)
|
sudo port install $(cat .github/workflows/macports-deps.txt)
|
||||||
brew install ninja
|
brew install ninja
|
||||||
- name: Download soh.otr
|
- name: Download soh.o2r
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: soh.otr
|
name: soh.o2r
|
||||||
path: build-cmake/soh
|
path: build-cmake/soh
|
||||||
- name: Build SoH
|
- name: Build SoH
|
||||||
run: |
|
run: |
|
||||||
|
@ -233,10 +233,10 @@ jobs:
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
|
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
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: soh.otr
|
name: soh.o2r
|
||||||
path: build-cmake/soh
|
path: build-cmake/soh
|
||||||
- name: Build SoH
|
- name: Build SoH
|
||||||
run: |
|
run: |
|
||||||
|
@ -298,10 +298,10 @@ jobs:
|
||||||
path: vcpkg
|
path: vcpkg
|
||||||
- name: Configure Developer Command Prompt
|
- name: Configure Developer Command Prompt
|
||||||
uses: ilammy/msvc-dev-cmd@v1
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
- name: Download soh.otr
|
- name: Download soh.o2r
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: soh.otr
|
name: soh.o2r
|
||||||
path: build-windows/soh
|
path: build-windows/soh
|
||||||
- name: Build SoH
|
- name: Build SoH
|
||||||
env:
|
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) => {
|
return allArtifacts.data.artifacts.reduce((acc, item) => {
|
||||||
if (item.name === "soh.otr") return acc;
|
if (item.name === "soh.o2r") return acc;
|
||||||
acc += `
|
acc += `
|
||||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
||||||
return acc;
|
return acc;
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -412,6 +412,7 @@ ReleaseObj/*
|
||||||
.tags
|
.tags
|
||||||
tags
|
tags
|
||||||
*.otr
|
*.otr
|
||||||
|
*.o2r
|
||||||
*.sav
|
*.sav
|
||||||
shipofharkinian.ini
|
shipofharkinian.ini
|
||||||
shipofharkinian.json
|
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")
|
set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon.png")
|
||||||
|
|
||||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/linux/soh.sh" DESTINATION . COMPONENT appimage)
|
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.o2r" DESTINATION . COMPONENT ship)
|
||||||
install(FILES "${CMAKE_BINARY_DIR}/soh/soh.otr" DESTINATION . COMPONENT ship)
|
|
||||||
install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor)
|
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/extractor/" DESTINATION ./assets COMPONENT extractor)
|
||||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT extractor)
|
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml 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)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
|
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/extractor/" DESTINATION ./assets/ COMPONENT ship)
|
||||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT ship)
|
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml 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)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Python3 COMPONENTS Interpreter)
|
find_package(Python3 COMPONENTS Interpreter)
|
||||||
|
@ -199,42 +190,42 @@ find_package(Python3 COMPONENTS Interpreter)
|
||||||
# Target to generate OTRs
|
# Target to generate OTRs
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
ExtractAssets
|
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
|
# 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 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 ${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
|
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..."
|
COMMENT "Running asset extraction..."
|
||||||
DEPENDS ZAPD
|
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
|
# Target to generate headers
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
ExtractAssetHeaders
|
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
|
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}/OTRExporter
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||||
COMMENT "Generating asset headers..."
|
COMMENT "Generating asset headers..."
|
||||||
DEPENDS ZAPD
|
DEPENDS ZAPD
|
||||||
)
|
)
|
||||||
|
|
||||||
# Target to generate only soh.otr
|
# Target to generate only soh.o2r
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
GenerateSohOtr
|
GenerateSohOtr
|
||||||
COMMAND ${CMAKE_COMMAND} -E rm -f soh.otr
|
COMMAND ${CMAKE_COMMAND} -E rm -f soh.o2r
|
||||||
|
|
||||||
# copy LUS default shaders into assets/custom
|
# 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 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 ${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
|
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
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/soh
|
||||||
COMMENT "Generating soh.otr..."
|
COMMENT "Generating soh.o2r..."
|
||||||
DEPENDS ZAPD
|
DEPENDS ZAPD
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -267,22 +258,12 @@ add_custom_target(CreateOSXIcons
|
||||||
)
|
)
|
||||||
add_dependencies(soh 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)
|
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/extractor/" DESTINATION ./assets/)
|
||||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/extractor/xmls)
|
install(DIRECTORY "${CMAKE_SOURCE_DIR}/soh/assets/xml/" DESTINATION ./assets/xml)
|
||||||
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}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Rename the installed soh binary to drop the macos suffix
|
# 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)")
|
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...")
|
message(STATUS "Copying otr files...")
|
||||||
|
|
||||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${SOURCE_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${SOURCE_DIR})
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${BINARY_DIR}/soh/)
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${BINARY_DIR}/soh/)
|
||||||
message(STATUS "Copied oot.otr")
|
message(STATUS "Copied oot.o2r")
|
||||||
endif()
|
endif()
|
||||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${SOURCE_DIR})
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/)
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${BINARY_DIR}/soh/)
|
||||||
message(STATUS "Copied oot-mq.otr")
|
message(STATUS "Copied oot-mq.o2r")
|
||||||
endif()
|
endif()
|
||||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${SOURCE_DIR})
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/)
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${BINARY_DIR}/soh/)
|
||||||
message(STATUS "Copied soh.otr")
|
message(STATUS "Copied soh.o2r")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe
|
# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe
|
||||||
if(SYSTEM_NAME MATCHES "Windows")
|
if(SYSTEM_NAME MATCHES "Windows")
|
||||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr)
|
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${TARGET_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.o2r ${TARGET_DIR})
|
||||||
endif()
|
endif()
|
||||||
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr)
|
if(NOT ONLYSOHOTR AND EXISTS ${SOURCE_DIR}/soh/oot-mq.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${TARGET_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.o2r ${TARGET_DIR})
|
||||||
endif()
|
endif()
|
||||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr)
|
if(EXISTS ${SOURCE_DIR}/soh/soh.o2r)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${TARGET_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.o2r ${TARGET_DIR})
|
||||||
endif()
|
endif()
|
||||||
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.")
|
message(FATAL_ERROR "Failed to copy. No OTR files found.")
|
||||||
endif()
|
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.")
|
message(FATAL_ERROR "Failed to copy. No soh OTR found.")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Name=SOH
|
Name=SOH
|
||||||
Exec=soh.sh
|
Exec=soh.elf
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Icon=sohIcon
|
Icon=sohIcon
|
||||||
Type=Application
|
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
|
# Pre build events
|
||||||
################################################################################
|
################################################################################
|
||||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
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()
|
endif()
|
||||||
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS")
|
if(NOT CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch|CafeOS")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME}
|
TARGET ${PROJECT_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMENT "Copying asset xmls..."
|
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/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/extractor/xmls
|
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_SOURCE_DIR}/soh/assets/xml $<TARGET_FILE_DIR:soh>/assets/xml
|
||||||
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/symbols
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:soh>/assets/extractor/symbols
|
# COMMAND ${VS_COPY_ASSETS_CMD}
|
||||||
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}
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -694,11 +695,7 @@ endif()
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship)
|
INSTALL(FILES $<TARGET_PDB_FILE:soh> DESTINATION ./debug COMPONENT ship)
|
||||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION . COMPONENT ship)
|
INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.o2r 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)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(CURL NAMES curl DOC "Path to the curl program. Used to download files.")
|
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)
|
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(TARGETS soh DESTINATION ../MacOS COMPONENT ship)
|
||||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt 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")
|
elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS")
|
||||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
|
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
<SymbolMap File="symbols/SymbolMap_OoTMqDbg.txt"/>
|
||||||
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
<ActorList File="symbols/ActorList_OoTMqDbg.txt"/>
|
||||||
<ObjectList File="symbols/ObjectList_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"/>
|
<TexturePool File="TexturePool.xml"/>
|
||||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||||
</Root>
|
</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);
|
extern "C" int zapd_main(int argc, char** argv);
|
||||||
|
static void MessageboxWorker();
|
||||||
|
|
||||||
bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||||
constexpr int argc = 18;
|
constexpr int argc = 22;
|
||||||
char xmlPath[1024];
|
char xmlPath[1024];
|
||||||
char confPath[1024];
|
char confPath[1024];
|
||||||
char portVersion[18]; // 5 digits for int16_max (x3) + separators + terminator
|
char portVersion[18]; // 5 digits for int16_max (x3) + separators + terminator
|
||||||
std::array<const char*, argc> argv;
|
std::array<const char*, argc> argv;
|
||||||
const char* version = GetZapdVerStr();
|
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();
|
std::string romPath = std::filesystem::absolute(mCurrentRomPath).string();
|
||||||
installPath = std::filesystem::absolute(installPath).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);
|
std::filesystem::current_path(tempdir);
|
||||||
|
|
||||||
snprintf(xmlPath, 1024, "assets/extractor/xmls/%s", version);
|
snprintf(xmlPath, 1024, "assets/xml/%s", version);
|
||||||
snprintf(confPath, 1024, "assets/extractor/Config_%s.xml", version);
|
snprintf(confPath, 1024, "assets/Config_%s.xml", version);
|
||||||
snprintf(portVersion, 18, "%d.%d.%d", gBuildVersionMajor, gBuildVersionMinor, gBuildVersionPatch);
|
snprintf(portVersion, 18, "%d.%d.%d", gBuildVersionMajor, gBuildVersionMinor, gBuildVersionPatch);
|
||||||
|
|
||||||
argv[0] = "ZAPD";
|
argv[0] = "ZAPD";
|
||||||
|
@ -643,9 +644,9 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||||
argv[4] = "-b";
|
argv[4] = "-b";
|
||||||
argv[5] = romPath.c_str();
|
argv[5] = romPath.c_str();
|
||||||
argv[6] = "-fl";
|
argv[6] = "-fl";
|
||||||
argv[7] = "assets/extractor/filelists";
|
argv[7] = "assets/filelists";
|
||||||
argv[8] = "-gsf";
|
argv[8] = "-gsf";
|
||||||
argv[9] = "1";
|
argv[9] = "0";
|
||||||
argv[10] = "-rconf";
|
argv[10] = "-rconf";
|
||||||
argv[11] = confPath;
|
argv[11] = confPath;
|
||||||
argv[12] = "-se";
|
argv[12] = "-se";
|
||||||
|
@ -654,6 +655,10 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||||
argv[15] = otrFile;
|
argv[15] = otrFile;
|
||||||
argv[16] = "--portVer";
|
argv[16] = "--portVer";
|
||||||
argv[17] = portVersion;
|
argv[17] = portVersion;
|
||||||
|
argv[18] = "-o";
|
||||||
|
argv[19] = "placeholder";
|
||||||
|
argv[20] = "-osf";
|
||||||
|
argv[21] = "placeholder";
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// Grab a handle to the command window.
|
// 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);
|
SetWindowPos(cmdWindow, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
|
||||||
#else
|
#else
|
||||||
// Show extraction in background message until linux/mac can have visual progress
|
// Show extraction in background message until linux/mac can have visual progress
|
||||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_INFORMATION, "Extracting",
|
std::thread mbThread(MessageboxWorker);
|
||||||
"Extraction will now begin in the background.\n\nPlease be patient for the process to "
|
mbThread.detach();
|
||||||
"finish. Do not close the main program.",
|
|
||||||
nullptr);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
zapd_main(argc, (char**)argv.data());
|
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::current_path(curdir);
|
||||||
std::filesystem::remove_all(tempdir);
|
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() {
|
void OTRGlobals::Initialize() {
|
||||||
std::vector<std::string> OTRFiles;
|
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)) {
|
if (std::filesystem::exists(mqPath)) {
|
||||||
OTRFiles.push_back(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)) {
|
if (std::filesystem::exists(ootPath)) {
|
||||||
OTRFiles.push_back(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)) {
|
if (std::filesystem::exists(sohOtrPath)) {
|
||||||
OTRFiles.push_back(sohOtrPath);
|
OTRFiles.push_back(sohOtrPath);
|
||||||
}
|
}
|
||||||
|
@ -944,7 +946,7 @@ OTRVersion ReadPortVersionFromOTR(std::string otrPath) {
|
||||||
OTRVersion version = {};
|
OTRVersion version = {};
|
||||||
|
|
||||||
// Use a temporary archive instance to load the otr and read the version file
|
// 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()) {
|
if (archive->Open()) {
|
||||||
auto t = archive->LoadFile("portVersion");
|
auto t = archive->LoadFile("portVersion");
|
||||||
if (t != nullptr && t->IsLoaded) {
|
if (t != nullptr && t->IsLoaded) {
|
||||||
|
@ -962,7 +964,7 @@ OTRVersion ReadPortVersionFromOTR(std::string otrPath) {
|
||||||
return version;
|
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
|
// Otherwise show a message and exit
|
||||||
void CheckSoHOTRVersion(std::string otrPath) {
|
void CheckSoHOTRVersion(std::string otrPath) {
|
||||||
std::string msg;
|
std::string msg;
|
||||||
|
@ -971,20 +973,20 @@ void CheckSoHOTRVersion(std::string otrPath) {
|
||||||
msg = "\x1b[4;2HPlease re-extract it from the download."
|
msg = "\x1b[4;2HPlease re-extract it from the download."
|
||||||
"\x1b[6;2HPress the Home button to exit...";
|
"\x1b[6;2HPress the Home button to exit...";
|
||||||
#elif defined(__WIIU__)
|
#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...";
|
"button to shutdown...";
|
||||||
#else
|
#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
|
#endif
|
||||||
|
|
||||||
if (!std::filesystem::exists(otrPath)) {
|
if (!std::filesystem::exists(otrPath)) {
|
||||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
#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);
|
exit(1);
|
||||||
#elif defined(__SWITCH__)
|
#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__)
|
#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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -993,12 +995,12 @@ void CheckSoHOTRVersion(std::string otrPath) {
|
||||||
if (otrVersion.major != gBuildVersionMajor || otrVersion.minor != gBuildVersionMinor ||
|
if (otrVersion.major != gBuildVersionMajor || otrVersion.minor != gBuildVersionMinor ||
|
||||||
otrVersion.patch != gBuildVersionPatch) {
|
otrVersion.patch != gBuildVersionPatch) {
|
||||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
#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);
|
exit(1);
|
||||||
#elif defined(__SWITCH__)
|
#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__)
|
#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
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1039,10 +1041,10 @@ void DetectOTRVersion(std::string fileName, bool isMQ) {
|
||||||
|
|
||||||
if (Extractor::ShowYesNoBox("Old OTR File Found", msgBuf) == IDYES) {
|
if (Extractor::ShowYesNoBox("Old OTR File Found", msgBuf) == IDYES) {
|
||||||
std::string installPath = Ship::Context::GetAppBundlePath();
|
std::string installPath = Ship::Context::GetAppBundlePath();
|
||||||
if (!std::filesystem::exists(installPath + "/assets/extractor")) {
|
if (!std::filesystem::exists(installPath + "/assets")) {
|
||||||
Extractor::ShowErrorBox(
|
Extractor::ShowErrorBox(
|
||||||
"Extractor assets not found",
|
"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);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1156,18 +1158,18 @@ extern "C" void InitOTR() {
|
||||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||||
CheckAndCreateModFolder();
|
CheckAndCreateModFolder();
|
||||||
#endif
|
#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 (!ootO2RExists) {
|
||||||
|
|
||||||
if (!std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot-mq.otr", appShortName)) &&
|
|
||||||
!std::filesystem::exists(Ship::Context::LocateFileAcrossAppDirs("oot.otr", appShortName))) {
|
|
||||||
|
|
||||||
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
#if not defined(__SWITCH__) && not defined(__WIIU__)
|
||||||
std::string installPath = Ship::Context::GetAppBundlePath();
|
std::string installPath = Ship::Context::GetAppBundlePath();
|
||||||
if (!std::filesystem::exists(installPath + "/assets/extractor")) {
|
if (!std::filesystem::exists(installPath + "/assets")) {
|
||||||
Extractor::ShowErrorBox(
|
Extractor::ShowErrorBox(
|
||||||
"Extractor assets not found",
|
"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);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1206,8 +1208,8 @@ extern "C" void InitOTR() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
DetectOTRVersion("oot.otr", false);
|
DetectOTRVersion("oot.o2r", false);
|
||||||
DetectOTRVersion("oot-mq.otr", true);
|
DetectOTRVersion("oot-mq.o2r", true);
|
||||||
|
|
||||||
OTRGlobals::Instance->Initialize();
|
OTRGlobals::Instance->Initialize();
|
||||||
CustomMessageManager::Instance = new CustomMessageManager();
|
CustomMessageManager::Instance = new CustomMessageManager();
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include "soh/resource/importer/AnimationFactory.h"
|
#include "soh/resource/importer/AnimationFactory.h"
|
||||||
#include "soh/resource/type/Animation.h"
|
#include "soh/resource/type/Animation.h"
|
||||||
|
#include "ResourceManager.h"
|
||||||
#include "spdlog/spdlog.h"
|
#include "spdlog/spdlog.h"
|
||||||
|
#include "Context.h"
|
||||||
|
|
||||||
namespace SOH {
|
namespace SOH {
|
||||||
std::shared_ptr<Ship::IResource>
|
std::shared_ptr<Ship::IResource>
|
||||||
|
@ -80,7 +82,11 @@ ResourceFactoryBinaryAnimationV0::ReadResource(std::shared_ptr<Ship::File> file,
|
||||||
animation->animationData.linkAnimationHeader.common.frameCount = reader->ReadInt16();
|
animation->animationData.linkAnimationHeader.common.frameCount = reader->ReadInt16();
|
||||||
|
|
||||||
// Read the segment pointer (always 32 bit, doesn't adjust for system pointer size)
|
// 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) {
|
} else if (animType == AnimationType::Legacy) {
|
||||||
SPDLOG_DEBUG("BEYTAH ANIMATION?!");
|
SPDLOG_DEBUG("BEYTAH ANIMATION?!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -894,33 +894,15 @@ void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animati
|
||||||
if (ResourceMgr_OTRSigCheck(animation) != 0)
|
if (ResourceMgr_OTRSigCheck(animation) != 0)
|
||||||
animation = ResourceMgr_LoadAnimByName(animation);
|
animation = ResourceMgr_LoadAnimByName(animation);
|
||||||
|
|
||||||
LinkAnimationHeader* linkAnimHeader = SEGMENTED_TO_VIRTUAL(animation);
|
|
||||||
Vec3s* ram = frameTable;
|
Vec3s* ram = frameTable;
|
||||||
|
|
||||||
osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1);
|
s16* animData = animation->segment;
|
||||||
|
// SOH [Port] sometimes a HESS can set a negative frame value from a negative playback speed. When converted to
|
||||||
char animPath[2048];
|
// a signed value this will cause a crash due to copying way much data.
|
||||||
|
if (frame < 0) {
|
||||||
snprintf(animPath, sizeof(animPath), "misc/link_animetion/gPlayerAnimData_%06X",
|
frame = 0;
|
||||||
(((uintptr_t)linkAnimHeader->segment - 0x07000000)));
|
}
|
||||||
|
|
||||||
// printf("Streaming %s, seg = %08X\n", animPath, linkAnimHeader->segment);
|
|
||||||
|
|
||||||
s16* animData = ResourceMgr_LoadPlayerAnimByName(animPath);
|
|
||||||
|
|
||||||
memcpy(ram, (uintptr_t)animData + (((sizeof(Vec3s) * limbCount + 2) * frame)), sizeof(Vec3s) * limbCount + 2);
|
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