Compare commits

..

1 Commits

Author SHA1 Message Date
Luke Street 625f752fb9 Try Android CI 2026-05-10 00:26:00 -06:00
1263 changed files with 8021 additions and 24698 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.)
+25 -34
View File
@@ -5,21 +5,12 @@ 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"
RUSTC_WRAPPER: "sccache" RUSTC_WRAPPER: "sccache"
SENTRY_DSN: ${{ secrets.SENTRY_DSN }} # SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
jobs: jobs:
build-linux: build-linux:
@@ -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,14 +43,14 @@ 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 \
libxss-dev libfuse2 libusb-1.0-0-dev libdecor-0-dev libpipewire-0.3-dev libunwind-dev libxss-dev libfuse2 libusb-1.0-0-dev libdecor-0-dev libpipewire-0.3-dev libunwind-dev
- name: Setup sccache - name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.10 uses: mozilla-actions/sccache-action@v0.0.9
- name: Print sccache stats - name: Print sccache stats
run: sccache --show-stats run: sccache --show-stats
@@ -76,9 +67,9 @@ jobs:
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v7
with: with:
name: dusklight-${{env.DUSK_VERSION}}-linux-${{matrix.preset}}-${{matrix.artifact_arch}} name: dusk-${{env.DUSK_VERSION}}-linux-${{matrix.preset}}-${{matrix.artifact_arch}}
path: | path: |
build/install/Dusklight-*.AppImage build/install/Dusk-*.AppImage
build/install/debug.tar.* build/install/debug.tar.*
build-apple: build-apple:
@@ -133,7 +124,7 @@ jobs:
rustup target add x86_64-apple-darwin rustup target add x86_64-apple-darwin
- name: Setup sccache - name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.10 uses: mozilla-actions/sccache-action@v0.0.9
- name: Configure CMake - name: Configure CMake
run: cmake --preset ${{matrix.preset}} run: cmake --preset ${{matrix.preset}}
@@ -144,9 +135,9 @@ jobs:
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v7
with: with:
name: dusklight-${{env.DUSK_VERSION}}-${{matrix.artifact_name}} name: dusk-${{env.DUSK_VERSION}}-${{matrix.artifact_name}}
path: | path: |
build/install/Dusklight.app build/install/Dusk.app
build/install/debug.tar.* build/install/debug.tar.*
build-android: build-android:
@@ -184,7 +175,7 @@ jobs:
java-version: 17 java-version: 17
- name: Setup Android SDK - name: Setup Android SDK
uses: android-actions/setup-android@v4 uses: android-actions/setup-android@v3
- name: Install Android SDK packages - name: Install Android SDK packages
run: sdkmanager "platforms;android-36" "build-tools;36.1.0" "ndk;${ANDROID_NDK_VERSION}" run: sdkmanager "platforms;android-36" "build-tools;36.1.0" "ndk;${ANDROID_NDK_VERSION}"
@@ -195,13 +186,13 @@ jobs:
rustup target add ${{matrix.rust_target}} rustup target add ${{matrix.rust_target}}
- name: Setup sccache - name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.10 uses: mozilla-actions/sccache-action@v0.0.9
- name: Configure CMake - name: Configure CMake
run: cmake --preset ${{matrix.preset}} run: cmake --preset ${{matrix.preset}}
- name: Build native library - name: Build native library
run: cmake --build --preset ${{matrix.preset}} --target dusklight run: cmake --build --preset ${{matrix.preset}} --target dusk
- name: Stage stripped JNI library - name: Stage stripped JNI library
run: ANDROID_STAGE_ABIS="${{matrix.abi}}" platforms/android/scripts/stage-jni-libs.sh run: ANDROID_STAGE_ABIS="${{matrix.abi}}" platforms/android/scripts/stage-jni-libs.sh
@@ -213,7 +204,7 @@ jobs:
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v7
with: with:
name: dusklight-${{env.DUSK_VERSION}}-android-${{matrix.artifact_arch}} name: dusk-${{env.DUSK_VERSION}}-android-${{matrix.artifact_arch}}
path: platforms/android/app/build/outputs/apk/release/app-${{matrix.abi}}-release-unsigned.apk path: platforms/android/app/build/outputs/apk/release/app-${{matrix.abi}}-release-unsigned.apk
build-windows: build-windows:
@@ -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}}
@@ -275,7 +266,7 @@ jobs:
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v7 uses: actions/upload-artifact@v7
with: with:
name: dusklight-${{env.DUSK_VERSION}}-win32-msvc-${{matrix.artifact_arch}} name: dusk-${{env.DUSK_VERSION}}-win32-msvc-${{matrix.artifact_arch}}
path: | path: |
build/install/*.exe build/install/*.exe
build/install/*.dll build/install/*.dll
-4
View File
@@ -41,10 +41,6 @@ compile_commands.json
# MacOS # MacOS
.DS_Store .DS_Store
# direnv / nix
.direnv/
.envrc
# ISOs # ISOs
*.iso *.iso
+1 -1
View File
@@ -2,7 +2,7 @@
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "(gdb) Launch Dusklight MSVC", "name": "(gdb) Launch Dusk MSVC",
"type": "cppvsdbg", "type": "cppvsdbg",
"request": "launch", "request": "launch",
"program": "${command:cmake.launchTargetPath}", "program": "${command:cmake.launchTargetPath}",
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"cmake.buildDirectory": "${workspaceFolder}/build/dusklight/${buildType}/${variant:tp_version}", "cmake.buildDirectory": "${workspaceFolder}/build/dusk/${buildType}/${variant:tp_version}",
"cmake.generator": "Ninja", "cmake.generator": "Ninja",
"cmake.configureSettings": { "cmake.configureSettings": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON" "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
+66 -173
View File
@@ -5,20 +5,8 @@ if (NOT CMAKE_BUILD_TYPE)
"Build type options: Debug Release RelWithDebInfo MinSizeRel" FORCE) "Build type options: Debug Release RelWithDebInfo MinSizeRel" FORCE)
endif () endif ()
set(DUSK_VERSION_OVERRIDE "" CACHE STRING "Override version string (skips git detection and format validation)") # obtain revision info from git
find_package(Git)
if (DUSK_VERSION_OVERRIDE)
set(DUSK_WC_DESCRIBE "${DUSK_VERSION_OVERRIDE}")
set(DUSK_VERSION_STRING "0.0.0.0")
set(DUSK_SHORT_VERSION_STRING "0.0.0")
set(DUSK_VERSION_CODE "1")
set(DUSK_WC_REVISION "")
set(DUSK_WC_BRANCH "")
set(DUSK_WC_DATE "")
message(STATUS "Dusklight version overridden to ${DUSK_WC_DESCRIBE}")
else ()
# obtain revision info from git
find_package(Git)
if (GIT_FOUND) if (GIT_FOUND)
# make sure version information gets re-run when the current Git HEAD changes # make sure version information gets re-run when the current Git HEAD changes
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --git-path HEAD execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --git-path HEAD
@@ -62,9 +50,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,36 +57,22 @@ 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 ()
# 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 "Dusk version set to ${DUSK_WC_DESCRIBE}")
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
project(dusklight LANGUAGES C CXX VERSION ${DUSK_VERSION_STRING}) project(dusk 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 +97,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 +108,16 @@ 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)
if(ANDROID)
set(DUSK_MOVIE_SUPPORT OFF)
endif ()
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")
@@ -193,9 +134,9 @@ endif ()
if (DUSK_MOVIE_SUPPORT) if (DUSK_MOVIE_SUPPORT)
find_package(libjpeg-turbo 3.0 CONFIG QUIET) find_package(libjpeg-turbo 3.0 CONFIG QUIET)
if (libjpeg-turbo_FOUND) if (libjpeg-turbo_FOUND)
message(STATUS "dusklight: Using system libjpeg-turbo") message(STATUS "dusk: Using system libjpeg-turbo")
else () else ()
message(STATUS "dusklight: Fetching libjpeg-turbo") message(STATUS "dusk: Fetching libjpeg-turbo")
include(ExternalProject) include(ExternalProject)
set(_jpeg_install_dir ${CMAKE_BINARY_DIR}/libjpeg-turbo-install) set(_jpeg_install_dir ${CMAKE_BINARY_DIR}/libjpeg-turbo-install)
if (WIN32) if (WIN32)
@@ -205,7 +146,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
@@ -215,8 +155,6 @@ if (DUSK_MOVIE_SUPPORT)
list(APPEND _jpeg_cmake_args -DCMAKE_TOOLCHAIN_FILE=${_jpeg_toolchain_file}) list(APPEND _jpeg_cmake_args -DCMAKE_TOOLCHAIN_FILE=${_jpeg_toolchain_file})
endif () endif ()
set(_jpeg_passthrough_vars set(_jpeg_passthrough_vars
ANDROID_ABI
ANDROID_PLATFORM
CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE
CMAKE_C_COMPILER CMAKE_C_COMPILER
CMAKE_C_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
@@ -224,8 +162,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 +192,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 +205,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,25 +222,26 @@ 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
message(STATUS "dusklight: Fetching cxxopts") message(STATUS "dusk: 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 "dusk: 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)
if (DUSK_ENABLE_SENTRY_NATIVE) if (DUSK_ENABLE_SENTRY_NATIVE)
message(STATUS "dusklight: Fetching sentry-native") message(STATUS "dusk: Fetching sentry-native")
set(SENTRY_BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) set(SENTRY_BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(SENTRY_BACKEND crashpad CACHE STRING "" FORCE) set(SENTRY_BACKEND crashpad CACHE STRING "" FORCE)
if (WIN32) if (WIN32)
@@ -327,12 +266,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)
@@ -353,15 +286,15 @@ include(files.cmake)
# TODO: version handling for res includes # TODO: version handling for res includes
set(DUSK_BUNDLE_NAME Dusklight) set(DUSK_BUNDLE_NAME Dusk)
set(DUSK_BUNDLE_IDENTIFIER dev.twilitrealm.dusk) set(DUSK_BUNDLE_IDENTIFIER dev.twilitrealm.dusk)
set(DUSK_COMPANY_NAME "Twilit Realm") set(DUSK_COMPANY_NAME "Twilit Realm")
set(DUSK_FILE_DESCRIPTION "Dusklight") set(DUSK_FILE_DESCRIPTION "Dusk")
set(DUSK_PRODUCT_NAME "Dusklight") set(DUSK_PRODUCT_NAME "Dusk")
set(DUSK_COPYRIGHT "Copyright (C) Twilit Realm contributors") 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("dusk" 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) set(GAME_COMPILE_DEFS TARGET_PC WIDESCREEN_SUPPORT=1 AVOID_UB=1 VERSION=0 MTX_USE_PS=1)
@@ -378,7 +311,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) 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 +322,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)
@@ -400,30 +331,30 @@ if (DUSK_ENABLE_UPDATE_CHECKER)
set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/winhttp.cpp) set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/winhttp.cpp)
list(APPEND GAME_LIBS winhttp) list(APPEND GAME_LIBS winhttp)
list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_WINHTTP=1) list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_WINHTTP=1)
message(STATUS "dusklight: Enabled update checker (WinHTTP)") message(STATUS "dusk: Enabled update checker (WinHTTP)")
elseif (ANDROID) elseif (ANDROID)
set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/android.cpp) set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/android.cpp)
list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_ANDROID=1) list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_ANDROID=1)
message(STATUS "dusklight: Enabled update checker (Android)") message(STATUS "dusk: Enabled update checker (Android)")
elseif (APPLE) elseif (APPLE)
find_library(FOUNDATION_FRAMEWORK Foundation REQUIRED) find_library(FOUNDATION_FRAMEWORK Foundation REQUIRED)
set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/url_session.mm) set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/url_session.mm)
set_source_files_properties(src/dusk/http/url_session.mm PROPERTIES COMPILE_FLAGS -fobjc-arc) set_source_files_properties(src/dusk/http/url_session.mm PROPERTIES COMPILE_FLAGS -fobjc-arc)
list(APPEND GAME_LIBS ${FOUNDATION_FRAMEWORK}) list(APPEND GAME_LIBS ${FOUNDATION_FRAMEWORK})
list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_URLSESSION=1) list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_URLSESSION=1)
message(STATUS "dusklight: Enabled update checker (NSURLSession)") message(STATUS "dusk: Enabled update checker (NSURLSession)")
elseif (CMAKE_SYSTEM_NAME STREQUAL Linux) elseif (CMAKE_SYSTEM_NAME STREQUAL Linux)
find_package(CURL QUIET OPTIONAL_COMPONENTS HTTPS SSL) find_package(CURL QUIET OPTIONAL_COMPONENTS HTTPS SSL)
if (CURL_FOUND AND CURL_HTTPS_FOUND AND CURL_SSL_FOUND) if (CURL_FOUND AND CURL_HTTPS_FOUND AND CURL_SSL_FOUND)
set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/curl.cpp) set(DUSK_HTTP_BACKEND_SOURCE src/dusk/http/curl.cpp)
list(APPEND GAME_LIBS CURL::libcurl) list(APPEND GAME_LIBS CURL::libcurl)
list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_LIBCURL=1) list(APPEND GAME_COMPILE_DEFS DUSK_HTTP_BACKEND_LIBCURL=1)
message(STATUS "dusklight: Enabled update checker (libcurl)") message(STATUS "dusk: Enabled update checker (libcurl)")
else () else ()
message(STATUS "dusklight: Disabled update checker (libcurl + HTTPS/SSL not found)") message(STATUS "dusk: Disabled update checker (libcurl + HTTPS/SSL not found)")
endif () endif ()
else () else ()
message(STATUS "dusklight: Disabled update checker (unsupported platform)") message(STATUS "dusk: Disabled update checker (unsupported platform)")
endif () endif ()
endif () endif ()
list(APPEND DUSK_FILES ${DUSK_HTTP_BACKEND_SOURCE}) list(APPEND DUSK_FILES ${DUSK_HTTP_BACKEND_SOURCE})
@@ -450,16 +381,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
@@ -511,44 +432,31 @@ endif ()
set(DUSK_FILES src/dusk/main.cpp ${GAME_BASE_FILES} ${GAME_DEBUG_FILES}) set(DUSK_FILES src/dusk/main.cpp ${GAME_BASE_FILES} ${GAME_DEBUG_FILES})
if(ANDROID) if(ANDROID)
add_library(dusklight SHARED ${DUSK_FILES}) add_library(dusk SHARED ${DUSK_FILES})
set_target_properties(dusklight PROPERTIES OUTPUT_NAME main) set_target_properties(dusk PROPERTIES OUTPUT_NAME main)
else () else ()
add_executable(dusklight ${DUSK_FILES}) add_executable(dusk ${DUSK_FILES})
endif ()
if (ENABLE_ASAN)
target_sources(dusklight PRIVATE src/dusk/asan_options.c)
endif () endif ()
target_compile_definitions(dusklight PRIVATE ${GAME_COMPILE_DEFS}) target_compile_definitions(dusk PRIVATE ${GAME_COMPILE_DEFS})
target_include_directories(dusklight PRIVATE ${GAME_INCLUDE_DIRS}) target_include_directories(dusk PRIVATE ${GAME_INCLUDE_DIRS})
target_link_libraries(dusklight PRIVATE aurora::main ${GAME_LIBS} ${JSYSTEM_LINK_LIBRARIES}) target_link_libraries(dusk PRIVATE aurora::main ${GAME_LIBS} ${JSYSTEM_LINK_LIBRARIES})
target_precompile_headers(dusklight PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_SOURCE_DIR}/include/dusk_pch.hpp>") target_precompile_headers(dusk PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_SOURCE_DIR}/include/dusk_pch.hpp>")
if (TARGET crashpad_handler) if (TARGET crashpad_handler)
add_dependencies(dusklight crashpad_handler) add_dependencies(dusk crashpad_handler)
add_custom_command(TARGET dusklight POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"$<TARGET_FILE:crashpad_handler>"
"$<TARGET_FILE_DIR:dusklight>"
COMMENT "Copying crashpad handler"
)
endif () endif ()
if (ANDROID) if (ANDROID)
# SDLActivity loads SDL_main via dlsym on Android. Since aurora::main is a static # SDLActivity loads SDL_main via dlsym on Android. Since aurora::main is a static
# archive, force an undefined reference so the linker keeps the SDL_main object. # archive, force an undefined reference so the linker keeps the SDL_main object.
target_link_options(dusklight PRIVATE "-Wl,-u,SDL_main") target_link_options(dusk PRIVATE "-Wl,-u,SDL_main")
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
target_link_options(dusklight PRIVATE "-Wl,--build-id=sha1")
endif () endif ()
if (NOT APPLE) if (NOT APPLE)
add_custom_command(TARGET dusklight POST_BUILD add_custom_command(TARGET dusk POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_SOURCE_DIR}/res" "${CMAKE_SOURCE_DIR}/res"
"$<TARGET_FILE_DIR:dusklight>/res" "$<TARGET_FILE_DIR:dusk>/res"
COMMENT "Copying resources" COMMENT "Copying resources"
) )
endif () endif ()
@@ -556,9 +464,9 @@ endif ()
if (WIN32) if (WIN32)
set(DUSK_WINDOWS_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/platforms/windows) set(DUSK_WINDOWS_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/platforms/windows)
set(DUSK_WINDOWS_ICON_PNG ${CMAKE_CURRENT_SOURCE_DIR}/res/icon.png) set(DUSK_WINDOWS_ICON_PNG ${CMAKE_CURRENT_SOURCE_DIR}/res/icon.png)
set(DUSK_WINDOWS_ICON_ICO ${CMAKE_CURRENT_BINARY_DIR}/dusklight.ico) set(DUSK_WINDOWS_ICON_ICO ${CMAKE_CURRENT_BINARY_DIR}/dusk.ico)
set(DUSK_WINDOWS_RC ${CMAKE_CURRENT_BINARY_DIR}/dusklight.rc) set(DUSK_WINDOWS_RC ${CMAKE_CURRENT_BINARY_DIR}/dusk.rc)
set(DUSK_WINDOWS_MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/dusklight.manifest) set(DUSK_WINDOWS_MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/dusk.manifest)
add_custom_command( add_custom_command(
OUTPUT ${DUSK_WINDOWS_ICON_ICO} OUTPUT ${DUSK_WINDOWS_ICON_ICO}
@@ -571,14 +479,14 @@ if (WIN32)
COMMENT "Generating Windows icon" COMMENT "Generating Windows icon"
) )
configure_file(${DUSK_WINDOWS_RESOURCE_DIR}/dusklight.manifest.in ${DUSK_WINDOWS_MANIFEST} @ONLY) configure_file(${DUSK_WINDOWS_RESOURCE_DIR}/dusk.manifest.in ${DUSK_WINDOWS_MANIFEST} @ONLY)
configure_file(${DUSK_WINDOWS_RESOURCE_DIR}/dusklight.rc.in ${DUSK_WINDOWS_RC} @ONLY) configure_file(${DUSK_WINDOWS_RESOURCE_DIR}/dusk.rc.in ${DUSK_WINDOWS_RC} @ONLY)
target_sources(dusklight PRIVATE ${DUSK_WINDOWS_ICON_ICO} ${DUSK_WINDOWS_RC}) target_sources(dusk PRIVATE ${DUSK_WINDOWS_ICON_ICO} ${DUSK_WINDOWS_RC})
set_target_properties(dusklight PROPERTIES WIN32_EXECUTABLE TRUE) set_target_properties(dusk PROPERTIES WIN32_EXECUTABLE TRUE)
if (MSVC) if (MSVC)
target_link_options(dusklight PRIVATE /MANIFEST:NO) target_link_options(dusk PRIVATE /MANIFEST:NO)
endif () endif ()
endif () endif ()
@@ -594,10 +502,10 @@ if (APPLE)
file(GLOB_RECURSE DUSK_RESOURCE_FILES file(GLOB_RECURSE DUSK_RESOURCE_FILES
"${DUSK_RESOURCE_DIR}/Assets.car" "${DUSK_RESOURCE_DIR}/Assets.car"
"${DUSK_RESOURCE_DIR}/Base.lproj/*" "${DUSK_RESOURCE_DIR}/Base.lproj/*"
"${DUSK_RESOURCE_DIR}/Dusklight.icns") "${DUSK_RESOURCE_DIR}/Dusk.icns")
file(GLOB_RECURSE DUSK_APP_RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/*") file(GLOB_RECURSE DUSK_APP_RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/*")
target_sources(dusklight PRIVATE ${DUSK_RESOURCE_FILES}) target_sources(dusk PRIVATE ${DUSK_RESOURCE_FILES})
target_sources(dusklight PRIVATE ${DUSK_APP_RESOURCE_FILES}) target_sources(dusk PRIVATE ${DUSK_APP_RESOURCE_FILES})
foreach (FILE ${DUSK_RESOURCE_FILES}) foreach (FILE ${DUSK_RESOURCE_FILES})
file(RELATIVE_PATH NEW_FILE "${DUSK_RESOURCE_DIR}" ${FILE}) file(RELATIVE_PATH NEW_FILE "${DUSK_RESOURCE_DIR}" ${FILE})
get_filename_component(NEW_FILE_PATH ${NEW_FILE} DIRECTORY) get_filename_component(NEW_FILE_PATH ${NEW_FILE} DIRECTORY)
@@ -609,36 +517,29 @@ if (APPLE)
set_property(SOURCE ${FILE} PROPERTY MACOSX_PACKAGE_LOCATION "Resources/${NEW_FILE_PATH}") set_property(SOURCE ${FILE} PROPERTY MACOSX_PACKAGE_LOCATION "Resources/${NEW_FILE_PATH}")
endforeach () endforeach ()
set_target_properties( set_target_properties(
dusklight PROPERTIES dusk PROPERTIES
MACOSX_BUNDLE TRUE MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_BUNDLE_NAME ${DUSK_BUNDLE_NAME} MACOSX_BUNDLE_BUNDLE_NAME ${DUSK_BUNDLE_NAME}
MACOSX_BUNDLE_GUI_IDENTIFIER ${DUSK_BUNDLE_IDENTIFIER} MACOSX_BUNDLE_GUI_IDENTIFIER ${DUSK_BUNDLE_IDENTIFIER}
MACOSX_BUNDLE_BUNDLE_VERSION ${DUSK_VERSION_STRING} MACOSX_BUNDLE_BUNDLE_VERSION ${DUSK_VERSION_STRING}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${DUSK_SHORT_VERSION_STRING} MACOSX_BUNDLE_SHORT_VERSION_STRING ${DUSK_SHORT_VERSION_STRING}
MACOSX_BUNDLE_INFO_PLIST ${DUSK_INFO_PLIST} MACOSX_BUNDLE_INFO_PLIST ${DUSK_INFO_PLIST}
OUTPUT_NAME Dusklight OUTPUT_NAME Dusk
XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "YES" XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "YES"
XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "YES" XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "YES"
) )
endif () endif ()
if (APPLE AND NOT IOS AND NOT TVOS)
find_library(APPKIT_FRAMEWORK AppKit REQUIRED)
target_sources(dusklight PRIVATE src/dusk/file_select_macos.mm)
set_source_files_properties(src/dusk/file_select_macos.mm PROPERTIES COMPILE_FLAGS -fobjc-arc)
target_link_libraries(dusklight PRIVATE ${APPKIT_FRAMEWORK})
endif ()
if (IOS) if (IOS)
find_library(UIKIT_FRAMEWORK UIKit REQUIRED) find_library(UIKIT_FRAMEWORK UIKit REQUIRED)
find_library(UNIFORM_TYPE_IDENTIFIERS_FRAMEWORK UniformTypeIdentifiers REQUIRED) find_library(UNIFORM_TYPE_IDENTIFIERS_FRAMEWORK UniformTypeIdentifiers REQUIRED)
target_sources(dusklight PRIVATE src/dusk/ios/FileSelectDialog.m) target_sources(dusk PRIVATE src/dusk/ios/FileSelectDialog.m)
set_source_files_properties(src/dusk/ios/FileSelectDialog.m PROPERTIES COMPILE_FLAGS -fobjc-arc) set_source_files_properties(src/dusk/ios/FileSelectDialog.m PROPERTIES COMPILE_FLAGS -fobjc-arc)
target_link_libraries(dusklight PRIVATE ${UIKIT_FRAMEWORK} ${UNIFORM_TYPE_IDENTIFIERS_FRAMEWORK}) target_link_libraries(dusk PRIVATE ${UIKIT_FRAMEWORK} ${UNIFORM_TYPE_IDENTIFIERS_FRAMEWORK})
endif () endif ()
include(extern/aurora/cmake/AuroraCopyRuntimeDLLs.cmake) include(extern/aurora/cmake/AuroraCopyRuntimeDLLs.cmake)
aurora_copy_runtime_dlls(dusklight) aurora_copy_runtime_dlls(dusk)
if (DUSK_SELECTED_OPT) if (DUSK_SELECTED_OPT)
if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
@@ -676,25 +577,17 @@ function(get_target_prefix target result_var)
endif () endif ()
endif () endif ()
endfunction() endfunction()
list(APPEND BINARY_TARGETS dusklight) list(APPEND BINARY_TARGETS dusk)
set(EXTRA_TARGETS "") 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}) aurora_install_runtime_dlls(dusk ${CMAKE_INSTALL_PREFIX})
else()
install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${CMAKE_INSTALL_PREFIX})
endif()
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)
+54 -156
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
}
} }
}, },
{ {
@@ -42,24 +30,10 @@
"CMAKE_CXX_COMPILER_LAUNCHER": "sccache", "CMAKE_CXX_COMPILER_LAUNCHER": "sccache",
"DUSK_ENABLE_SENTRY_NATIVE": { "DUSK_ENABLE_SENTRY_NATIVE": {
"type": "BOOL", "type": "BOOL",
"value": true "value": false
}, },
"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",
@@ -323,11 +249,22 @@
"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
},
"CMAKE_DISABLE_FIND_PACKAGE_Freetype": {
"type": "BOOL",
"value": true
}
}, },
"vendor": { "vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": { "microsoft.com/VisualStudioSettings/CMake/1.0": {
@@ -354,21 +291,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": {
@@ -389,19 +329,7 @@
"cacheVariables": { "cacheVariables": {
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install", "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install",
"CMAKE_TOOLCHAIN_FILE": "$env{ANDROID_HOME}/ndk/$env{ANDROID_NDK_VERSION}/build/cmake/android.toolchain.cmake", "CMAKE_TOOLCHAIN_FILE": "$env{ANDROID_HOME}/ndk/$env{ANDROID_NDK_VERSION}/build/cmake/android.toolchain.cmake",
"ANDROID_PLATFORM": "android-28", "ANDROID_PLATFORM": "android-28"
"BUILD_SHARED_LIBS": {
"type": "BOOL",
"value": false
},
"CMAKE_DISABLE_FIND_PACKAGE_PkgConfig": {
"type": "BOOL",
"value": true
},
"CMAKE_DISABLE_FIND_PACKAGE_zstd": {
"type": "BOOL",
"value": true
}
} }
}, },
{ {
@@ -429,15 +357,8 @@
"hidden": true, "hidden": true,
"inherits": [ "inherits": [
"android-base", "android-base",
"ci", "ci"
"release" ]
],
"cacheVariables": {
"DUSK_ENABLE_SENTRY_NATIVE": {
"type": "BOOL",
"value": false
}
}
}, },
{ {
"name": "x-android-ci-arm64", "name": "x-android-ci-arm64",
@@ -458,8 +379,7 @@
"ci" "ci"
], ],
"cacheVariables": { "cacheVariables": {
"AURORA_SDL3_PROVIDER": "vendor", "AURORA_SDL3_PROVIDER": "vendor"
"CMAKE_LINKER_TYPE": "MOLD"
} }
}, },
{ {
@@ -488,8 +408,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",
"DUSK_MOVIE_SUPPORT": {
"type": "BOOL",
"value": false
}
} }
}, },
{ {
@@ -507,6 +431,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"
} }
@@ -518,7 +443,11 @@
], ],
"cacheVariables": { "cacheVariables": {
"CMAKE_C_COMPILER_LAUNCHER": "sccache", "CMAKE_C_COMPILER_LAUNCHER": "sccache",
"CMAKE_CXX_COMPILER_LAUNCHER": "sccache" "CMAKE_CXX_COMPILER_LAUNCHER": "sccache",
"DUSK_MOVIE_SUPPORT": {
"type": "BOOL",
"value": false
}
} }
}, },
{ {
@@ -528,7 +457,11 @@
], ],
"cacheVariables": { "cacheVariables": {
"CMAKE_C_COMPILER_LAUNCHER": "sccache", "CMAKE_C_COMPILER_LAUNCHER": "sccache",
"CMAKE_CXX_COMPILER_LAUNCHER": "sccache" "CMAKE_CXX_COMPILER_LAUNCHER": "sccache",
"DUSK_MOVIE_SUPPORT": {
"type": "BOOL",
"value": false
}
} }
}, },
{ {
@@ -544,15 +477,7 @@
"type": "FILEPATH", "type": "FILEPATH",
"value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}, },
"VCPKG_TARGET_TRIPLET": "x64-windows", "VCPKG_TARGET_TRIPLET": "x64-windows"
"TRACY_ENABLE": {
"type": "BOOL",
"value": true
},
"TRACY_ON_DEMAND": {
"type": "BOOL",
"value": true
}
} }
}, },
{ {
@@ -574,10 +499,7 @@
"inherits": [ "inherits": [
"x-windows-ci", "x-windows-ci",
"windows-arm64-msvc" "windows-arm64-msvc"
], ]
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "arm64-windows"
}
} }
], ],
"buildPresets": [ "buildPresets": [
@@ -587,12 +509,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",
@@ -605,12 +521,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",
@@ -623,12 +533,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",
@@ -641,7 +545,7 @@
"description": "iOS release build with debug info", "description": "iOS release build with debug info",
"displayName": "iOS RelWithDebInfo", "displayName": "iOS RelWithDebInfo",
"targets": [ "targets": [
"dusklight" "dusk"
] ]
}, },
{ {
@@ -650,7 +554,7 @@
"description": "tvOS release build with debug info", "description": "tvOS release build with debug info",
"displayName": "tvOS RelWithDebInfo", "displayName": "tvOS RelWithDebInfo",
"targets": [ "targets": [
"dusklight" "dusk"
] ]
}, },
{ {
@@ -659,7 +563,7 @@
"description": "Android arm64-v8a release build with debug info", "description": "Android arm64-v8a release build with debug info",
"displayName": "Android arm64-v8a RelWithDebInfo", "displayName": "Android arm64-v8a RelWithDebInfo",
"targets": [ "targets": [
"dusklight" "dusk"
] ]
}, },
{ {
@@ -668,7 +572,7 @@
"description": "Android x86_64 release build with debug info", "description": "Android x86_64 release build with debug info",
"displayName": "Android x86_64 RelWithDebInfo", "displayName": "Android x86_64 RelWithDebInfo",
"targets": [ "targets": [
"dusklight" "dusk"
] ]
}, },
{ {
@@ -677,7 +581,7 @@
"description": "(Internal) Android CI arm64-v8a", "description": "(Internal) Android CI arm64-v8a",
"displayName": "(Internal) Android CI arm64-v8a", "displayName": "(Internal) Android CI arm64-v8a",
"targets": [ "targets": [
"dusklight" "dusk"
] ]
}, },
{ {
@@ -686,12 +590,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",
+18 -16
View File
@@ -1,39 +1,41 @@
<div align="center"> <div align="center">
<img src="res/logo.png" alt="Logo" width="640"> <img src="res/logo-mascot.png" alt="Logo" width="640">
<p align="center"> <p align="center">
<a href="https://twilitrealm.dev">Official Website</a> <a href="https://twilitrealm.dev">Official Website</a>
<a href="https://discord.gg/6NpMhefCK9">Discord</a> <a href="https://discord.gg/dusktp">Discord</a>
</p> </p>
</div> </div>
# Overview # Overview
Dusklight is a reverse-engineered reimplementation of Twilight Princess. Dusk is a reverse-engineered reimplementation of Twilight Princess.
It aims to be as accurate as possible to the original while also providing new options, enhancements, and tools to customize your experience. It aims to be as accurate as possible to the original while also providing new options, enhancements, and tools to customize your experience.
# Setup # Setup
> [!IMPORTANT] > [!IMPORTANT]
> Dusklight does *not* provide any copyrighted assets. You must provide your own copy of the original game. > Dusk does *not* provide any copyrighted assets. You must provide your own copy of the original game.
> [!IMPORTANT] ### 1. Verify your dump
> 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 First, make sure your dump of the game is clean and supported by Dusk. You can do this by checking the SHA-1 hash of your dump against this list of supported versions:
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. | Version | SHA-1 hash |
|--------------| ------------------------------------------ |
| GameCube USA | `75edd3ddff41f125d1b4ce1a40378f1b565519e7` |
| GameCube EUR | `2601822a488eeb86fb89db16ca8f29c2c953e1ca` |
Currently, only the GameCube USA and EUR releases are supported. Support for other versions of the game is planned in the future. *Support for other versions of the game is planned in the future.
### 2. Download [Dusklight](https://github.com/TwilitRealm/dusklight/releases) ### 2. Download [Dusk](https://github.com/TwilitRealm/dusk/releases)
### 3. Setup the game ### 3. Setup the game
**Windows / macOS / Linux** **Windows / macOS / Linux**
- Extract the .zip file - Extract the .zip file
- Launch Dusklight - Launch Dusk
- Press **Select Disc Image** and provide the path to your supported game dump - Press **Select Disc Image** and provide the path to your supported game dump
- Press **Play**! - Press **Play**!
@@ -41,20 +43,20 @@ Currently, only the GameCube USA and EUR releases are supported. Support for oth
- Follow the [iOS setup guide](docs/ios-install-altstore.md) - Follow the [iOS setup guide](docs/ios-install-altstore.md)
**Android** **Android**
- Install the Dusklight APK - Install the Dusk apk
- Launch Dusklight - Launch Dusk
- Press **Select Disc Image** and provide the path to your supported game dump - Press **Select Disc Image** and provide the path to your supported game dump
- Press **Play**! - Press **Play**!
# Building # Building
If you'd like to build Dusklight from source, please read the [build instructions](docs/building.md). If you'd like to build Dusk from source, please read the [build instructions](docs/building.md).
Pull requests are welcomed! Note that we do not accept contributions that are primarily AI-generated and will close your PR if we suspect as much. Please also see the [code conventions](docs/code-conventions.md). Pull requests are welcomed! Note that we do not accept contributions that are primarily AI-generated and will close your PR if we suspect as much.
# Credits # Credits
Special thanks to the [TP decompilation](https://github.com/zeldaret/tp) team, the GC/Wii decompilation community, the [Aurora](https://github.com/encounter/aurora) developers, the [TP speedrunning community](https://zsrtp.link), and all [contributors](https://github.com/TwilitRealm/dusklight/graphs/contributors). Special thanks to the [TP decompilation](https://github.com/zeldaret/tp) team, the GC/Wii decompilation community, the [Aurora](https://github.com/encounter/aurora) developers, the [TP speedrunning community](https://zsrtp.link), and all [contributors](https://github.com/TwilitRealm/dusk/graphs/contributors).
<br/> <br/>
<div align="center"> <div align="center">
+9 -18
View File
@@ -1,27 +1,18 @@
#!/bin/bash -ex #!/bin/bash -ex
shopt -s extglob
if [[ -n "${GITHUB_WORKSPACE:-}" ]]; then
cd "$GITHUB_WORKSPACE"
fi
build_dir="$PWD/build"
linuxdeploy="$build_dir/linuxdeploy-$(uname -m).AppImage"
lib_dir="/usr/lib/$(uname -m)-linux-gnu"
# Get linuxdeploy # Get linuxdeploy
mkdir -p "$build_dir" cd "$RUNNER_WORKSPACE"
curl -fL "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$(uname -m).AppImage" -o "$linuxdeploy" curl -fOL https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$(uname -m).AppImage
chmod +x "$linuxdeploy" chmod +x linuxdeploy-$(uname -m).AppImage
# Build AppImage # Build AppImage
cd "$GITHUB_WORKSPACE"
mkdir -p build/appdir/usr/{bin,share/{applications,icons/hicolor}} mkdir -p build/appdir/usr/{bin,share/{applications,icons/hicolor}}
for install_path in build/install/*; do cp -r build/install/!(*.*) build/appdir/usr/bin
[[ "$(basename "$install_path")" == *.* ]] && continue
cp -r "$install_path" build/appdir/usr/bin
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/dusk.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 "$RUNNER_WORKSPACE"/linuxdeploy-$(uname -m).AppImage \
-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 "$GITHUB_WORKSPACE"/build/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 ()
+52 -186
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
```
base-devel cmake ninja llvm vulkan-headers python python-markupsafe clang lld alsa-lib libpulse libxrandr freetype2
```
* Fedora packages
```
cmake vulkan-headers ninja-build clang-devel llvm-devel libpng-devel
```
* It's also important that you install the developer tools and libraries
```
sudo dnf groupinstall "Development Tools" "Development Libraries"
```
#### Setup
Clone and initialize the Dusk repository
```sh ```sh
brew install cmake git clone --recursive https://github.com/TwilitRealm/dusk.git
``` cd dusk
* Install Python 3
```sh
brew install python@3
```
Recommended IDEs:
* [Xcode 16.4 or later](https://developer.apple.com/xcode/)
* [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
git clone --recursive https://github.com/TwilitRealm/dusklight.git
git pull git pull
cd dusklight
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}/dusk /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, Dusk defaults to `game.iso` in the current working directory.
-13
View File
@@ -1,13 +0,0 @@
# Code conventions for Dusk
## Upstream when appropriate
Bug fixes, documentation improvements, code cleanup, etc that also apply to the [original decompilation project](https://github.com/zeldaret/tp) should preferably be PR'd there.
## Properly indicate Dusk-modified code
When modifying original game code (i.e. in decomp) for Dusk's purposes, please clearly delineate such code as being Dusk-specific. Generally, this can be done by using `#if TARGET_PC` and keeping the original code in place. Use `#if AVOID_UB` for Undefined Behavior fixes to the original codebase.
## Miscellaneous things
* The original codebase makes heavy use of global `operator new` and similar overloads to allocate into a strict tree of heaps. This would cause many linkage headaches for us, so effectively all uses of `new` or `delete` in the original game code have been replaced with `JKR_NEW`, `JKR_DELETE`, or similar macros. See `JKRHeap.h` for the full list.
+26 -28
View File
@@ -1,48 +1,46 @@
# Installing Dusklight on iOS via iloader # Installing Dusk 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)) - Dusk IPA file (download the latest `Dusk-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
+3 -31
View File
@@ -1411,23 +1411,15 @@ set(DOLPHIN_FILES
) )
set(DUSK_FILES set(DUSK_FILES
include/dusk/action_bindings.h
include/dusk/endian_gx.hpp include/dusk/endian_gx.hpp
include/dusk/config.hpp include/dusk/config.hpp
include/dusk/dvd_asset.hpp include/dusk/dvd_asset.hpp
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.hpp
src/dusk/endian.cpp src/dusk/endian.cpp
src/dusk/extras.c src/dusk/extras.c
src/dusk/file_select.cpp src/dusk/file_select.cpp
@@ -1436,9 +1428,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
@@ -1446,12 +1435,7 @@ set(DUSK_FILES
src/dusk/layout.cpp src/dusk/layout.cpp
src/dusk/logging.cpp src/dusk/logging.cpp
src/dusk/settings.cpp src/dusk/settings.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
@@ -1460,16 +1444,18 @@ set(DUSK_FILES
src/dusk/imgui/ImGuiConsole.cpp src/dusk/imgui/ImGuiConsole.cpp
src/dusk/imgui/ImGuiEngine.cpp src/dusk/imgui/ImGuiEngine.cpp
src/dusk/imgui/ImGuiEngine.hpp src/dusk/imgui/ImGuiEngine.hpp
src/dusk/imgui/ImGuiMenuGame.cpp
src/dusk/imgui/ImGuiMenuGame.hpp
src/dusk/imgui/ImGuiBloomWindow.cpp src/dusk/imgui/ImGuiBloomWindow.cpp
src/dusk/imgui/ImGuiBloomWindow.hpp src/dusk/imgui/ImGuiBloomWindow.hpp
src/dusk/imgui/ImGuiMenuTools.cpp src/dusk/imgui/ImGuiMenuTools.cpp
src/dusk/imgui/ImGuiMenuTools.hpp src/dusk/imgui/ImGuiMenuTools.hpp
src/dusk/imgui/ImGuiActorSpawner.cpp
src/dusk/imgui/ImGuiProcessOverlay.cpp src/dusk/imgui/ImGuiProcessOverlay.cpp
src/dusk/imgui/ImGuiCameraOverlay.cpp src/dusk/imgui/ImGuiCameraOverlay.cpp
src/dusk/imgui/ImGuiHeapOverlay.cpp src/dusk/imgui/ImGuiHeapOverlay.cpp
src/dusk/imgui/ImGuiControllerOverlay.cpp src/dusk/imgui/ImGuiControllerOverlay.cpp
src/dusk/imgui/ImGuiStubLog.cpp src/dusk/imgui/ImGuiStubLog.cpp
src/dusk/imgui/ImGuiMapLoader.cpp
src/dusk/imgui/ImGuiSaveEditor.cpp src/dusk/imgui/ImGuiSaveEditor.cpp
src/dusk/imgui/ImGuiStateShare.hpp src/dusk/imgui/ImGuiStateShare.hpp
src/dusk/imgui/ImGuiStateShare.cpp src/dusk/imgui/ImGuiStateShare.cpp
@@ -1481,7 +1467,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 +1479,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
@@ -1511,8 +1494,6 @@ set(DUSK_FILES
src/dusk/ui/prelaunch.hpp src/dusk/ui/prelaunch.hpp
src/dusk/ui/preset.cpp src/dusk/ui/preset.cpp
src/dusk/ui/preset.hpp src/dusk/ui/preset.hpp
src/dusk/ui/reporting.cpp
src/dusk/ui/reporting.hpp
src/dusk/ui/select_button.cpp src/dusk/ui/select_button.cpp
src/dusk/ui/select_button.hpp src/dusk/ui/select_button.hpp
src/dusk/ui/settings.cpp src/dusk/ui/settings.cpp
@@ -1521,16 +1502,8 @@ 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.hpp
src/dusk/ui/window.cpp src/dusk/ui/window.cpp
src/dusk/ui/window.hpp src/dusk/ui/window.hpp
src/dusk/achievements.cpp src/dusk/achievements.cpp
@@ -1545,7 +1518,6 @@ set(DUSK_FILES
src/dusk/discord.hpp src/dusk/discord.hpp
src/dusk/discord_presence.cpp src/dusk/discord_presence.cpp
src/dusk/version.cpp src/dusk/version.cpp
src/dusk/action_bindings.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": {
+28 -381
View File
@@ -1,386 +1,33 @@
{ {
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; pkgs = import nixpkgs { system = "x86_64-linux"; };
dusk = pkgs.stdenv.mkDerivation {
supportedSystems = [ name = "dusk";
"x86_64-linux" src = ./.;
"aarch64-linux" nativeBuildInputs = [
"x86_64-darwin" pkgs.cmake
"aarch64-darwin" pkgs.pkg-config
]; pkgs.wayland
forAllSystems = lib.genAttrs supportedSystems; ];
buildInputs = [
dawnVersion = "v20260423.175430"; pkgs.libGL
nodVersion = "v2.0.0-alpha.8"; pkgs.libX11
versionSuffix = "nix-" + (self.shortRev or self.dirtyShortRev or "dirty"); pkgs.libXcursor
pkgs.libxi
dawnInfo = { pkgs.libxcb
"x86_64-linux" = { pkgs.libxrandr
triple = "linux-x86_64"; pkgs.libxscrnsaver
hash = "sha256-HXfKTLHtMPwupnFnaflCARtXVPuS/0PoCePXidjE5xs="; pkgs.libxtst
}; pkgs.libjpeg8
"aarch64-linux" = { pkgs.libxkbcommon
triple = "linux-aarch64"; pkgs.libglvnd
hash = "sha256-34yyFpfqBZUwoFXQ41F0AwAU78FaNihOSY0oriwn6B0="; ];
};
"aarch64-darwin" = {
triple = "darwin-arm64";
hash = "sha256-eQnzrBp6gjiBek1VYQ9A5W13ClYWrDDKjIqv/7eNTR4=";
};
"x86_64-darwin" = {
triple = "darwin-x86_64";
hash = "sha256-QGWiGdxiI9kci3NPXH6QFFirxn16851zB/w3jqhIBJ4=";
};
}; };
in {
nodPrebuiltInfo = { packages.x86_64-linux.default = dusk;
"x86_64-linux" = {
triple = "linux-x86_64";
hash = "sha256-mUqvLsbsqaZ+HAjMmHYPYO+MgtanGRTw7Gzn5uXR5rE=";
};
"aarch64-darwin" = {
triple = "macos-arm64";
hash = "sha256-UPy1ywCcv0K6VJOU3uUelJuUdBh3UNaPRlyP5LOBeDw=";
};
};
perSystem =
system:
let
pkgs = import nixpkgs { inherit system; };
inherit (pkgs.stdenv.hostPlatform) isDarwin;
hasNodPrebuilt = nodPrebuiltInfo ? ${system};
aurora = builtins.pathExists "${self}/extern/aurora/CMakeLists.txt";
needSubmodules = ''
dusklight: The aurora submodule is not vendored. Add submodules=1 to build.
As a flake input:
dusklight.url = "git+https://github.com/TwilitRealm/dusklight?ref=main&submodules=1";
nix command:
nix run 'git+https://github.com/TwilitRealm/dusklight?submodules=1'
Local checkout:
nix run '.?submodules=1#dusklight'
'';
dawn = pkgs.fetchzip {
url = "https://github.com/encounter/dawn-build/releases/download/${dawnVersion}/dawn-${dawnInfo.${system}.triple}.tar.gz";
hash = dawnInfo.${system}.hash;
stripRoot = false;
};
corrosion = pkgs.fetchFromGitHub {
owner = "corrosion-rs";
repo = "corrosion";
rev = "v0.6.1";
hash = "sha256-ppuDNObfKhneD9AlnPAvyCRHKW3BidXKglD1j/LE9CM=";
};
nodFromSource = pkgs.stdenv.mkDerivation (finalAttrs: {
pname = "nod";
version = nodVersion;
src = pkgs.fetchFromGitHub {
owner = "encounter";
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
];
# 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 = [
# 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.
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;
in
{
packages = lib.mapAttrs (_: s: s.packages) systems;
devShells = lib.mapAttrs (_: s: s.devShells) systems;
}; };
} }
+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;
+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);
+2 -20
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 {
@@ -4549,14 +4545,13 @@ 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 checkTouchAimCaptureContext();
void onIronBallChainInterpCallback(); void onIronBallChainInterpCallback();
@@ -4569,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 */
-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;

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