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
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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…
Reference in New Issue