Compare commits

..

2 Commits

Author SHA1 Message Date
MelonSpeedruns 0cdcd71b6a fix spinner on z 2026-05-14 10:19:19 -04:00
MelonSpeedruns 318ad2a00f third item, missing visuals 2026-05-14 10:14:35 -04:00
1253 changed files with 9677 additions and 24876 deletions
-116
View File
@@ -1,116 +0,0 @@
name: Bug Report
description: Report an issue with Dusklight
type: Bug
body:
- type: checkboxes
id: official-build-certification
attributes:
label: Mods and Forks
description: Certify that this issue exists on the official builds of Dusklight
options:
- label: The bug occurs on an **official release** of Dusklight, without any forks or third-party patches installed
required: true
validations:
required: true
- type: input
id: dusklight-version
attributes:
label: Dusklight Version
placeholder: ex. 1.3.1
validations:
required: true
- type: textarea
id: bug-description
attributes:
label: Bug Description
placeholder: Describe the bug you are encountering
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: Steps to Reproduce
placeholder: |
1. Load save
2. Go to Hyrule Field
3. See bug
- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
placeholder: Describe what should be happening
- type: textarea
id: current-behavior
attributes:
label: Current Behavior
placeholder: Describe what is happening instead
- type: dropdown
id: system-os-architecture
attributes:
label: OS / Architecture
description: The operating system and architecture you are running Dusklight on
options:
- Windows x86-64
- Windows ARM64
- MacOS ARM64
- MacOS x86-64
- Linux ARM64
- Linux x84-64
- Android ARM64
- iOS ARM64
validations:
required: true
- type: dropdown
id: game-region
attributes:
label: Game Region
description: The game region you are playing on
options:
- NTSC-U (North America)
- PAL (Europe)
validations:
required: true
- type: input
id: game-language
attributes:
label: Game Language
description: The language you are playing the game in
placeholder: ex. English, Spanish, etc.
- type: dropdown
attributes:
label: Graphics Backend
options:
- Vulkan
- D3D12
- Metal
- D3D11
- OpenGL ES
- Unsure / Default
default: 5
- type: textarea
id: texture-packs-mods
attributes:
label: Texture Packs and Mods
placeholder: List any texture packs or mods you had installed
- type: upload
id: logs-upload
attributes:
label: Logs and Other Files
description: Include any relevant logs, config files, or saves to reproduce the bug
- type: textarea
id: additional-context
attributes:
label: Additional Context
placeholder: Any other information that might be helpful
@@ -1,24 +0,0 @@
name: Feature Request
description: Request a new Dusklight feature. Not all requests can/will be included, but we will take these ideas into consideration.
type: Feature
body:
- type: textarea
id: feature-description
attributes:
label: Feature Description
placeholder: Describe the feature you are requesting
validations:
required: true
- type: input
id: feature-platform
attributes:
label: Platform
description: If applicable, list the platforms this feature applies to. If it is for all platforms, feel free to leave this field blank.
placeholder: ex. Mac, Android, Steam Deck, etc.
- type: textarea
id: feature-related-info
attributes:
label: Additional Information
placeholder: Any other information that might be helpful (related features, existing implementations, open pull requests or issues, etc.)
+13 -22
View File
@@ -5,16 +5,7 @@ on:
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- '*LICENSE' - '*LICENSE'
- 'docs/**'
pull_request: pull_request:
paths-ignore:
- '*.md'
- '*LICENSE'
- 'docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('run-{0}', github.run_id) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env: env:
SCCACHE_GHA_ENABLED: "true" SCCACHE_GHA_ENABLED: "true"
@@ -31,13 +22,13 @@ jobs:
matrix: matrix:
include: include:
- name: GCC x86_64 - name: GCC x86_64
runner: ubuntu-24.04 runner: ubuntu-latest
preset: gcc preset: gcc
artifact_arch: x86_64 artifact_arch: x86_64
- name: GCC aarch64 # - name: GCC aarch64
runner: ubuntu-24.04-arm # runner: ubuntu-24.04-arm
preset: gcc # preset: gcc
artifact_arch: aarch64 # artifact_arch: aarch64
# - name: Clang x86_64 # - name: Clang x86_64
# runner: ubuntu-latest # runner: ubuntu-latest
# preset: clang # preset: clang
@@ -52,7 +43,7 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get -y install ninja-build clang lld mold openssl libcurl4-openssl-dev \ sudo apt-get -y install ninja-build clang lld openssl libcurl4-openssl-dev \
zlib1g-dev libglu1-mesa-dev libdbus-1-dev libvulkan-dev libxi-dev libxrandr-dev libasound2-dev \ zlib1g-dev libglu1-mesa-dev libdbus-1-dev libvulkan-dev libxi-dev libxrandr-dev libasound2-dev \
libpulse-dev libudev-dev libpng-dev libncurses5-dev libx11-xcb-dev libfreetype-dev \ libpulse-dev libudev-dev libpng-dev libncurses5-dev libx11-xcb-dev libfreetype-dev \
libxinerama-dev libxcursor-dev python3-markupsafe libgtk-3-dev libssl-dev \ libxinerama-dev libxcursor-dev python3-markupsafe libgtk-3-dev libssl-dev \
@@ -230,12 +221,12 @@ jobs:
msvc_arch: amd64 msvc_arch: amd64
vcpkg_arch: x64 vcpkg_arch: x64
artifact_arch: x86_64 artifact_arch: x86_64
- name: MSVC arm64 # - name: MSVC arm64
runner: windows-latest # runner: windows-11-arm
preset: arm64-msvc # preset: arm64-msvc
msvc_arch: amd64_arm64 # msvc_arch: arm64
vcpkg_arch: arm64 # vcpkg_arch: arm64
artifact_arch: arm64 # artifact_arch: arm64
# - name: Clang x86_64 # - name: Clang x86_64
# runner: windows-latest # runner: windows-latest
# preset: clang # preset: clang
@@ -264,7 +255,7 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
choco install ninja choco install ninja
vcpkg install freetype:${{matrix.vcpkg_arch}}-windows zstd:${{matrix.vcpkg_arch}}-windows vcpkg install freetype:${{matrix.vcpkg_arch}}-windows-static zstd:${{matrix.vcpkg_arch}}-windows-static
- name: Configure CMake - name: Configure CMake
run: cmake --preset x-windows-ci-${{matrix.preset}} run: cmake --preset x-windows-ci-${{matrix.preset}}
+1 -1
View File
@@ -1,3 +1,3 @@
[submodule "extern/aurora"] [submodule "extern/aurora"]
path = extern/aurora path = extern/aurora
url = https://github.com/Lurs/aurora.git url = https://github.com/encounter/aurora.git
+14 -98
View File
@@ -11,7 +11,6 @@ if (DUSK_VERSION_OVERRIDE)
set(DUSK_WC_DESCRIBE "${DUSK_VERSION_OVERRIDE}") set(DUSK_WC_DESCRIBE "${DUSK_VERSION_OVERRIDE}")
set(DUSK_VERSION_STRING "0.0.0.0") set(DUSK_VERSION_STRING "0.0.0.0")
set(DUSK_SHORT_VERSION_STRING "0.0.0") set(DUSK_SHORT_VERSION_STRING "0.0.0")
set(DUSK_VERSION_CODE "1")
set(DUSK_WC_REVISION "") set(DUSK_WC_REVISION "")
set(DUSK_WC_BRANCH "") set(DUSK_WC_BRANCH "")
set(DUSK_WC_DATE "") set(DUSK_WC_DATE "")
@@ -62,9 +61,6 @@ endif ()
if (DUSK_WC_DESCRIBE MATCHES "^v([0-9]+)\\.([0-9]+)\\.([0-9]+)([-+].*)?$") if (DUSK_WC_DESCRIBE MATCHES "^v([0-9]+)\\.([0-9]+)\\.([0-9]+)([-+].*)?$")
set(DUSK_SHORT_VERSION_STRING "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") set(DUSK_SHORT_VERSION_STRING "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}")
set(_ver_major ${CMAKE_MATCH_1})
set(_ver_minor ${CMAKE_MATCH_2})
set(_ver_patch ${CMAKE_MATCH_3})
set(DUSK_VERSION_TWEAK "0") set(DUSK_VERSION_TWEAK "0")
if (DUSK_WC_DESCRIBE MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+-([0-9]+)(-dirty)?$") if (DUSK_WC_DESCRIBE MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+-([0-9]+)(-dirty)?$")
set(DUSK_VERSION_TWEAK "${CMAKE_MATCH_1}") set(DUSK_VERSION_TWEAK "${CMAKE_MATCH_1}")
@@ -72,19 +68,10 @@ if (DUSK_WC_DESCRIBE MATCHES "^v([0-9]+)\\.([0-9]+)\\.([0-9]+)([-+].*)?$")
set(DUSK_VERSION_TWEAK "${CMAKE_MATCH_1}") set(DUSK_VERSION_TWEAK "${CMAKE_MATCH_1}")
endif () endif ()
set(DUSK_VERSION_STRING "${DUSK_SHORT_VERSION_STRING}.${DUSK_VERSION_TWEAK}") set(DUSK_VERSION_STRING "${DUSK_SHORT_VERSION_STRING}.${DUSK_VERSION_TWEAK}")
if(DUSK_VERSION_TWEAK GREATER 999)
set(_tweak 999)
else()
set(_tweak ${DUSK_VERSION_TWEAK})
endif()
# encoding: major*1e7 + minor*1e5 + patch*1e3 + tweak; collision-free for major<210, minor<100, patch<100, tweak<=999
math(EXPR DUSK_VERSION_CODE
"${_ver_major} * 10000000 + ${_ver_minor} * 100000 + ${_ver_patch} * 1000 + ${_tweak}")
else () else ()
set(DUSK_WC_DESCRIBE "UNKNOWN-VERSION") set(DUSK_WC_DESCRIBE "UNKNOWN-VERSION")
set(DUSK_VERSION_STRING "0.0.0.0") set(DUSK_VERSION_STRING "0.0.0.0")
set(DUSK_SHORT_VERSION_STRING "0.0.0") set(DUSK_SHORT_VERSION_STRING "0.0.0")
set(DUSK_VERSION_CODE "1")
endif () endif ()
endif () endif ()
@@ -92,7 +79,6 @@ endif ()
# Add version information to CI environment variables # Add version information to CI environment variables
if(DEFINED ENV{GITHUB_ENV}) if(DEFINED ENV{GITHUB_ENV})
file(APPEND "$ENV{GITHUB_ENV}" "DUSK_VERSION=${DUSK_WC_DESCRIBE}\n") file(APPEND "$ENV{GITHUB_ENV}" "DUSK_VERSION=${DUSK_WC_DESCRIBE}\n")
file(APPEND "$ENV{GITHUB_ENV}" "DUSK_VERSION_CODE=${DUSK_VERSION_CODE}\n")
endif() endif()
message(STATUS "Dusklight version set to ${DUSK_WC_DESCRIBE}") message(STATUS "Dusklight version set to ${DUSK_WC_DESCRIBE}")
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
@@ -100,8 +86,6 @@ project(dusklight LANGUAGES C CXX VERSION ${DUSK_VERSION_STRING})
if (APPLE) if (APPLE)
enable_language(OBJC OBJCXX) enable_language(OBJC OBJCXX)
endif () endif ()
# Adjust CMAKE_SYSTEM_PROCESSOR on Windows to match compiler target
include(cmake/WindowsTargetProcessor.cmake)
if (APPLE AND NOT TVOS AND CMAKE_SYSTEM_NAME STREQUAL tvOS) if (APPLE AND NOT TVOS AND CMAKE_SYSTEM_NAME STREQUAL tvOS)
# ios.toolchain.cmake hack for SDL # ios.toolchain.cmake hack for SDL
set(TVOS ON) set(TVOS ON)
@@ -126,33 +110,6 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "_cmake") set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "_cmake")
option(ENABLE_ASAN "Enable AddressSanitizer" OFF)
if (ENABLE_ASAN)
if (CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC" AND
CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/fsanitize=address>)
add_link_options(/fsanitize=address /INCREMENTAL:NO)
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "ProgramDatabase")
foreach (_lang C CXX)
foreach (_rtc_flag /RTC1 /RTCc /RTCs /RTCu)
string(REPLACE "${_rtc_flag}" "" CMAKE_${_lang}_FLAGS_DEBUG "${CMAKE_${_lang}_FLAGS_DEBUG}")
endforeach ()
endforeach ()
elseif (CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "GNU" AND
CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
add_compile_options(
$<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-fsanitize=address>
$<$<COMPILE_LANGUAGE:C,CXX,OBJC,OBJCXX>:-fno-omit-frame-pointer>
)
add_link_options(-fsanitize=address)
else ()
message(FATAL_ERROR "ENABLE_ASAN requires GNU-like or MSVC-like C/C++ compiler frontends")
endif ()
add_compile_definitions(NDEBUG_SANITIZER) # Avoids absl issue with SwissTable debug code
message(STATUS "dusklight: Enabled AddressSanitizer")
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL Linux) if (CMAKE_SYSTEM_NAME STREQUAL Linux)
set(DAWN_USE_WAYLAND ON CACHE BOOL "Enable support for Wayland surface" FORCE) set(DAWN_USE_WAYLAND ON CACHE BOOL "Enable support for Wayland surface" FORCE)
endif () endif ()
@@ -164,19 +121,11 @@ target_compile_definitions(aurora_mtx PRIVATE MTX_USE_PS=1)
add_subdirectory(libs/freeverb) add_subdirectory(libs/freeverb)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(DUSK_GFX_DEBUG_GROUPS_DEFAULT ON)
else ()
set(DUSK_GFX_DEBUG_GROUPS_DEFAULT OFF)
endif ()
option(DUSK_BUILD_WARNINGS "Enable compiler warnings (off by default)") option(DUSK_BUILD_WARNINGS "Enable compiler warnings (off by default)")
option(DUSK_SELECTED_OPT "If on, selected parts of the project will be compiled with optimizations on Debug, intending to make the game run at 30 FPS. Note for MSVC: you will need to remove '/RTC1' from your debug flags in CMake.") option(DUSK_SELECTED_OPT "If on, selected parts of the project will be compiled with optimizations on Debug, intending to make the game run at 30 FPS. Note for MSVC: you will need to remove '/RTC1' from your debug flags in CMake.")
option(DUSK_MOVIE_SUPPORT "If on, compile against libjpeg-turbo to enable THP file decoding" ON) option(DUSK_MOVIE_SUPPORT "If on, compile against libjpeg-turbo to enable THP file decoding" ON)
option(DUSK_ENABLE_UPDATE_CHECKER "Enable update checking support" ON) option(DUSK_ENABLE_UPDATE_CHECKER "Enable update checking support" ON)
option(DUSK_ENABLE_SENTRY_NATIVE "Enable sentry-native crash reporting support" OFF) option(DUSK_ENABLE_SENTRY_NATIVE "Enable sentry-native crash reporting support" OFF)
option(DUSK_PACKAGE_INSTALL "Install Dusklight with a Linux-native file structure" OFF)
option(DUSK_GFX_DEBUG_GROUPS "Report debug groups to the native graphics API" ${DUSK_GFX_DEBUG_GROUPS_DEFAULT})
set(DUSK_SENTRY_DSN "" CACHE STRING "Sentry DSN") set(DUSK_SENTRY_DSN "" CACHE STRING "Sentry DSN")
set(DUSK_SENTRY_ENVIRONMENT "development" CACHE STRING "Sentry environment") set(DUSK_SENTRY_ENVIRONMENT "development" CACHE STRING "Sentry environment")
@@ -205,7 +154,6 @@ if (DUSK_MOVIE_SUPPORT)
endif () endif ()
set(_jpeg_cmake_args set(_jpeg_cmake_args
-DCMAKE_INSTALL_PREFIX=${_jpeg_install_dir} -DCMAKE_INSTALL_PREFIX=${_jpeg_install_dir}
-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/WindowsTargetProcessor.cmake
-DENABLE_SHARED=OFF -DENABLE_SHARED=OFF
-DWITH_TURBOJPEG=ON -DWITH_TURBOJPEG=ON
-DWITH_JAVA=OFF -DWITH_JAVA=OFF
@@ -224,8 +172,6 @@ if (DUSK_MOVIE_SUPPORT)
CMAKE_MSVC_RUNTIME_LIBRARY CMAKE_MSVC_RUNTIME_LIBRARY
CMAKE_MSVC_DEBUG_INFORMATION_FORMAT CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_ARCHITECTURES
CMAKE_OSX_DEPLOYMENT_TARGET
CMAKE_OSX_SYSROOT
DEPLOYMENT_TARGET DEPLOYMENT_TARGET
ENABLE_ARC ENABLE_ARC
ENABLE_BITCODE ENABLE_BITCODE
@@ -256,9 +202,10 @@ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
# -Wno-multichar: Multi-character constants ('ABCD') are implementation-defined but all compilers # -Wno-multichar: Multi-character constants ('ABCD') are implementation-defined but all compilers
# (CW, GCC, Clang, MSVC) encode them identically in big-endian order. # (CW, GCC, Clang, MSVC) encode them identically in big-endian order.
# For >4-char literals (which GCC/Clang truncate to int), use the MULTI_CHAR() macro. # For >4-char literals (which GCC/Clang truncate to int), use the MULTI_CHAR() macro.
# -Wwrite-strings: Game code relies on implicit const char* -> char* conversions
# -Wdeprecated-declarations: JSystem uses std::iterator, deprecated in C++17 # -Wdeprecated-declarations: JSystem uses std::iterator, deprecated in C++17
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-multichar") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-multichar -Wno-write-strings")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-multichar -Wno-trigraphs -Wno-deprecated-declarations") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-multichar -Wno-write-strings -Wno-trigraphs -Wno-deprecated-declarations")
set(CMAKE_INSTALL_RPATH "$ORIGIN") set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_RPATH "$ORIGIN") set(CMAKE_BUILD_RPATH "$ORIGIN")
elseif (APPLE) elseif (APPLE)
@@ -268,6 +215,7 @@ elseif (APPLE)
elseif (MSVC) elseif (MSVC)
add_compile_options( add_compile_options(
$<$<COMPILE_LANGUAGE:C,CXX>:/bigobj> $<$<COMPILE_LANGUAGE:C,CXX>:/bigobj>
$<$<COMPILE_LANGUAGE:C,CXX>:/Zc:strictStrings->
$<$<COMPILE_LANGUAGE:C,CXX>:/MP> $<$<COMPILE_LANGUAGE:C,CXX>:/MP>
$<$<COMPILE_LANGUAGE:C,CXX>:/FS> $<$<COMPILE_LANGUAGE:C,CXX>:/FS>
) )
@@ -284,6 +232,7 @@ elseif (MSVC)
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/utf-8>) add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/utf-8>)
endif () endif ()
include(FetchContent) include(FetchContent)
# Declare all dependencies first so CMake can download them in parallel # Declare all dependencies first so CMake can download them in parallel
@@ -291,13 +240,13 @@ message(STATUS "dusklight: Fetching cxxopts")
FetchContent_Declare(cxxopts FetchContent_Declare(cxxopts
URL https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.3.1.tar.gz URL https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.3.1.tar.gz
URL_HASH SHA256=3bfc70542c521d4b55a46429d808178916a579b28d048bd8c727ee76c39e2072 URL_HASH SHA256=3bfc70542c521d4b55a46429d808178916a579b28d048bd8c727ee76c39e2072
DOWNLOAD_EXTRACT_TIMESTAMP FALSE DOWNLOAD_EXTRACT_TIMESTAMP TRUE
) )
message(STATUS "dusklight: Fetching nlohmann/json") message(STATUS "dusklight: Fetching nlohmann/json")
FetchContent_Declare(json FetchContent_Declare(json
URL https://github.com/nlohmann/json/releases/download/v3.12.0/json.tar.xz URL https://github.com/nlohmann/json/releases/download/v3.12.0/json.tar.xz
URL_HASH SHA256=42f6e95cad6ec532fd372391373363b62a14af6d771056dbfc86160e6dfff7aa URL_HASH SHA256=42f6e95cad6ec532fd372391373363b62a14af6d771056dbfc86160e6dfff7aa
DOWNLOAD_EXTRACT_TIMESTAMP FALSE DOWNLOAD_EXTRACT_TIMESTAMP TRUE
) )
FetchContent_MakeAvailable(cxxopts json) FetchContent_MakeAvailable(cxxopts json)
@@ -327,12 +276,6 @@ if (DUSK_ENABLE_SENTRY_NATIVE)
endif () endif ()
endif () endif ()
# Use signed char on ARM to match the original game (and x86)
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" _arch)
if(_arch MATCHES "^(arm|aarch64)" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")
add_compile_options(-fsigned-char)
endif()
if (CMAKE_SYSTEM_NAME STREQUAL Windows) if (CMAKE_SYSTEM_NAME STREQUAL Windows)
set(PLATFORM_NAME win32) set(PLATFORM_NAME win32)
elseif (CMAKE_SYSTEM_NAME STREQUAL Darwin) elseif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
@@ -363,7 +306,7 @@ set(DUSK_COPYRIGHT "Copyright (C) Twilit Realm contributors")
source_group("dolzel" FILES ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${REL_FILES}) source_group("dolzel" FILES ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${REL_FILES})
source_group("dusklight" FILES ${DUSK_FILES} ${DUSK_HTTP_BACKEND_FILES}) source_group("dusklight" FILES ${DUSK_FILES} ${DUSK_HTTP_BACKEND_FILES})
set(GAME_COMPILE_DEFS TARGET_PC WIDESCREEN_SUPPORT=1 AVOID_UB=1 VERSION=0 MTX_USE_PS=1 DUSK_TPHD=1) set(GAME_COMPILE_DEFS TARGET_PC WIDESCREEN_SUPPORT=1 AVOID_UB=1 VERSION=0 MTX_USE_PS=1)
set(GAME_INCLUDE_DIRS set(GAME_INCLUDE_DIRS
include include
@@ -378,7 +321,9 @@ set(GAME_INCLUDE_DIRS
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
set(GAME_LIBS aurora::core aurora::gx aurora::gd aurora::si aurora::vi aurora::pad aurora::mtx aurora::os aurora::dvd set(GAME_LIBS aurora::core aurora::gx aurora::gd aurora::si aurora::vi aurora::pad aurora::mtx aurora::os aurora::dvd
aurora::card freeverb cxxopts::cxxopts absl::flat_hash_map nlohmann_json::nlohmann_json TracyClient fmt::fmt aurora::card freeverb cxxopts::cxxopts absl::flat_hash_map nlohmann_json::nlohmann_json TracyClient fmt::fmt
Threads::Threads zstd::libzstd ZLIB::ZLIB) Threads::Threads)
list(APPEND GAME_LIBS libzstd_static)
if (DUSK_ENABLE_SENTRY_NATIVE) if (DUSK_ENABLE_SENTRY_NATIVE)
list(APPEND GAME_LIBS sentry) list(APPEND GAME_LIBS sentry)
@@ -387,10 +332,6 @@ endif ()
if (WIN32) if (WIN32)
list(APPEND GAME_LIBS Ws2_32) list(APPEND GAME_LIBS Ws2_32)
if (CMAKE_BUILD_TYPE STREQUAL Debug)
list(APPEND GAME_LIBS dbghelp)
list(APPEND GAME_COMPILE_DEFS DUSK_CRASH_DBGHELP=1)
endif ()
endif () endif ()
set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/no_backend.cpp) set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/no_backend.cpp)
@@ -450,16 +391,6 @@ if(ANDROID)
list(APPEND GAME_COMPILE_DEFS TARGET_ANDROID=1) list(APPEND GAME_COMPILE_DEFS TARGET_ANDROID=1)
endif () endif ()
if (DUSK_PACKAGE_INSTALL)
include(GNUInstallDirs)
list(APPEND GAME_COMPILE_DEFS DUSK_ASSET_DIR="${CMAKE_INSTALL_FULL_DATADIR}/dusklight/")
endif ()
if (DUSK_GFX_DEBUG_GROUPS)
list(APPEND GAME_COMPILE_DEFS DUSK_GFX_DEBUG_GROUPS=1)
target_compile_definitions(aurora_gx PRIVATE AURORA_GFX_DEBUG_GROUPS)
endif ()
# game_debug is for game code files that we know work when compiled with DEBUG=1 # game_debug is for game code files that we know work when compiled with DEBUG=1
# Of course, if building a release build, this distinction is irrelevant # Of course, if building a release build, this distinction is irrelevant
set(GAME_DEBUG_FILES set(GAME_DEBUG_FILES
@@ -516,9 +447,6 @@ if(ANDROID)
else () else ()
add_executable(dusklight ${DUSK_FILES}) add_executable(dusklight ${DUSK_FILES})
endif () endif ()
if (ENABLE_ASAN)
target_sources(dusklight PRIVATE src/dusk/asan_options.c)
endif ()
target_compile_definitions(dusklight PRIVATE ${GAME_COMPILE_DEFS}) target_compile_definitions(dusklight PRIVATE ${GAME_COMPILE_DEFS})
target_include_directories(dusklight PRIVATE ${GAME_INCLUDE_DIRS}) target_include_directories(dusklight PRIVATE ${GAME_INCLUDE_DIRS})
@@ -540,10 +468,6 @@ if (ANDROID)
target_link_options(dusklight PRIVATE "-Wl,-u,SDL_main") target_link_options(dusklight PRIVATE "-Wl,-u,SDL_main")
endif () endif ()
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
target_link_options(dusklight PRIVATE "-Wl,--build-id=sha1")
endif ()
if (NOT APPLE) if (NOT APPLE)
add_custom_command(TARGET dusklight POST_BUILD add_custom_command(TARGET dusklight POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory COMMAND ${CMAKE_COMMAND} -E copy_directory
@@ -681,20 +605,12 @@ set(EXTRA_TARGETS "")
if (TARGET crashpad_handler) if (TARGET crashpad_handler)
list(APPEND EXTRA_TARGETS crashpad_handler) list(APPEND EXTRA_TARGETS crashpad_handler)
endif () endif ()
if (DUSK_PACKAGE_INSTALL) install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${CMAKE_INSTALL_PREFIX})
install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${CMAKE_INSTALL_PREFIX})
endif()
aurora_install_runtime_dlls(dusklight ${CMAKE_INSTALL_PREFIX}) aurora_install_runtime_dlls(dusklight ${CMAKE_INSTALL_PREFIX})
if (NOT APPLE) if (NOT APPLE)
if (DUSK_PACKAGE_INSTALL) install(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/dusklight)
else()
install(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ${CMAKE_INSTALL_PREFIX})
endif()
endif () endif ()
if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo AND NOT DUSK_PACKAGE_INSTALL) if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
set(DEBUG_FILES_LIST "") set(DEBUG_FILES_LIST "")
foreach (target IN LISTS BINARY_TARGETS EXTRA_TARGETS) foreach (target IN LISTS BINARY_TARGETS EXTRA_TARGETS)
get_target_output_name(${target} output_name) get_target_output_name(${target} output_name)
+22 -125
View File
@@ -19,19 +19,7 @@
"hidden": true, "hidden": true,
"cacheVariables": { "cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo", "CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreadedDLL" "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded"
}
},
{
"name": "release",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreadedDLL",
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": {
"type": "BOOL",
"value": true
}
} }
}, },
{ {
@@ -45,21 +33,7 @@
"value": true "value": true
}, },
"DUSK_SENTRY_DSN": "$env{SENTRY_DSN}", "DUSK_SENTRY_DSN": "$env{SENTRY_DSN}",
"DUSK_SENTRY_ENVIRONMENT": "production", "DUSK_SENTRY_ENVIRONMENT": "production"
"Rust_RUSTUP_INSTALL_MISSING_TARGET": {
"type": "BOOL",
"value": true
}
}
},
{
"name": "asan",
"hidden": true,
"cacheVariables": {
"ENABLE_ASAN": {
"type": "BOOL",
"value": true
}
} }
}, },
{ {
@@ -68,10 +42,6 @@
"generator": "Ninja", "generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}", "binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": { "cacheVariables": {
"BUILD_SHARED_LIBS": {
"type": "BOOL",
"value": false
},
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install" "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install"
}, },
"vendor": { "vendor": {
@@ -93,15 +63,6 @@
"linux-default" "linux-default"
] ]
}, },
{
"name": "linux-default-debug-asan",
"displayName": "Linux (default) Debug ASan",
"inherits": [
"debug",
"linux-default",
"asan"
]
},
{ {
"name": "linux-default-relwithdebinfo", "name": "linux-default-relwithdebinfo",
"displayName": "Linux (default) RelWithDebInfo", "displayName": "Linux (default) RelWithDebInfo",
@@ -129,15 +90,6 @@
"linux-clang" "linux-clang"
] ]
}, },
{
"name": "linux-clang-debug-asan",
"displayName": "Linux (Clang) Debug ASan",
"inherits": [
"debug",
"linux-clang",
"asan"
]
},
{ {
"name": "linux-clang-relwithdebinfo", "name": "linux-clang-relwithdebinfo",
"displayName": "Linux (Clang) RelWithDebInfo", "displayName": "Linux (Clang) RelWithDebInfo",
@@ -158,11 +110,7 @@
"cacheVariables": { "cacheVariables": {
"CMAKE_C_COMPILER": "cl", "CMAKE_C_COMPILER": "cl",
"CMAKE_CXX_COMPILER": "cl", "CMAKE_CXX_COMPILER": "cl",
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install", "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install"
"CMAKE_DISABLE_FIND_PACKAGE_PkgConfig": {
"type": "BOOL",
"value": true
}
}, },
"vendor": { "vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": { "microsoft.com/VisualStudioSettings/CMake/1.0": {
@@ -180,15 +128,6 @@
"windows-msvc" "windows-msvc"
] ]
}, },
{
"name": "windows-msvc-debug-asan",
"displayName": "Windows (MSVC) Debug ASan",
"inherits": [
"debug",
"windows-msvc",
"asan"
]
},
{ {
"name": "windows-msvc-relwithdebinfo", "name": "windows-msvc-relwithdebinfo",
"displayName": "Windows (MSVC) RelWithDebInfo", "displayName": "Windows (MSVC) RelWithDebInfo",
@@ -258,10 +197,6 @@
"generator": "Ninja", "generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}", "binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": { "cacheVariables": {
"BUILD_SHARED_LIBS": {
"type": "BOOL",
"value": false
},
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install" "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install"
}, },
"vendor": { "vendor": {
@@ -280,15 +215,6 @@
"macos-default" "macos-default"
] ]
}, },
{
"name": "macos-default-debug-asan",
"displayName": "macOS (default) Debug ASan",
"inherits": [
"debug",
"macos-default",
"asan"
]
},
{ {
"name": "macos-default-relwithdebinfo", "name": "macos-default-relwithdebinfo",
"displayName": "macOS (default) RelWithDebInfo", "displayName": "macOS (default) RelWithDebInfo",
@@ -354,21 +280,24 @@
"type": "BOOL", "type": "BOOL",
"value": false "value": false
}, },
"ENABLE_ARC": {
"type": "BOOL",
"value": false
},
"Rust_CARGO_TARGET": "aarch64-apple-tvos", "Rust_CARGO_TARGET": "aarch64-apple-tvos",
"Rust_TOOLCHAIN": "nightly", "Rust_TOOLCHAIN": "nightly",
"BUILD_SHARED_LIBS": { "BUILD_SHARED_LIBS": {
"type": "BOOL", "type": "BOOL",
"value": false "value": false
}, },
"CMAKE_DISABLE_FIND_PACKAGE_PkgConfig": { "CMAKE_DISABLE_FIND_PACKAGE_BZip2": {
"type": "BOOL", "type": "BOOL",
"value": true "value": true
}, },
"CMAKE_IGNORE_PREFIX_PATH": "/opt/homebrew" "CMAKE_DISABLE_FIND_PACKAGE_LibLZMA": {
"type": "BOOL",
"value": true
},
"CMAKE_DISABLE_FIND_PACKAGE_zstd": {
"type": "BOOL",
"value": true
}
}, },
"vendor": { "vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": { "microsoft.com/VisualStudioSettings/CMake/1.0": {
@@ -393,14 +322,6 @@
"BUILD_SHARED_LIBS": { "BUILD_SHARED_LIBS": {
"type": "BOOL", "type": "BOOL",
"value": false "value": false
},
"CMAKE_DISABLE_FIND_PACKAGE_PkgConfig": {
"type": "BOOL",
"value": true
},
"CMAKE_DISABLE_FIND_PACKAGE_zstd": {
"type": "BOOL",
"value": true
} }
} }
}, },
@@ -429,8 +350,7 @@
"hidden": true, "hidden": true,
"inherits": [ "inherits": [
"android-base", "android-base",
"ci", "ci"
"release"
], ],
"cacheVariables": { "cacheVariables": {
"DUSK_ENABLE_SENTRY_NATIVE": { "DUSK_ENABLE_SENTRY_NATIVE": {
@@ -458,8 +378,7 @@
"ci" "ci"
], ],
"cacheVariables": { "cacheVariables": {
"AURORA_SDL3_PROVIDER": "vendor", "AURORA_SDL3_PROVIDER": "vendor"
"CMAKE_LINKER_TYPE": "MOLD"
} }
}, },
{ {
@@ -488,8 +407,12 @@
"type": "BOOL", "type": "BOOL",
"value": true "value": true
}, },
"CMAKE_OSX_DEPLOYMENT_TARGET": "12.0", "CMAKE_OSX_DEPLOYMENT_TARGET": "11.0",
"CMAKE_IGNORE_PREFIX_PATH": "/opt/homebrew" "CMAKE_IGNORE_PREFIX_PATH": "/opt/homebrew",
"BUILD_SHARED_LIBS": {
"type": "BOOL",
"value": false
}
} }
}, },
{ {
@@ -507,6 +430,7 @@
"x-macos-ci" "x-macos-ci"
], ],
"cacheVariables": { "cacheVariables": {
"AURORA_DAWN_PROVIDER": "vendor",
"CMAKE_OSX_ARCHITECTURES": "x86_64", "CMAKE_OSX_ARCHITECTURES": "x86_64",
"Rust_CARGO_TARGET": "x86_64-apple-darwin" "Rust_CARGO_TARGET": "x86_64-apple-darwin"
} }
@@ -566,10 +490,7 @@
"inherits": [ "inherits": [
"x-windows-ci", "x-windows-ci",
"windows-arm64-msvc" "windows-arm64-msvc"
], ]
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "arm64-windows"
}
} }
], ],
"buildPresets": [ "buildPresets": [
@@ -579,12 +500,6 @@
"description": "Linux (default) debug build", "description": "Linux (default) debug build",
"displayName": "Linux (default) Debug" "displayName": "Linux (default) Debug"
}, },
{
"name": "linux-default-debug-asan",
"configurePreset": "linux-default-debug-asan",
"description": "Linux (default) debug build with AddressSanitizer",
"displayName": "Linux (default) Debug ASan"
},
{ {
"name": "linux-default-relwithdebinfo", "name": "linux-default-relwithdebinfo",
"configurePreset": "linux-default-relwithdebinfo", "configurePreset": "linux-default-relwithdebinfo",
@@ -597,12 +512,6 @@
"description": "Linux (Clang) debug build", "description": "Linux (Clang) debug build",
"displayName": "Linux (Clang) Debug" "displayName": "Linux (Clang) Debug"
}, },
{
"name": "linux-clang-debug-asan",
"configurePreset": "linux-clang-debug-asan",
"description": "Linux (Clang) debug build with AddressSanitizer",
"displayName": "Linux (Clang) Debug ASan"
},
{ {
"name": "linux-clang-relwithdebinfo", "name": "linux-clang-relwithdebinfo",
"configurePreset": "linux-clang-relwithdebinfo", "configurePreset": "linux-clang-relwithdebinfo",
@@ -615,12 +524,6 @@
"description": "macOS debug build", "description": "macOS debug build",
"displayName": "macOS Debug" "displayName": "macOS Debug"
}, },
{
"name": "macos-default-debug-asan",
"configurePreset": "macos-default-debug-asan",
"description": "macOS debug build with AddressSanitizer",
"displayName": "macOS Debug ASan"
},
{ {
"name": "macos-default-relwithdebinfo", "name": "macos-default-relwithdebinfo",
"configurePreset": "macos-default-relwithdebinfo", "configurePreset": "macos-default-relwithdebinfo",
@@ -678,12 +581,6 @@
"description": "Windows (MSVC) debug build", "description": "Windows (MSVC) debug build",
"displayName": "Windows (MSVC) Debug" "displayName": "Windows (MSVC) Debug"
}, },
{
"name": "windows-msvc-debug-asan",
"configurePreset": "windows-msvc-debug-asan",
"description": "Windows (MSVC) debug build with AddressSanitizer",
"displayName": "Windows (MSVC) Debug ASan"
},
{ {
"name": "windows-msvc-relwithdebinfo", "name": "windows-msvc-relwithdebinfo",
"configurePreset": "windows-msvc-relwithdebinfo", "configurePreset": "windows-msvc-relwithdebinfo",
+8 -3
View File
@@ -22,11 +22,16 @@ It aims to be as accurate as possible to the original while also providing new o
> [!IMPORTANT] > [!IMPORTANT]
> At a minimum, Dusklight requires a GPU with support for either D3D12, Vulkan, or Metal. Your experience with specific hardware, operating systems, and drivers may vary. In particular, older Intel iGPUs have a high likelihood of incompatibility. We are also aware of a number of issues on devices with Adreno GPUs and are working to resolve them. > At a minimum, Dusklight requires a GPU with support for either D3D12, Vulkan, or Metal. Your experience with specific hardware, operating systems, and drivers may vary. In particular, older Intel iGPUs have a high likelihood of incompatibility. We are also aware of a number of issues on devices with Adreno GPUs and are working to resolve them.
### 1. Dump your game ### 1. Verify your dump
You must dump your own copy of the game, please see [this article](https://wiki.dolphin-emu.org/index.php?title=Ripping_Games) for instructions. After dumping, you can use a program like [Dolphin](https://dolphin-emu.org/) or [nodtool](https://github.com/encounter/nod/releases) to convert the `.iso` to a `.rvz` to save space. First, make sure your dump of the game is clean and supported by Dusklight. You can do this by checking the SHA-1 hash of your dump against this list of supported versions:
Currently, only the GameCube USA and EUR releases are supported. Support for other versions of the game is planned in the future. | Version | SHA-1 hash |
|--------------| ------------------------------------------ |
| GameCube USA | `75edd3ddff41f125d1b4ce1a40378f1b565519e7` |
| GameCube EUR | `2601822a488eeb86fb89db16ca8f29c2c953e1ca` |
*Support for other versions of the game is planned in the future.
### 2. Download [Dusklight](https://github.com/TwilitRealm/dusklight/releases) ### 2. Download [Dusklight](https://github.com/TwilitRealm/dusklight/releases)
+2 -3
View File
@@ -6,7 +6,6 @@ fi
build_dir="$PWD/build" build_dir="$PWD/build"
linuxdeploy="$build_dir/linuxdeploy-$(uname -m).AppImage" linuxdeploy="$build_dir/linuxdeploy-$(uname -m).AppImage"
lib_dir="/usr/lib/$(uname -m)-linux-gnu"
# Get linuxdeploy # Get linuxdeploy
mkdir -p "$build_dir" mkdir -p "$build_dir"
@@ -20,8 +19,8 @@ for install_path in build/install/*; do
cp -r "$install_path" build/appdir/usr/bin cp -r "$install_path" build/appdir/usr/bin
done done
cp -r platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} build/appdir/usr/share/icons/hicolor cp -r platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} build/appdir/usr/share/icons/hicolor
cp platforms/freedesktop/dev.twilitrealm.dusk.desktop build/appdir/usr/share/applications cp platforms/freedesktop/dusklight.desktop build/appdir/usr/share/applications
cd build/install cd build/install
VERSION="$DUSK_VERSION" NO_STRIP=1 "$linuxdeploy" \ VERSION="$DUSK_VERSION" NO_STRIP=1 "$linuxdeploy" \
-l "$lib_dir/libusb-1.0.so" --appdir "$build_dir/appdir" --output appimage -l /usr/lib/x86_64-linux-gnu/libusb-1.0.so --appdir "$build_dir/appdir" --output appimage
-9
View File
@@ -1,9 +0,0 @@
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
if (CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "ARM64" OR CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "ARM64EC")
set(CMAKE_SYSTEM_PROCESSOR "ARM64")
elseif (CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "x64")
set(CMAKE_SYSTEM_PROCESSOR "AMD64")
elseif (CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "X86")
set(CMAKE_SYSTEM_PROCESSOR "X86")
endif ()
endif ()
+51 -185
View File
@@ -1,165 +1,51 @@
# Building Dusklight ### Building
#### Prerequisites
## Dependencies
The following dependencies are required:
* [CMake 3.25+](https://cmake.org) * [CMake 3.25+](https://cmake.org)
* Windows: Install `CMake Tools` in Visual Studio
* macOS: `brew install cmake`
* [Python 3+](https://python.org) * [Python 3+](https://python.org)
* Windows: [Microsoft Store](https://go.microsoft.com/fwlink?linkID=2082640)
### Windows * Verify it's added to `%PATH%` by typing `python` in `cmd`.
* macOS: `brew install python@3`
* Install [CMake 3.25+](https://cmake.org) by searching `CMake Tools` in Visual Studio * **[Windows]** [Visual Studio 2026 Community](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx)
* Install Python 3 from the [Microsoft Store](https://go.microsoft.com/fwlink?linkID=2082640) and verify it's added to `%PATH%` by typing `python` in `cmd`. * Select `C++ Development` and verify the following packages are included:
* `Windows 11 SDK`
Recommended IDEs: * `CMake Tools`
* `C++ Clang Compiler`
* [Visual Studio 2026 Community](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx). During installation: * `C++ Clang-cl`
* Select `C++ Development` and verify the following packages are included: * **[macOS]** [Xcode 16.4+](https://developer.apple.com/xcode/download/)
* `Windows 11 SDK` * **[Linux]** Actively tested on Ubuntu 24.04, Arch Linux & derivatives.
* `CMake Tools` * Ubuntu 24.04+ packages
* `C++ Clang Compiler` ```
* `C++ Clang-cl` build-essential curl git ninja-build clang lld zlib1g-dev libcurl4-openssl-dev \
libglu1-mesa-dev libdbus-1-dev libvulkan-dev libxi-dev libxrandr-dev libasound2-dev libpulse-dev \
### macOS libudev-dev libpng-dev libncurses5-dev cmake libx11-xcb-dev python3 python-is-python3 \
libclang-dev libfreetype-dev libxinerama-dev libxcursor-dev python3-markupsafe libgtk-3-dev \
* Make sure [Homebrew](https://brew.sh) is installed libxss-dev libxtst-dev
* Install [CMake 3.25+](https://cmake.org) ```
* Arch Linux packages
```sh ```
brew install cmake base-devel cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr freetype2
``` ```
* Fedora packages
* Install Python 3 ```
cmake vulkan-headers ninja-build clang-devel llvm-devel libpng-devel
```sh ```
brew install python@3 * It's also important that you install the developer tools and libraries
``` ```
sudo dnf groupinstall "Development Tools" "Development Libraries"
Recommended IDEs: ```
#### Setup
* [Xcode 16.4 or later](https://developer.apple.com/xcode/) Clone and initialize the Dusklight repository
* [Visual Studio Code](https://code.visualstudio.com/download/)
* [CLion](https://www.jetbrains.com/clion/)
### Linux
Actively tested on Ubuntu 24.04, Arch Linux & derivatives.
**Ubuntu 24.04+ packages**
<details>
<summary>Click to expand</summary>
* Run the following command to install the required dependencies:
```sh
sudo apt update && sudo apt install -y \
build-essential \
clang \
cmake \
curl \
git \
libasound2-dev \
libclang-dev \
libcurl4-openssl-dev \
libdbus-1-dev \
libfreetype-dev \
libglu1-mesa-dev \
libgtk-3-dev \
libncurses5-dev \
libpng-dev \
libpulse-dev \
libudev-dev \
libvulkan-dev \
libx11-xcb-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev \
libxss-dev \
libxtst-dev \
lld \
ninja-build \
python-is-python3 \
python3 \
python3-markupsafe \
zlib1g-dev
```
</details>
<br>
**Arch Linux packages**
<details>
<summary>Click to expand</summary>
* Run the following command to install the required dependencies:
```sh
sudo pacman -S --needed \
alsa-lib \
base-devel \
clang \
cmake \
freetype2 \
libpulse \
libxrandr \
lld \
llvm \
ninja \
python \
python-markupsafe \
vulkan-headers
```
</details>
<br>
**Fedora packages**
<details>
<summary>Click to expand</summary>
* Run the following command to install the required dependencies:
```sh
sudo dnf install -y \
clang-devel \
cmake \
libpng-devel \
llvm-devel \
ninja-build \
vulkan-headers
```
* It's also important that you install the developer tools and libraries
```sh
sudo dnf groupinstall \
"Development Libraries" "Development Tools"
```
</details>
<br>
Recommended IDEs:
* [CLion](https://www.jetbrains.com/clion/)
* [Visual Studio Code](https://code.visualstudio.com/download/)
## Building
* Clone and initialize the Dusklight repository:
```sh ```sh
git clone --recursive https://github.com/TwilitRealm/dusklight.git git clone --recursive https://github.com/TwilitRealm/dusklight.git
git pull
cd dusklight cd dusklight
git pull
git submodule update --init --recursive git submodule update --init --recursive
``` ```
#### Building
**CLion (Windows / macOS / Linux)** **CLion (Windows / macOS / Linux)**
Open the project directory in CLion. Enable the appropriate presets for your platform: Open the project directory in CLion. Enable the appropriate presets for your platform:
@@ -178,9 +64,7 @@ cmake --build --preset macos-default-relwithdebinfo
``` ```
Alternate presets available: Alternate presets available:
- `macos-default-debug`: Clang, Debug
* `macos-default-debug`: Clang, Debug
* `macos-default-debug-asan`: Clang, Debug, AddressSanitizer
**ninja (Linux)** **ninja (Linux)**
@@ -190,12 +74,9 @@ cmake --build --preset linux-default-relwithdebinfo
``` ```
Alternate presets available: Alternate presets available:
- `linux-default-debug`: GCC, Debug
* `linux-default-debug`: GCC, Debug - `linux-clang-relwithdebinfo`: Clang, RelWithDebInfo
* `linux-default-debug-asan`: GCC, Debug, AddressSanitizer - `linux-clang-debug`: Clang, Debug
* `linux-clang-relwithdebinfo`: Clang, RelWithDebInfo
* `linux-clang-debug`: Clang, Debug
* `linux-clang-debug-asan`: Clang, Debug, AddressSanitizer
**ninja (Windows)** **ninja (Windows)**
@@ -205,28 +86,13 @@ cmake --build --preset windows-msvc-relwithdebinfo
``` ```
Alternate presets available: Alternate presets available:
- `windows-msvc-debug`: MSVC, Debug
- `windows-clang-relwithdebinfo`: Clang-cl, RelWithDebInfo
- `windows-clang-debug`: Clang-cl, Debug
* `windows-msvc-debug`: MSVC, Debug #### Running
* `windows-msvc-debug-asan`: MSVC, Debug, AddressSanitizer Pass the disc image as a positional argument. Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, GCZ
* `windows-clang-relwithdebinfo`: Clang-cl, RelWithDebInfo
* `windows-clang-debug`: Clang-cl, Debug
## Running
**Windows / Linux**
* Pass the disc image as a positional argument using the `--dvd` flag. Supported formats are: ISO (GCM), RVZ, WIA, WBFS, CISO, GCZ
```sh ```sh
build/{preset}/dusklight --dvd /path/to/game.iso build/{preset}/dusklight/path/to/game.rvz
```
**macOS**
macOS builds an `.app` bundle which contains the executable and all necessary resources.
* Pass the disc image as a positional argument using the `--dvd` flag. Supported formats are: ISO (GCM), RVZ, WIA, WBFS, CISO, GCZ
```sh
build/{preset}/Dusklight.app/Contents/MacOS/Dusklight --dvd /path/to/game.iso
``` ```
If no path is specified, Dusklight defaults to `game.iso` in the current working directory.
+26 -28
View File
@@ -1,48 +1,46 @@
# Installing Dusklight on iOS via iloader # Installing Dusklight on iOS via AltStore
## Prerequisites ## Prerequisites
- A Windows, Linux, or macOS device - Mac with Homebrew installed
- iOS device connected to computer via USB - iPhone connected via USB
- Dusklight IPA file (download the latest `Dusklight-vX.X.X-ios-arm64.ipa` from the [releases page](https://github.com/TwilitRealm/dusklight/releases)) - Dusklight IPA file (download the latest `Dusklight-vX.X.X-ios-arm64.ipa` from the [releases page](https://github.com/TwilitRealm/dusk/releases))
- Legally acquired game disc - `GZ2E01` (Gamecube USA) or `GZ2PE01` (Gamecube PAL) - Game disc - `GZ2E01` (Gamecube USA) or `GZ2PE01` (Gamecube PAL)
## 1. Install iloader ## 1. Install AltServer
- Executable bundles can be installed from [iloader's main page](https://iloader.app/) or [their GitHub](https://github.com/nab138/iloader) for Windows, Linux, and macOS. ```sh
- Windows WILL require iTunes to be installed brew install altserver
- Linux WILL require usbmuxd to be installed, this is installed by default in most distros though open -a AltServer
```
AltServer will appear in your menu bar.
## 2. Enable Developer Mode (iOS 16+) ## 2. Enable Developer Mode (iOS 16+)
- On your iPhone, go to **Settings > Privacy & Security > Developer Mode** - On your iPhone, go to **Settings > Privacy & Security > Developer Mode**
- Toggle it on, put in your device passcode, and restart when prompted - Toggle it on and restart when prompted
## 3. Install Dusklight on Your iPhone ## 3. Install AltStore on Your iPhone
1. Sign into your Apple ID (this is required for registering app IDs, it is sent securely directly to Apple and not stored by iloader) - Click AltServer in the menu bar
* You may be prompted to put in a code from your iOS device if you have 2FA enabled, do so - Click **Install AltStore > [Your iPhone]**
2. Plug in your iOS device via USB into your PC. If you're missing a dependency, an error pop-up will tell you to install it - Enter your Apple ID credentials when prompted
* You will need to hit `Refresh` after plugging it in at this stage so that it can be detected, it does not automatically refresh - On your iPhone, go to **Settings > General > VPN & Device Management**
3. Leave settings unchanged (the Anisette server should stay Sidestore (.io)) - Tap your Apple ID under "Developer App" and tap **Trust**
3.(a) Installing SideStore directly is not required, but provides you a way to install Dusklight on your phone without being plugged into a computer later
4. Press `Import IPA` and choose your downloaded `Dusklight-v.X.X.X-ios-arm64.ipa`, it will begin installing on your device
**NOTE:** *At various stages, you may be prompted to trust your device, do so*
## 3. Getting Dusklight trusted
When installing sideloaded iOS applications, at first you will need to manually trust the app due to Apple's security policies
* Go to **Settings > General > VPN & Device Management**
* Tap the Apple ID you signed into iloader with under "Developer App" and tap **Trust**
* Tap **Allow** on the pop-up
## 4. Copy Files to Your iPhone ## 4. Copy Files to Your iPhone
Transfer the game disc (and optionally, the Dusklight IPA) to your iPhone so they are accessible in the Files app. A few ways to do this: Transfer the IPA and game disc to your iPhone so they're accessible in the Files app. A few ways to do this:
- **AirDrop** - Right-click the files on your Mac and choose Share > AirDrop - **AirDrop** - Right-click the files on your Mac and choose Share > AirDrop
- **iCloud Drive** - Place files in iCloud Drive on your Mac and they'll sync to Files on your iPhone - **iCloud Drive** - Place files in iCloud Drive on your Mac and they'll sync to Files on your iPhone
- **USB transfer** - Connect your iPhone and drag files via Finder's sidebar - **USB transfer** - Connect your iPhone and drag files via Finder's sidebar
- **Cloud storage** - Upload to Google Drive, Dropbox, etc. and download on your iPhone - **Cloud storage** - Upload to Google Drive, Dropbox, etc. and download on your iPhone
You may now use Dusklight on iOS and iPadOS! ## 5. Install via AltStore
- Open **AltStore** on your iPhone
- Go to the **My Apps** tab
- Tap the **+** button (top left)
- Open the **Files** app and select the `.ipa` file
+1 -1
-31
View File
@@ -1418,13 +1418,8 @@ set(DUSK_FILES
include/dusk/scope_guard.hpp include/dusk/scope_guard.hpp
src/dusk/dvd_asset.cpp src/dusk/dvd_asset.cpp
src/d/actor/d_a_alink_dusk.cpp src/d/actor/d_a_alink_dusk.cpp
src/dusk/android_frame_rate.hpp
src/dusk/android_frame_rate.cpp
src/dusk/asserts.cpp src/dusk/asserts.cpp
src/dusk/batch.cpp
src/dusk/batch.hpp
src/dusk/config.cpp src/dusk/config.cpp
src/dusk/crash_handler.cpp
src/dusk/crash_reporting.cpp src/dusk/crash_reporting.cpp
src/dusk/data.cpp src/dusk/data.cpp
src/dusk/data.hpp src/dusk/data.hpp
@@ -1436,9 +1431,6 @@ set(DUSK_FILES
src/dusk/game_clock.cpp src/dusk/game_clock.cpp
src/dusk/globals.cpp src/dusk/globals.cpp
src/dusk/gyro.cpp src/dusk/gyro.cpp
include/dusk/menu_pointer.h
src/dusk/menu_pointer.cpp
src/dusk/mouse.cpp
src/dusk/gamepad_color.cpp src/dusk/gamepad_color.cpp
src/dusk/autosave.cpp src/dusk/autosave.cpp
src/dusk/http/http.hpp src/dusk/http/http.hpp
@@ -1447,11 +1439,7 @@ set(DUSK_FILES
src/dusk/logging.cpp src/dusk/logging.cpp
src/dusk/settings.cpp src/dusk/settings.cpp
src/dusk/speedrun.cpp src/dusk/speedrun.cpp
src/dusk/string.cpp
src/dusk/stubs.cpp src/dusk/stubs.cpp
include/dusk/texture_replacements.hpp
src/dusk/texture_replacements.cpp
src/dusk/touch_camera.cpp
src/dusk/update_check.cpp src/dusk/update_check.cpp
src/dusk/update_check.hpp src/dusk/update_check.hpp
#src/dusk/m_Do_ext_dusk.cpp #src/dusk/m_Do_ext_dusk.cpp
@@ -1481,7 +1469,6 @@ set(DUSK_FILES
src/dusk/ui/button.hpp src/dusk/ui/button.hpp
src/dusk/ui/component.cpp src/dusk/ui/component.cpp
src/dusk/ui/component.hpp src/dusk/ui/component.hpp
src/dusk/ui/controls.hpp
src/dusk/ui/controller_config.cpp src/dusk/ui/controller_config.cpp
src/dusk/ui/controller_config.hpp src/dusk/ui/controller_config.hpp
src/dusk/ui/document.cpp src/dusk/ui/document.cpp
@@ -1494,8 +1481,6 @@ set(DUSK_FILES
src/dusk/ui/graphics_tuner.hpp src/dusk/ui/graphics_tuner.hpp
src/dusk/ui/input.cpp src/dusk/ui/input.cpp
src/dusk/ui/input.hpp src/dusk/ui/input.hpp
src/dusk/ui/icon_provider.cpp
src/dusk/ui/icon_provider.hpp
src/dusk/ui/modal.cpp src/dusk/ui/modal.cpp
src/dusk/ui/modal.hpp src/dusk/ui/modal.hpp
src/dusk/ui/nav_types.hpp src/dusk/ui/nav_types.hpp
@@ -1521,12 +1506,6 @@ set(DUSK_FILES
src/dusk/ui/string_button.hpp src/dusk/ui/string_button.hpp
src/dusk/ui/tab_bar.cpp src/dusk/ui/tab_bar.cpp
src/dusk/ui/tab_bar.hpp src/dusk/ui/tab_bar.hpp
src/dusk/ui/touch_controls_common.cpp
src/dusk/ui/touch_controls_common.hpp
src/dusk/ui/touch_controls.cpp
src/dusk/ui/touch_controls.hpp
src/dusk/ui/touch_controls_editor.cpp
src/dusk/ui/touch_controls_editor.hpp
src/dusk/ui/ui.cpp src/dusk/ui/ui.cpp
src/dusk/ui/ui.hpp src/dusk/ui/ui.hpp
src/dusk/ui/warp.cpp src/dusk/ui/warp.cpp
@@ -1546,16 +1525,6 @@ set(DUSK_FILES
src/dusk/discord_presence.cpp src/dusk/discord_presence.cpp
src/dusk/version.cpp src/dusk/version.cpp
src/dusk/action_bindings.cpp src/dusk/action_bindings.cpp
src/dusk/tphd/TphdPack.hpp
src/dusk/tphd/TphdPack.cpp
src/dusk/tphd/GtxParser.hpp
src/dusk/tphd/GtxParser.cpp
src/dusk/tphd/AddrLib.hpp
src/dusk/tphd/AddrLib.cpp
src/dusk/tphd/HdAssetLayer.hpp
src/dusk/tphd/HdAssetLayer.cpp
src/dusk/tphd/LosTable.hpp
src/dusk/tphd/LosTable.cpp
) )
set(DUSK_HTTP_BACKEND_FILES set(DUSK_HTTP_BACKEND_FILES
-32
View File
@@ -1,32 +0,0 @@
From f69d29614644f9963f5cb3f828b58575d60a1c5a Mon Sep 17 00:00:00 2001
From: Joshua Trees <gh@jtrees.io>
Date: Thu, 4 Jun 2026 01:04:04 +0100
Subject: [PATCH] fix cmake paths
---
cmake/nodConfig.cmake.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cmake/nodConfig.cmake.in b/cmake/nodConfig.cmake.in
index 0969382..2a24a88 100644
--- a/cmake/nodConfig.cmake.in
+++ b/cmake/nodConfig.cmake.in
@@ -1,12 +1,12 @@
@PACKAGE_INIT@
-set(_nod_libdir "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@")
-set(_nod_incdir "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@")
+set(_nod_libdir "@CMAKE_INSTALL_FULL_LIBDIR@")
+set(_nod_incdir "@CMAKE_INSTALL_FULL_INCLUDEDIR@")
if (NOT TARGET nod::nod_shared AND NOT TARGET nod::nod_static)
# Shared library
if (WIN32)
- set(_nod_dll "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_BINDIR@/${CMAKE_SHARED_LIBRARY_PREFIX}nod${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ set(_nod_dll "@CMAKE_INSTALL_FULL_BINDIR@/${CMAKE_SHARED_LIBRARY_PREFIX}nod${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(_nod_implib "${_nod_libdir}/${CMAKE_IMPORT_LIBRARY_PREFIX}nod${CMAKE_IMPORT_LIBRARY_SUFFIX}")
if (EXISTS "${_nod_dll}")
add_library(nod::nod_shared SHARED IMPORTED)
--
2.53.0
Generated
+3 -3
View File
@@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1778869304, "lastModified": 1775710090,
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github" "type": "github"
}, },
"original": { "original": {
+196 -354
View File
@@ -1,386 +1,228 @@
{ {
description = "Dusklight native PC port of the Twilight Princess decompilation"; inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; };
outputs = { self, nixpkgs }:
outputs =
{ self, nixpkgs }:
let let
inherit (nixpkgs) lib;
supportedSystems = [ supportedSystems = [
"x86_64-linux" "x86_64-linux"
"aarch64-linux" "aarch64-linux"
"x86_64-darwin" "x86_64-darwin"
"aarch64-darwin" "aarch64-darwin"
]; ];
forAllSystems = lib.genAttrs supportedSystems; forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
pkgsFor = system: import nixpkgs { inherit system; };
dawnVersion = "v20260423.175430"; # Dependencies that are not packaged in nixpkgs (used by the Linux package build):
nodVersion = "v2.0.0-alpha.8"; buildSources = pkgs: {
versionSuffix = "nix-" + (self.shortRev or self.dirtyShortRev or "dirty"); aurora-src = pkgs.fetchFromGitHub {
owner = "encounter";
dawnInfo = { repo = "aurora";
"x86_64-linux" = { rev = "63606a43265a3bc18dafd500ab4d7a2108f109e6";
triple = "linux-x86_64"; hash = "sha256-xBvnAwGwNzav67Ac6oUz7RqDUwqgL2bsME3OOMn8Tqw=";
};
dawn-src = pkgs.fetchzip {
url = "https://github.com/encounter/dawn-build/releases/download/v20260423.175430/dawn-linux-x86_64.tar.gz";
hash = "sha256-HXfKTLHtMPwupnFnaflCARtXVPuS/0PoCePXidjE5xs="; hash = "sha256-HXfKTLHtMPwupnFnaflCARtXVPuS/0PoCePXidjE5xs=";
stripRoot = false;
}; };
"aarch64-linux" = { nod-src = pkgs.fetchzip {
triple = "linux-aarch64"; url = "https://github.com/encounter/nod/releases/download/v2.0.0-alpha.8/libnod-linux-x86_64.tar.gz";
hash = "sha256-34yyFpfqBZUwoFXQ41F0AwAU78FaNihOSY0oriwn6B0=";
};
"aarch64-darwin" = {
triple = "darwin-arm64";
hash = "sha256-eQnzrBp6gjiBek1VYQ9A5W13ClYWrDDKjIqv/7eNTR4=";
};
"x86_64-darwin" = {
triple = "darwin-x86_64";
hash = "sha256-QGWiGdxiI9kci3NPXH6QFFirxn16851zB/w3jqhIBJ4=";
};
};
nodPrebuiltInfo = {
"x86_64-linux" = {
triple = "linux-x86_64";
hash = "sha256-mUqvLsbsqaZ+HAjMmHYPYO+MgtanGRTw7Gzn5uXR5rE="; hash = "sha256-mUqvLsbsqaZ+HAjMmHYPYO+MgtanGRTw7Gzn5uXR5rE=";
stripRoot = false;
}; };
"aarch64-darwin" = { # The version of imgui on nixpkgs does not map cleanly.
triple = "macos-arm64"; imgui-src = pkgs.fetchFromGitHub {
hash = "sha256-UPy1ywCcv0K6VJOU3uUelJuUdBh3UNaPRlyP5LOBeDw="; owner = "ocornut";
repo = "imgui";
rev = "v1.91.9b-docking";
hash = "sha256-mQOJ6jCN+7VopgZ61yzaCnt4R1QLrW7+47xxMhFRHLQ=";
};
sqlite-src = pkgs.fetchzip {
url = "https://sqlite.org/2026/sqlite-amalgamation-3510300.zip";
hash = "sha256-pNMR8zxaaqfAzQ0AQBOXMct4usdjey1Q0Gnitg06UhM=";
};
rmlui-src = pkgs.fetchzip {
url = "https://github.com/mikke89/RmlUi/archive/f9b8c9e2935d5df2c7dff2c190d3968e99b0c3dc.tar.gz";
hash = "sha256-g4O/JZUrrcseOz8o2QJRt+2CeuiLnVeuDJc906xvuIg=";
}; };
}; };
perSystem = # Dusklight Actual (Linux x86_64 only — relies on prebuilt dawn/nod binaries)
system: mkDusklight = pkgs:
let let srcs = buildSources pkgs;
pkgs = import nixpkgs { inherit system; }; versionSuffix = if self ? shortRev && self.shortRev != null
inherit (pkgs.stdenv.hostPlatform) isDarwin; then "nix-${self.shortRev}"
hasNodPrebuilt = nodPrebuiltInfo ? ${system}; else "nix-dirty";
in
aurora = builtins.pathExists "${self}/extern/aurora/CMakeLists.txt"; pkgs.stdenv.mkDerivation {
needSubmodules = '' name = "dusklight";
dusklight: The aurora submodule is not vendored. Add submodules=1 to build. src = ./.;
postUnpack = ''
As a flake input: mkdir -p $sourceRoot/extern/aurora
cp -r ${srcs.aurora-src}/. $sourceRoot/extern/aurora/
dusklight.url = "git+https://github.com/TwilitRealm/dusklight?ref=main&submodules=1"; chmod -R u+w $sourceRoot/extern/aurora
sed -i '/add_subdirectory(tests)/d' $sourceRoot/extern/aurora/CMakeLists.txt
nix command:
nix run 'git+https://github.com/TwilitRealm/dusklight?submodules=1'
Local checkout:
nix run '.?submodules=1#dusklight'
''; '';
# Remove last line to re-enable tests
dawn = pkgs.fetchzip { cmakeFlags = [
url = "https://github.com/encounter/dawn-build/releases/download/${dawnVersion}/dawn-${dawnInfo.${system}.triple}.tar.gz"; "-DDUSK_VERSION_OVERRIDE=${versionSuffix}"
hash = dawnInfo.${system}.hash; "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
stripRoot = false; "-DFETCHCONTENT_SOURCE_DIR_CXXOPTS=${pkgs.cxxopts.src}"
}; "-DFETCHCONTENT_SOURCE_DIR_JSON=${pkgs.nlohmann_json.src}"
"-DFETCHCONTENT_SOURCE_DIR_DAWN_PREBUILT=${srcs.dawn-src}"
corrosion = pkgs.fetchFromGitHub { "-DFETCHCONTENT_SOURCE_DIR_XXHASH=${pkgs.xxHash.src}"
owner = "corrosion-rs"; "-DFETCHCONTENT_SOURCE_DIR_FMT=${pkgs.fmt.src}"
repo = "corrosion"; "-DFETCHCONTENT_SOURCE_DIR_TRACY=${pkgs.tracy.src}"
rev = "v0.6.1"; "-DAURORA_SDL3_PROVIDER=system"
hash = "sha256-ppuDNObfKhneD9AlnPAvyCRHKW3BidXKglD1j/LE9CM="; "-DFETCHCONTENT_SOURCE_DIR_NOD_PREBUILT=${srcs.nod-src}"
}; "-DAURORA_NOD_PROVIDER=package"
"-DFETCHCONTENT_SOURCE_DIR_FREETYPE=${pkgs.freetype.src}"
nodFromSource = pkgs.stdenv.mkDerivation (finalAttrs: { "-DFETCHCONTENT_SOURCE_DIR_ZSTD=${pkgs.zstd.src}"
pname = "nod"; "-DFETCHCONTENT_SOURCE_DIR_SQLITE3=${srcs.sqlite-src}"
version = nodVersion; "-DFETCHCONTENT_SOURCE_DIR_IMGUI=${srcs.imgui-src}"
src = pkgs.fetchFromGitHub { "-DFETCHCONTENT_SOURCE_DIR_RMLUI=${srcs.rmlui-src}"
owner = "encounter"; "-DCMAKE_CROSSCOMPILING=ON" # Tests are not working as I didn't want to work through getting google's test suite working as well. This is the only guard I could find to disable it.
repo = "nod";
rev = nodVersion;
hash = "sha256-+zrtVzjo0+X/6uMcNUn1+FaSR+jOhrcQSDNBFjw0NDs=";
};
patches = [ ./fix-cmake-paths.patch ];
cargoDeps = pkgs.rustPlatform.importCargoLock {
lockFile = "${finalAttrs.src}/Cargo.lock";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-warn "add_subdirectory(nod-ffi/examples)" ""
'';
nativeBuildInputs = [
pkgs.cmake
pkgs.ninja
pkgs.rustPlatform.cargoSetupHook
pkgs.cargo
pkgs.rustc
];
CARGO_NET_OFFLINE = "true";
cmakeFlags = [
"-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
"-DFETCHCONTENT_SOURCE_DIR_CORROSION=${corrosion}"
"-DNOD_ENABLE_INSTALL=ON"
"-DBUILD_SHARED_LIBS=OFF"
];
doCheck = false;
});
nod =
if hasNodPrebuilt then
pkgs.fetchzip {
url = "https://github.com/encounter/nod/releases/download/${nodVersion}/libnod-${
nodPrebuiltInfo.${system}.triple
}.tar.gz";
hash = nodPrebuiltInfo.${system}.hash;
stripRoot = false;
}
else
nodFromSource;
fetchContentDirs = {
DAWN_PREBUILT = dawn;
NOD_PREBUILT = nod;
CXXOPTS = pkgs.cxxopts.src;
JSON = pkgs.nlohmann_json.src;
XXHASH = pkgs.xxhash.src;
ZSTD = pkgs.zstd.src;
FMT = pkgs.fetchzip {
url = "https://github.com/fmtlib/fmt/archive/refs/tags/11.1.4.tar.gz";
hash = "sha256-sUbxlYi/Aupaox3JjWFqXIjcaQa0LFjclQAOleT+FRA=";
};
TRACY = pkgs.fetchzip {
url = "https://github.com/wolfpld/tracy/archive/a64b9a20294d59421a2f57aeca3c6383d8c48169.tar.gz";
hash = "sha256-hbNGOsGeyGSvCJ2No8RkwOib1lX2on3vNZSzyVkZdXw=";
};
IMGUI = pkgs.fetchFromGitHub {
owner = "ocornut";
repo = "imgui";
rev = "v1.91.9b-docking";
hash = "sha256-mQOJ6jCN+7VopgZ61yzaCnt4R1QLrW7+47xxMhFRHLQ=";
};
SQLITE3 = pkgs.fetchzip {
url = "https://sqlite.org/2026/sqlite-amalgamation-3510300.zip";
hash = "sha256-pNMR8zxaaqfAzQ0AQBOXMct4usdjey1Q0Gnitg06UhM=";
};
RMLUI = pkgs.fetchzip {
url = "https://github.com/mikke89/RmlUi/archive/f9b8c9e2935d5df2c7dff2c190d3968e99b0c3dc.tar.gz";
hash = "sha256-g4O/JZUrrcseOz8o2QJRt+2CeuiLnVeuDJc906xvuIg=";
};
};
dusklight =
if !aurora then
throw needSubmodules
else
pkgs.stdenv.mkDerivation {
pname = "dusklight";
version = versionSuffix;
src = ./.;
postUnpack = ''
chmod -R u+w "$sourceRoot"
substituteInPlace "$sourceRoot/extern/aurora/CMakeLists.txt" \
--replace-warn "add_subdirectory(tests)" ""
'';
nativeBuildInputs = [
pkgs.cmake
pkgs.ninja
pkgs.pkg-config
pkgs.python3
pkgs.python3Packages.markupsafe
]
++ lib.optionals (!isDarwin) [ pkgs.autoPatchelfHook ];
buildInputs = [
pkgs.sdl3
pkgs.freetype
pkgs.zstd
pkgs.cxxopts
pkgs.nlohmann_json
pkgs.xxhash
pkgs.abseil-cpp
pkgs.zlib
pkgs.libpng
pkgs.libjpeg_turbo
pkgs.curl
pkgs.openssl
]
++ lib.optionals isDarwin [
pkgs.apple-sdk_15
pkgs.libiconv
]
++ lib.optionals (!isDarwin) [
pkgs.libGL
pkgs.libGLU
pkgs.libglvnd
pkgs.vulkan-loader
pkgs.libX11
pkgs.libxcb
pkgs.libXcursor
pkgs.libxi
pkgs.libxrandr
pkgs.libxscrnsaver
pkgs.libxtst
pkgs.libxinerama
pkgs.libxkbcommon
pkgs.wayland
pkgs.libdecor
pkgs.alsa-lib
pkgs.libpulseaudio
pkgs.pipewire
pkgs.dbus
pkgs.udev
pkgs.libusb1
pkgs.libunwind
pkgs.gtk3
nod
];
cmakeBuildType = "RelWithDebInfo";
ninjaFlags = [ "dusklight" ];
cmakeFlags = [
"-DDUSK_VERSION_OVERRIDE=${versionSuffix}"
"-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
"-DAURORA_DAWN_PROVIDER=package"
"-DAURORA_DAWN_LINKAGE=static"
"-DAURORA_NOD_PROVIDER=system"
"-DAURORA_SDL3_PROVIDER=system"
"-DBUILD_SHARED_LIBS=OFF"
]
++ lib.mapAttrsToList (key: src: "-DFETCHCONTENT_SOURCE_DIR_${key}=${src}") fetchContentDirs;
installPhase =
if isDarwin then
''
runHook preInstall
mkdir -p "$out/Applications"
cp -r Dusklight.app "$out/Applications/Dusklight.app"
runHook postInstall
''
else
''
runHook preInstall
install -Dm755 dusklight "$out/bin/dusklight"
cp -r "$src/res" "$out/bin/res"
install -Dm644 "$src/platforms/freedesktop/dev.twilitrealm.dusk.desktop" \
"$out/share/applications/dev.twilitrealm.dusk.desktop"
for size in 16 32 48 64 128 256 512 1024; do
install -Dm644 "$src/platforms/freedesktop/''${size}x''${size}/apps/dev.twilitrealm.dusk.png" \
"$out/share/icons/hicolor/''${size}x''${size}/apps/dev.twilitrealm.dusk.png"
done
runHook postInstall
'';
dontStrip = true;
meta = {
description = "Dusklight native PC port of the Twilight Princess decompilation";
homepage = "https://github.com/zeldaret/tp";
platforms = supportedSystems;
mainProgram = "dusklight";
};
};
# Tooling common to every supported host (Linux and macOS).
commonDevTools = [
pkgs.cmake
pkgs.ninja
pkgs.pkg-config
pkgs.git
pkgs.python3
pkgs.python3Packages.markupsafe
pkgs.rustc
pkgs.cargo
pkgs.sccache
]; ];
installPhase = ''
mkdir -p $out/bin
cp dusklight $out/bin/dusklight
cp -r ./res $out/bin/res
# Linux-only system libraries — mirrors the apt deps from .github/workflows/build.yml mkdir -p $out/share/applications
# so the cmake presets resolve the same set of headers as CI. cp $src/platforms/freedesktop/dusklight.desktop $out/share/applications/dusklight.desktop
linuxDevDeps = [
# Compilers / linkers for size in 16 32 48 64 128 256 512 1024; do
pkgs.clang install -Dm644 $src/platforms/freedesktop/''${size}x''${size}/apps/dusklight.png \
pkgs.lld $out/share/icons/hicolor/''${size}x''${size}/apps/dusklight.png
# C/C++ utilities done
pkgs.curl '';
pkgs.openssl nativeBuildInputs = [
pkgs.zlib pkgs.cmake
pkgs.libpng pkgs.pkg-config
pkgs.libjpeg_turbo
pkgs.freetype
pkgs.zstd
pkgs.fmt
pkgs.tracy
pkgs.cxxopts
pkgs.abseil-cpp
pkgs.sdl3
pkgs.ncurses
pkgs.libunwind
pkgs.libusb1
pkgs.fuse
# Wayland / display server
pkgs.wayland pkgs.wayland
pkgs.wayland-protocols ];
pkgs.libxkbcommon buildInputs = [
pkgs.libdecor
# OpenGL / Vulkan
pkgs.libGL pkgs.libGL
pkgs.libGLU
pkgs.libglvnd
pkgs.vulkan-headers
pkgs.vulkan-loader
# X11
pkgs.libX11 pkgs.libX11
pkgs.libxcb
pkgs.libXcursor pkgs.libXcursor
pkgs.libxi pkgs.libxi
pkgs.libxcb
pkgs.libxrandr pkgs.libxrandr
pkgs.libxscrnsaver pkgs.libxscrnsaver
pkgs.libxtst pkgs.libxtst
pkgs.libxinerama pkgs.libjpeg8
# Audio pkgs.libxkbcommon
pkgs.alsa-lib pkgs.libglvnd
pkgs.libpulseaudio pkgs.cxxopts
pkgs.pipewire pkgs.abseil-cpp
# System integration pkgs.sdl3
pkgs.dbus pkgs.fmt
pkgs.udev pkgs.tracy
pkgs.gtk3 pkgs.freetype
pkgs.zstd
]; ];
# On macOS we deliberately avoid pulling Nix's cc-wrapper so CMake picks up
# Apple Clang and the Xcode SDK directly, matching the macOS CI workflow.
darwinShell = pkgs.mkShellNoCC {
packages = commonDevTools;
shellHook = ''
echo "Dusklight dev shell (macOS)"
echo "Requires Xcode Command Line Tools for Apple Clang and the macOS SDK."
echo "Configure: cmake --preset macos-default-relwithdebinfo"
echo "Build: cmake --build --preset macos-default-relwithdebinfo"
'';
};
linuxShell = pkgs.mkShell {
packages = commonDevTools ++ linuxDevDeps;
shellHook = ''
echo "Dusklight dev shell (Linux)"
echo "Configure: cmake --preset linux-default-relwithdebinfo"
echo " cmake --preset linux-clang-relwithdebinfo"
echo "Build: cmake --build --preset <preset>"
'';
};
in
{
packages = {
default = dusklight;
dusklight = dusklight;
}
// lib.optionalAttrs (!hasNodPrebuilt) { nod = nodFromSource; };
devShells.default = if isDarwin then darwinShell else linuxShell;
}; };
systems = forAllSystems perSystem; # Tooling common to every supported host (Linux and macOS).
in commonDevTools = pkgs: [
{ pkgs.cmake
packages = lib.mapAttrs (_: s: s.packages) systems; pkgs.ninja
devShells = lib.mapAttrs (_: s: s.devShells) systems; pkgs.pkg-config
pkgs.git
pkgs.python3
pkgs.python3Packages.markupsafe
pkgs.rustc
pkgs.cargo
pkgs.sccache
];
# Linux-only system libraries — mirrors the apt deps from .github/workflows/build.yml
# so the cmake presets resolve the same set of headers as CI.
linuxDevDeps = pkgs: [
# Compilers / linkers
pkgs.clang
pkgs.lld
# C/C++ utilities
pkgs.curl
pkgs.openssl
pkgs.zlib
pkgs.libpng
pkgs.libjpeg_turbo
pkgs.freetype
pkgs.zstd
pkgs.fmt
pkgs.tracy
pkgs.cxxopts
pkgs.abseil-cpp
pkgs.sdl3
pkgs.ncurses
pkgs.libunwind
pkgs.libusb1
pkgs.fuse
# Wayland / display server
pkgs.wayland
pkgs.wayland-protocols
pkgs.libxkbcommon
pkgs.libdecor
# OpenGL / Vulkan
pkgs.libGL
pkgs.libGLU
pkgs.libglvnd
pkgs.vulkan-headers
pkgs.vulkan-loader
# X11
pkgs.libX11
pkgs.libxcb
pkgs.libXcursor
pkgs.libxi
pkgs.libxrandr
pkgs.libxscrnsaver
pkgs.libxtst
pkgs.libxinerama
# Audio
pkgs.alsa-lib
pkgs.libpulseaudio
pkgs.pipewire
# System integration
pkgs.dbus
pkgs.udev
pkgs.gtk3
];
# On macOS we deliberately avoid pulling Nix's cc-wrapper so CMake picks up
# Apple Clang and the Xcode SDK directly, matching the macOS CI workflow.
mkDarwinShell = pkgs:
pkgs.mkShellNoCC {
packages = commonDevTools pkgs;
shellHook = ''
echo "Dusklight dev shell (macOS)"
echo "Requires Xcode Command Line Tools for Apple Clang and the macOS SDK."
echo "Configure: cmake --preset macos-default-relwithdebinfo"
echo "Build: cmake --build --preset macos-default-relwithdebinfo"
'';
};
mkLinuxShell = pkgs:
pkgs.mkShell {
packages = (commonDevTools pkgs) ++ (linuxDevDeps pkgs);
shellHook = ''
echo "Dusklight dev shell (Linux)"
echo "Configure: cmake --preset linux-default-relwithdebinfo"
echo " cmake --preset linux-clang-relwithdebinfo"
echo "Build: cmake --build --preset <preset>"
'';
};
mkDevShell = pkgs:
if pkgs.stdenv.isDarwin
then mkDarwinShell pkgs
else mkLinuxShell pkgs;
in {
packages.x86_64-linux.default = mkDusklight (pkgsFor "x86_64-linux");
devShells = forAllSystems (system: {
default = mkDevShell (pkgsFor system);
});
}; };
} }
+1 -1
View File
@@ -98,7 +98,7 @@ T cLib_calcTimer(T* value) {
void MtxInit(void); void MtxInit(void);
void MtxTrans(f32, f32, f32, u8); void MtxTrans(f32, f32, f32, u8);
void MtxScale(f32, f32, f32, u8); void MtxScale(f32, f32, f32, u8);
void MtxPosition(cXyz DUSK_CONST*, cXyz*); void MtxPosition(cXyz*, cXyz*);
void MtxPush(void); void MtxPush(void);
void MtxPull(void); void MtxPull(void);
+3 -3
View File
@@ -45,17 +45,17 @@ struct cXyz : Vec {
~cXyz() = default; ~cXyz() = default;
cXyz(const cXyz& vec) = default; cXyz(const cXyz& vec) = default;
#endif #endif
DUSK_CONSTEXPR cXyz(f32 x, f32 y, f32 z) { cXyz(f32 x, f32 y, f32 z) {
this->x = x; this->x = x;
this->y = y; this->y = y;
this->z = z; this->z = z;
} }
DUSK_CONSTEXPR cXyz(const Vec& vec) { cXyz(const Vec& vec) {
this->x = vec.x; this->x = vec.x;
this->y = vec.y; this->y = vec.y;
this->z = vec.z; this->z = vec.z;
} }
DUSK_CONSTEXPR cXyz& operator=(const Vec& vec) { cXyz& operator=(const Vec& vec) {
this->x = vec.x; this->x = vec.x;
this->y = vec.y; this->y = vec.y;
this->z = vec.z; this->z = vec.z;
-4
View File
@@ -158,10 +158,6 @@ enum Z2Scene {
/* 0x4E */ Z2SCENE_GROTTO_ROCK_2, /* 0x4E */ Z2SCENE_GROTTO_ROCK_2,
/* 0x4F */ Z2SCENE_GROTTO_POND, /* 0x4F */ Z2SCENE_GROTTO_POND,
/* 0x50 */ Z2SCENE_FARON_WOODS_CAVE, /* 0x50 */ Z2SCENE_FARON_WOODS_CAVE,
#if TARGET_PC
/* 0x51 */ Z2SCENE_CAVE_OF_SHADOWS,
#endif
}; };
#endif /* Z2SCENEMGR_H */ #endif /* Z2SCENEMGR_H */
+1 -1
View File
@@ -14,7 +14,7 @@ struct Z2StatusMgr : public JASGlobalInstance<Z2StatusMgr> {
void menuIn(); void menuIn();
void menuOut(); void menuOut();
bool isMovieDemo(); bool isMovieDemo();
void setDemoName(DUSK_CONST char* demoName); void setDemoName(char* demoName);
void processTime(); void processTime();
bool checkDayTime(); bool checkDayTime();
void setEventBit(void* eventBit); void setEventBit(void* eventBit);
+3 -23
View File
@@ -88,10 +88,6 @@ public:
/* 0x02C */ cXyz field_0x2c; /* 0x02C */ cXyz field_0x2c;
/* 0x038 */ cXyz field_0x38[60]; /* 0x038 */ cXyz field_0x38[60];
/* 0x308 */ cXyz field_0x308[60]; /* 0x308 */ cXyz field_0x308[60];
#if TARGET_PC
TGXTexObj mBlurTexObj;
ResTIMG* mpCachedBlurTex = nullptr;
#endif
}; // Size = 0x5D8 }; // Size = 0x5D8
class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack { class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack {
@@ -4063,7 +4059,7 @@ public:
/* 0x02180 */ daAlink_matAnm_c* field_0x2180[2]; /* 0x02180 */ daAlink_matAnm_c* field_0x2180[2];
/* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x02188 */ dEyeHL_c mEyeHL1;
/* 0x0219C */ dEyeHL_c mEyeHL2; /* 0x0219C */ dEyeHL_c mEyeHL2;
/* 0x021B0 */ daPy_anmHeap_c mItemHeap[2]; /* 0x021B0 */ daPy_anmHeap_c mItemHeap[3];
/* 0x021D8 */ daPy_anmHeap_c mAnmHeap9; /* 0x021D8 */ daPy_anmHeap_c mAnmHeap9;
/* 0x021EC */ daAlinkHIO_c* mpHIO; /* 0x021EC */ daAlinkHIO_c* mpHIO;
/* 0x021F0 */ daAlink_blur_c m_swordBlur; /* 0x021F0 */ daAlink_blur_c m_swordBlur;
@@ -4549,19 +4545,16 @@ public:
/* 0x03840 */ cXyz* mIronBallChainPos; /* 0x03840 */ cXyz* mIronBallChainPos;
/* 0x03844 */ csXyz* mIronBallChainAngle; /* 0x03844 */ csXyz* mIronBallChainAngle;
/* 0x03848 */ cXyz* field_0x3848; /* 0x03848 */ cXyz* field_0x3848;
/* 0x0384C */ cXyz DUSK_CONST* field_0x384c; /* 0x0384C */ cXyz* field_0x384c;
/* 0x03850 */ daAlink_procFunc mpProcFunc; /* 0x03850 */ daAlink_procFunc mpProcFunc;
#if TARGET_PC #if TARGET_PC
void handleWolfHowl(); void handleWolfHowl();
void handleQuickTransform(); void handleQuickTransform();
bool checkAimContext(); bool checkGyroAimContext();
bool checkAimInputContext();
void onIronBallChainInterpCallback(); void onIronBallChainInterpCallback();
f32 mLosStickValue;
static const int IRON_BALL_CHAIN_COUNT = 102; static const int IRON_BALL_CHAIN_COUNT = 102;
cXyz mIBChainInterpPrevPos[IRON_BALL_CHAIN_COUNT]; cXyz mIBChainInterpPrevPos[IRON_BALL_CHAIN_COUNT];
cXyz mIBChainInterpCurrPos[IRON_BALL_CHAIN_COUNT]; cXyz mIBChainInterpCurrPos[IRON_BALL_CHAIN_COUNT];
@@ -4571,19 +4564,6 @@ public:
cXyz mIBChainInterpCurrHandRoot; cXyz mIBChainInterpCurrHandRoot;
bool mIBChainInterpPrevValid; bool mIBChainInterpPrevValid;
bool mIBChainInterpCurrValid; bool mIBChainInterpCurrValid;
cXyz mHsChainInterpPrevTop;
cXyz mHsChainInterpCurrTop;
cXyz mHsChainInterpPrevRoot;
cXyz mHsChainInterpCurrRoot;
cXyz mHsChainInterpPrevSubRoot;
cXyz mHsChainInterpCurrSubRoot;
cXyz mHsChainInterpPrevSubTop;
cXyz mHsChainInterpCurrSubTop;
bool mHsChainInterpPrevValid;
bool mHsChainInterpCurrValid;
bool mIsRollstab = false;
#endif #endif
}; // Size: 0x385C }; // Size: 0x385C
+1 -1
View File
@@ -203,7 +203,7 @@ private:
/* 0x0AAD */ bool mStayNo2Flag; /* 0x0AAD */ bool mStayNo2Flag;
/* 0x0AAE */ u8 mBlendStatus; /* 0x0AAE */ u8 mBlendStatus;
/* 0x0AB0 */ f32 mBlend; /* 0x0AB0 */ f32 mBlend;
/* 0x0AB4 */ char DUSK_CONST* mArcName; /* 0x0AB4 */ char* mArcName;
/* 0x0AB8 */ dBgS_AcchCir mAcchCir; /* 0x0AB8 */ dBgS_AcchCir mAcchCir;
/* 0x0AF8 */ dBgS_ObjAcch mAcch; /* 0x0AF8 */ dBgS_ObjAcch mAcch;
/* 0x0CD0 */ dBgS_AcchCir mAcchCirArr[16]; /* 0x0CD0 */ dBgS_AcchCir mAcchCirArr[16];
+4 -4
View File
@@ -23,10 +23,10 @@ public:
/* 3 */ ACT_END, /* 3 */ ACT_END,
}; };
DUSK_CONST char* getArcName(); char* getArcName();
DUSK_CONST char* getBmd(); char* getBmd();
DUSK_CONST char* getDzb(); char* getDzb();
DUSK_CONST char* getBmd2(); char* getBmd2();
J3DModelData* getDoorModelData(); J3DModelData* getDoorModelData();
int CreateHeap(); int CreateHeap();
void calcMtx(); void calcMtx();
+2 -2
View File
@@ -33,8 +33,8 @@ public:
typedef int (daBdoorL1_c::*actionFunc)(); typedef int (daBdoorL1_c::*actionFunc)();
DUSK_CONST char* getDoorEventName(); char* getDoorEventName();
DUSK_CONST char* getDoorEventName2(); char* getDoorEventName2();
const char* getArcName(); const char* getArcName();
const char* getAnmArcName(); const char* getAnmArcName();
int getDoorType(); int getDoorType();
+5 -5
View File
@@ -14,11 +14,11 @@
*/ */
class daDbDoor00_c : public fopAc_ac_c { class daDbDoor00_c : public fopAc_ac_c {
public: public:
DUSK_CONST char* getAlwaysArcName(); char* getAlwaysArcName();
DUSK_CONST char* getDzb(); char* getDzb();
DUSK_CONST char* getDummyBmdName(); char* getDummyBmdName();
DUSK_CONST char* getBmdArcName(); char* getBmdArcName();
DUSK_CONST char* getBmdName(); char* getBmdName();
J3DModelData* getDoorModelData(); J3DModelData* getDoorModelData();
int CreateHeap(); int CreateHeap();
void calcMtx(); void calcMtx();
+5 -5
View File
@@ -29,11 +29,11 @@ public:
typedef int (daKnob20_c::*actionFunc)(); typedef int (daKnob20_c::*actionFunc)();
DUSK_CONST char* getAlwaysArcName(); char* getAlwaysArcName();
DUSK_CONST char* getEvArcName(); char* getEvArcName();
DUSK_CONST char* getDzb(); char* getDzb();
DUSK_CONST char* getDummyBmd(); char* getDummyBmd();
DUSK_CONST char* getBmd(); char* getBmd();
J3DModelData* getDoorModelData(); J3DModelData* getDoorModelData();
int CreateHeap(); int CreateHeap();
void calcMtx(); void calcMtx();
+8 -8
View File
@@ -54,15 +54,15 @@ public:
typedef int (daMBdoorL1_c::*actionFunc)(); typedef int (daMBdoorL1_c::*actionFunc)();
DUSK_CONST char* getAnmArcName(); char* getAnmArcName();
DUSK_CONST char* getArcName(); char* getArcName();
DUSK_CONST char* getAlwaysArcName(); char* getAlwaysArcName();
int getDoorType(); int getDoorType();
DUSK_CONST char* getOpenAnm(); char* getOpenAnm();
DUSK_CONST char* getCloseAnm(); char* getCloseAnm();
DUSK_CONST char* getBmd(); char* getBmd();
DUSK_CONST char* getBtk(); char* getBtk();
DUSK_CONST char* getDzb(); char* getDzb();
J3DModelData* getDoorModelData(); J3DModelData* getDoorModelData();
int CreateHeap(); int CreateHeap();
void calcMtx(); void calcMtx();
+6 -6
View File
@@ -45,12 +45,12 @@ public:
ACTION_DEMO, ACTION_DEMO,
}; };
char DUSK_CONST* getStopBmdName(); char* getStopBmdName();
J3DModelData* getStopModelData(); J3DModelData* getStopModelData();
char DUSK_CONST* getAlwaysArcName(); char* getAlwaysArcName();
char DUSK_CONST* getArcName(); char* getArcName();
char DUSK_CONST* getBmdName(); char* getBmdName();
char DUSK_CONST* getBtk(); char* getBtk();
J3DModelData* getModelData(); J3DModelData* getModelData();
f32 getSize2X(); f32 getSize2X();
int CreateHeap(); int CreateHeap();
@@ -115,7 +115,7 @@ public:
int chkStopOpen(); int chkStopOpen();
int chkMakeKey(); int chkMakeKey();
virtual char DUSK_CONST* getDzbName(); virtual char* getDzbName();
virtual int getDemoAction(); virtual int getDemoAction();
void onFlag(u16 flag) { field_0x68e |= flag; } void onFlag(u16 flag) { field_0x68e |= flag; }
+1 -1
View File
@@ -32,7 +32,7 @@ public:
/* 0x5B4 */ J3DModel* mpModel; /* 0x5B4 */ J3DModel* mpModel;
/* 0x5B8 */ u8 mArrowType; /* 0x5B8 */ u8 mArrowType;
/* 0x5B9 */ u8 mFlags; /* 0x5B9 */ u8 mFlags;
/* 0x5BC */ char DUSK_CONST* mResName; /* 0x5BC */ char* mResName;
/* 0x5C0 */ s16 field_0x5c0; /* 0x5C0 */ s16 field_0x5c0;
/* 0x5C2 */ s16 mAction; /* 0x5C2 */ s16 mAction;
/* 0x5C4 */ s16 mMode; /* 0x5C4 */ s16 mMode;
+1 -1
View File
@@ -60,7 +60,7 @@ public:
/* 0x5B5 */ u8 mDistanceParam; /* 0x5B5 */ u8 mDistanceParam;
/* 0x5B6 */ u8 mType; /* 0x5B6 */ u8 mType;
/* 0x5B7 */ u8 mPathIndex; /* 0x5B7 */ u8 mPathIndex;
/* 0x5B8 */ DUSK_CONST char* mArcName; /* 0x5B8 */ char* mArcName;
/* 0x5BC */ u8 field_0x5bc; /* 0x5BC */ u8 field_0x5bc;
/* 0x5BD */ s8 mPathPoint; /* 0x5BD */ s8 mPathPoint;
/* 0x5BE */ s8 mPathStep; /* 0x5BE */ s8 mPathStep;
+1 -1
View File
@@ -38,7 +38,7 @@ public:
/* 0x05CC */ s16 target_ya; /* 0x05CC */ s16 target_ya;
/* 0x05D0 */ mDoExt_McaMorfSO* anm_p; /* 0x05D0 */ mDoExt_McaMorfSO* anm_p;
/* 0x05D4 */ Z2CreatureEnemy sound; /* 0x05D4 */ Z2CreatureEnemy sound;
/* 0x0678 */ DUSK_CONST char* resName; /* 0x0678 */ char* resName;
/* 0x067C */ int anm; /* 0x067C */ int anm;
/* 0x0680 */ int field_0x680; /* 0x0680 */ int field_0x680;
/* 0x0684 */ dJntCol_c mJntCol; /* 0x0684 */ dJntCol_c mJntCol;
+1 -1
View File
@@ -36,7 +36,7 @@ public:
/* 0x05C8 */ s16 mTargetAngleY; /* 0x05C8 */ s16 mTargetAngleY;
/* 0x05CC */ mDoExt_McaMorfSO* mpMorf; /* 0x05CC */ mDoExt_McaMorfSO* mpMorf;
/* 0x05D0 */ Z2CreatureEnemy mSound; /* 0x05D0 */ Z2CreatureEnemy mSound;
/* 0x0674 */ char DUSK_CONST* mpArcName; /* 0x0674 */ char* mpArcName;
/* 0x0678 */ int mAnm; /* 0x0678 */ int mAnm;
/* 0x067C */ u8 field_0x67c[0x680 - 0x67c]; /* 0x067C */ u8 field_0x67c[0x680 - 0x67c];
/* 0x0680 */ dJntCol_c mJntCol; /* 0x0680 */ dJntCol_c mJntCol;
+1 -1
View File
@@ -63,7 +63,7 @@ private:
/* 0x6D4 */ f32 field_0x6d4; /* 0x6D4 */ f32 field_0x6d4;
/* 0x6D8 */ s16 mFootJoints[4]; /* 0x6D8 */ s16 mFootJoints[4];
/* 0x6E0 */ s16 field_0x6e0; /* 0x6E0 */ s16 field_0x6e0;
/* 0x6E4 */ char DUSK_CONST* mpResName; /* 0x6E4 */ char* mpResName;
/* 0x6E8 */ u16 mDamageCooldownTimer; /* 0x6E8 */ u16 mDamageCooldownTimer;
/* 0x6EA */ u8 mGenericTimer; /* 0x6EA */ u8 mGenericTimer;
/* 0x6EC */ int mAttackTimer; /* 0x6EC */ int mAttackTimer;
+1 -1
View File
@@ -99,7 +99,7 @@ public:
/* 0x0000 */ fopEn_enemy_c enemy; ///< @brief Base enemy class instance. /* 0x0000 */ fopEn_enemy_c enemy; ///< @brief Base enemy class instance.
/* 0x05AC */ request_of_phase_process_class phase; ///< @brief Phase process request handler. /* 0x05AC */ request_of_phase_process_class phase; ///< @brief Phase process request handler.
/* 0x05B4 */ s16 ride_mode; ///< @brief Current sub-action mode within the run action. /* 0x05B4 */ s16 ride_mode; ///< @brief Current sub-action mode within the run action.
/* 0x05B8 */ char DUSK_CONST* resName; ///< @brief Resource name for loading models/animations. /* 0x05B8 */ char* resName; ///< @brief Resource name for loading models/animations.
/* 0x05BC */ u8 arg0; ///< @brief Creation parameter 1. /* 0x05BC */ u8 arg0; ///< @brief Creation parameter 1.
/* 0x05BD */ u8 arg1; ///< @brief Creation parameter 2. /* 0x05BD */ u8 arg1; ///< @brief Creation parameter 2.
/* 0x05BE */ u8 field_0x5be; /* 0x05BE */ u8 field_0x5be;
+2 -2
View File
@@ -213,8 +213,8 @@ private:
/* 0x750 */ int field_0x750; /* 0x750 */ int field_0x750;
/* 0x754 */ int field_0x754; /* 0x754 */ int field_0x754;
/* 0x758 */ int field_0x758; /* 0x758 */ int field_0x758;
/* 0x75C */ DUSK_CONST char* mArcName; /* 0x75C */ char* mArcName;
/* 0x760 */ DUSK_CONST char* mDemoName; /* 0x760 */ char* mDemoName;
/* 0x764 */ u32 mShadowId; /* 0x764 */ u32 mShadowId;
/* 0x768 */ dPath* mpPath1; /* 0x768 */ dPath* mpPath1;
/* 0x76C */ dPath* mpPath2; /* 0x76C */ dPath* mpPath2;
+1 -1
View File
@@ -49,7 +49,7 @@ public:
/* 0x5F4 */ s16 mYawToPlayer; /* 0x5F4 */ s16 mYawToPlayer;
/* 0x5F6 */ s16 field_0x5f6; /* 0x5F6 */ s16 field_0x5f6;
/* 0x5F8 */ s16 field_0x5f8; /* 0x5F8 */ s16 field_0x5f8;
/* 0x5FC */ DUSK_CONST char* mResName; /* 0x5FC */ char* mResName;
/* 0x600 */ mDoExt_McaMorf* mpMorf; /* 0x600 */ mDoExt_McaMorf* mpMorf;
/* 0x604 */ J3DAnmTransform* mAnmTransform; /* 0x604 */ J3DAnmTransform* mAnmTransform;
/* 0x608 */ u32 mShadowId; /* 0x608 */ u32 mShadowId;
+3 -8
View File
@@ -90,7 +90,7 @@ public:
/* 0x0000 */ fopAc_ac_c actor; /* 0x0000 */ fopAc_ac_c actor;
/* 0x0568 */ request_of_phase_process_class phase; /* 0x0568 */ request_of_phase_process_class phase;
/* 0x0570 */ DUSK_CONST char* arcname; /* 0x0570 */ char* arcname;
/* 0x0574 */ u8 arg0; /* 0x0574 */ u8 arg0;
/* 0x0575 */ u8 arg1; /* 0x0575 */ u8 arg1;
/* 0x0576 */ u8 arg2; /* 0x0576 */ u8 arg2;
@@ -299,13 +299,8 @@ public:
/* 0x168C */ u8 field_0x168c; /* 0x168C */ u8 field_0x168c;
/* 0x168D */ u8 field_0x168d; /* 0x168D */ u8 field_0x168d;
/* 0x168E */ u8 HIOInit; /* 0x168E */ u8 HIOInit;
#if TARGET_PC
cXyz mLineInterpPrev[MG_ROD_LURE_LINE_LEN];
cXyz mLineInterpCurr[MG_ROD_LURE_LINE_LEN];
bool mLineInterpPrevValid;
bool mLineInterpCurrValid;
#endif
}; };
STATIC_ASSERT(sizeof(dmg_rod_class) == 0x1690);
#endif /* D_A_MG_ROD_H */ #endif /* D_A_MG_ROD_H */
+1 -9
View File
@@ -18,24 +18,16 @@ public:
TGXTexObj& getTexObj() { return mTexObj; } TGXTexObj& getTexObj() { return mTexObj; }
cXyz* getQuad() { return mQuad; } cXyz* getQuad() { return mQuad; }
#if TARGET_PC
// TP HD reflects across N floor quads (F_SP117 room 2 uses 6); GC uses 1.
static const int MAX_QUADS = 6;
#endif
/* 0x010 */ TGXTexObj mTexObj; /* 0x010 */ TGXTexObj mTexObj;
/* 0x030 */ u8 mModelCount; /* 0x030 */ u8 mModelCount;
/* 0x034 */ J3DModel* mModels[0x40]; /* 0x034 */ J3DModel* mModels[0x40];
/* 0x134 */ cXyz mQuad[DUSK_IF_ELSE(MAX_QUADS*4, 4)]; /* 0x134 */ cXyz mQuad[4];
/* 0x164 */ cXyz mMinVal; /* 0x164 */ cXyz mMinVal;
/* 0x170 */ cXyz mMaxVal; /* 0x170 */ cXyz mMaxVal;
/* 0x17C */ cXyz mViewScale; /* 0x17C */ cXyz mViewScale;
#if TARGET_PC #if TARGET_PC
bool mbReset = false; bool mbReset = false;
bool mbHadEntry = false; bool mbHadEntry = false;
cXyz mQuadBoxMin[MAX_QUADS];
cXyz mQuadBoxMax[MAX_QUADS];
int mQuadCount = 1;
#endif #endif
}; };
-2
View File
@@ -5,7 +5,6 @@
#include <thp.h> #include <thp.h>
#else #else
#include <atomic> #include <atomic>
#include <chrono>
#endif #endif
#include "f_op/f_op_actor.h" #include "f_op/f_op_actor.h"
#include "d/d_drawlist.h" #include "d/d_drawlist.h"
@@ -126,7 +125,6 @@ struct daMP_THPPlayer {
/* 0x0D4 */ s32 curCount; /* 0x0D4 */ s32 curCount;
#if TARGET_PC #if TARGET_PC
/* 0x0D8 */ std::atomic<s32> videoDecodeCount; /* 0x0D8 */ std::atomic<s32> videoDecodeCount;
std::chrono::steady_clock::time_point thpPlaybackClock;
#else #else
/* 0x0D8 */ s32 videoDecodeCount; /* 0x0D8 */ s32 videoDecodeCount;
#endif #endif
+2 -2
View File
@@ -103,8 +103,8 @@ public:
void animePlay(); void animePlay();
int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
J3DAnmTransformKey* getTrnsfrmKeyAnm(DUSK_CONST char*); J3DAnmTransformKey* getTrnsfrmKeyAnm(char*);
J3DAnmTexPattern* getTexPtrnAnm(DUSK_CONST char*); J3DAnmTexPattern* getTexPtrnAnm(char*);
int checkEndAnm(J3DFrameCtrl*); int checkEndAnm(J3DFrameCtrl*);
int checkEndAnm(f32); int checkEndAnm(f32);
u8 getItemNumMax(); u8 getItemNumMax();
+4 -4
View File
@@ -519,7 +519,7 @@ public:
/* 0x568 */ daNpcT_faceMotionAnmData_c const* mpFaceMotionAnmData; /* 0x568 */ daNpcT_faceMotionAnmData_c const* mpFaceMotionAnmData;
/* 0x56C */ daNpcT_motionAnmData_c const* mpMotionAnmData; /* 0x56C */ daNpcT_motionAnmData_c const* mpMotionAnmData;
/* 0x570 */ daNpcT_evtData_c const* mpEvtData; /* 0x570 */ daNpcT_evtData_c const* mpEvtData;
/* 0x574 */ DUSK_CONST char* DUSK_CONST* mpArcNames; /* 0x574 */ char** mpArcNames;
/* 0x578 */ mDoExt_McaMorfSO* mpMorf[2]; /* 0x578 */ mDoExt_McaMorfSO* mpMorf[2];
/* 0x580 */ Z2Creature mSound; /* 0x580 */ Z2Creature mSound;
/* 0x610 */ mDoExt_bckAnm mBckAnm; /* 0x610 */ mDoExt_bckAnm mBckAnm;
@@ -627,7 +627,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, DUSK_CONST char* DUSK_CONST* i_arcNames) int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: :
mpFaceMotionAnmData(i_faceMotionAnmData), mpFaceMotionAnmData(i_faceMotionAnmData),
mpMotionAnmData(i_motionAnmData), mpMotionAnmData(i_motionAnmData),
@@ -654,8 +654,8 @@ public:
int setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); int setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
int setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int); int setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int);
int setBpkAnm(J3DAnmColor*, J3DModelData*, f32, int); int setBpkAnm(J3DAnmColor*, J3DModelData*, f32, int);
int loadRes(s8 const*, char const* DUSK_CONST*); int loadRes(s8 const*, char const**);
void deleteRes(s8 const*, char const* DUSK_CONST*); void deleteRes(s8 const*, char const**);
int execute(); int execute();
int draw(BOOL, BOOL, f32, GXColorS10*, f32, BOOL, BOOL, BOOL); int draw(BOOL, BOOL, f32, GXColorS10*, f32, BOOL, BOOL, BOOL);
void setEnvTevColor(); void setEnvTevColor();
+4 -4
View File
@@ -86,12 +86,12 @@ public:
class daBaseNpc_c : public fopAc_ac_c { class daBaseNpc_c : public fopAc_ac_c {
public: public:
daBaseNpc_c(); daBaseNpc_c();
J3DAnmTransform* getTrnsfrmKeyAnmP(char DUSK_CONST*, int); J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int);
int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
int setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); int setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
J3DAnmTransform* getTexPtrnAnmP(char DUSK_CONST*, int); J3DAnmTransform* getTexPtrnAnmP(char*, int);
int setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); int setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
void orderEvent(int, char DUSK_CONST*); void orderEvent(int, char*);
void setEnvTevColor(); void setEnvTevColor();
void setRoomNo(); void setRoomNo();
int checkEndAnm(f32); int checkEndAnm(f32);
@@ -128,7 +128,7 @@ public:
/* 0x808 */ mDoExt_btpAnm mBtp; /* 0x808 */ mDoExt_btpAnm mBtp;
/* 0x820 */ mDoExt_btkAnm mBtk; /* 0x820 */ mDoExt_btkAnm mBtk;
/* 0x838 */ s16 field_0x838; /* 0x838 */ s16 field_0x838;
/* 0x83C */ u16 DUSK_CONST* field_0x83c; /* 0x83C */ u16* field_0x83c;
/* 0x840 */ u16 field_0x840; /* 0x840 */ u16 field_0x840;
/* 0x842 */ u16 field_0x842; /* 0x842 */ u16 field_0x842;
/* 0x844 */ u8 field_0x844; /* 0x844 */ u8 field_0x844;
+6 -6
View File
@@ -311,10 +311,10 @@ public:
static void* srchActor(void*, void*); static void* srchActor(void*, void*);
void initialize(); void initialize();
J3DAnmTransformKey* getTrnsfrmKeyAnmP(DUSK_CONST char*, int); J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int);
J3DAnmTexPattern* getTexPtrnAnmP(DUSK_CONST char*, int); J3DAnmTexPattern* getTexPtrnAnmP(char*, int);
J3DAnmTextureSRTKey* getTexSRTKeyAnmP(DUSK_CONST char*, int); J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char*, int);
J3DAnmTevRegKey* getTevRegKeyAnmP(DUSK_CONST char*, int); J3DAnmTevRegKey* getTevRegKeyAnmP(char*, int);
BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr,
int i_start, int i_end); int i_start, int i_end);
BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start,
@@ -336,8 +336,8 @@ public:
BOOL hitChk2(dCcD_Cyl*, BOOL, BOOL); BOOL hitChk2(dCcD_Cyl*, BOOL, BOOL);
void setDamage(int, int, int); void setDamage(int, int, int);
int ctrlMsgAnm(int&, int&, fopAc_ac_c*, BOOL); int ctrlMsgAnm(int&, int&, fopAc_ac_c*, BOOL);
void orderEvent(int, DUSK_CONST char*, u16, u16, u8, u16); void orderEvent(int, char*, u16, u16, u8, u16);
void changeEvent(DUSK_CONST char*, DUSK_CONST char*, u16, u16); void changeEvent(char*, char*, u16, u16);
BOOL chkActorInSight(fopAc_ac_c*, f32); BOOL chkActorInSight(fopAc_ac_c*, f32);
BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
+3 -3
View File
@@ -149,7 +149,7 @@ public:
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -171,8 +171,8 @@ public:
u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
void setLastIn() { mLastGoatIn = true; } void setLastIn() { mLastGoatIn = true; }
static char DUSK_CONST* DUSK_CONST mCutNameList[7]; static char* mCutNameList[7];
static cutFunc DUSK_CONST mCutList[7]; static cutFunc mCutList[7];
private: private:
/* 0xE40 */ NPC_ARU_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_ARU_HIO_CLASS* mpHIO;
+1 -1
View File
@@ -135,7 +135,7 @@ public:
inline bool step(s16, int, f32); inline bool step(s16, int, f32);
inline void playExpression(); inline void playExpression();
static EventFn DUSK_CONST mEvtSeqList[2]; static EventFn mEvtSeqList[2];
private: private:
/* 0xB48 */ Z2Creature mCreatureSound; /* 0xB48 */ Z2Creature mCreatureSound;
+3 -3
View File
@@ -90,7 +90,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -117,8 +117,8 @@ public:
return rv; return rv;
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[4]; static char* mCutNameList[4];
static cutFunc DUSK_CONST mCutList[4]; static cutFunc mCutList[4];
/* 0x0F7C */ mDoExt_McaMorfSO* mpScoopMorf; /* 0x0F7C */ mDoExt_McaMorfSO* mpScoopMorf;
/* 0x0F80 */ NPC_BANS_HIO_CLASS* mHIO; /* 0x0F80 */ NPC_BANS_HIO_CLASS* mHIO;
+3 -3
View File
@@ -112,7 +112,7 @@ public:
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -140,8 +140,8 @@ public:
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
static char DUSK_CONST* DUSK_CONST mCutNameList[15]; static char* mCutNameList[15];
static cutFunc DUSK_CONST mCutList[15]; static cutFunc mCutList[15];
private: private:
/* 0x0E40 */ mDoExt_McaMorfSO* mpCupModelMorf; /* 0x0E40 */ mDoExt_McaMorfSO* mpCupModelMorf;
+1 -1
View File
@@ -124,7 +124,7 @@ public:
return var_r30; return var_r30;
} }
static EventFn DUSK_CONST mEvtSeqList[]; static EventFn mEvtSeqList[];
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
/* 0xBD8 */ u8 field_0xBD8[0xBDC - 0xBD8]; /* 0xBD8 */ u8 field_0xBD8[0xBDC - 0xBD8];
+3 -3
View File
@@ -89,7 +89,7 @@ public:
daNpc_Bou_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_Bou_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) daNpcT_evtData_c const* param_7, char** param_8)
: :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{} {}
@@ -114,8 +114,8 @@ public:
virtual int drawDbgInfo(); virtual int drawDbgInfo();
virtual void changeAnm(int*, int*); virtual void changeAnm(int*, int*);
static char DUSK_CONST* DUSK_CONST mCutNameList[9]; static char* mCutNameList[9];
static cutFunc DUSK_CONST mCutList[9]; static cutFunc mCutList[9];
int getFlowNodeNo() { int getFlowNodeNo() {
u16 nodeNo = home.angle.x; u16 nodeNo = home.angle.x;
+1 -1
View File
@@ -102,7 +102,7 @@ public:
void setFear() { mFear = true; } void setFear() { mFear = true; }
void setTalkFlag() { mTalkFlag = true; } void setTalkFlag() { mTalkFlag = true; }
static eventFunc DUSK_CONST mEvtSeqList[1]; static eventFunc mEvtSeqList[1];
private: private:
/* 0xB48 */ Z2CreatureCitizen mSound; /* 0xB48 */ Z2CreatureCitizen mSound;
+3 -3
View File
@@ -100,7 +100,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -124,8 +124,8 @@ public:
u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; } u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0x0F7C */ NPC_CLERKA_HIO_CLASS* mpHIO; /* 0x0F7C */ NPC_CLERKA_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -113,7 +113,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -137,8 +137,8 @@ public:
u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; } u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0x0F7C */ mDoExt_bpkAnm mBpkAnm2; /* 0x0F7C */ mDoExt_bpkAnm mBpkAnm2;
+3 -3
View File
@@ -91,7 +91,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -125,8 +125,8 @@ public:
} }
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0x0F7C */ NPC_CLERKT_HIO_CLASS* mpHIO; /* 0x0F7C */ NPC_CLERKT_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -66,7 +66,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) i_arcNames)
@@ -133,8 +133,8 @@ public:
return (fopAcM_GetParam(this) & 0xFF00) >> 8; return (fopAcM_GetParam(this) & 0xFF00) >> 8;
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_DOC_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_DOC_HIO_CLASS* mpHIO;
+1 -1
View File
@@ -78,7 +78,7 @@ public:
inline int getTimeHour(); inline int getTimeHour();
inline bool isDummyTalk(); inline bool isDummyTalk();
static EventFn DUSK_CONST mEvtSeqList[1]; static EventFn mEvtSeqList[1];
private: private:
/* 0xB48 */ Z2CreatureCitizen mSound; /* 0xB48 */ Z2CreatureCitizen mSound;
+3 -3
View File
@@ -256,7 +256,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -294,8 +294,8 @@ public:
u8 getSceneNo1() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } u8 getSceneNo1() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
u8 getSceneNo2() { return (fopAcM_GetParam(this) >> 16) & 0xFF; } u8 getSceneNo2() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
static char DUSK_CONST* DUSK_CONST mCutNameList[18]; static char* mCutNameList[18];
static cutFunc DUSK_CONST mCutList[18]; static cutFunc mCutList[18];
private: private:
/* 0x0E40 */ NPC_FAIRY_HIO_CLASS* mHIO; /* 0x0E40 */ NPC_FAIRY_HIO_CLASS* mHIO;
/* 0x0E44 */ dCcD_Cyl mCyl; /* 0x0E44 */ dCcD_Cyl mCyl;
+3 -3
View File
@@ -71,7 +71,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3,
int param_4, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5,
int param_6, daNpcT_evtData_c const* param_7, DUSK_CONST char* DUSK_CONST* param_8) int param_6, daNpcT_evtData_c const* param_7, char** param_8)
: daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {}
u8 getType() { return fopAcM_GetParam(this) & 0xFF; } u8 getType() { return fopAcM_GetParam(this) & 0xFF; }
@@ -90,8 +90,8 @@ public:
int getSeneNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } int getSeneNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
static DUSK_CONST char* mCutNameList[1]; static char* mCutNameList[1];
static DUSK_CONST cutFunc mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_FAIRY_SEIREI_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_FAIRY_SEIREI_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -83,7 +83,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -96,8 +96,8 @@ public:
s32 getNeckJointNo() { return 3; } s32 getNeckJointNo() { return 3; }
s32 getBackboneJointNo() { return 1; } s32 getBackboneJointNo() { return 1; }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_GND_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_GND_HIO_CLASS* mpHIO;
+2 -2
View File
@@ -138,9 +138,9 @@ public:
void addCarryNum() { field_0x1692++; } void addCarryNum() { field_0x1692++; }
u8 getPathNoFromParam() { return home.angle.z; } u8 getPathNoFromParam() { return home.angle.z; }
void setGateWalk() { field_0x14D0 = 1; } void setGateWalk() { field_0x14D0 = 1; }
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[12]; static char* mEvtCutNameList[12];
typedef BOOL (daNpc_grA_c::*cut_type)(int); typedef BOOL (daNpc_grA_c::*cut_type)(int);
static cut_type DUSK_CONST mEvtCutList[]; static cut_type mEvtCutList[];
private: private:
typedef BOOL (daNpc_grA_c::*daNpc_grA_c_Action)(void*); typedef BOOL (daNpc_grA_c::*daNpc_grA_c_Action)(void*);
+2 -2
View File
@@ -89,8 +89,8 @@ public:
void setPrtcl(); void setPrtcl();
void adjustShapeAngle() {} void adjustShapeAngle() {}
static char DUSK_CONST* DUSK_CONST mEvtCutNameList; static char* mEvtCutNameList;
static EventFn DUSK_CONST mEvtCutList[1]; static EventFn mEvtCutList[1];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+2 -2
View File
@@ -81,8 +81,8 @@ public:
BOOL ECut_nodToGrz(int); BOOL ECut_nodToGrz(int);
void adjustShapeAngle() {} void adjustShapeAngle() {}
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[2]; static char* mEvtCutNameList[2];
static cutFunc DUSK_CONST mEvtCutList[2]; static cutFunc mEvtCutList[2];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+3 -3
View File
@@ -120,7 +120,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -131,8 +131,8 @@ public:
BOOL checkChangeJoint(int param_0) { return param_0 == JNT_HEAD; } BOOL checkChangeJoint(int param_0) { return param_0 == JNT_HEAD; }
BOOL checkRemoveJoint(int param_0) { return param_0 == JNT_MOUTH; } BOOL checkRemoveJoint(int param_0) { return param_0 == JNT_MOUTH; }
static char DUSK_CONST* DUSK_CONST mCutNameList[2]; static char* mCutNameList[2];
static cutFunc DUSK_CONST mCutList[2]; static cutFunc mCutList[2];
private: private:
/* 0x0F7C */ NPC_GRM_HIO_CLASS* mpHIO; /* 0x0F7C */ NPC_GRM_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -113,7 +113,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -124,8 +124,8 @@ public:
BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; } BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; }
u16 getEyeballMaterialNo() { return 1; }; u16 getEyeballMaterialNo() { return 1; };
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0x0F7C */ NPC_GRMC_HIO_CLASS* mpHIO; /* 0x0F7C */ NPC_GRMC_HIO_CLASS* mpHIO;
+2 -2
View File
@@ -85,8 +85,8 @@ public:
int test(void*); int test(void*);
void adjustShapeAngle() {} void adjustShapeAngle() {}
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[3]; static char* mEvtCutNameList[3];
static cutFunc DUSK_CONST mEvtCutList[3]; static cutFunc mEvtCutList[3];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+2 -2
View File
@@ -83,8 +83,8 @@ public:
int test(void*); int test(void*);
void adjustShapeAngle() {} void adjustShapeAngle() {}
static char DUSK_CONST* DUSK_CONST mEvtCutNameList; static char* mEvtCutNameList;
static cutFunc DUSK_CONST mEvtCutList[1]; static cutFunc mEvtCutList[1];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+2 -2
View File
@@ -84,8 +84,8 @@ public:
void setPrtcl(); void setPrtcl();
void adjustShapeAngle() {} void adjustShapeAngle() {}
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[2]; static char* mEvtCutNameList[2];
static cutFunc DUSK_CONST mEvtCutList[2]; static cutFunc mEvtCutList[2];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+2 -2
View File
@@ -116,8 +116,8 @@ public:
u8 getPathNoFromParam() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 getPathNoFromParam() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[7]; static char* mEvtCutNameList[7];
static cutFunc DUSK_CONST mEvtCutList[7]; static cutFunc mEvtCutList[7];
private: private:
/* 0x0B48 */ Z2Creature mSound; /* 0x0B48 */ Z2Creature mSound;
+2 -2
View File
@@ -104,8 +104,8 @@ public:
void setHowlingEndFlag() { field_0xe1c = 2; } void setHowlingEndFlag() { field_0xe1c = 2; }
void setHowlingFlag() { field_0xe1c = 1; } void setHowlingFlag() { field_0xe1c = 1; }
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[5]; static char* mEvtCutNameList[5];
static cutFunc DUSK_CONST mEvtCutList[5]; static cutFunc mEvtCutList[5];
private: private:
/* 0xB48 */ Z2Creature mSound; /* 0xB48 */ Z2Creature mSound;
+4 -4
View File
@@ -194,7 +194,7 @@ public:
daNpc_Hanjo_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_Hanjo_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) : daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{} {}
u16 getEyeballMaterialNo() { return 2; } u16 getEyeballMaterialNo() { return 2; }
@@ -218,9 +218,9 @@ public:
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
static dCcD_SrcGObjInf const mStoneCcDObjInfo; static dCcD_SrcGObjInf const mStoneCcDObjInfo;
static char DUSK_CONST* DUSK_CONST mCutNameList[6]; static char* mCutNameList[6];
static cutFunc DUSK_CONST mCutList[6]; static cutFunc mCutList[6];
static dCcD_SrcSph DUSK_CONST mStoneCcDSph; static dCcD_SrcSph mStoneCcDSph;
private: private:
/* 0x0E40 */ NPC_HANJO_HIO_CLASS* mpHIO; /* 0x0E40 */ NPC_HANJO_HIO_CLASS* mpHIO;
/* 0x0E44 */ J3DModel* mModel1; /* 0x0E44 */ J3DModel* mModel1;
+3 -3
View File
@@ -91,7 +91,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) i_arcNames)
@@ -125,8 +125,8 @@ public:
bool getGameStartFlag() { return mGameStartFlag; } bool getGameStartFlag() { return mGameStartFlag; }
void setPotBreakFlag() { mPotBreakFlag = true; } void setPotBreakFlag() { mPotBreakFlag = true; }
static char DUSK_CONST* DUSK_CONST mCutNameList[8]; static char* mCutNameList[8];
static cutFunc DUSK_CONST mCutList[]; static cutFunc mCutList[];
private: private:
/* 0xE40 */ NPC_HOZ_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_HOZ_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -138,7 +138,7 @@ public:
daNpc_Jagar_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_Jagar_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) : daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{} {}
u16 getEyeballMaterialNo() { return MAT_JAGA_EYEBALL; } u16 getEyeballMaterialNo() { return MAT_JAGA_EYEBALL; }
@@ -223,8 +223,8 @@ public:
return 0; return 0;
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[7]; static char* mCutNameList[7];
static cutFunc DUSK_CONST mCutList[7]; static cutFunc mCutList[7];
private: private:
/* 0x0E40 */ NPC_JAGAR_HIO_CLASS* mpHIO; /* 0x0E40 */ NPC_JAGAR_HIO_CLASS* mpHIO;
/* 0x0E44 */ dCcD_Cyl mCyl1; /* 0x0E44 */ dCcD_Cyl mCyl1;
+3 -3
View File
@@ -76,7 +76,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) i_arcNames)
@@ -113,8 +113,8 @@ public:
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; } u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
static char DUSK_CONST* DUSK_CONST mCutNameList[4]; static char* mCutNameList[4];
static int (daNpc_Kakashi_c::* DUSK_CONST mCutList[])(int); static int (daNpc_Kakashi_c::*mCutList[])(int);
private: private:
/* 0x0E40 */ NPC_KAKASHI_HIO_CLASS* mpHIO; /* 0x0E40 */ NPC_KAKASHI_HIO_CLASS* mpHIO;
+1 -1
View File
@@ -120,7 +120,7 @@ public:
void chgWeightLight() { mCcStts.SetWeight(0xD8); } void chgWeightLight() { mCcStts.SetWeight(0xD8); }
BOOL pl_front_check() { return actor_front_check(daPy_getPlayerActorClass()); } BOOL pl_front_check() { return actor_front_check(daPy_getPlayerActorClass()); }
static EventFn DUSK_CONST mEvtSeqList[1]; static EventFn mEvtSeqList[1];
static daTagEscape_c* mTargetTag; static daTagEscape_c* mTargetTag;
static f32 mTargetTagDist; static f32 mTargetTagDist;
static s16 mWolfAngle; static s16 mWolfAngle;
+1 -1
View File
@@ -121,7 +121,7 @@ public:
void chgWeightLight() { mCcStts.SetWeight(0xD8); } void chgWeightLight() { mCcStts.SetWeight(0xD8); }
BOOL pl_front_check() { return actor_front_check(daPy_getPlayerActorClass()); } BOOL pl_front_check() { return actor_front_check(daPy_getPlayerActorClass()); }
static EventFn DUSK_CONST mEvtSeqList[1]; static EventFn mEvtSeqList[1];
static daTagEscape_c* mTargetTag; static daTagEscape_c* mTargetTag;
static f32 mTargetTagDist; static f32 mTargetTagDist;
static s16 mWolfAngle; static s16 mWolfAngle;
+3 -3
View File
@@ -71,7 +71,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) i_arcNames)
@@ -118,8 +118,8 @@ public:
return mpMorf[0]->getModel()->getAnmMtx(5); return mpMorf[0]->getModel()->getAnmMtx(5);
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[3]; static char* mCutNameList[3];
static int (daNpc_Kkri_c::* DUSK_CONST mCutList[])(int); static int (daNpc_Kkri_c::*mCutList[])(int);
private: private:
/* 0xE40 */ NPC_KKRI_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_KKRI_HIO_CLASS* mpHIO;
+6 -6
View File
@@ -88,7 +88,7 @@ public:
/* 0x05AC */ const daNpcT_faceMotionAnmData_c* mpFaceMotionAnmData; /* 0x05AC */ const daNpcT_faceMotionAnmData_c* mpFaceMotionAnmData;
/* 0x05B0 */ const daNpcT_motionAnmData_c* mpMotionAnmData; /* 0x05B0 */ const daNpcT_motionAnmData_c* mpMotionAnmData;
/* 0x05B4 */ const daNpcT_evtData_c* mpEventData; /* 0x05B4 */ const daNpcT_evtData_c* mpEventData;
/* 0x05B8 */ char DUSK_CONST* DUSK_CONST* mpArcNames; /* 0x05B8 */ char** mpArcNames;
/* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf[2]; /* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf[2];
/* 0x05C4 */ Z2Creature mSound; /* 0x05C4 */ Z2Creature mSound;
/* 0x0654 */ mDoExt_bckAnm mBckAnm; /* 0x0654 */ mDoExt_bckAnm mBckAnm;
@@ -322,8 +322,8 @@ public:
int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
BOOL setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); BOOL setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
BOOL setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); BOOL setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
int loadRes(s8 const*, char const* DUSK_CONST*); int loadRes(s8 const*, char const**);
void deleteRes(s8 const*, char const* DUSK_CONST*); void deleteRes(s8 const*, char const**);
int execute(); int execute();
int draw(int, int, f32, GXColorS10*, f32, int, int, int); int draw(int, int, f32, GXColorS10*, f32, int, int, int);
void setEnvTevColor(); void setEnvTevColor();
@@ -355,7 +355,7 @@ public:
daNpcT_motionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_1,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
daNpcT_evtData_c const* param_6, char DUSK_CONST* DUSK_CONST* param_7) daNpcT_evtData_c const* param_6, char** param_7)
: mpFaceMotionAnmData(param_0), mpMotionAnmData(param_1), mFaceMotionSeqMngr(param_2, param_3), : mpFaceMotionAnmData(param_0), mpMotionAnmData(param_1), mFaceMotionSeqMngr(param_2, param_3),
mMotionSeqMngr(param_4, param_5), mpEventData(param_6), mpArcNames(param_7) mMotionSeqMngr(param_4, param_5), mpEventData(param_6), mpArcNames(param_7)
{ {
@@ -413,8 +413,8 @@ public:
virtual bool afterSetMotionAnm(int, int, f32, int); virtual bool afterSetMotionAnm(int, int, f32, int);
static const dCcD_SrcGObjInf mCcDObjData; static const dCcD_SrcGObjInf mCcDObjData;
static char DUSK_CONST* DUSK_CONST mCutNameList[21]; static char* mCutNameList[21];
static cutFunc DUSK_CONST mCutList[21]; static cutFunc mCutList[21];
static dCcD_SrcCyl mCcDCyl; static dCcD_SrcCyl mCcDCyl;
static dCcD_SrcSph mCcDSph; static dCcD_SrcSph mCcDSph;
static s16 mSrchName; static s16 mSrchName;
+3 -3
View File
@@ -75,13 +75,13 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_KNJ_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_KNJ_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -93,7 +93,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -120,8 +120,8 @@ public:
virtual void changeAnm(int*, int*); virtual void changeAnm(int*, int*);
virtual void changeBck(int*, int*); virtual void changeBck(int*, int*);
static char DUSK_CONST* DUSK_CONST mCutNameList[11]; static char* mCutNameList[11];
static cutFunc DUSK_CONST mCutList[11]; static cutFunc mCutList[11];
u32 getFlowNodeNo() { u32 getFlowNodeNo() {
u16 nodeNo = home.angle.x; u16 nodeNo = home.angle.x;
+3 -3
View File
@@ -140,7 +140,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -150,8 +150,8 @@ public:
s32 getBackboneJointNo() { return mType == 2 ? ZRCB_JNT_BACKBONE1 : KOLINB_JNT_BACKBONE1; } s32 getBackboneJointNo() { return mType == 2 ? ZRCB_JNT_BACKBONE1 : KOLINB_JNT_BACKBONE1; }
s32 getNeckJointNo() { return mType == 2 ? ZRCB_JNT_NECK : KOLINB_JNT_NECK; } s32 getNeckJointNo() { return mType == 2 ? ZRCB_JNT_NECK : KOLINB_JNT_NECK; }
static char DUSK_CONST* DUSK_CONST mCutNameList[7]; static char* mCutNameList[7];
static cutFunc DUSK_CONST mCutList[7]; static cutFunc mCutList[7];
u32 getFlowNodeNo() { u32 getFlowNodeNo() {
u16 nodeNo = home.angle.x; u16 nodeNo = home.angle.x;
+3 -3
View File
@@ -106,7 +106,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3,
int param_4, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5,
int param_6, daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) int param_6, daNpcT_evtData_c const* param_7, char** param_8)
: daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {}
u16 getEyeballMaterialNo() { return 2; } u16 getEyeballMaterialNo() { return 2; }
s32 getHeadJointNo() { return 4; } s32 getHeadJointNo() { return 4; }
@@ -123,8 +123,8 @@ public:
return nodeNo; return nodeNo;
} }
static char DUSK_CONST* DUSK_CONST mCutNameList[2]; static char* mCutNameList[2];
static cutFunc DUSK_CONST mCutList[2]; static cutFunc mCutList[2];
private: private:
/* 0xE40 */ NPC_KYURY_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_KYURY_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -86,7 +86,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -100,8 +100,8 @@ public:
s32 getFootRJointNo() { return 32; } s32 getFootRJointNo() { return 32; }
BOOL chkXYItems() { return TRUE; } BOOL chkXYItems() { return TRUE; }
static char DUSK_CONST* DUSK_CONST mCutNameList[4]; static char* mCutNameList[4];
static cutFunc DUSK_CONST mCutList[4]; static cutFunc mCutList[4];
int getFlowNodeNo() { int getFlowNodeNo() {
u16 nodeNo = home.angle.x; u16 nodeNo = home.angle.x;
+3 -3
View File
@@ -91,7 +91,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -111,8 +111,8 @@ public:
} }
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
static char DUSK_CONST* DUSK_CONST mCutNameList[8]; static char* mCutNameList[8];
static cutFunc DUSK_CONST mCutList[8]; static cutFunc mCutList[8];
private: private:
/* 0xE40 */ mDoExt_McaMorfSO* mpBowlMorf; /* 0xE40 */ mDoExt_McaMorfSO* mpBowlMorf;
+3 -3
View File
@@ -132,7 +132,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -167,8 +167,8 @@ public:
void startChoccai() { field_0x1134 = 1; } void startChoccai() { field_0x1134 = 1; }
void endChoccai() { field_0x1134 = 0; } void endChoccai() { field_0x1134 = 0; }
static char DUSK_CONST* DUSK_CONST mCutNameList[17]; static char* mCutNameList[17];
static cutFunc DUSK_CONST mCutList[17]; static cutFunc mCutList[17];
u8 getGroupId() { u8 getGroupId() {
return (fopAcM_GetParam(this) & 0xF0000000) >> 28; return (fopAcM_GetParam(this) & 0xF0000000) >> 28;
+3 -3
View File
@@ -130,7 +130,7 @@ public:
daNpc_midP_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_midP_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) : daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {}
u16 getEyeballRMaterialNo() { return 3; } u16 getEyeballRMaterialNo() { return 3; }
u16 getEyeballLMaterialNo() { return 2; } u16 getEyeballLMaterialNo() { return 2; }
@@ -148,8 +148,8 @@ public:
return nodeNo; return nodeNo;
} }
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_MIDP_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_MIDP_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -128,7 +128,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -158,8 +158,8 @@ public:
bool chkSFight() { return field_0x166b == 1; } bool chkSFight() { return field_0x166b == 1; }
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
static char DUSK_CONST* DUSK_CONST mCutNameList[5]; static char* mCutNameList[5];
static cutFunc DUSK_CONST mCutList[5]; static cutFunc mCutList[5];
private: private:
/* 0x0E40 */ NPC_MOI_HIO_CLASS* mpHIO; /* 0x0E40 */ NPC_MOI_HIO_CLASS* mpHIO;
+2 -2
View File
@@ -87,8 +87,8 @@ public:
int getType() { return mType; } int getType() { return mType; }
static char DUSK_CONST* DUSK_CONST mEvtCutNameList[5]; static char* mEvtCutNameList[5];
static EventFn DUSK_CONST mEvtCutList[]; static EventFn mEvtCutList[];
/* 0xB48 */ u8 field_0xB48[0xB4C - 0xB48]; /* 0xB48 */ u8 field_0xB48[0xB4C - 0xB48];
/* 0xB4C */ daNpcF_Lookat_c mLookat; /* 0xB4C */ daNpcF_Lookat_c mLookat;
+3 -3
View File
@@ -115,7 +115,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -144,8 +144,8 @@ public:
void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; } void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; } void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
static char DUSK_CONST* DUSK_CONST mCutNameList[11]; static char* mCutNameList[11];
static cutFunc DUSK_CONST mCutList[11]; static cutFunc mCutList[11];
private: private:
/* 0xE40 */ NPC_PACHI_BESU_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_PACHI_BESU_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -149,7 +149,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -184,8 +184,8 @@ public:
void setFMotion_Niramu_to_Besu() { mFMotion = 1; } void setFMotion_Niramu_to_Besu() { mFMotion = 1; }
void setFMotion_LookNone() { mFMotion = 2; } void setFMotion_LookNone() { mFMotion = 2; }
static char DUSK_CONST* DUSK_CONST mCutNameList[11]; static char* mCutNameList[11];
static cutFunc DUSK_CONST mCutList[11]; static cutFunc mCutList[11];
private: private:
/* 0xE40 */ NPC_PACHI_MARO_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_PACHI_MARO_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -166,7 +166,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -196,8 +196,8 @@ public:
void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; } void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; } void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
static char DUSK_CONST* DUSK_CONST mCutNameList[11]; static char* mCutNameList[11];
static cutFunc DUSK_CONST mCutList[11]; static cutFunc mCutList[11];
private: private:
/* 0x0E40 */ NPC_PACHI_TARO_HIO_CLASS* mpHIO; /* 0x0E40 */ NPC_PACHI_TARO_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -125,7 +125,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -153,8 +153,8 @@ public:
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
static char DUSK_CONST* DUSK_CONST mCutNameList[2]; static char* mCutNameList[2];
static cutFunc DUSK_CONST mCutList[2]; static cutFunc mCutList[2];
private: private:
/* 0x0E40 */ mDoExt_McaMorfSO* mpFlagModelMorf; /* 0x0E40 */ mDoExt_McaMorfSO* mpFlagModelMorf;
+3 -3
View File
@@ -121,7 +121,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -146,8 +146,8 @@ public:
MtxP getHeadMtx() { return mpMorf[0]->getModel()->getAnmMtx(4); } MtxP getHeadMtx() { return mpMorf[0]->getModel()->getAnmMtx(4); }
static char DUSK_CONST* DUSK_CONST mCutNameList[3]; static char* mCutNameList[3];
static cutFunc DUSK_CONST mCutList[3]; static cutFunc mCutList[3];
private: private:
/* 0xE40 */ NPC_POUYA_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_POUYA_HIO_CLASS* mpHIO;
+1 -1
View File
@@ -77,7 +77,7 @@ public:
s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; } s16 getMessageNo() { return (fopAcM_GetParam(this) >> 8) & 0xFFFF; }
static EvtSeq DUSK_CONST mEvtSeqList[]; static EvtSeq mEvtSeqList[];
private: private:
/* 0xB48 */ Z2CreatureCitizen mSound; /* 0xB48 */ Z2CreatureCitizen mSound;
+3 -3
View File
@@ -121,7 +121,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -145,8 +145,8 @@ public:
u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_RACA_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_RACA_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -115,7 +115,7 @@ public:
daNpc_Saru_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_Saru_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) : daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{} {}
s32 getHeadJointNo() { return JNT_HEAD; } s32 getHeadJointNo() { return JNT_HEAD; }
@@ -133,8 +133,8 @@ public:
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; } u8 getPathID() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
static char DUSK_CONST* DUSK_CONST mCutNameList[4]; static char* mCutNameList[4];
static cutFunc DUSK_CONST mCutList[4]; static cutFunc mCutList[4];
private: private:
/* 0xE40 */ NPC_SARU_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_SARU_HIO_CLASS* mpHIO;
/* 0xE44 */ J3DModel* mpRoseModels[2]; /* 0xE44 */ J3DModel* mpRoseModels[2];
+3 -3
View File
@@ -80,12 +80,12 @@ public:
daNpc_seiB_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, daNpc_seiB_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char DUSK_CONST* DUSK_CONST* param_8) : daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{} {}
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_SEIB_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_SEIB_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -82,13 +82,13 @@ public:
daNpc_seiC_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, daNpc_seiC_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {}; i_arcNames) {};
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_SEIC_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_SEIC_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -81,13 +81,13 @@ public:
daNpc_seiD_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, daNpc_seiD_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {}; i_arcNames) {};
static char DUSK_CONST* DUSK_CONST mCutNameList; static char* mCutNameList;
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0xE40 */ NPC_SEID_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_SEID_HIO_CLASS* mpHIO;
+3 -3
View File
@@ -100,7 +100,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -114,8 +114,8 @@ public:
BOOL checkChangeJoint(int val) { return val == 4; } BOOL checkChangeJoint(int val) { return val == 4; }
BOOL checkRemoveJoint(int val) { return val == 8; } BOOL checkRemoveJoint(int val) { return val == 8; }
static char DUSK_CONST* DUSK_CONST mCutNameList[2]; static char* mCutNameList[2];
static cutFunc DUSK_CONST mCutList[2]; static cutFunc mCutList[2];
private: private:
/* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf; /* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf;
+3 -3
View File
@@ -92,7 +92,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum, int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char DUSK_CONST* DUSK_CONST* i_arcNames) daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) { i_arcNames) {
@@ -106,8 +106,8 @@ public:
BOOL checkChangeJoint(int val) { return val == 4; } BOOL checkChangeJoint(int val) { return val == 4; }
BOOL checkRemoveJoint(int val) { return val == 8; } BOOL checkRemoveJoint(int val) { return val == 8; }
static char DUSK_CONST* DUSK_CONST mCutNameList[1]; static char* mCutNameList[1];
static cutFunc DUSK_CONST mCutList[1]; static cutFunc mCutList[1];
private: private:
/* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf; /* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf;
+3 -3
View File
@@ -83,7 +83,7 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, daNpcT_evtData_c const* i_evtData,
char DUSK_CONST* DUSK_CONST* i_arcNames) char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {} i_arcNames) {}
@@ -99,8 +99,8 @@ public:
u32 getBitSW() { return (fopAcM_GetParam(this) & 0xFF000) >> 12; } u32 getBitSW() { return (fopAcM_GetParam(this) & 0xFF000) >> 12; }
bool getDoBtnChkFlag() { return (fopAcM_GetParam(this) & 0x100) == 0; } bool getDoBtnChkFlag() { return (fopAcM_GetParam(this) & 0x100) == 0; }
static char DUSK_CONST* DUSK_CONST mCutNameList[2]; static char* mCutNameList[2];
static cutFunc DUSK_CONST mCutList[2]; static cutFunc mCutList[2];
private: private:
/* 0xE40 */ NPC_SEIREI_HIO_CLASS* mpHIO; /* 0xE40 */ NPC_SEIREI_HIO_CLASS* mpHIO;

Some files were not shown because too many files have changed in this diff Show More