diff --git a/.github/workflows/artifact.yml b/.github/workflows/artifact.yml index 555b9ed3..32204a59 100644 --- a/.github/workflows/artifact.yml +++ b/.github/workflows/artifact.yml @@ -18,13 +18,13 @@ on: branches: [ "main" ] env: - DOTNET_VERSION: '9.0.304' + DOTNET_VERSION: '10.0.101' NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages NEXUSMOD_API_KEY: ${{ secrets.NEXUSMOD_API_KEY }} NEXUSMOD_SESSION_COOKIE: ${{ secrets.NEXUSMOD_SESSION_COOKIE }} jobs: - build: + build-windows: runs-on: windows-latest steps: - name: Checkout code @@ -37,18 +37,24 @@ jobs: uses: actions/cache@v3 with: path: ${{ github.workspace }}/.dotnet - key: ${{ runner.os }}-dotnet - restore-keys: | - ${{ runner.os }}-dotnet + key: ${{ runner.os }}-dotnet-${{ env.DOTNET_VERSION }} - name: NuGet cache id: cache-nuget uses: actions/cache@v3 with: - path: ${{ github.workspace }}/.nuget/packages - key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} - restore-keys: | - ${{ runner.os }}-nuget- + path: | + ${{ github.workspace }}/.nuget/packages + ${{ github.workspace }}/packages + ${{ github.workspace }}/PromptPlus/**/obj + ${{ github.workspace }}/WitchyBND/**/obj + ${{ github.workspace }}/WitchyBND.Shell/**/obj + ${{ github.workspace }}/WitchyFormats/**/obj + ${{ github.workspace }}/WitchyLib/**/obj + ${{ github.workspace }}/WitchyTests/**/obj + ${{ github.workspace }}/SoulsFormats/**/obj + ${{ github.workspace }}/SoulsOodleLib/**/obj + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.win-x64.lock.json') }} - name: Setup .NET if: ${{ steps.cache-dotnet-core.outputs.cache-hit != 'true' }} @@ -58,34 +64,78 @@ jobs: - name: Restore packages if: ${{ steps.cache-nuget.outputs.cache-hit != 'true' }} - run: nuget restore ./WitchyBND.sln -LockedMode - + run: dotnet restore -r win-x64 --locked-mode ./WitchyBND.sln --lock-file-path packages.win-x64.lock.json + - name: Build - run: dotnet build -c Release --no-restore ./WitchyTests/WitchyTests.csproj # Builds WitchyBND which builds Shell + run: dotnet build -r win-x64 -c Release --no-restore WitchyTests # Builds WitchyTests which builds WitchyBND which builds WitchyBND.Shell + + - name: Run unit tests + run: dotnet test -c Release -r win-x64 --no-build --filter TestCategory!=SkipOnGitHubAction + + - name: Publish application + run: dotnet publish -r win-x64 -c Release --no-build WitchyBND + + # Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: 'WitchyBND-SHA${{ github.sha }}-win-x64' + path: './bin/publish/win-x64' - - name: Install test runner - run: nuget install NUnit.ConsoleRunner -Version 3.17.0 -DirectDownload -OutputDirectory . + build-linux: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'true' + + - name: Dotnet cache + id: cache-dotnet-core + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/.dotnet + key: ${{ runner.os }}-dotnet-${{ env.DOTNET_VERSION }} + + - name: NuGet cache + id: cache-nuget + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/.nuget/packages + ${{ github.workspace }}/packages + ${{ github.workspace }}/PromptPlus/**/obj + ${{ github.workspace }}/WitchyBND/**/obj + ${{ github.workspace }}/WitchyBND.Shell/**/obj + ${{ github.workspace }}/WitchyFormats/**/obj + ${{ github.workspace }}/WitchyLib/**/obj + ${{ github.workspace }}/WitchyTests/**/obj + ${{ github.workspace }}/SoulsFormats/**/obj + ${{ github.workspace }}/SoulsOodleLib/**/obj + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.linux-x64.lock.json') }} + + - name: Setup .NET + if: ${{ steps.cache-dotnet-core.outputs.cache-hit != 'true' }} + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Restore packages + if: ${{ steps.cache-nuget.outputs.cache-hit != 'true' }} + run: dotnet restore -r linux-x64 --locked-mode ./WitchyBND.sln --lock-file-path packages.linux-x64.lock.json + + - name: Build + run: dotnet build -c Release -r linux-x64 --no-restore WitchyTests # Builds WitchyTests which builds WitchyBND which builds WitchyBND.Shell - name: Run unit tests - run: ./NUnit.ConsoleRunner.3.17.0/tools/nunit3-console.exe ./WitchyTests/bin/Release/net8.0-windows/WitchyTests.dll --where "cat != SkipOnGitHubAction" + run: dotnet test -c Release -r linux-x64 --no-build --filter TestCategory!=SkipOnGitHubAction - name: Publish application - run: | - cd WitchyBND - dotnet publish -c Release --no-restore + run: dotnet publish -c Release -r linux-x64 --no-build WitchyBND # Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact - name: Upload build artifacts uses: actions/upload-artifact@v4 with: - name: 'WitchyBND-SHA${{ github.sha }}' - path: './bin/publish' - -# nexus: -# runs-on: windows-latest -# steps: -# - name: Setup mod uploader -# run: dotnet tool install -g Digitalroot.ModUploader -# -# - name: Check mod uploader -# run: drmu nx check \ No newline at end of file + name: 'WitchyBND-SHA${{ github.sha }}-linux-x64' + path: './bin/publish/linux-x64' \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3791adcf..88b57000 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,13 +16,13 @@ permissions: contents: write env: - DOTNET_VERSION: '9.0.304' + DOTNET_VERSION: '10.0.101' NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages NEXUSMOD_API_KEY: ${{ secrets.NEXUSMOD_API_KEY }} NEXUSMOD_SESSION_COOKIE: ${{ secrets.NEXUSMOD_SESSION_COOKIE }} jobs: - build: + build-windows: runs-on: windows-latest steps: - name: Checkout code @@ -30,157 +30,130 @@ jobs: with: submodules: 'true' - - name: Setup cache + - name: Dotnet cache + id: cache-dotnet-core uses: actions/cache@v3 with: - path: ${{ github.workspace }}/.nuget/packages - key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} - restore-keys: | - ${{ runner.os }}-nuget- + path: ${{ github.workspace }}/.dotnet + key: ${{ runner.os }}-dotnet-${{ env.DOTNET_VERSION }} + + - name: NuGet cache + id: cache-nuget + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/.nuget/packages + ${{ github.workspace }}/packages + ${{ github.workspace }}/PromptPlus/**/obj + ${{ github.workspace }}/WitchyBND/**/obj + ${{ github.workspace }}/WitchyBND.Shell/**/obj + ${{ github.workspace }}/WitchyFormats/**/obj + ${{ github.workspace }}/WitchyLib/**/obj + ${{ github.workspace }}/WitchyTests/**/obj + ${{ github.workspace }}/SoulsFormats/**/obj + ${{ github.workspace }}/SoulsOodleLib/**/obj + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.win-x64.lock.json') }} - name: Setup .NET + if: ${{ steps.cache-dotnet-core.outputs.cache-hit != 'true' }} uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: Restore packages - run: nuget restore ./WitchyBND.sln -LockedMode + if: ${{ steps.cache-nuget.outputs.cache-hit != 'true' }} + run: dotnet restore -r win-x64 --locked-mode ./WitchyBND.sln --lock-file-path packages.win-x64.lock.json - name: Build - run: dotnet build -c Release --no-restore ./WitchyTests/WitchyTests.csproj # Builds WitchyBND which builds Shell + run: dotnet build -r win-x64 -c Release --no-restore WitchyTests # Builds WitchyTests which builds WitchyBND which builds WitchyBND.Shell + + - name: Run unit tests + run: dotnet test -c Release -r win-x64 --no-build --filter TestCategory!=SkipOnGitHubAction + + - name: Publish application + run: dotnet publish -r win-x64 -c Release --no-build WitchyBND + + - name: Archive release + uses: thedoctor0/zip-release@main + with: + type: 'zip' + filename: '../../WitchyBND-${{ github.ref_name }}-win-x64.zip' + directory: './bin/publish' + path: '.' + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: 'WitchyBND-SHA${{ github.sha }}-win-x64' + path: WitchyBND-${{ github.ref_name }}-win-x64.zip + + build-linux: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'true' - - name: Install test runner - run: nuget install NUnit.ConsoleRunner -Version 3.17.0 -DirectDownload -OutputDirectory . + - name: Dotnet cache + id: cache-dotnet-core + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/.dotnet + key: ${{ runner.os }}-dotnet-${{ env.DOTNET_VERSION }} + + - name: NuGet cache + id: cache-nuget + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/.nuget/packages + ${{ github.workspace }}/packages + ${{ github.workspace }}/PromptPlus/**/obj + ${{ github.workspace }}/WitchyBND/**/obj + ${{ github.workspace }}/WitchyBND.Shell/**/obj + ${{ github.workspace }}/WitchyFormats/**/obj + ${{ github.workspace }}/WitchyLib/**/obj + ${{ github.workspace }}/WitchyTests/**/obj + ${{ github.workspace }}/SoulsFormats/**/obj + ${{ github.workspace }}/SoulsOodleLib/**/obj + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.linux-x64.lock.json') }} + + - name: Setup .NET + if: ${{ steps.cache-dotnet-core.outputs.cache-hit != 'true' }} + uses: actions/setup-dotnet@v3 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Restore packages + if: ${{ steps.cache-nuget.outputs.cache-hit != 'true' }} + run: dotnet restore -r linux-x64 --locked-mode ./WitchyBND.sln --lock-file-path packages.linux-x64.lock.json + + - name: Build + run: dotnet build -c Release -r linux-x64 --no-restore WitchyTests # Builds WitchyTests which builds WitchyBND which builds WitchyBND.Shell - name: Run unit tests - run: ./NUnit.ConsoleRunner.3.17.0/tools/nunit3-console.exe ./WitchyTests/bin/Release/net8.0-windows/WitchyTests.dll --where "cat != SkipOnGitHubAction" + run: dotnet test -c Release -r linux-x64 --no-build --filter TestCategory!=SkipOnGitHubAction - name: Publish application - run: | - cd WitchyBND - dotnet publish -c Release --no-restore + run: dotnet publish -c Release -r linux-x64 --no-build WitchyBND - name: Archive release uses: thedoctor0/zip-release@main with: type: 'zip' - filename: '../../WitchyBND-${{ github.ref_name }}.zip' + filename: '../../WitchyBND-${{ github.ref_name }}-linux-x64.zip' directory: './bin/publish' path: '.' - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: 'WitchyBND-SHA${{ github.sha }}' - path: WitchyBND-${{ github.ref_name }}.zip - -# nexus: -# needs: build -# runs-on: windows-latest -# steps: -# - name: Setup mod uploader -# run: dotnet tool install -g Digitalroot.ModUploader -# -# - name: Check mod uploader -# run: drmu nx check -# -# - name: Download artifact -# uses: actions/download-artifact@v4 -# with: -# pattern: WitchyBND-SHA* -# -# - name: Upload to Elden Ring Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g eldenring -# -ddwm -# 3862 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to Nightreign Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g eldenringnightreign -# -ddwm -# 336 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to ACVI Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g armoredcore6firesofrubicon -# -ddwm -# 20 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to DS1 Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g darksouls -# -ddwm -# 1865 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to DS1R Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g darksoulsremastered -# -ddwm -# 653 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to DS2 Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g darksouls2 -# -ddwm -# 1192 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to DS3 Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g darksouls3 -# -ddwm -# 1676 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to Sekiro Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g sekiro -# -ddwm -# 1633 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" -# -# - name: Upload to Bloodborne Nexus -# run: drmu nexusmods upload -# -f "WitchyBND" -# -v "${{ github.ref_name }}" -# -t Main -# -d "For the list of changes, view the changelog [url=https://github.com/ividyon/WitchyBND]on the GitHub page[/url]." -# -g bloodborne -# -ddwm -# 20 "WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip" + name: 'WitchyBND-SHA${{ github.sha }}-linux-x64' + path: WitchyBND-${{ github.ref_name }}-linux-x64.zip release: - needs: build + needs: [build-windows, build-linux] runs-on: windows-latest steps: - name: Checkout code @@ -194,6 +167,6 @@ jobs: - name: Upload Release uses: ncipollo/release-action@v1 with: - artifacts: 'WitchyBND-SHA${{ github.sha }}\WitchyBND-${{ github.ref_name }}.zip' + artifacts: 'WitchyBND-SHA${{ github.sha }}-win-x64\WitchyBND-${{ github.ref_name }}-win-x64.zip,WitchyBND-SHA${{ github.sha }}-linux-x64\WitchyBND-${{ github.ref_name }}-linux-x64.zip' bodyFile: "./NOTES.md" token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index d1539772..33e70a44 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,8 @@ [submodule "SoulsFormats"] path = SoulsFormats url = https://github.com/soulsmods/SoulsFormatsNEXT + shallow = true +[submodule "PromptPlus"] + path = PromptPlus + url = https://github.com/FRACerqueira/PromptPlus + shallow = true diff --git a/Directory.Build.props b/Directory.Build.props index db348240..9f5f9747 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,15 @@ ividyon ividyon - 2.17.0.0 + 3.0.0.0 $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./ + + packages.$(RuntimeIdentifier).lock.json + + + + $(MSBuildThisFileDirectory) + + \ No newline at end of file diff --git a/NOTES.md b/NOTES.md index 76f4330a..5a690a3f 100644 --- a/NOTES.md +++ b/NOTES.md @@ -1,6 +1,12 @@ * Added basic cross-platform capability with Linux support. * The oo2core binary needs to be provided by the user. See the README for more info. * Some features are unavailable. -* Fixed a crash issue with repacking PS4 TPFs. This updates the TPF parser version. +* Updated PromptPlus to version 5, which should be more cross platform-compatible. +* Added support for the AIP (Auto Invade Point) format, props to Axi for the template. +* Removed the "DCX decompression only" configuration as it has only led to confusion so far. It can still be enabled via command line if needed. +* Fixed some crash issues with repacking PS4 TPFs. This updates the TPF parser version. * Fixed a crash issue when handling FFXBND from different platforms than PC. This updates the FFXBND parser version. +* Fixed an issue with SoulsFormats TAE where certain event parameters would become corrupted when repacked. +* Fixed an issue where the ANIBND parser would ignore duplicately named files and proceed without throwing an error, causing jumbled output. +* Fixed an issue where archives would fail to unpack if they have no file extension. * Added an option in the configuration menu to reset any version skips, so that the auto-updater may once again be ran. diff --git a/PromptPlus b/PromptPlus new file mode 160000 index 00000000..1bb89240 --- /dev/null +++ b/PromptPlus @@ -0,0 +1 @@ +Subproject commit 1bb89240db7c01907da174911a88c08c28281127 diff --git a/SoulsFormats b/SoulsFormats index 55b08a3c..31550a8f 160000 --- a/SoulsFormats +++ b/SoulsFormats @@ -1 +1 @@ -Subproject commit 55b08a3c02a03777cf19958d8f6aa18d7af59da1 +Subproject commit 31550a8f9b697f3ba56b6bef0df24d5a041ca915 diff --git a/SoulsOodleLib/AssetLocator.cs b/SoulsOodleLib/AssetLocator.cs index 4a2720e9..9c33659f 100644 --- a/SoulsOodleLib/AssetLocator.cs +++ b/SoulsOodleLib/AssetLocator.cs @@ -1,10 +1,6 @@ -using System; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; +using System.Runtime.InteropServices; using Microsoft.Win32; using NativeFileDialogSharp; -using SoulsFormats; namespace SoulsOodleLib { @@ -23,10 +19,10 @@ public enum Game private static readonly Dictionary steamSearchPaths = new() { - { Game.EldenRing, @$"{Path.DirectorySeparatorChar}steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ELDEN RING{Path.DirectorySeparatorChar}Game" }, - { Game.ArmoredCore6, @$"{Path.DirectorySeparatorChar}steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ARMORED CORE VI FIRES OF RUBICON{Path.DirectorySeparatorChar}Game" }, - { Game.Sekiro, @$"{Path.DirectorySeparatorChar}steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}Sekiro" }, - { Game.Nightreign, @$"{Path.DirectorySeparatorChar}steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ELDEN RING NIGHTREIGN{Path.DirectorySeparatorChar}Game" } + { Game.EldenRing, @$"steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ELDEN RING{Path.DirectorySeparatorChar}Game" }, + { Game.ArmoredCore6, @$"steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ARMORED CORE VI FIRES OF RUBICON{Path.DirectorySeparatorChar}Game" }, + { Game.Sekiro, @$"steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}Sekiro" }, + { Game.Nightreign, @$"steamapps{Path.DirectorySeparatorChar}common{Path.DirectorySeparatorChar}ELDEN RING NIGHTREIGN{Path.DirectorySeparatorChar}Game" } }; private static readonly Dictionary installPaths = new(); @@ -39,24 +35,24 @@ private static readonly (string, string)[] winRegistryPathValueTuple = (@"HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam", "InstallPath"), }; - public static string? GetSteamInstallPath() - { - - string? installPath = null; - // TODO: Linux support - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + public static string? GetSteamPath(params string[] path) { - foreach ((string Path, string Value) pathValueTuple in winRegistryPathValueTuple) + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - string registryKey = pathValueTuple.Path; - var regPath = (string?)Registry.GetValue(registryKey, pathValueTuple.Value, null); - if (Directory.Exists(regPath)) + foreach ((string Path, string Value) pathValueTuple in winRegistryPathValueTuple) { - installPath = regPath; - break; + string registryKey = pathValueTuple.Path; + var regPath = (string?)Registry.GetValue(registryKey, pathValueTuple.Value, null); + if (regPath != null) + { + var fullPath = Path.Combine(((string[]) [regPath]).Union(path).ToArray()); + if (Directory.Exists(fullPath) || File.Exists(fullPath)) + { + return fullPath; + } + } } } - } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { var homeDir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); @@ -81,42 +77,47 @@ private static readonly (string, string)[] winRegistryPathValueTuple = ]; foreach (string possiblePath in possiblePaths) { - if (Directory.Exists(possiblePath)) + string myPath = Path.Combine([possiblePath, .. path]); + if (Directory.Exists(myPath) || File.Exists(myPath)) { - installPath = possiblePath; - break; + return myPath; } } } - return installPath; + return null; } - public static string? TryGetGameInstallLocation(string gamePath) + public static List GetSteamLibraryPaths() { - if (!gamePath.StartsWith("\\") && !gamePath.StartsWith("/")) - return null; - - string? steamPath = GetSteamInstallPath(); - if (string.IsNullOrWhiteSpace(steamPath) || !File.Exists(Path.Combine(steamPath, "SteamApps", "libraryfolders.vdf"))) - return null; + string? librariesPath = GetSteamPath("steamapps", "libraryfolders.vdf"); + if (librariesPath == null || !File.Exists(librariesPath)) + { + return new(); + } - string[] libraryFolders = File.ReadAllLines(Path.Combine(steamPath, "SteamApps", "libraryfolders.vdf")); + string[] libraryFolders = File.ReadAllLines(librariesPath); var pathStrings = libraryFolders.Where(str => str.Contains("\"path\"")); var paths = pathStrings.Select(str => { var split = str.Split('"').Where((s, i) => i % 2 == 1).ToList(); if (split.Count == 2) - return split[1]; + return split[1].Replace('\\', Path.DirectorySeparatorChar); return null; - }).ToList(); + }).Where(p => p != null && Directory.Exists(p)).Cast().ToList(); - foreach (string path in paths) + return paths; + } + + public static string? TryGetGameInstallLocation(string gamePath) + { + var libraryPaths = GetSteamLibraryPaths(); + foreach (string path in libraryPaths) { - string libraryPath = path.Replace(@"\\", Path.DirectorySeparatorChar.ToString()) + gamePath; + string libraryPath = Path.Combine(path, gamePath); if (Directory.Exists(libraryPath)) return libraryPath; } diff --git a/SoulsOodleLib/Oodle.cs b/SoulsOodleLib/Oodle.cs index 4b246b16..4d833b06 100644 --- a/SoulsOodleLib/Oodle.cs +++ b/SoulsOodleLib/Oodle.cs @@ -1,6 +1,5 @@ using System.Runtime.InteropServices; using SoulsFormats; -using SoulsFormats.Exceptions; using NativeLibrary = SoulsFormats.NativeLibrary; namespace SoulsOodleLib; @@ -31,12 +30,10 @@ public static IntPtr GrabOodle(Action writeLineFunction, bool useFolderP foreach ((OodleVersion ver, string localOodlePath) in localOodlePaths) { - if (File.Exists(localOodlePath)) - { - _handle = NativeLibrary.LoadLibrary(localOodlePath); - SoulsFormats.Oodle.OodlePtrs[ver] = _handle; - return _handle; - } + if (!File.Exists(localOodlePath)) continue; + _handle = NativeLibrary.LoadLibrary(localOodlePath); + SoulsFormats.Oodle.OodlePtrs[ver] = _handle; + return _handle; } if (gamePath == null) @@ -77,7 +74,7 @@ public static IntPtr GrabOodle(Action writeLineFunction, bool useFolderP foreach ((OodleVersion ver, string gameOodlePath) in gameOodlePaths) { - Console.WriteLine($"Loading oodle {gameOodlePath}"); + if (!File.Exists(gameOodlePath)) continue; _handle = NativeLibrary.LoadLibrary(gameOodlePath); if (copyToAppFolder) File.Copy(gameOodlePath, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(gameOodlePath)), true); @@ -92,7 +89,7 @@ public static IntPtr GrabOodle(Action writeLineFunction, bool useFolderP return IntPtr.Zero; } - private static void KillOodle(IntPtr? oodleHandle) + public static void KillOodle(IntPtr? oodleHandle) { if (oodleHandle != null) NativeLibrary.FreeLibrary(oodleHandle.Value); diff --git a/SoulsOodleLib/SoulsOodleLib.csproj b/SoulsOodleLib/SoulsOodleLib.csproj index 2ac7638b..a9c5c830 100644 --- a/SoulsOodleLib/SoulsOodleLib.csproj +++ b/SoulsOodleLib/SoulsOodleLib.csproj @@ -1,9 +1,11 @@ - net8.0 + net9.0 + x64 enable enable + true diff --git a/SoulsOodleLib/packages.linux-x64.lock.json b/SoulsOodleLib/packages.linux-x64.lock.json new file mode 100644 index 00000000..05fd96f1 --- /dev/null +++ b/SoulsOodleLib/packages.linux-x64.lock.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "dependencies": { + "net9.0": { + "BouncyCastle.Cryptography": { + "type": "Direct", + "requested": "[2.4.0, )", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "System.Text.Encoding.CodePages": "[8.0.0, )", + "System.ValueTuple": "[4.5.0, )", + "ZstdNet": "[1.4.5, )" + } + } + }, + "net9.0/linux-x64": { + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" + } + } + } +} \ No newline at end of file diff --git a/SoulsOodleLib/packages.lock.json b/SoulsOodleLib/packages.lock.json index 190c99a1..5a4c55fc 100644 --- a/SoulsOodleLib/packages.lock.json +++ b/SoulsOodleLib/packages.lock.json @@ -1,7 +1,7 @@ { "version": 1, "dependencies": { - "net8.0": { + "net9.0": { "BouncyCastle.Cryptography": { "type": "Direct", "requested": "[2.4.0, )", @@ -19,18 +19,10 @@ "resolved": "1.1.1", "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==" - }, "System.Text.Encoding.CodePages": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" }, "System.ValueTuple": { "type": "Transitive", @@ -47,7 +39,7 @@ "dependencies": { "BouncyCastle.Cryptography": "[2.4.0, )", "DrSwizzler": "[1.1.1, )", - "System.Text.Encoding.CodePages": "[4.7.0, )", + "System.Text.Encoding.CodePages": "[8.0.0, )", "System.ValueTuple": "[4.5.0, )", "ZstdNet": "[1.4.5, )" } diff --git a/SoulsOodleLib/packages.win-x64.lock.json b/SoulsOodleLib/packages.win-x64.lock.json new file mode 100644 index 00000000..5ebde457 --- /dev/null +++ b/SoulsOodleLib/packages.win-x64.lock.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "dependencies": { + "net9.0": { + "BouncyCastle.Cryptography": { + "type": "Direct", + "requested": "[2.4.0, )", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "System.Text.Encoding.CodePages": "[8.0.0, )", + "System.ValueTuple": "[4.5.0, )", + "ZstdNet": "[1.4.5, )" + } + } + }, + "net9.0/win-x64": { + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" + } + } + } +} \ No newline at end of file diff --git a/WitchyBND.Shell/SharpShell.dll b/WitchyBND.Shell/SharpShell.dll new file mode 100644 index 00000000..69ae68e9 Binary files /dev/null and b/WitchyBND.Shell/SharpShell.dll differ diff --git a/WitchyBND.Shell/WitchyBND.Shell.csproj b/WitchyBND.Shell/WitchyBND.Shell.csproj index 20d5f891..b8227982 100644 --- a/WitchyBND.Shell/WitchyBND.Shell.csproj +++ b/WitchyBND.Shell/WitchyBND.Shell.csproj @@ -16,6 +16,8 @@ Key.snk true true + true + true false @@ -41,7 +43,7 @@ - ..\packages\SharpShell.2.7.2\lib\net40-client\SharpShell.dll + SharpShell.dll @@ -56,7 +58,9 @@ - + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationCategoryParam.xml new file mode 100644 index 00000000..e5bd15a6 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationCategoryParam.xml @@ -0,0 +1,21 @@ + + + CHAOS_MATCHING_MUTATION_CATEGORY_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationEnemyTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationEnemyTableParam.xml new file mode 100644 index 00000000..06aadb1d --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingMutationEnemyTableParam.xml @@ -0,0 +1,25 @@ + + + CHAOS_MATCHING_MUTATION_ENEMY_TABLE_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingRankControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingRankControlParam.xml new file mode 100644 index 00000000..6ddc5eef --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingRankControlParam.xml @@ -0,0 +1,21 @@ + + + CHAOS_MATCHING_RANK_CONTROL_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureCommon.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureCommon.xml new file mode 100644 index 00000000..e6f85b5b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureCommon.xml @@ -0,0 +1,12 @@ + + + CHAOS_MATCHING_REPLACE_TREASURE_COMMON_PARAM_ST + 1 + False + True + 0 + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureTable.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureTable.xml new file mode 100644 index 00000000..9eefd525 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChaosMatchingReplaceTreasureTable.xml @@ -0,0 +1,30 @@ + + + CHAOS_MATCHING_REPLACE_TREASURE_TABLE_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuListItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuListItemParam.xml index 4b568d7b..de36324b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuListItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuListItemParam.xml @@ -1,15 +1,35 @@ - + CHARMAKEMENU_LISTITEM_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - + + + プログラム側に扱う値。1つのグループ内で通し番号にする + 0 + 999999999 + 1 + + + 項目テキストID + 表示するテキストのID + 0 + 999999999 + 2 + + + アイコンID + 表示するアイコンのID + 2 + + + 予約 + %d + Wrap + 3 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuTopParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuTopParam.xml index a981df84..07662a6d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuTopParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CharMakeMenuTopParam.xml @@ -1,23 +1,101 @@ - + CHARMAKEMENUTOP_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - + + コマンドタイプ + CHARMAKEMENU_CMD_TYPE + コマンドの種別 + -1 + 999999999 + 10 + + + 項目テキストID + 表示するテキストのID + -1 + 999999999 + 20 + + + 顔パラムID + FACE_PARAM + 顔パラムID + -1 + 999999999 + 30 + + + テーブルID(男性) + 選択するアイテム一覧の先頭ID(男)。コマンドタイプが[スライダー:最小値ラベル(n)と最大値ラベル(n+1)のテキストID、カラー:カラーテーブルのID、グリッド or テキスト:キャラメイクリストアイテムの先頭ID、それ以外:無視] + -1 + 999999999 + 40 + + + 表示条件 + CHARMAKEMENU_VIEW_CONDITION + このコマンドを表示する条件 + -1 + 999999999 + 60 + + + プレビューモード + CHARMAKEMENU_PREVIEW_MODE + プレビュー表示しているキャラクターモデルの表示モード + -1 + 70 + + + 予約 + 201 + + + テーブルID(女性) + テーブルIDの女用。-1なら男用を参照する + -1 + 999999999 + 50 + + + 参照先の顔パラムID + FACE_PARAM + 「○○に合わせる」用の合わせ先の顔パラムID + -1 + 999999999 + 100 + + + 参照先テキストID + 「○○に合わせる」用の表示テキストID + -1 + 999999999 + 110 + + + 1行ヘルプテキストID(上書き) + 1行ヘルプのテキストID(-1: 項目テキストIDで1行ヘルプを取得する)。基本的に項目テキストID=1行ヘルプテキストIDになっているが、一部上書きしたいときにこのパラメータで指定する + -1 + 999999999 + 25 + + + イベントフラグID + この項目をアンロックするイベントフラグ(0:無効値)。無効値なら常にアンロックされる + %u + -294967297 + 200 + + + 予約 + %d + Wrap + 202 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CharaInitParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CharaInitParam.xml index 83267a21..aee1738c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CharaInitParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CharaInitParam.xml @@ -1,91 +1,465 @@ - + CHARACTER_INIT_PARAM - 1 + 3 False True - 203 + 0 + + 初期ソウル + 初期に所持しているソウル量 + 0 + 10000000 + 1500 + + + 右手武器スロット1 + 装備品パラメータの武器ID(右手スロット1) + -1 + 999999999 + 1610 + + + 右手武器スロット2 + 装備品パラメータの武器ID(右手スロット2) + -1 + 999999999 + 1630 + + + 右手武器スロット3 + 装備品パラメータの武器ID(右手スロット3) + -1 + 999999999 + 1650 + + + 左手武器スロット1 + 装備品パラメータの武器ID(左手スロット1) + -1 + 999999999 + 1710 + + + 左手武器スロット2 + 装備品パラメータの武器ID(左手スロット2) + -1 + 999999999 + 1730 + + + 左手武器スロット3 + 装備品パラメータの武器ID(左手スロット3) + -1 + 999999999 + 1750 + + + 頭防具 + 装備品パラメータの防具ID(頭防具) + -1 + 999999999 + 2000 + + + 胴体防具 + 装備品パラメータの防具ID(胴体防具) + -1 + 999999999 + 2100 + + + 腕防具 + 装備品パラメータの防具ID(腕防具) + -1 + 999999999 + 2200 + + + 脚防具 + 装備品パラメータの防具ID(脚防具) + -1 + 999999999 + 2300 + + + + 装備品パラメータの武器ID(矢) + -1 + 999999999 + 2400 + + + ボルト + 装備品パラメータの武器ID(ボルト) + -1 + 999999999 + 2600 + + + 予備矢 + 装備品パラメータの武器ID(矢予備) + -1 + 999999999 + 2500 + + + 予備ボルト + 装備品パラメータの武器ID(ボルト予備) + -1 + 999999999 + 2700 + + + 装飾品1 + 装備品パラメータの装飾品ID01 + -1 + 999999 + 2800 + + + 装飾品2 + 装備品パラメータの装飾品ID02 + -1 + 999999 + 2900 + + + 装飾品3 + 装備品パラメータの装飾品ID03 + -1 + 999999 + 3000 + + + 装飾品4 + 装備品パラメータの装飾品ID04 + -1 + 999999 + 3100 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + 魔法・奇跡1 + 初期配置の魔法・奇跡ID01 + -1 + 999999 + 3600 + + + 魔法・奇跡2 + 初期配置の魔法・奇跡ID02 + -1 + 999999 + 3700 + + + 魔法・奇跡3 + 初期配置の魔法・奇跡ID03 + -1 + 999999 + 3800 + + + 魔法・奇跡4 + 初期配置の魔法・奇跡ID04 + -1 + 999999 + 3900 + + + 魔法・奇跡5 + 初期配置の魔法・奇跡ID05 + -1 + 999999 + 4000 + + + 魔法・奇跡6 + 初期配置の魔法・奇跡ID06 + -1 + 999999 + 4100 + + + 魔法・奇跡7 + 初期配置の魔法・奇跡ID07 + -1 + 999999 + 4200 + + + アイテム01 + 初期所持のアイテムID01 + -1 + 999999999 + 4600 + + + アイテム02 + 初期所持のアイテムID02 + -1 + 999999999 + 4800 + + + アイテム03 + 初期所持のアイテムID03 + -1 + 999999999 + 5000 + + + アイテム04 + 初期所持のアイテムID04 + -1 + 999999999 + 5200 + + + アイテム05 + 初期所持のアイテムID05 + -1 + 999999999 + 5400 + + + アイテム06 + 初期所持のアイテムID06 + -1 + 999999999 + 5600 + + + アイテム07 + 初期所持のアイテムID07 + -1 + 999999999 + 5800 + + + アイテム08 + 初期所持のアイテムID08 + -1 + 999999999 + 6000 + + + アイテム09 + 初期所持のアイテムID09 + -1 + 999999999 + 6200 + + + アイテム10 + 初期所持のアイテムID10 + -1 + 999999999 + 6400 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + アイテム01の所持数 + 初期所持のアイテム個数01 + 99 + 4700 + + + アイテム02の所持数 + 初期所持のアイテム個数02 + 99 + 4900 + + + アイテム03の所持数 + 初期所持のアイテム個数03 + 99 + 5100 + + + アイテム個数04 + 初期所持のアイテム個数04 + 99 + 5300 + + + アイテム個数05 + 初期所持のアイテム個数05 + 99 + 5500 + + + アイテム個数06 + 初期所持のアイテム個数06 + 99 + 5700 + + + アイテム個数07 + 初期所持のアイテム個数07 + 99 + 5900 + + + アイテム個数08 + 初期所持のアイテム個数08 + 99 + 6100 + + + アイテム個数09 + 初期所持のアイテム個数09 + 99 + 6300 + + + アイテム個数10 + 初期所持のアイテム個数10 + 99 + 6500 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 予約領域 + 予約領域 + 10009 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChrModelParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChrModelParam.xml index 6e570fe6..7c28df0d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ChrModelParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChrModelParam.xml @@ -1,15 +1,63 @@ - + CHR_MODEL_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 301 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 302 + + + モデルの使用メモリタイプ + CHR_MEMORY_TYPE + モデルの使用メモリタイプ + 100 + + + テクスチャの使用メモリタイプ + CHR_MEMORY_TYPE + テクスチャの使用メモリタイプ + 200 + + + カメラフェードパラメータID + カメラフェードパラメータID(-1:マテリアルを参照、0:消えない、1~:パラメータID) + -1 + 9999 + 300 + + + 報告アニメ容量(MB) + この値を超えると報告システムで報告が来る。 + None + 0 + 999.9 + 0.1 + 210 + + + Unk + Unk (Added in 1.06) + None + 210 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ChrPhysicsVelocityChangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ChrPhysicsVelocityChangeParam.xml index 0bf84cd0..eea51e10 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ChrPhysicsVelocityChangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ChrPhysicsVelocityChangeParam.xml @@ -4,16 +4,21 @@ 1 False True - 203 + 0 - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ClearCountCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ClearCountCorrectParam.xml index 1d4357bb..7c079331 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ClearCountCorrectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ClearCountCorrectParam.xml @@ -1,43 +1,231 @@ - + CLEAR_COUNT_CORRECT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 《最大HP倍率[%]》 + 最大HP倍率[%] + 0 + 99 + 1000 + + + 《最大MP倍率[%]》 + 最大MP倍率[%] + 0 + 99 + 1100 + + + 《最大スタミナ倍率[%]》 + 最大スタミナ倍率[%] + 0 + 99 + 1200 + + + 《物理攻撃力倍率》 + 物理攻撃力倍率 + 0 + 99 + 1200 + + + 《斬撃攻撃力倍率》 + 斬撃攻撃力倍率 + 0 + 99 + 1300 + + + 《打撃攻撃力倍率》 + 打撃攻撃力倍率 + 0 + 99 + 1400 + + + 《刺突攻撃力倍率》 + 刺突攻撃力倍率 + 0 + 99 + 1500 + + + 《無属性攻撃力倍率》 + 無属性攻撃力倍率 + 0 + 99 + 1600 + + + 《魔法攻撃力倍率》 + 魔法攻撃力倍率 + 0 + 99 + 1700 + + + 《炎攻撃力倍率》 + 炎攻撃力倍率 + 0 + 99 + 1800 + + + 《電撃攻撃力倍率》 + 電撃攻撃力倍率 + 0 + 99 + 1900 + + + 《闇攻撃力倍率》 + 闇攻撃力倍率 + 0 + 99 + 2000 + + + 《物理防御力倍率》 + 物理防御力倍率 + 0 + 99 + 2100 + + + 《魔法防御力倍率》 + 魔法防御力倍率 + 0 + 99 + 2200 + + + 《炎防御力倍率》 + 炎防御力倍率 + 0 + 99 + 2300 + + + 《電撃防御力倍率》 + 電撃防御力倍率 + 0 + 99 + 2400 + + + 《闇防御力倍率》 + 闇防御力倍率 + 0 + 99 + 2500 + + + 《スタミナ攻撃力倍率》 + スタミナ攻撃力倍率 + 0 + 99 + 2600 + + + 《所持ソウル率》 + 所持ソウル率 + 0 + 99 + 2700 + + + 《毒耐性変化倍率》 + 毒耐性変化倍率 + 0 + 99 + 2800 + + + 《疫病耐性変化倍率》 + 疫病耐性変化倍率 + 0 + 99 + 2810 + + + 《出血耐性変化倍率》 + 出血耐性変化倍率 + 0 + 99 + 2820 + + + 《呪耐性変化倍率》 + 呪耐性変化倍率 + 0 + 99 + 2830 + + + 《冷気耐性変化倍率》 + 冷気耐性変化倍率 + 0 + 99 + 2840 + + + 《出血ダメージ補正倍率》 + 出血ダメージ補正倍率 + 0 + 99 + 3300 + + + 《SAダメージ補正倍率》 + SAダメージ補正倍率 + 0 + 99 + 3400 + + + 《冷気ダメージ補正倍率》 + 冷気ダメージ補正倍率 + 0 + 99 + 3310 + + + 《睡眠耐性変化倍率》 + 睡眠耐性変化倍率 + 0 + 99 + 2850 + + + 《発狂耐性変化倍率》 + 発狂耐性変化倍率 + 0 + 99 + 2860 + + + 《睡眠ダメージ補正倍率》 + 睡眠ダメージ補正倍率 + 0 + 99 + 3320 + + + 《発狂ダメージ補正倍率》 + 発狂ダメージ補正倍率 + 0 + 99 + 3330 + + + pad + 3401 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CommonSystemParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CommonSystemParam.xml index e19d4c9c..e01cf475 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CommonSystemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CommonSystemParam.xml @@ -1,27 +1,22 @@ - + COMMON_SYSTEM_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + ゲーム開始時マップ名ID_セーブデータ用 + ゲーム開始時マップ名ID_セーブデータ用(SEQ15052) + None + -1 + 0 + + + リザーブ + リザーブ + 3 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CoolTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CoolTimeParam.xml index 85c74713..ad789823 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CoolTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CoolTimeParam.xml @@ -1,19 +1,114 @@ - + COOL_TIME_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + 制限時間(協力霊数0) + 制限時間[sec](協力霊数0) + %.2f + None + 0 + 9999 + 0.1 + 10 + coop0 + LIMIT_BY_COOP_NUM + 協力霊数0 + + + 監視時間(協力霊数0) + 監視時間[sec](協力霊数0) + %.2f + None + 0 + 9999 + 0.1 + 11 + coop0 + LIMIT_BY_COOP_NUM + 協力霊数0 + + + 制限時間(協力霊数1) + 制限時間[sec](協力霊数1) + %.2f + None + 0 + 9999 + 0.1 + 20 + coop1 + LIMIT_BY_COOP_NUM + 協力霊数1 + + + 監視時間(協力霊数1) + 監視時間[sec](協力霊数1) + %.2f + None + 0 + 9999 + 0.1 + 21 + coop1 + LIMIT_BY_COOP_NUM + 協力霊数1 + + + 制限時間(協力霊数2) + 制限時間[sec](協力霊数2) + %.2f + None + 0 + 9999 + 0.1 + 30 + coop2 + LIMIT_BY_COOP_NUM + 協力霊数2 + + + 監視時間(協力霊数2) + 監視時間[sec](協力霊数2) + %.2f + None + 0 + 9999 + 0.1 + 31 + coop2 + LIMIT_BY_COOP_NUM + 協力霊数2 + + + 制限時間(協力霊数3) + 制限時間[sec](協力霊数3) + %.2f + None + 0 + 9999 + 0.1 + 40 + coop3 + LIMIT_BY_COOP_NUM + 協力霊数3 + + + 監視時間(協力霊数3) + 監視時間[sec](協力霊数3) + %.2f + None + 0 + 9999 + 0.1 + 41 + coop3 + LIMIT_BY_COOP_NUM + 協力霊数3 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutSceneTextureLoadParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutSceneTextureLoadParam.xml index be4c0d09..bee84cbc 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutSceneTextureLoadParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutSceneTextureLoadParam.xml @@ -1,76 +1,149 @@ - + CUTSCENE_TEXTURE_LOAD_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + デバッグパラメータか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータは全パッケージから除外します(デバッグ用なので) + None + 0 + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 9999 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 9999 + + + テクスチャ名 00 + テクスチャ名 00 + + None + 100 + + + テクスチャ名 01 + テクスチャ名 01 + + None + 100 + + + テクスチャ名 02 + テクスチャ名 02 + + None + 100 + + + テクスチャ名 03 + テクスチャ名 03 + + None + 100 + + + テクスチャ名 04 + テクスチャ名 04 + + None + 100 + + + テクスチャ名 05 + テクスチャ名 05 + + None + 100 + + + テクスチャ名 06 + テクスチャ名 06 + + None + 100 + + + テクスチャ名 07 + テクスチャ名 07 + + None + 100 + + + テクスチャ名 08 + テクスチャ名 08 + + None + 100 + + + テクスチャ名 09 + テクスチャ名 09 + + None + 100 + + + テクスチャ名 10 + テクスチャ名 10 + + None + 100 + + + テクスチャ名 11 + テクスチャ名 11 + + None + 100 + + + テクスチャ名 12 + テクスチャ名 12 + + None + 100 + + + テクスチャ名 13 + テクスチャ名 13 + + None + 100 + + + テクスチャ名 14 + テクスチャ名 14 + + None + 100 + + + テクスチャ名 15 + テクスチャ名 15 + + None + 100 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamTimeParam.xml index fbc39a67..18848a24 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamTimeParam.xml @@ -1,15 +1,106 @@ - + CUTSCENE_GPARAM_TIME_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + デバッグパラメータか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータは全パッケージから除外します(デバッグ用なので) + None + 0 + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 9999 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 10000 + + + + CUTSCENE_TIMEZONE_TYPE + 朝(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 100 + + + 昼A + CUTSCENE_TIMEZONE_TYPE + 昼A(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 101 + + + 昼B + CUTSCENE_TIMEZONE_TYPE + 昼B(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 102 + + + + CUTSCENE_TIMEZONE_TYPE + 夕(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 103 + + + + CUTSCENE_TIMEZONE_TYPE + 夜(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 104 + + + 深夜A + CUTSCENE_TIMEZONE_TYPE + 深夜A(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 105 + + + 深夜B + CUTSCENE_TIMEZONE_TYPE + 深夜B(変換時刻はカットシーン時間変換設定シートを参照) + None + 1 + 106 + + + reserved + 9999 + + + 再生終了時のインゲーム時刻指定[hour] + 再生終了時のインゲーム時刻指定[hour][-1.0~24.0](-1(0より小さい):何もしない) + None + -1 + 24 + 0.1 + 9 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamWeatherParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamWeatherParam.xml index 8c496565..df7056d7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamWeatherParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneGparamWeatherParam.xml @@ -1,35 +1,457 @@ - + CUTSCENE_GPARAM_WEATHER_PARAM_ST - 1 + 6 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + デバッグパラメータか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータは全パッケージから除外します(デバッグ用なので) + None + 0 + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 9999 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 10000 + + + 晴れ + WEATHER_TYPE + 晴れ + None + -128 + 128 + 10 + + + 快晴 + WEATHER_TYPE + 快晴 + None + -128 + 128 + 20 + + + 薄曇り + WEATHER_TYPE + 薄曇り + None + -128 + 128 + 30 + + + 曇り + WEATHER_TYPE + 曇り + None + -128 + 128 + 40 + + + + WEATHER_TYPE + + None + -128 + 128 + 50 + + + 豪雨 + WEATHER_TYPE + 豪雨 + None + -128 + 128 + 60 + + + + WEATHER_TYPE + + None + -128 + 128 + 70 + + + 嵐(守護者の末裔との戦闘用) + WEATHER_TYPE + 嵐(守護者の末裔との戦闘用) + None + -128 + 128 + 80 + + + + WEATHER_TYPE + + None + -128 + 128 + 90 + + + 大雪 + WEATHER_TYPE + 大雪 + None + -128 + 128 + 100 + + + + WEATHER_TYPE + + None + -128 + 128 + 110 + + + 濃霧 + WEATHER_TYPE + 濃霧 + None + -128 + 128 + 120 + + + 砂嵐 + WEATHER_TYPE + 砂嵐 + None + -128 + 128 + 130 + + + 濃霧(雨) + WEATHER_TYPE + 濃霧(雨) + None + -128 + 128 + 121 + + + 再生終了時のインゲーム天候指定(未使用、無効) + WEATHER_TYPE + 再生終了時のインゲーム天候指定(空白または「無効」の場合は何も行われない。) + None + -128 + 128 + 9998 + + + 屋内屋外指定 + CUTSCENE_INDOOR_OUTDOOR_TYPE + 屋内にすると「天候パラメータ.xlsm」の「天候SfxId(屋外)」と「風SfxId(屋外)」で指定されたSFXがカットシーン内で無効になります。 + None + 1 + 9 + + + インゲームの天候SFX引き継ぐか?_晴れ + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_晴れ + None + 1 + 1010 + + + インゲームの天候SFX引き継ぐか?_快晴 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_快晴 + None + 1 + 1020 + + + インゲームの天候SFX引き継ぐか?_薄曇り + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_薄曇り + None + 1 + 1030 + + + インゲームの天候SFX引き継ぐか?_曇り + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_曇り + None + 1 + 1040 + + + インゲームの天候SFX引き継ぐか?_雨 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_雨 + None + 1 + 1050 + + + インゲームの天候SFX引き継ぐか?_豪雨 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_豪雨 + None + 1 + 1060 + + + インゲームの天候SFX引き継ぐか?_嵐 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_嵐 + None + 1 + 1070 + + + インゲームの天候SFX引き継ぐか?_嵐(守護者の末裔との戦闘用) + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_嵐(守護者の末裔との戦闘用) + None + 1 + 1080 + + + インゲームの天候SFX引き継ぐか?_雪 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_雪 + None + 1 + 1090 + + + インゲームの天候SFX引き継ぐか?_大雪 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_大雪 + None + 1 + 1100 + + + インゲームの天候SFX引き継ぐか?_霧 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_霧 + None + 1 + 1110 + + + インゲームの天候SFX引き継ぐか?_濃霧 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_濃霧 + None + 1 + 1120 + + + インゲームの天候SFX引き継ぐか?_砂嵐 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_砂嵐 + None + 1 + 1130 + + + インゲームの天候SFX引き継ぐか?_濃霧(雨) + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_濃霧(雨) + None + 1 + 1140 + + + reserved + 9999 + + + 吹雪 + WEATHER_TYPE + 吹雪 + None + -128 + 128 + 141 + + + 嵐(雷) + WEATHER_TYPE + 予備天候2 + None + -128 + 128 + 142 + + + 雪特殊(予備3) + WEATHER_TYPE + 予備天候3 + None + -128 + 128 + 143 + + + 予備天候4 + WEATHER_TYPE + 予備天候4 + None + -128 + 128 + 144 + + + 予備天候5 + WEATHER_TYPE + 予備天候5 + None + -128 + 128 + 145 + + + 予備天候6 + WEATHER_TYPE + 予備天候6 + None + -128 + 128 + 146 + + + 予備天候7 + WEATHER_TYPE + 予備天候7 + None + -128 + 128 + 147 + + + 予備天候8 + WEATHER_TYPE + 予備天候8 + None + -128 + 128 + 148 + + + インゲームの天候SFX引き継ぐか?_吹雪 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_吹雪 + None + 1 + 1401 + + + インゲームの天候SFX引き継ぐか?_嵐(雷) + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_嵐(雷) + None + 1 + 1402 + + + インゲームの天候SFX引き継ぐか?_雪特殊(予備3) + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候3 + None + 1 + 1403 + + + インゲームの天候SFX引き継ぐか?_予備天候4 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候4 + None + 1 + 1404 + + + インゲームの天候SFX引き継ぐか?_予備天候5 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候5 + None + 1 + 1405 + + + インゲームの天候SFX引き継ぐか?_予備天候6 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候6 + None + 1 + 1406 + + + インゲームの天候SFX引き継ぐか?_予備天候7 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候7 + None + 1 + 1407 + + + インゲームの天候SFX引き継ぐか?_予備天候8 + BOOL_CIRCLECROSS_TYPE + インゲームの天候SFX引き継ぐか?_予備天候8 + None + 1 + 1408 + + + 天候GparamにMapGD地方IDを適用するか? + BOOL_CIRCLECROSS_TYPE + カットシーン天候Gparamにインゲーム同様MapGD地方IDによる変化を適用するか?(【GR】SEQ30194) + None + 1 + 5 + + + reserved1 + reserved1 ver4->5 64->96へ増量 + 9999 + + + 天候GparamMapGD用地方ID上書き + カットシーン天候Gparamに使用されるIDを上書きする(-1:上書きなし。カットシーン再生時のMapGD地方IDが使用される)。「天候GparamにMapGD地方IDを適用するか?」が×の場合は参照されない + None + -1 + 9999 + 6 + + + reserved1 ver4->5 64->96へ増量 + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneMapIdParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneMapIdParam.xml index e981d217..a004cd73 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneMapIdParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneMapIdParam.xml @@ -1,23 +1,102 @@ - + CUTSCENE_MAP_ID_PARAM_ST - 1 + 3 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + デバッグパラメータか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータは全パッケージから除外します(デバッグ用なので) + None + 0 + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 9999 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 9999 + + + 再生を行なうマップ番号 + 再生を行なうマップ番号を8桁の数字で入力して下さい。カットシーンで基準としているマップの番号になります。正しいマップ番号を指定しないと再生位置がずれます。 + None + 99999999 + 10 + + + 表示に必要なマップ番号1 + 表示に必要なマップ番号を8桁の数字で入力して下さい。このパラメータは、ゲスト側がカットシーンを再生可能か判断するためのリストとして利用します。必要ない場合は、0もしくは未記入で良いです。 + None + 99999999 + 21 + + + 表示に必要なマップ番号2 + 表示に必要なマップ番号を8桁の数字で入力して下さい。このパラメータは、ゲスト側がカットシーンを再生可能か判断するためのリストとして利用します。必要ない場合は、0もしくは未記入で良いです。 + None + 99999999 + 22 + + + 表示に必要なマップ番号3 + 表示に必要なマップ番号を8桁の数字で入力して下さい。このパラメータは、ゲスト側がカットシーンを再生可能か判断するためのリストとして利用します。必要ない場合は、0もしくは未記入で良いです。 + None + 99999999 + 23 + + + 読み込み中カメラ位置算出用ヒットパーツID + 読み込み中カメラ位置算出用ヒットパーツID + None + -1 + 999999 + 102 + - - - - - - - - - - - - + + + + 表示不可能時待機時間[秒] + マルチにおいてゲスト側が再生できない状態の時に表示されるロード画面プログレスバーの進捗表示に使われる秒数です。【GR】SEQ22843 【カットシーン】カットシーン再生時に表示に必要なマップ番号を読み込んでいないプレイヤーは画面暗転する対応 + None + 15 + + + reserved + 9999 + + + 読み込み待ちヒットパーツ0 + 読み込み待ちヒットパーツ0 + None + -1 + 999999 + 100 + + + 読み込み待ちヒットパーツ1 + 読み込み待ちヒットパーツ1 + None + -1 + 999999 + 101 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneTimezoneConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneTimezoneConvertParam.xml index 46c2d303..b9e0264c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneTimezoneConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneTimezoneConvertParam.xml @@ -1,13 +1,28 @@ - + CUTSCENE_TIMEZONE_CONVERT_PARAM_ST 1 False True - 203 + 0 - - - + + 変換前時間帯開始時刻[hour] + カットシーン時刻に変換する時間帯の開始時刻[hour] + None + 0 + 24 + 0.1 + 1 + + + 変換後カットシーン時刻[hour] + カットシーン再生中に使われる時刻を時間単位で入力[hour] + None + 0 + 24 + 0.1 + 2 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneWeatherOverrideGparamConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneWeatherOverrideGparamConvertParam.xml index 28759ff5..a2fd215b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneWeatherOverrideGparamConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/CutsceneWeatherOverrideGparamConvertParam.xml @@ -1,12 +1,17 @@ - + CUTSCENE_WEATHER_OVERRIDE_GPARAM_ID_CONVERT_PARAM_ST 1 False True - 203 + 0 - - + + カットシーン天候上書きGparamサフィックスID + s00_00_0000_WeatherOverride_??.gparamの??の部分のIDです + None + 99 + 1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/DecalParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/DecalParam.xml index 017448a2..9d376242 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/DecalParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/DecalParam.xml @@ -1,73 +1,707 @@ - + DECAL_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + テクスチャID + テクスチャID + None + -1 + 999999999 + 100 + + + ダミポリID + デカール発生基準のダミポリID。TAEで指定している場合はTAEの値になる + None + -1 + 31999 + 201 + + + 基準角度オフセット_上下[deg] + 基準角度オフセット_上下[deg] + %0.1f + None + -180 + 180 + 1 + 300 + + + 基準角度オフセット_左右[deg] + 基準角度オフセット_左右[deg] + %0.1f + None + -180 + 180 + 1 + 301 + + + 貼り付け開始距離[m] + 貼り付け開始距離[m] + %0.1f + None + -99 + 99 + 0.1 + 401 + + + 貼り付け終了距離[m] + 貼り付け終了距離[m] + %0.1f + None + -99 + 99 + 0.1 + 402 + + + 開始距離での大きさ[m] + 開始距離での大きさ[m] + %0.1f + None + 0 + 99 + 0.1 + 403 + + + 終了距離での大きさ[m] + 終了距離での大きさ[m] + %0.1f + None + 0 + 99 + 0.1 + 404 + + + 監視特殊効果ID + 監視特殊効果ID。任意の特殊効果IDを入れた場合、その特殊効果がかかっていないとデカールを発生しなくなる。 + None + -1 + 999999999 + 500 + + + パディング + パディング + None + 9 + 9999 + + + 材質によるテクスチャ差し替え + 攻撃のヒットで発生させるときに1で防御材質によってテクスチャを変える。新しいテクスチャID=血材質ID*10000000+元のテクスチャID + None + 1 + 160 + + + ダミポリ検索場所 + ダミポリ検索場所 0:本体 1:左手武器 2:右手武器 + None + 2 + 200 + + + パディング + パディング + None + 1 + 9999 + + + デファード + 1でデファードデカールとして機能する + None + 1 + 600 + + + ペイント + 1でペイントデカールとして機能する + None + 1 + 601 + + + 流血表現 + オプションの流血表現の影響を受けるか、マイルドでIDが+1000される、非表示だと貼り付けない + None + 1 + 603 + + + ノーマル成分を使用するか + ノーマル成分を使用するなら1(ノーマルとシャイニネスのテクスチャ統合対応) + None + 1 + 604 + + + パディング + パディング + None + 1 + 9999 + + + パディング + パディング + None + 1 + 9999 + + + POMを有効にするか + POMを有効にするか + None + 1 + 700 + + + エミッシブを更新するか + エミッシブを更新するか + None + 1 + 800 + + + 垂直に貼り付けるか + 垂直に貼り付けるか + None + 1 + 1000 + + + ランダムスケール最小値[%] + ランダムスケール最小値[%] + None + 1 + 9999 + 1010 + + + ランダムスケール最大値[%] + ランダムスケール最大値[%] + None + 1 + 9999 + 1011 + + + ランダム角度_ひねり最小値[deg] + ランダム角度_ひねり最小値[deg] + %0.1f + None + -180 + 180 + 1 + 1020 + + + ランダム角度_ひねり最大値[deg] + ランダム角度_ひねり最大値[deg] + %0.1f + None + -180 + 180 + 1 + 1021 + + + ランダム角度_上下最小値[deg] + ランダム角度_上下最小値[deg] + %0.1f + None + -180 + 180 + 1 + 1030 + + + ランダム角度_上下最大値[deg] + ランダム角度_上下最大値[deg] + %0.1f + None + -180 + 180 + 1 + 1031 + + + ランダム角度_左右最小値[deg] + ランダム角度_左右最小値[deg] + %0.1f + None + -180 + 180 + 1 + 1040 + + + ランダム角度_左右最大値[deg] + ランダム角度_左右最大値[deg] + %0.1f + None + -180 + 180 + 1 + 1041 + + + POM高さスケール + POM高さスケール + %0.3f + None + 0 + 1 + 0.001 + 710 + + + POM最小サンプル数 + POM最小サンプル数 + None + 8 + 128 + 720 + + + POM最大サンプル数 + POM最大サンプル数 + None + 8 + 128 + 730 + + + ブレンドモード + DECAL_PARAM_BLEND_MODE + ブレンドモード + 1 + 2 + 602 + + + デカールを飛ばす基準座標 + DECAL_PARAM_DIR_TYPE + デカールを飛ばす方向を決定する基準座標 + 0 + 3 + 302 + + + エミッシブ 開始値 + エミッシブ 開始値 + 0 + 9999 + 801 + + + エミッシブ 終了値 + エミッシブ 終了値 + 0 + 9999 + 802 + + + エミッシブ 更新時間(秒) + 開始値~終了値の補間時間 + 0 + 9999 + 803 + + + 補間するか? + ON_OFF + TAEのデカル発生でバーを伸ばしてる時間発生させるか? + 1 + 5200 + + + パディング + パディング + 10000 + + + 補間間隔[m] + 補間有効時にTAEのバーの間で発生したデカルを補間する距離 + 0.01 + 99 + 5201 + + + 補間開始時のテクスチャID + 補間開始時のテクスチャID(-1でテクスチャIDと同じ値を使う) + None + -1 + 999999999 + 5202 + + + 補間終了時のテクスチャID + 補間終了時のテクスチャテクスチャID(-1でテクスチャIDと同じ値を使う) + None + -1 + 999999999 + 5203 + + + デカールが貼られた時に出すSFXID + デカールが貼られた時に出すSFXID(-1で何も出さない) + None + -1 + 999999999 + 5300 + + + SFXのオフセット位置 + SFX発生位置のオフセット距離 + %d + -99 + 99 + 5301 + + + マスクテクスチャID + マスクテクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 101 + + + アルベドテクスチャID + アルベドテクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 102 + + + リフレクテクスチャID + リフレクタンステクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 103 + + + マスクの強さ + マスクの強さ(現状、デファードデカールでのみ有効) + None + 0 + 1 + 185 + + + ノーマルテクスチャID + ノーマルテクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 105 + + + ハイトテクスチャID + ハイトテクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 106 + + + エミッシブテクスチャID + エミッシブテクスチャID(-1でテクスチャIDを見る) + None + -1 + 999999999 + 107 + + + アルベドカラー:R + アルベドの色:R + None + 170 + + + アルベドカラー:G + アルベドの色:G + None + 171 + + + アルベドカラー:B + アルベドの色:B + None + 172 + + + パディング + パディング + %d + 10001 + + + リフレクカラー:R + リフレクの色:R + None + 175 + + + リフレクカラー:G + リフレクの色:G + None + 176 + + + リフレクカラー:B + リフレクの色:B + None + 177 + + + 寿命が有効か + ON_OFF + 寿命が有効か + None + 1 + 850 + + + シャイニネスの強さ + シャイニネスの強さ + None + 0 + 1 + 178 + + + 寿命[秒] + 寿命[秒](デカールが貼られてからの時間、フェードイン時間は関係ない) + None + 0 + 9999 + 0.1 + 851 + + + フェードアウト時間[秒] + フェードアウト時間[秒] + None + 0 + 9999 + 0.1 + 853 + + + 優先度 + この値が大きいほど残りやすい(-1は消滅しない) + None + -1 + 9999 + 900 + + + 近くにデカールがあれば間引くか + ON_OFF + 近くにデカールがあれば間引くかどうか + None + 1 + 910 + + + ランダムパターンを固定化する + BOOL_YESNO_TYPE + 「はい」にすると、各バリエーション数が0以外のテクスチャについてランダムに決めた一つのバリエーション番号が適用されるようになります。0以外の各バリエーション数は同じ値に揃える必要があります。 + None + 1 + 140 + + + この距離以内なら間引き候補 + この距離以内にデカールがあれば間引き候補 + None + 0 + 9999 + 0.1 + 921 + + + 方向の差がこの角度[度]以内なら間引き候補 + デカールの方向の差がこの角度以内なら間引き候補 + None + 0 + 180 + 0.1 + 922 + + + 条件を満たした数がこの数以上なら間引く + 距離、角度がこの数以上なら間引く + None + 1 + 923 + + + 直近何個まで間引きチェックするか + 間引き候補を直近何個まで調べるか + None + 1 + 924 + + + 発生するまでの遅延フレーム[フレーム(30FPS換算)] + デカールを貼り付けようとしてからこのフレーム後に実際に貼り付けられる + None + 0 + 9999 + 860 + + + アルベド・バリエーション数 + アルベドテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 150 + + + マスク・バリエーション数 + マスクテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 151 + + + リフレク・バリエーション数 + リフレクテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 152 + + + パディング + None + 9 + 9999 + + + ノーマル・バリエーション数 + ノーマルテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 154 + + + ハイト・バリエーション数 + ハイトテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 155 + + + エミッシブ・バリエーション数 + エミッシブテクスチャのランダムバリエーション数(0番目を含む、2でテクスチャ2枚分) + None + 9 + 156 + + + パディング + パディング + None + 9 + 9999 + + + フェードイン時間[秒] + フェードイン時間[秒] + None + 0 + 9999 + 0.1 + 852 + + + 間引き:重複乗算値 + デカールサイズにこの値を乗算した範囲で重複かを判定する + None + 0 + 999 + 912 + + + 間引き:近隣加算距離[m] + デカールサイズにこの距離[m]を加算した範囲で近隣かを判定する + None + -999 + 999 + 913 + + + 間引き:重複限界数 + 重複可能な限界数 + None + 9999 + 914 + + + 間引き:近隣限界数 + 近隣可能な限界数 + None + 9999 + 915 + + + 間引きモード + DECAL_PARAM_THIN_OUT_MODE + 間引きモード + None + 0 + 1 + 911 + + + エミッシブカラー:R + エミッシブの色:R + None + 179 + + + エミッシブカラー:G + エミッシブの色:G + None + 180 + + + エミッシブカラー:B + エミッシブの色:B + None + 181 + + + SFX発生上限角度 + SFX発生上限角度 + Lock + -1 + 360 + 1 + 5302 + + + パディング + パディング + %d + 10002 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/DefaultKeyAssign.xml b/WitchyBND/Assets/Paramdex/NR/Defs/DefaultKeyAssign.xml index aaff0ee4..f288dcd6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/DefaultKeyAssign.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/DefaultKeyAssign.xml @@ -1,55 +1,1134 @@ - + DEFAULT_KEY_ASSIGN 1 False True - 203 + 202 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + パッド0 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド0 + 1 + 下位優先度抑制(高⇔低) + + + GUIフレームワーク用 + DefaultKeyAssignPrioritySuppression + 下位抑制GUIフレームワーク用パッド + 1 + 1 + 下位優先度抑制(高⇔低) + + + パッド2 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド2 + 1 + 2 + 下位優先度抑制(高⇔低) + + + デバッグメニューモード切替 + DefaultKeyAssignPrioritySuppression + 下位抑制デバッグメニューモード切替パッド + 1 + 3 + 下位優先度抑制(高⇔低) + + + パッド4 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド4 + 1 + 4 + 下位優先度抑制(高⇔低) + + + パッドデバッグメニュー + DefaultKeyAssignPrioritySuppression + 下位抑制パッドデバッグメニューパッド + 1 + 5 + 下位優先度抑制(高⇔低) + + + パッド6 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド6 + 1 + 6 + 下位優先度抑制(高⇔低) + + + パッド7 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド7 + 1 + 7 + 下位優先度抑制(高⇔低) + + + パッド8 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド8 + 1 + 8 + 下位優先度抑制(高⇔低) + + + パッド9 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド9 + 1 + 9 + 下位優先度抑制(高⇔低) + + + パッド10 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド10 + 1 + 10 + 下位優先度抑制(高⇔低) + + + パッド11 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド11 + 1 + 11 + 下位優先度抑制(高⇔低) + + + パッド12 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド12 + 1 + 12 + 下位優先度抑制(高⇔低) + + + パッド13 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド13 + 1 + 13 + 下位優先度抑制(高⇔低) + + + パッド14 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド14 + 1 + 14 + 下位優先度抑制(高⇔低) + + + パッド15 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド15 + 1 + 15 + 下位優先度抑制(高⇔低) + + + パッド16 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド16 + 1 + 16 + 下位優先度抑制(高⇔低) + + + パッド17 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド17 + 1 + 17 + 下位優先度抑制(高⇔低) + + + パッド18 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド18 + 1 + 18 + 下位優先度抑制(高⇔低) + + + パッド19 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド19 + 1 + 19 + 下位優先度抑制(高⇔低) + + + パッド20 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド20 + 1 + 20 + 下位優先度抑制(高⇔低) + + + パッド21 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド21 + 1 + 21 + 下位優先度抑制(高⇔低) + + + パッド22 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド22 + 1 + 22 + 下位優先度抑制(高⇔低) + + + パッド23 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド23 + 1 + 23 + 下位優先度抑制(高⇔低) + + + パッド24 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド24 + 1 + 24 + 下位優先度抑制(高⇔低) + + + パッド25 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド25 + 1 + 25 + 下位優先度抑制(高⇔低) + + + パッド26 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド26 + 1 + 26 + 下位優先度抑制(高⇔低) + + + パッド27 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド27 + 1 + 27 + 下位優先度抑制(高⇔低) + + + パッド28 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド28 + 1 + 28 + 下位優先度抑制(高⇔低) + + + パッド29 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド29 + 1 + 29 + 下位優先度抑制(高⇔低) + + + パッド30 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド30 + 1 + 30 + 下位優先度抑制(高⇔低) + + + パッド31 + DefaultKeyAssignPrioritySuppression + 下位抑制パッド31 + 1 + 31 + 下位優先度抑制(高⇔低) + + + ダミー + 1000 + 下位優先度抑制(高⇔低) + + + パッド物理キー + DefaultKeyAssignPadKey + パッド物理キー + -1 + 100000000 + 100 + padItem1 + PadItem + パッドキー1 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 110 + padItem1 + PadItem + パッドキー1 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 155 + padItem1 + PadItem + パッドキー1 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 170 + padItem1 + PadItem + パッドキー1 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 105 + padItem1 + PadItem + パッドキー1 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 106 + padItem1 + PadItem + パッドキー1 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 107 + padItem1 + PadItem + パッドキー1 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 108 + padItem1 + PadItem + パッドキー1 + + + 時間 + 時間 + 0 + 10 + 140 + padItem1 + PadItem + パッドキー1 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 150 + padItem1 + PadItem + パッドキー1 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 160 + padItem1 + PadItem + パッドキー1 + + + パッド物理キー + DefaultKeyAssignPadKey + パッド物理キー + -1 + 100000000 + 200 + padItem2 + PadItem + パッドキー2 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 210 + padItem2 + PadItem + パッドキー2 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 255 + padItem2 + PadItem + パッドキー2 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 270 + padItem2 + PadItem + パッドキー2 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 205 + padItem2 + PadItem + パッドキー2 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 206 + padItem2 + PadItem + パッドキー2 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 207 + padItem2 + PadItem + パッドキー2 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 208 + padItem2 + PadItem + パッドキー2 + + + 時間 + 時間 + 0 + 10 + 240 + padItem2 + PadItem + パッドキー2 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 250 + padItem2 + PadItem + パッドキー2 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 260 + padItem2 + PadItem + パッドキー2 + + + パッド物理キー + DefaultKeyAssignPadKey + パッド物理キー + -1 + 100000000 + 300 + padItem3 + PadItem + パッドキー3 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 310 + padItem3 + PadItem + パッドキー3 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 355 + padItem3 + PadItem + パッドキー3 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 370 + padItem3 + PadItem + パッドキー3 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 305 + padItem3 + PadItem + パッドキー3 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 306 + padItem3 + PadItem + パッドキー3 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 307 + padItem3 + PadItem + パッドキー3 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 308 + padItem3 + PadItem + パッドキー3 + + + 時間 + 時間 + 0 + 10 + 340 + padItem3 + PadItem + パッドキー3 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 350 + padItem3 + PadItem + パッドキー3 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 360 + padItem3 + PadItem + パッドキー3 + + + パッド物理キー + DefaultKeyAssignPadKey + パッド物理キー + -1 + 100000000 + 400 + padItem4 + PadItem + パッドキー4 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 410 + padItem4 + PadItem + パッドキー4 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 455 + padItem4 + PadItem + パッドキー4 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 470 + padItem4 + PadItem + パッドキー4 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 405 + padItem4 + PadItem + パッドキー4 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 406 + padItem4 + PadItem + パッドキー4 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 407 + padItem4 + PadItem + パッドキー4 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 408 + padItem4 + PadItem + パッドキー4 + + + 時間 + 時間 + 0 + 10 + 440 + padItem4 + PadItem + パッドキー4 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 450 + padItem4 + PadItem + パッドキー4 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 460 + padItem4 + PadItem + パッドキー4 + + + PC物理キー + DefaultKeyAssignPcKey + PC物理キー + -1 + 100000000 + 500 + pcItem1 + PCItem + PCキー1 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 510 + pcItem1 + PCItem + PCキー1 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 555 + pcItem1 + PCItem + PCキー1 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 570 + pcItem1 + PCItem + PCキー1 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 505 + pcItem1 + PCItem + PCキー1 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 506 + pcItem1 + PCItem + PCキー1 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 507 + pcItem1 + PCItem + PCキー1 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 508 + pcItem1 + PCItem + PCキー1 + + + 時間 + 時間 + 0 + 10 + 540 + pcItem1 + PCItem + PCキー1 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 550 + pcItem1 + PCItem + PCキー1 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 560 + pcItem1 + PCItem + PCキー1 + + + PC物理キー + DefaultKeyAssignPcKey + PC物理キー + -1 + 100000000 + 600 + pcItem2 + PCItem + PCキー2 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 610 + pcItem2 + PCItem + PCキー2 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 655 + pcItem2 + PCItem + PCキー2 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 670 + pcItem2 + PCItem + PCキー2 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 605 + pcItem2 + PCItem + PCキー2 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 606 + pcItem2 + PCItem + PCキー2 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 607 + pcItem2 + PCItem + PCキー2 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 608 + pcItem2 + PCItem + PCキー2 + + + 時間 + 時間 + 0 + 10 + 640 + pcItem2 + PCItem + PCキー2 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 650 + pcItem2 + PCItem + PCキー2 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 660 + pcItem2 + PCItem + PCキー2 + + + PC物理キー + DefaultKeyAssignPcKey + PC物理キー + -1 + 100000000 + 700 + pcItem3 + PCItem + PCキー3 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 710 + pcItem3 + PCItem + PCキー3 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 755 + pcItem3 + PCItem + PCキー3 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 770 + pcItem3 + PCItem + PCキー3 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 705 + pcItem3 + PCItem + PCキー3 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 706 + pcItem3 + PCItem + PCキー3 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 707 + pcItem3 + PCItem + PCキー3 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 708 + pcItem3 + PCItem + PCキー3 + + + 時間 + 時間 + 0 + 10 + 740 + pcItem3 + PCItem + PCキー3 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 750 + pcItem3 + PCItem + PCキー3 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 760 + pcItem3 + PCItem + PCキー3 + + + PC物理キー + DefaultKeyAssignPcKey + PC物理キー + -1 + 100000000 + 800 + pcItem4 + PCItem + PCキー4 + + + 押され方 + DefaultKeyAssignTraits + 押され方 + 810 + pcItem4 + PCItem + PCキー4 + + + アナログ→デジタル変換方法 + DefaultKeyAssignA2DOperator + アナログ→デジタル変換方法 + 855 + pcItem4 + PCItem + PCキー4 + + + 適用ターゲット + DefaultKeyAssignApplyTarget + 反映ターゲット + 870 + pcItem4 + PCItem + PCキー4 + + + デジタル・アナログ + DefaultKeyAssignDigitalAnalog + デジタルorアナログ + 1 + 805 + pcItem4 + PCItem + PCキー4 + + + Win64 + BOOL_CIRCLECROSS_TYPE + Win64で使用されるか + 1 + 806 + pcItem4 + PCItem + PCキー4 + + + PS4 + BOOL_CIRCLECROSS_TYPE + PS4で使用されるか + 1 + 807 + pcItem4 + PCItem + PCキー4 + + + XboxOne + BOOL_CIRCLECROSS_TYPE + XboxOneで使用されるか + 1 + 808 + pcItem4 + PCItem + PCキー4 + + + 時間 + 時間 + 0 + 10 + 840 + pcItem4 + PCItem + PCキー4 + + + リピート用インターバル時間 + リピート用インターバル時間 + 0 + 10 + 850 + pcItem4 + PCItem + PCキー4 + + + アナログ→デジタル変換閾値 + アナログ→デジタル変換閾値 + 0 + 1000 + 860 + pcItem4 + PCItem + PCキー4 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/DefeatBossSoulParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/DefeatBossSoulParam.xml index a5ce260a..94576e2d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/DefeatBossSoulParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/DefeatBossSoulParam.xml @@ -1,13 +1,13 @@ DEFEAT_BOSS_SOUL_PARAM_ST - 1 + 2 False True - 203 + 0 - - + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/DirectionCameraParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/DirectionCameraParam.xml index 509750e4..6ee548ce 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/DirectionCameraParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/DirectionCameraParam.xml @@ -1,15 +1,27 @@ - + DIRECTION_CAMERA_PARAM_ST 1 False True - 203 + 0 - - - - - + + オプションの影響を受けるか + BOOL_YESNO_TYPE + 演出カメラON/OFFオプションの影響を受けるか? + 1 + 100 + + + パッド + pad + 101 + + + パッド + pad + 102 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EnemyCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EnemyCommonParam.xml index 39c2ea52..025e0ca2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EnemyCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EnemyCommonParam.xml @@ -1,75 +1,110 @@ - + ENEMY_COMMON_PARAM_ST 1 False True - 203 + 0 + + 予約 + (dummy8) + %.2f + 100 + + + 音ターゲットに対して接近を試みる時間 + %.2f + None + 0 + 999999 + 300 + + + 索敵ターゲットに対して接近を試みる時間 + None + 0 + 999999 + 400 + + + 記憶ターゲットに対して接近を試みる時間 + None + 0 + 999999 + 500 + + + 予約 + (dummy8) + %.0f + 1801 + + + 特定時間帯配置のエネミーの出現・消滅に演出に使うファントムシェーダID + 出現・消滅の演出でファントムシェーダをフェイドする、 + None + 0 + 999999 + 1600 + + + パス終端まで行くと敵が見切れそうなことがわかったインタラプト、を発生させる距離 + Unreachパス時、終端と対象がこの距離以内ならインタラプトを発生させる + %.2f + None + 0 + 99 + 0.1 + 1700 + + + パス終端まで行くと敵が見切れそうなことがわかったインタラプト、を発生させる高さ + Unreachパス時、終端と対象がこの距離以上ならインタラプトを発生させる + %.2f + None + 0 + 99 + 0.1 + 1800 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 予約 + (dummy8) + %d + 1802 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EnvObjLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EnvObjLotParam.xml index acc37a11..04953656 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EnvObjLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EnvObjLotParam.xml @@ -1,27 +1,104 @@ - + ENV_OBJ_LOT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + AssetId_0 (-1:無視) + -1 + 999999 + + + AssetId_1 (-1:無視) + -1 + 999999 + 100 + + + AssetId_2 (-1:無視) + -1 + 999999 + 200 + + + AssetId_3 (-1:無視) + -1 + 999999 + 300 + + + AssetId_4 (-1:無視) + -1 + 999999 + 400 + + + AssetId_5 (-1:無視) + -1 + 999999 + 500 + + + AssetId_6 (-1:無視) + -1 + 999999 + 600 + + + AssetId_7 (-1:無視) + -1 + 999999 + 700 + + + 出現ウェイト_0 + 出現の比率ポイント(ウェイト)_0: 0だと無視 + 1 + + + 出現ウェイト_1 + 出現の比率ポイント(ウェイト)_1 + 101 + + + 出現ウェイト_2 + 出現の比率ポイント(ウェイト)_2 + 201 + + + 出現ウェイト_3 + 出現の比率ポイント(ウェイト)_3 + 301 + + + 出現ウェイト_4 + 出現の比率ポイント(ウェイト)_4 + 401 + + + 出現ウェイト_5 + 出現の比率ポイント(ウェイト)_5 + 501 + + + 出現ウェイト_6 + 出現の比率ポイント(ウェイト)_6 + 601 + + + 出現ウェイト_7 + 出現の比率ポイント(ウェイト)_7 + 701 + + + リザーブ + リザーブ + %d + Wrap + 702 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipMtrlSetParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipMtrlSetParam.xml index 8764c59c..59b36f80 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipMtrlSetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipMtrlSetParam.xml @@ -1,24 +1,192 @@ - + EQUIP_MTRL_SET_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - + + 必要素材アイテムID01 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 100 + + + 必要素材アイテムID02 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 300 + + + 必要素材アイテムID03 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 500 + + + 必要素材アイテムID04 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 700 + + + 必要素材アイテムID05 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 900 + + + 必要素材アイテムID06 + 武具強化に必要な素材アイテムIDです。 + -1 + 10000000 + 1100 + + + パディング + パディング。素材アイテムIDが増えたとき用 + 99999999 + + + 必要個数01 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 200 + + + 必要個数02 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 400 + + + 必要個数03 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 600 + + + 必要個数04 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 800 + + + 必要個数05 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 1000 + + + 必要個数06 + 武具強化に必要な素材アイテムの個数です。 + -1 + 99 + 1200 + + + パディング + パディング。アイテムの個数が増えたとき用 + 99999999 + + + 必要素材アイテムカテゴリ01 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 110 + + + 必要素材アイテムカテゴリ02 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 310 + + + 必要素材アイテムカテゴリ03 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 510 + + + 必要素材アイテムカテゴリ04 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 710 + + + 必要素材アイテムカテゴリ05 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 910 + + + 必要素材アイテムカテゴリ06 + GAITEM_CATEGORY + 武具強化に必要な素材アイテムのカテゴリです。 + 15 + 1110 + + + パディング + パディング。カテゴリが増えたとき用 + 99999999 + + + 個数表示を無効化01 + 個数表示を無効化するか(強化ショップ用) + 1 + 250 + + + 個数表示を無効化02 + 個数表示を無効化するか + 1 + 450 + + + 個数表示を無効化03 + 個数表示を無効化するか + 1 + 650 + + + 個数表示を無効化04 + 個数表示を無効化するか + 1 + 850 + + + 個数表示を無効化05 + 個数表示を無効化するか + 1 + 1050 + + + 個数表示を無効化06 + 個数表示を無効化するか + 1 + 1250 + + + パディング + パディングです。 + 99999999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAccessory.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAccessory.xml index 01a45985..0d63390a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAccessory.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAccessory.xml @@ -1,27 +1,39 @@ EQUIP_PARAM_ACCESSORY_ST - 1 + 2 False True - 203 + 0 + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAntique.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAntique.xml index d3fe4cc2..ca3a0eee 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAntique.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamAntique.xml @@ -1,23 +1,35 @@ EQUIP_PARAM_ANTIQUE_ST - 1 + 2 False True - 203 + 0 + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamCustomWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamCustomWeapon.xml index d6fd89b1..7c0192de 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamCustomWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamCustomWeapon.xml @@ -4,20 +4,25 @@ 1 False True - 203 + 0 + + + - - - - - - - - - - - - + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamGoods.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamGoods.xml index 1d1a771e..44aa3629 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamGoods.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamGoods.xml @@ -1,59 +1,797 @@ - + EQUIP_PARAM_GOODS_ST - 1 + 3 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 100000 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 100001 + + + 呼び出しID0(デフォルト) + アイテムから呼び出されるID0(デフォルト) + -1 + 999999999 + 400 + + + SFXバリエーションID + SFXのバリエーションを指定(TimeActEditorのIDと組み合わせて、SFXを特定するのに使用する) + -1 + 99999999 + 99999 + + + 重量[kg] + 重量[kg] + %d + 0 + 1000 + 0.1 + 900 + + + 基本価格 + 基本価格 + 0 + 99999999 + 1200 + + + 売却価格 + 販売価格 + -1 + 99999999 + 1210 + + + 行動ID + 道具を使ったときに発生する効果を設定します + -1 + 99999999 + 1600 + + + 差し替えアイテムID + 差し替えるときのアイテムID + -1 + 999999999 + 3500 + + + ソートID + ソートID(-1:集めない) + -1 + 99999999 + 3600 + + + 表示差し替え先アイテムID + 条件付きで表示を別の道具IDに差し替える。ゲームデータ側の道具IDは変わらない + -1 + 99999999 + 4400 + + + YES/NOメッセージID + YesNoダイアログ表示時に使用するメッセージID + -1 + 99999999 + 4300 + + + 使用可能条件_状態変化タイプ + SP_EFFECT_TYPE + 設定した状態変化タイプの特殊効果が掛かったときだけ、使用許可する + 65000 + 1621 + + + 壺グループID + 壺グループIDに0以上が設定されている「消費アイテム」は同じ壺グループIDの「壺」の個数だけ所持可能 + -1 + 15 + 3960 + + + PAD + 旧(巻物と紐づいた魔法ID) + %d + Wrap + 100002 + + + アイコンID + メニュー用アイコンID + 100 + + + モデルID + モデルID + 9999 + 1000 + + + ショップレベル + お店で販売できるレベル + -1 + 9999 + 2800 + + + コンプトロフィーSEQ番号 + コンプリート系トロフィのSEQ番号 + -1 + 99 + 3700 + + + トロフィーSEQ番号 + トロフィーのSEQ番号 + -1 + 99 + 3800 + + + 最大所持数 + 最大所持数 + 0 + 9999 + 610 + + + 消費人間性 + 消費人間性 + 612 + + + 技量オーバー開始値 + 技量オーバー開始値 + 99 + 700 + + + 道具のタイプ + GOODS_TYPE + 道具の種類 + 99 + 200 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + ↓のIDのカテゴリ[攻撃、飛び道具、特殊] + 300 + + + 特殊効果カテゴリ + BEHAVIOR_CATEGORY + スキルや、魔法、アイテムなどで、パラメータが変動する効果(エンチャントウェポンなど)があるので、│定した効果が、「武器攻撃のみをパワーアップする」といった効果に対応できるように行動ごとに設定するバリスタなど、設定の必要のないものは「なし」を設定する + + 600 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + 道具使用時アニメ + GOODS_USE_ANIM + 道具を使ったときに再生するアニメを設定します + 99 + 1500 + + + メニュー開くか + GOODS_OPEN_MENU + アイテム使用時に開くメニュータイプ + 4100 + + + 使用禁止条件_特殊効果カテゴリ + SP_EFFECT_USELIMIT_CATEGORY + かかっている特殊効果によって使用可能かを制御する為に指定 + 1610 + + + 差し替えカテゴリ + REPLACE_CATEGORY + 呼び出しIDに加算しる条件カテゴリ + 15001 + + + リザーブ + %d + Wrap + 100004 + + + 生存使用可 + EQUIP_BOOL + 生存プレイヤー使用可能か + 1 + 1710 + + + グレイ使用可 + EQUIP_BOOL + グレイゴースト使用可能か + 1 + 1800 + + + 白使用可 + EQUIP_BOOL + ホワイトゴースト使用可能か + 1 + 1900 + + + 黒使用可 + EQUIP_BOOL + ブラックゴーストしよう可能か + 1 + 2000 + + + マルチプレイ可 + EQUIP_BOOL + マルチプレイ中に使用可能か? + 1 + 2100 + + + オフラインで使用不可 + EQUIP_BOOL + オフライン中に使用不可か? + 1 + 2200 + + + 装備可能 + EQUIP_BOOL + 装備できるかどうか + 1 + 2400 + + + 消耗品か + EQUIP_BOOL + 使用時に消耗するか(所持数が減るか) + 1 + 2500 + + + 自動装備するか? + EQUIP_BOOL + 拾った時に自動で装備するか? + 1 + 2600 + + + 設置型アイテムか? + EQUIP_BOOL + 設置型アイテムか? + 1 + 2700 + + + 1個しか持てないか + EQUIP_BOOL + 1個しか持てないアイテムか + 1 + 2900 + + + + 預けれるか + EQUIP_BOOL + 倉庫に預けれるか + 1 + 3150 + + + 右素手に使えないか + EQUIP_BOOL + 右手武器が素手の場合に使用不可か + 1 + 3200 + + + 周回時削除するか + EQUIP_BOOL + 周回時削除するか + 1 + 21800 + + + 補充アイテムか + EQUIP_BOOL + 補充可能アイテムを判別するのに使用します + 1 + 3350 + + + 補充済みアイテムか + EQUIP_BOOL + 補充済みアイテムを判別するのに使用します + 1 + 3351 + + + エンチャントするか? + EQUIP_BOOL + 武器にエンチャントするか? + 1 + 4000 + + + 修理アイテムか + EQUIP_BOOL + 修理するアイテムか? + 1 + 3250 + + + + 闘技場で使用禁止か + EQUIP_BOOL + 闘技場で使用禁止か + 1 + 3160 + + + 闘技場以外で使用禁止か + EQUIP_BOOL + 闘技場以外で使用禁止か + 1 + 3160 + + + 早いキャンセル可能か + EQUIP_BOOL + 早いキャンセル可能か + 1 + 15100 + + + 特殊効果を反映するか + EQUIP_BOOL + (能力値補正など)特殊効果を反映するか + 1 + 4020 + + + 個数増減を同期させるID + アイテムの個数が変更された際に、同じIDを設定したアイテムも一緒に変更を行います。 0:同期しない + 3950 + + + 呼び出しID1 + アイテムから呼び出されるID1 + -1 + 999999999 + 410 + + + 参照仮想武器ID + 道具使用時に参照する武器ID + -1 + 999999999 + 250 + + + ベイグラント時アイテム抽選ID_マップ用 + -1:ベイグラントなし 0:抽選なし 1~:抽選あり + None + -1 + 99999999 + 10000 + + + + + 手持ちSFXID + アイテムを使用しようとし、効果が発動するまでのSFXID + -1 + 99999999 + 500 + + + 発動SFXID + アイテムが発動したときのSFXID + -1 + 99999999 + 501 + + + 効果SFXID + アイテムが発動後、効果中のSFXID + -1 + 99999999 + 502 + + + 大ルーン発動中使用可 + EQUIP_BOOL + 大ルーン発動状態で使用可能か + 1 + 1700 + + + 篝火ワープアイテムか + EQUIP_BOOL + TRUEの時に状態変化タイプの「ワープ禁止」がかかっていればそのアイテムを使用不可にする機能を外す + 1 + 3310 + + + はしご中使用可能か + EQUIP_BOOL + はしご中に使用可能なアイテムはここにチェックを入れます + 1 + 2210 + + + マルチプレイ準備中可 + EQUIP_BOOL + セッション確率~初期同期の間でアイテムを使用できるかどうか + 1 + 2050 + + + まとめて使えるか + EQUIP_BOOL + まとめて使えるか + 1 + 2910 + + + 盾エンチャントか + EQUIP_BOOL + 盾エンチャントか + 1 + 4010 + + + ワープ禁止対象か + EQUIP_BOOL + これがTRUEの時に、状態変化タイプの「ワープ禁止」がかかっていればそのアイテムを使用不可にする + 1 + 3320 + + + 切断ペナルティが発生しているときのみ使用可能 + EQUIP_BOOL + クライアント切断ペナルティが発生しているときのみ使用可能なアイテムかどうかを判断できるようにするためのフラグ + 1 + 2051 + + + 補充タイプ + GOODS_SUPPLE_TYPE + 補充アイテム/補充済みアイテムを補充する際の補充タイプ。 + 2 + 3352 + + + 自動補充タイプ + AUTO_REPLENISH_TYPE + 自動補充する/しないの可否およびデフォルト設定をコントロールします + 3550 + + + その場に置けるか + EQUIP_BOOL + アイテムをその場に置けるか?TRUE=置ける + 1 + 3110 + + + 取得ログ表示条件 + EQUIP_BOOL + アイテム取得時にアイテム取得ログに表示するか(未入力: ○) + 1 + 21000 + + + 馬呼びアイテムか + EQUIP_BOOL + 馬を召喚するアイテムか?馬が死亡、PCが馬禁止エリアに居る場合は使用不可 + 1 + 3330 + + + 取得ダイアログ表示条件 + GET_DIALOG_CONDITION_TYPE + アイテム取得時にアイテム取得ダイアログに表示するか(未入力: newのみ) + 2 + 20990 + + + ネムリ収集アイテムか + EQUIP_BOOL + ネムリ収集アイテムか + 1 + 3340 + + + 騎乗中使用可能か + EQUIP_BOOL + 騎乗中使用可能か + 1 + 2220 + + + 非騎乗中使用禁止か + EQUIP_BOOL + 非騎乗中使用禁止か + 1 + 2230 + + + 倉庫所持数 + 倉庫所持数 + 0 + 9999 + 611 + + + ソートアイテム種別ID + ソートアイテム種別ID。ソート「アイテム種別順」にて、同じIDは同じグループとしてまとめて表示されます + 3610 + + + 攻撃禁止区域で使用できるか + EQUIP_BOOL + 攻撃禁止区域で使用できるか + 1 + 2240 + + + + + + 販売価格 + 販売価格 + -1 + 99999999 + 1220 + + + レア度 + アイテム取得ログで使うレア度 + 99 + 21200 + + + バディアイテムか + GOODS_USELIMIT_SUMMONBUDDY + バディアイテム用のアイテム使用制限がかかるかどうか + 2750 + + + 使用禁止条件_状態変化タイプ + SP_EFFECT_TYPE + かかっている特殊効果の状態変化タイプによって使用可能かを制御する為に指定 + 65000 + 1620 + + + AI使用判断ID + AI使用判断ID + -1 + 999999999 + 21300 + + + 消費MP + 消費MP + -1 + 9999 + 650 + + + 消費HP + 消費HP + -1 + 9999 + 640 + + + 強化先道具ID + 強化先道具ID + -1 + 999999999 + 21500 + + + 強化時素材ID + 強化時素材ID + -1 + 999999 + 21510 + + + 強化価格 + 強化価格 + 0 + 99999999 + 21520 + + + 誓約0使用レベル + 誓約0使用レベル + -1 + 99 + 21600 + + + 誓約1使用レベル + 誓約1使用レベル + -1 + 99 + 21601 + + + 誓約2使用レベル + 誓約2使用レベル + -1 + 99 + 21602 + + + 誓約3使用レベル + 誓約3使用レベル + -1 + 99 + 21603 + + + 誓約4使用レベル + 誓約4使用レベル + -1 + 99 + 21604 + + + 誓約5使用レベル + 誓約5使用レベル + -1 + 99 + 21605 + + + 誓約6使用レベル + 誓約6使用レベル + -1 + 99 + 21606 + + + 誓約7使用レベル + 誓約7使用レベル + -1 + 99 + 21607 + + + 誓約8使用レベル + 誓約8使用レベル + -1 + 99 + 21608 + + + 誓約9使用レベル + 誓約9使用レベル + -1 + 99 + 21609 + + + 誓約10使用レベル + 誓約10使用レベル + -1 + 99 + 21610 + + + 誓約11使用レベル + 誓約11使用レベル + -1 + 99 + 21611 + + + 誓約12使用レベル + 誓約12使用レベル + -1 + 99 + 21612 + + + 誓約13使用レベル + 誓約13使用レベル + -1 + 99 + 21613 + + + 誓約14使用レベル + 誓約14使用レベル + -1 + 99 + 21614 + + + 誓約15使用レベル + 誓約15使用レベル + -1 + 99 + 21615 + + + 使用適正レベル + 使用適正レベル + 999 + 1605 + + + + + アイテム入手チュートリアル判定フラグID + 初めてアイテム入手した時のチュートリアル用のイベントフラグID。アイテム入手時にフラグON。 + %u + -294967297 + 21700 + + + + + + + + + 予約領域 + 予約領域 + 100007 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamProtector.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamProtector.xml index 35f14fb4..6211d5c6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamProtector.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamProtector.xml @@ -1,115 +1,1565 @@ - + EQUIP_PARAM_PROTECTOR_ST - 1 + 6 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 998801 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 998802 + + + ソートID + ソートID(プログラム内で強化レベルを加味しているので s32 では7桁が限界) + -1 + 9999999 + 1300 + + + 徘徊装備ID + 徘徊ゴースト用の差し替え装備ID. + 99999999 + 1400 + + + 睡眠耐性 + 睡眠状態異常へのかかりにくさ + 999 + 4150 + + + 発狂耐性 + 発狂状態異常へのかかりにくさ + 999 + 4160 + + + SA耐久値 + スーパーアーマー耐久力 + -1 + 9999 + 0.1 + 3000 + + + 強靭度 補正倍率 + 強靭度の基本値を補正する倍率です + %.2f + 0 + 10 + 3160 + + + 修理価格 + 修理基本価格 + 0 + 99999999 + 2500 + + + 基本価格 + 基本価格 + 0 + 99999999 + 2600 + + + 売却価格 + 販売価格 + -1 + 99999999 + 2610 + + + 重量[kg] + 重量[kg]. + %0.3f + 0 + 1000 + 0.1 + 2700 + + + 常駐特殊効果ID1 + 常駐特殊効果ID1 + -1 + 999999999 + 4500 + + + 常駐特殊効果ID2 + 常駐特殊効果ID2 + -1 + 999999999 + 4600 + + + 常駐特殊効果ID3 + 常駐特殊効果ID3 + -1 + 999999999 + 4700 + + + 素材ID + 武器強化に必要な素材パラメータID + -1 + 999999 + 4800 + + + 部位ダメージ率 + 部位ダメージ率 + %.2f + 0 + 99 + 1900 + + + SA回復時間補正値 + スーパーアーマー回復時間の補正値 + %0.3f + -1 + 99.99 + 3100 + + + 派生元 + この防具の強化元防具ID + -1 + 99999999 + 5000 + + + 派生元 強化+1 + この防具の強化元防具ID1 + -1 + 99999999 + 5100 + + + 派生元 強化+2 + この防具の強化元防具ID2 + -1 + 99999999 + 5200 + + + 派生元 強化+3 + この防具の強化元防具ID3 + -1 + 99999999 + 5300 + + + 派生元 強化+4 + この防具の強化元防具ID4 + -1 + 99999999 + 5400 + + + 派生元 強化+5 + この防具の強化元防具ID5 + -1 + 99999999 + 5500 + + + 派生元 強化+6 + この防具の強化元防具ID6 + -1 + 99999999 + 5600 + + + 派生元 強化+7 + この防具の強化元防具ID7 + -1 + 99999999 + 5700 + + + 派生元 強化+8 + この防具の強化元防具ID8 + -1 + 99999999 + 5800 + + + 派生元 強化+9 + この防具の強化元防具ID9 + -1 + 99999999 + 5900 + + + 派生元 強化+10 + この防具の強化元防具ID10 + -1 + 99999999 + 6000 + + + 派生元 強化+11 + この防具の強化元防具ID11 + -1 + 99999999 + 6100 + + + 派生元 強化+12 + この防具の強化元防具ID12 + -1 + 99999999 + 6200 + + + 派生元 強化+13 + この防具の強化元防具ID13 + -1 + 99999999 + 6300 + + + 派生元 強化+14 + この防具の強化元防具ID14 + -1 + 99999999 + 6400 + + + 派生元 強化+15 + この防具の強化元防具ID15 + -1 + 99999999 + 6500 + + + 男横顔拡大スケール + %0.3f + 0 + 5 + 9900 + + + 男前顔拡大スケール + %0.3f + 0 + 5 + 10000 + + + 男横顔拡大最大倍率 + %0.3f + 1 + 2 + 10100 + + + 男前顔拡大最大倍率 + %0.3f + 1 + 2 + 10200 + + + 女横顔拡大スケール + %0.3f + 0 + 5 + 10300 + + + 女前顔拡大スケール + %0.3f + 0 + 5 + 10400 + + + 女横顔拡大最大倍率 + %0.3f + 1 + 2 + 10500 + + + 女前顔拡大最大倍率 + %0.3f + 1 + 2 + 10600 + + + QWCID + QWCのパラメタID + -1 + 99999999 + 10800 + + + 装備モデル番号 + 装備モデルの番号. + 9999 + 300 + + + 男用アイコンID + 男用メニューアイコンID. + 1100 + + + 女用アイコンID + 女用メニューアイコンID. + 1200 + + + ノックバックカット率 + ノックバックの減少値. + 100 + 2200 + + + ノックバック反発率 + ノックバックの反発率. + 100 + 2300 + + + 耐久度 + 初期耐久度. + 999 + 2800 + + + 耐久度最大値 + 新品耐久度. + 999 + 2900 + + + pad + %d + Wrap + 998803 + + + はじき防御力 + 敵の攻撃のはじき返し判定に利用. + 99 + 3200 + + + 物理防御力 + 物理攻撃のダメージ防御. + 9999 + 3400 + + + 魔法防御力 + 魔法攻撃のダメージ防御. + 9999 + 3500 + + + 炎防御力 + 炎攻撃のダメージ防御. + 9999 + 3600 + + + 電撃防御力 + 電撃攻撃のダメージ防御. + 9999 + 3700 + + + 斬撃防御力 + 攻撃タイプを見て、斬撃属性のときは、防御力を減少させる + -100 + 9999 + 3800 + + + 打撃防御力 + 攻撃属性を見て、打撃属性のときは、防御力を減少させる. + -100 + 9999 + 3900 + + + 刺突防御力 + 攻撃属性を見て、打撃属性のときは、防御力を減少させる. + -100 + 9999 + 4000 + + + 毒耐性 + 毒状態異常へのかかりにくさ + 999 + 4100 + + + 疫病耐性 + 疫病状態異常へのかかりにくさ + 999 + 4110 + + + 出血耐性 + 出血状態異常へのかかりにくさ + 999 + 4120 + + + 呪耐性 + 呪い状態異常へのかかりにくさ + 999 + 4130 + + + 強化タイプID + 強化タイプID + 0 + 9999 + 4900 + + + トロフィー + トロフィーシステムに関係あるか? + -1 + 9999 + 4750 + + + ショップレベル + お店で販売できるレベル + -1 + 9999 + 10900 + + + ノックバックパラメータID + ノックバックで使用するパラメータのID + 2400 + + + はじき時ダメージ減衰率[%] + はじき時のダメージ減衰率に使用 + 100 + 3300 + + + 装備モデル種別 + EQUIP_MODEL_CATEGORY + 装備モデルの種別. + 99 + 100 + + + 装備モデル性別 + EQUIP_MODEL_GENDER + 装備モデルの性別. + 99 + 200 + + + 防具カテゴリ + PROTECTOR_CATEGORY + 防具のカテゴリ. + 99 + 400 + + + レア度 + アイテム取得ログで使うレア度 + 99 + 12010 + + + ソートアイテム種別ID + ソートアイテム種別ID。ソート「アイテム種別順」にて、同じIDは同じグループとしてまとめて表示されます + 1310 + + + 部位ダメージ適用攻撃 + ATK_PARAM_PARTSDMGTYPE + 部位ダメージ判定を行う攻撃タイプを設定 + 2 + 1800 + + + パディング + 998804 + + + 預けれるか + EQUIP_BOOL + 倉庫に預けれるか + 1 + 4775 + + + 頭装備 + EQUIP_BOOL + 頭装備か. + 1 + 500 + + + 胴装備 + EQUIP_BOOL + 胴装備か. + 1 + 600 + + + 腕装備 + EQUIP_BOOL + 腕装備か. + 1 + 700 + + + 脚装備 + EQUIP_BOOL + 脚装備か. + 1 + 800 + + + 顔スケールを使用するか + EQUIP_BOOL + 顔スケールを使用するか + 1 + 6600 + + + 弱点アニメをスキップするか + EQUIP_BOOL + 弱点ダメージアニメ再生をスキップするかどうか。アニメを再生しないだけで「部位ダメージ率」「防御材質」は弱点として扱われます。 + 1 + 1850 + + + パディング + %d + Wrap + 998000 + + + 弱点防御材質バリエーション値 + 弱点防御材質と組み合わせて状態異常、ダメージSFX,SEのバリエーション分けに使用する値です。SEQ16473 + 99 + 2102 + + + フットデカール識別子2 + 自動フットエフェクトのデカールID。床材質も考慮される。防具カテゴリ」が「脚」のときのみ利用される。 + -1 + 999 + 1051 + + + フットデカール識別子3 + 自動フットエフェクトのデカールID。床材質も考慮される。防具カテゴリ」が「脚」のときのみ利用される。 + -1 + 999 + 1052 + + + 防御材質バリエーション値 + 防御材質と組み合わせて状態異常、ダメージSFX,SEのバリエーション分けに使用する値です。SEQ16473 + 99 + 1002 + + + 捨てれるか + EQUIP_BOOL + アイテムを捨てれるか?TRUE=捨てれる + 1 + 4760 + + + その場に置けるか + EQUIP_BOOL + アイテムをその場に置けるか?TRUE=置ける + 1 + 4770 + + + マルチドロップ共有禁止か + EQUIP_BOOL + マルチドロップ共有禁止か + 1 + 4780 + + + DLC用シンプルモデルありか + EQUIP_BOOL + DLC用シンプルモデルが存在しているか + 1 + 4785 + + + 取得ログ表示条件 + EQUIP_BOOL + アイテム取得時にアイテム取得ログに表示するか(未入力: ○) + 1 + 12000 + + + 取得ダイアログ表示条件 + GET_DIALOG_CONDITION_TYPE + アイテム取得時にアイテム取得ダイアログに表示するか(未入力: newのみ) + 2 + 11900 + + + パディング + %d + Wrap + 998805 + + + 無属性ダメージ倍率 + 無属性ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4010 + + + 斬撃ダメージ倍率 + 斬撃ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4020 + + + 打撃ダメージ倍率 + 打撃ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4030 + + + 刺突ダメージ倍率 + 刺突ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4040 + + + 魔法ダメージ倍率 + 魔法ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4050 + + + 火炎ダメージ倍率 + 火炎ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4060 + + + 電撃ダメージ倍率 + 電撃ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4070 + + + 防御材質1【SFX】 + WEP_MATERIAL_DEF_SFX + 移動/防御時のSFX用.1 + 9999 + 1000 + + + 弱点防御材質1【SFX】 + WEP_MATERIAL_DEF_SFX + 弱点部位ダメージ時のSFX用1 + 9999 + 2100 + + + 防御材質1【SE】 + WEP_MATERIAL_DEF + 移動/防御時のSE用.1 + 9999 + 900 + + + 弱点防御材質1【SE】 + WEP_MATERIAL_DEF + 弱点部位ダメージ時のSE用1 + 9999 + 2000 + + + 防御材質2【SFX】 + WEP_MATERIAL_DEF_SFX + 移動/防御時のSFX用.2 + 9999 + 1001 + + + 弱点防御材質2【SFX】 + WEP_MATERIAL_DEF_SFX + 弱点部位ダメージ時のSFX用2 + 9999 + 2101 + + + 足装備材質【SE】 + WEP_MATERIAL_DEF + 足装備SE用材質。足装備のみ参照される。(【GR】SEQ10061) 「139:なし」の場合は防御材質1【SE】が参照される + 9999 + 901 + + + 弱点防御材質2【SE】 + WEP_MATERIAL_DEF + 弱点部位ダメージ時のSE用2 + 9999 + 2001 + + + フットデカール識別子1 + 自動フットエフェクトのデカールID。床材質も考慮される。防具カテゴリ」が「脚」のときのみ利用される。 + -1 + 999 + 1050 + + + 強靭度 被ダメージ倍率 + 強靭度版カット率 + %.2f + 0 + 10 + 3150 + + + 強靭度 回復時間補正値 + 強靭度の回復時間用の補正値 + %.2f + 0 + 99.99 + 3170 + + + 闇ダメージ倍率 + 闇ダメージ倍率 + %0.3f + 0 + 99.999 + 0.001 + 4080 + + + 闇防御力 + 闇攻撃のダメージ防御. + 9999 + 3710 + + + PAD_元_#48#非表示 + 元_#48#非表示 + %d + Wrap + 998480 + + + PAD_元_#49#非表示 + 元_#49#非表示 + %d + Wrap + 998490 + + + PAD_元_#50#非表示 + 元_#50#非表示 + %d + Wrap + 998500 + + + PAD_元_#51#非表示 + 元_#51#非表示 + %d + Wrap + 998510 + + + PAD_元_#52#非表示 + 元_#52#非表示 + %d + Wrap + 998520 + + + PAD_元_#53#非表示 + 元_#53#非表示 + %d + Wrap + 998530 + + + PAD_元_#54#非表示 + 元_#54#非表示 + %d + Wrap + 998540 + + + PAD_元_#55#非表示 + 元_#55#非表示 + %d + Wrap + 998550 + + + PAD_元_#56#非表示 + 元_#56#非表示 + %d + Wrap + 998560 + + + PAD_元_#57#非表示 + 元_#57#非表示 + %d + Wrap + 998570 + + + PAD_元_#58#非表示 + 元_#58#非表示 + %d + Wrap + 998580 + + + PAD_元_#59#非表示 + 元_#59#非表示 + %d + Wrap + 998590 + + + PAD_元_#60#非表示 + 元_#60#非表示 + %d + Wrap + 998600 + + + PAD_元_#61#非表示 + 元_#61#非表示 + %d + Wrap + 998610 + + + PAD_元_#62#非表示 + 元_#62#非表示 + %d + Wrap + 998620 + + + PAD_元_#63#非表示 + 元_#63#非表示 + %d + Wrap + 998630 + + + PAD_元_#64#非表示 + 元_#64#非表示 + %d + Wrap + 998640 + + + PAD_元_#65#非表示 + 元_#65#非表示 + %d + Wrap + 998650 + + + PAD_元_#66#非表示 + 元_#66#非表示 + %d + Wrap + 998660 + + + PAD_元_#67#非表示 + 元_#67#非表示 + %d + Wrap + 998670 + + + PAD_元_#68#非表示 + 元_#68#非表示 + %d + Wrap + 998680 + + + PAD_元_#69#非表示 + 元_#69#非表示 + %d + Wrap + 998690 + + + PAD_元_#70#非表示 + 元_#70#非表示 + %d + Wrap + 998700 + + + PAD_元_#71#非表示 + 元_#71#非表示 + %d + Wrap + 998710 + + + PAD_元_#72#非表示 + 元_#72#非表示 + %d + Wrap + 998720 + + + PAD_元_#73#非表示 + 元_#73#非表示 + %d + Wrap + 998730 + + + PAD_元_#74#非表示 + 元_#74#非表示 + %d + Wrap + 998740 + + + PAD_元_#75#非表示 + 元_#75#非表示 + %d + Wrap + 998750 + + + PAD_元_#76#非表示 + 元_#76#非表示 + %d + Wrap + 998760 + + + PAD_元_#77#非表示 + 元_#77#非表示 + %d + Wrap + 998770 + + + PAD_元_#78#非表示 + 元_#78#非表示 + %d + Wrap + 998780 + + + PAD_元_#79#非表示 + 元_#79#非表示 + %d + Wrap + 998790 + + + PAD_元_#80#非表示 + 元_#80#非表示 + %d + Wrap + 998800 + + + パディング + %d + Wrap + 998806 + + + 姿勢制御ID(胴) + 姿勢制御ID(胴) + %u + 99 + 11000 + + + pad + %d + Wrap + 998807 + + + 販売価格 + 販売価格 + -1 + 99999999 + 2620 + + + 冷気耐性 + 冷気状態異常へのかかりにくさ + 999 + 4140 + + + #00#非表示(男女指定) + 前髪の先 + %u + 8000 + + + #01#非表示(男女指定) + 前髪の根元 + %u + 8010 + + + #02#非表示(男女指定) + もみあげ + %u + 8020 + + + #03#非表示(男女指定) + 頭頂部 + %u + 8030 + + + #04#非表示(男女指定) + 頭頂部 + %u + 8040 + + + #05#非表示(男女指定) + 後ろ髪 + %u + 8050 + + + #06#非表示(男女指定) + 後ろ髪の先 + %u + 8060 + + + #07#非表示(男女指定) + %u + 8070 + + + #08#非表示(男女指定) + %u + 8080 + + + #09#非表示(男女指定) + %u + 8090 + + + #10#非表示(男女指定) + + %u + 8100 + + + #11#非表示(男女指定) + 襟回り + %u + 8110 + + + #12#非表示(男女指定) + %u + 8120 + + + #13#非表示(男女指定) + %u + 8130 + + + #14#非表示(男女指定) + %u + 8140 + + + #15#非表示(男女指定) + 頭巾の裾 + %u + 8150 + + + #16#非表示(男女指定) + %u + 8160 + + + #17#非表示(男女指定) + %u + 8170 + + + #18#非表示(男女指定) + %u + 8180 + + + #19#非表示(男女指定) + %u + 8190 + + + #20#非表示(男女指定) + 袖A + %u + 8200 + + + #21#非表示(男女指定) + 袖B + %u + 8210 + + + #22#非表示(男女指定) + %u + 8220 + + + #23#非表示(男女指定) + %u + 8230 + + + #24#非表示(男女指定) + %u + 8240 + + + #25#非表示(男女指定) + + %u + 8250 + + + #26#非表示(男女指定) + %u + 8260 + + + #27#非表示(男女指定) + %u + 8270 + + + #28#非表示(男女指定) + %u + 8280 + + + #29#非表示(男女指定) + %u + 8290 + + + #30#非表示(男女指定) + ベルト + %u + 8300 + + + #31#非表示(男女指定) + %u + 8310 + + + #32#非表示(男女指定) + %u + 8320 + + + #33#非表示(男女指定) + %u + 8330 + + + #34#非表示(男女指定) + %u + 8340 + + + #35#非表示(男女指定) + %u + 8350 + + + #36#非表示(男女指定) + %u + 8360 + + + #37#非表示(男女指定) + %u + 8370 + + + #38#非表示(男女指定) + %u + 8380 + + + #39#非表示(男女指定) + %u + 8390 + + + #40#非表示(男女指定) + %u + 8400 + + + #41#非表示(男女指定) + %u + 8410 + + + #42#非表示(男女指定) + %u + 8420 + + + #43#非表示(男女指定) + %u + 8430 + + + #44#非表示(男女指定) + %u + 8440 + + + #45#非表示(男女指定) + %u + 8450 + + + #46#非表示(男女指定) + %u + 8460 + + + #47#非表示(男女指定) + %u + 8470 + + + #48#非表示(男女指定) + %u + 8480 + + + #49#非表示(男女指定) + %u + 8490 + + + #50#非表示(男女指定) + %u + 8500 + + + #51#非表示(男女指定) + %u + 8510 + + + #52#非表示(男女指定) + %u + 8520 + + + #53#非表示(男女指定) + %u + 8530 + + + #54#非表示(男女指定) + %u + 8540 + + + #55#非表示(男女指定) + %u + 8550 + + + #56#非表示(男女指定) + %u + 8560 + + + #57#非表示(男女指定) + %u + 8570 + + + #58#非表示(男女指定) + %u + 8580 + + + #59#非表示(男女指定) + %u + 8590 + + + #60#非表示(男女指定) + %u + 8600 + + + #61#非表示(男女指定) + %u + 8610 + + + #62#非表示(男女指定) + %u + 8620 + + + #63#非表示(男女指定) + %u + 8630 + + + #64#非表示(男女指定) + %u + 8640 + + + #65#非表示(男女指定) + %u + 8650 + + + #66#非表示(男女指定) + %u + 8660 + + + #67#非表示(男女指定) + %u + 8670 + + + #68#非表示(男女指定) + %u + 8680 + + + #69#非表示(男女指定) + %u + 8690 + + + #70#非表示(男女指定) + %u + 8700 + + + #71#非表示(男女指定) + %u + 8710 + + + #72#非表示(男女指定) + %u + 8720 + + + #73#非表示(男女指定) + %u + 8730 + + + #74#非表示(男女指定) + %u + 8740 + + + #75#非表示(男女指定) + %u + 8750 + + + #76#非表示(男女指定) + %u + 8760 + + + #77#非表示(男女指定) + %u + 8770 + + + #78#非表示(男女指定) + %u + 8780 + + + #79#非表示(男女指定) + %u + 8790 + + + #80#非表示(男女指定) + %u + 8800 + + + #81#非表示(男女指定) + %u + 8810 + + + #82#非表示(男女指定) + %u + 8820 + + + #83#非表示(男女指定) + %u + 8830 + + + #84#非表示(男女指定) + %u + 8840 + + + #85#非表示(男女指定) + %u + 8850 + + + #86#非表示(男女指定) + %u + 8860 + + + #87#非表示(男女指定) + %u + 8870 + + + #88#非表示(男女指定) + %u + 8880 + + + #89#非表示(男女指定) + %u + 8890 + + + #90#非表示(男女指定) + %u + 8900 + + + #91#非表示(男女指定) + %u + 8910 + + + #92#非表示(男女指定) + %u + 8920 + + + #93#非表示(男女指定) + %u + 8930 + + + #94#非表示(男女指定) + %u + 8940 + + + #95#非表示(男女指定) + %u + 8950 + + + パディング + パディング + %d + Wrap + 998808 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamWeapon.xml index b1357f3c..0f1524f4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EquipParamWeapon.xml @@ -1,181 +1,1884 @@ - + EQUIP_PARAM_WEAPON_ST - 1 + 6 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 30101 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 30102 + + + 行動バリエーションID + 攻撃時に参照する行動パラメータIDを決定するときに使う + -1 + 99999999 + 400 + + + ソートID + ソートID(-1:集めない)(プログラム内で強化レベルを加味するため s32 では7桁が限界) + -1 + 9999999 + 2400 + + + 徘徊装備ID + 徘徊ゴースト用の差し替え装備ID. + 999999999 + 2500 + + + 重量[kg] + 重量[kg]. + %0.3f + 0 + 1000 + 0.1 + 3000 + + + 装備重量比率 + 装備重量比率 + %0.3f + 0 + 1 + 0.001 + 3100 + + + 修理価格 + 修理基本価格 + 0 + 99999999 + 3400 + + + 強化価格 + 強化価格 + 0 + 99999999 + 3500 + + + 売却価格 + 販売価格 + -1 + 99999999 + 3510 + + + 筋力補正 + キャラパラ補正値. + %0.3f + 0 + 999 + 0.1 + 6100 + + + 俊敏補正 + キャラパラ補正値. + %0.3f + 0 + 999 + 0.1 + 6200 + + + 魔力補正 + キャラパラ補正値. + %0.3f + 0 + 999 + 0.1 + 6300 + + + 信仰補正 + キャラパラ補正値. + %0.3f + 0 + 999 + 0.1 + 6400 + + + ガード時物理攻撃カット率 + ガード時のダメージカット率を各攻撃ごとに設定 + %0.1f + 0 + 100 + 0.1 + 6500 + + + ガード時魔法攻撃カット率 + ガード攻撃でない場合は、0を入れる + %0.1f + 0 + 100 + 0.1 + 6600 + + + ガード時炎攻撃力カット率 + 炎攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 6700 + + + ガード時電撃攻撃力カット率 + 電撃攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 6800 + + + 攻撃ヒット時特殊効果ID0 + 武器に特殊効果を追加するときに登録する + -1 + 999999999 + 7900 + + + 攻撃ヒット時特殊効果ID1 + 武器に特殊効果を追加するときに登録する + -1 + 999999999 + 7910 + + + 攻撃ヒット時特殊効果ID2 + 武器に特殊効果を追加するときに登録する + -1 + 999999999 + 7920 + + + 常駐特殊効果ID + 常駐特殊効果ID0 + -1 + 999999999 + 8000 + + + 常駐特殊効果ID1 + 常駐特殊効果ID1 + -1 + 999999999 + 8100 + + + 常駐特殊効果ID2 + 常駐特殊効果ID2 + -1 + 999999999 + 8200 + + + 素材ID + 武器強化に必要な素材パラメータID + -1 + 999999 + 8500 + + + 派生元 + この武器の強化元武器ID + -1 + 99999999 + 8600 + + + 派生元 強化+1 + この武器の強化元武器ID1 + -1 + 99999999 + 8600 + + + 派生元 強化+2 + この武器の強化元武器ID2 + -1 + 99999999 + 8600 + + + 派生元 強化+3 + この武器の強化元武器ID3 + -1 + 99999999 + 8600 + + + 派生元 強化+4 + この武器の強化元武器ID4 + -1 + 99999999 + 8600 + + + 派生元 強化+5 + この武器の強化元武器ID5 + -1 + 99999999 + 8600 + + + 派生元 強化+6 + この武器の強化元武器ID6 + -1 + 99999999 + 8600 + + + 派生元 強化+7 + この武器の強化元武器ID7 + -1 + 99999999 + 8600 + + + 派生元 強化+8 + この武器の強化元武器ID8 + -1 + 99999999 + 8600 + + + 派生元 強化+9 + この武器の強化元武器ID9 + -1 + 99999999 + 8600 + + + 派生元 強化+10 + この武器の強化元武器ID10 + -1 + 99999999 + 8600 + + + 派生元 強化+11 + この武器の強化元武器ID11 + -1 + 99999999 + 8600 + + + 派生元 強化+12 + この武器の強化元武器ID12 + -1 + 99999999 + 8600 + + + 派生元 強化+13 + この武器の強化元武器ID13 + -1 + 99999999 + 8600 + + + 派生元 強化+14 + この武器の強化元武器ID14 + -1 + 99999999 + 8600 + + + 派生元 強化+15 + この武器の強化元武器ID15 + -1 + 99999999 + 8600 + + + 特攻Aダメージ倍率 + 特攻A用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8900 + + + 特攻Bダメージ倍率 + 特攻B用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8910 + + + 特攻Cダメージ倍率 + 特攻C用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8920 + + + 特攻Dダメージ倍率 + 特攻D用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8930 + + + 睡眠耐性カット率_最大補正値 + 睡眠に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7550 + + + 発狂耐性カット率_最大補正値 + 発狂に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7560 + + + SA武器攻撃力 + スーパーアーマー基本攻撃力 + 0 + 9999 + 0.1 + 5900 + + + 装備モデル番号 + 装備モデルの番号. + 9999 + 300 + + + アイコンID + メニューアイコンID. + 2300 + + + 耐久度 + 初期耐久度. + 999 + 3200 + + + + + + 投げ抜け攻撃力基本値 + 投げ抜け攻撃力の基本値 + 9999 + 4200 + + + パリィ発生時間[frame] + パリィダメージの寿命を制限する。TimeActで設定されている以上には持続しない。 + -1 + 9999 + 4300 + + + 物理攻撃力基本値 + 敵のHPにダメージを与える物理属性攻撃の基本値 + 9999 + 5400 + + + 魔法攻撃力基本値 + 敵のHPにダメージを与える魔法属性攻撃の基本値 + 9999 + 5500 + + + 炎攻撃力基本値 + 敵のHPにダメージを与える炎属性攻撃の基本値 + 9999 + 5600 + + + 電撃攻撃力基本値 + 敵のHPにダメージを与える電撃属性攻撃の基本値 + 9999 + 5700 + + + スタミナ攻撃力 + 敵へのスタミナ攻撃力 + 999 + 5800 + + + ガード範囲[deg] + 武器のガード時の防御発生範囲角度 + 0 + 180 + 5200 + + + SA耐久値 + 攻撃モーション中に使われる追加SA耐久値 + -1 + 999 + 0.1 + 6000 + + + ガード時スタミナ防御力 + ガード成功時に、敵のスタミナ攻撃に対する防御力 + 0 + 100 + 7350 + + + 強化タイプID + 強化タイプID + 0 + 9999 + 8300 + + + トロフィーSグレードID + トロフィーシステムに関係あるか? + -1 + 9999 + 8700 + + + トロフィーSEQ番号 + トロフィーのSEQ番号(13~29) + -1 + 99 + 8800 + + + 投げ攻撃力倍率 + 投げの攻撃力倍率 + -100 + 999 + 9000 + + + 弓飛距離補正[%] + 飛距離を伸ばすアップ% + -100 + 999 + 9100 + + + 装備モデル種別 + EQUIP_MODEL_CATEGORY + 装備モデルの種別. + 99 + 100 + + + 装備モデル性別 + EQUIP_MODEL_GENDER + 装備モデルの性別. + 99 + 200 + + + 武器カテゴリ + WEAPON_CATEGORY + 武器のカテゴリ. + 99 + 500 + + + 武器モーションカテゴリ + WEPMOTION_CATEGORY + 武器モーションのカテゴリ. + 99 + 700 + + + ガードモーションカテゴリ + GUARDMOTION_CATEGORY + ガードモーションのカテゴリ + 800 + + + 攻撃材質 + WEP_MATERIAL_ATK + 攻撃パラから使用される攻撃材質 + 2000 + + + 防御SE材質1 + WEP_MATERIAL_DEF + 攻撃パラから使用される防御SE材質1 + 9999 + 2100 + + + 補正タイプ(物理攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる物理攻撃力の補正グラフのタイプを決める + 8400 + + + 特殊属性 + ATKPARAM_SPATTR_TYPE + 武器の特殊属性値 + 1945 + + + 特殊攻撃カテゴリ + 特殊攻撃カテゴリ(50~999まで可能) + 999 + 600 + + + 武器モーション片手ID + 片手装備時の基本モーションID. + 99 + 900 + + + 武器モーション両手ID + 両手装備時の基本モーションID. + 99 + 1000 + + + 装備適正筋力 + 装備適正値. + 99 + 3700 + + + 装備適正俊敏 + 装備適正値. + 99 + 3800 + + + 装備適正魔力 + 装備適正値. + 99 + 3900 + + + 装備適正信仰 + 装備適正値. + 99 + 4000 + + + 筋力オーバー開始値 + 筋力オーバー開始値 + 99 + 4100 + + + パリィ攻撃基本値 + 敵のパリィをやぶるための基本値 + 99 + 4400 + + + パリィ防御値 + パリィ判定時に、パリィになるかガードになるかの判定に利用 + 99 + 4500 + + + はじき防御力基本値 + 敵の攻撃をガードしたときに、はじけるかどうかの判定に利用 + 99 + 4600 + + + はじき攻撃力基本値 + ガード敵を攻撃した時に、はじかれるかどうかの判定に利用 + 99 + 4700 + + + ガードカット無効化倍率 + 相手のガードカットを無効化させる倍率。-100で完全無効。100で相手の防御効果倍増。 + -100 + 100 + 5100 + + + ガードレベル + ガードしたとき、敵の攻撃をどのガードモーションで受けるか?を決める + 0 + 100 + 5300 + + + 斬撃攻撃カット率 + 攻撃タイプを見て、斬撃属性のダメージを何%カットするか?を指定 + -100 + 100 + 4910 + + + 打撃攻撃カット率 + 攻撃タイプを見て、打撃属性のダメージを何%カットするか?を指定 + -100 + 100 + 4911 + + + 刺突攻撃カット率 + 攻撃タイプを見て、刺突属性のダメージを何%カットするか?を指定 + -100 + 100 + 4912 + + + 毒耐性カット率 + 毒にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7200 + + + 疫病攻撃カット率 + 疫病にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7210 + + + 出血攻撃カット率 + 出血にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7220 + + + 呪攻撃カット率 + 呪いにする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7230 + + + 物理属性1 + ATKPARAM_ATKATTR_TYPE + 物理属性1 + 1940 + + + 右手装備 + EQUIP_BOOL + 右手装備可能か. + 1 + 1100 + + + 左手装備 + EQUIP_BOOL + 左手装備可能か. + 1 + 1200 + + + 両手装備 + EQUIP_BOOL + 両手装備可能か. + 1 + 1300 + + + 弓矢弾装備 + EQUIP_BOOL + 弓用矢弾装備可能か. + 1 + 1400 + + + 弩矢弾装備 + EQUIP_BOOL + 弩用矢弾装備可能か. + 1 + 1500 + + + ガード可能 + EQUIP_BOOL + 左手装備時L1でガード + 1 + 1600 + + + パリィ可能 + EQUIP_BOOL + 左手装備時L2でパリィ + 1 + 1700 + + + 魔法可能 + EQUIP_BOOL + 攻撃時に魔法発動 + 1 + 1800 + + + 呪術可能 + EQUIP_BOOL + 攻撃時に呪術発動 + 1 + 1810 + + + 奇蹟可能 + EQUIP_BOOL + 攻撃時に奇蹟発動 + 1 + 1900 + + + 誓約魔法可能 + EQUIP_BOOL + 攻撃時に誓約魔法発動 + 1 + 1910 + + + 通常 + EQUIP_BOOL + メニュー表示用攻撃タイプ。通常か + 1 + 2600 + + + 打撃 + EQUIP_BOOL + メニュー表示用攻撃タイプ。打撃か + 1 + 2700 + + + 斬撃 + EQUIP_BOOL + メニュー表示用攻撃タイプ。斬撃か + 1 + 2800 + + + 刺突 + EQUIP_BOOL + メニュー表示用攻撃タイプ。刺突か + 1 + 2900 + + + エンチャント可能か? + EQUIP_BOOL + 松脂などで、強化可能か? + 1 + 3600 + + + 人間性補正あるか + EQUIP_BOOL + 人間性による攻撃力補正があるか + 1 + 5000 + + + 強化できるか? + EQUIP_BOOL + 強化ショップで強化対象リストに並ぶ(仕様変更で削除するかも?) + 1 + 9200 + + + 転職リセット禁止か + EQUIP_BOOL + 転職リセット禁止か + 1 + 9220 + + + 修理禁止か + EQUIP_BOOL + 修理禁止か + 1 + 9240 + + + ダークハンドか + EQUIP_BOOL + ダークハンドか + 1 + 1950 + + + DLC用シンプルモデルありか + EQUIP_BOOL + DLC用シンプルモデルが存在しているか + 1 + 1970 + + + ランタン武器 + EQUIP_BOOL + ランタン武器か + 1 + 1920 + + + 対霊武器 + EQUIP_BOOL + NPCパラの「霊体か」が○の相手に攻撃を当たるようになります。また、攻撃パラの「霊体攻撃か」が○の攻撃をガードできるようになります。 + 1 + 1930 + + + 武器転職カテゴリ + WEP_BASE_CHANGE_CATEGORY + 武器転職カテゴリ。属性アイコン表示に使用します。 + 55 + 8550 + + + 竜狩りか + EQUIP_BOOL + 竜狩り武器か + 1 + 1947 + + + 預けれるか + EQUIP_BOOL + 倉庫に預けれるか + 1 + 1960 + + + マルチドロップ共有禁止か + EQUIP_BOOL + マルチドロップ共有禁止か + 1 + 1965 + + + 捨てれるか + EQUIP_BOOL + アイテムを捨てれるか?TRUE=捨てれる + 1 + 1955 + + + その場に置けるか + EQUIP_BOOL + アイテムをその場に置けるか?TRUE=置ける + 1 + 1956 + + + + 投げ可能 + EQUIP_BOOL + 投げ可能な武器かどうか + 1 + 1550 + + + 取得ダイアログ表示条件 + GET_DIALOG_CONDITION_TYPE + アイテム取得時にアイテム取得ダイアログに表示するか(未入力: newのみ) + 2 + 24900 + + + + 防御SFX材質1 + WEP_MATERIAL_DEF_SFX + 攻撃パラから使用される防御SFX材質1 + 9999 + 2200 + + + 武器コライダブル設定 + WEP_COLLIDABLE_TYPE + 武器のコライダブル設定 + 2 + 10000 + + + 武器1コライダブル設定 + WEP_COLLIDABLE_TYPE + 武器1のコライダブル設定 + 2 + 10001 + + + 姿勢制御ID(右手) + 姿勢制御ID(右手) + %u + 99 + 12010 + + + 姿勢制御ID(左手) + 姿勢制御ID(左手) + %u + 99 + 12020 + + + 剣閃SfxID_0 + 剣閃SfxID_0(-1無効) + None + -1 + 99999999 + 11000 + + + 根元剣閃ダミポリID_0 + 剣閃根元ダミポリID_0(-1無効) + None + -1 + 99999999 + 11001 + + + 剣先剣閃ダミポリID_0 + 剣閃剣先ダミポリID_0 + None + -1 + 99999999 + 11002 + + + 剣閃SfxID_1 + 剣閃SfxID_1(-1無効) + None + -1 + 99999999 + 11003 + + + 根元剣閃ダミポリID_1 + 剣閃根元ダミポリID_1(-1無効) + None + -1 + 99999999 + 11004 + + + 剣先剣閃ダミポリID_1 + 剣閃剣先ダミポリID_1 + None + -1 + 99999999 + 11005 + + + 剣閃SfxID_2 + 剣閃SfxID_2(-1無効) + None + -1 + 99999999 + 11006 + + + 根元剣閃ダミポリID_2 + 剣閃根元ダミポリID_2(-1無効) + None + -1 + 99999999 + 11007 + + + 剣先剣閃ダミポリID_2 + 剣閃剣先ダミポリID_2 + None + -1 + 99999999 + 11008 + + + 剣閃SfxID_3 + 剣閃SfxID_3(-1無効) + None + -1 + 99999999 + 11009 + + + 根元剣閃ダミポリID_3 + 剣閃根元ダミポリID_3(-1無効) + None + -1 + 99999999 + 11010 + + + 剣先剣閃ダミポリID_3 + 剣閃剣先ダミポリID_3 + None + -1 + 99999999 + 11011 + + + 剣閃SfxID_4 + 剣閃SfxID_4(-1無効) + None + -1 + 99999999 + 11012 + + + 根元剣閃ダミポリID_4 + 剣閃根元ダミポリID_4(-1無効) + None + -1 + 99999999 + 11013 + + + 剣先剣閃ダミポリID_4 + 剣閃剣先ダミポリID_4 + None + -1 + 99999999 + 11014 + + + 剣閃SfxID_5 + 剣閃SfxID_5(-1無効) + None + -1 + 99999999 + 11015 + + + 根元剣閃ダミポリID_5 + 剣閃根元ダミポリID_5(-1無効) + None + -1 + 99999999 + 11016 + + + 剣先剣閃ダミポリID_5 + 剣閃剣先ダミポリID_5 + None + -1 + 99999999 + 11017 + + + 剣閃SfxID_6 + 剣閃SfxID_6(-1無効) + None + -1 + 99999999 + 11018 + + + 根元剣閃ダミポリID_6 + 剣閃根元ダミポリID_6(-1無効) + None + -1 + 99999999 + 11019 + + + 剣先剣閃ダミポリID_6 + 剣閃剣先ダミポリID_6 + None + -1 + 99999999 + 11020 + + + 剣閃SfxID_7 + 剣閃SfxID_7(-1無効) + None + -1 + 99999999 + 11021 + + + 根元剣閃ダミポリID_7 + 剣閃根元ダミポリID_7(-1無効) + None + -1 + 99999999 + 11022 + + + 剣先剣閃ダミポリID_7 + 剣閃剣先ダミポリID_7 + None + -1 + 99999999 + 11023 + + + 防御SFX材質2 + WEP_MATERIAL_DEF_SFX + 攻撃パラから使用される防御SFX材質2 + 9999 + 2201 + + + 防御SE材質2 + WEP_MATERIAL_DEF + 攻撃パラから使用される防御SE材質2 + 9999 + 2101 + + + 吸着位置Id + 武器吸着位置パラメータのId。この値により武器が吸着する位置を決定する(-1:旧ソースコード直書きの値を参照する) + -1 + 999999999 + 12000 + + + 強靭度 補正倍率 + 強靭度の基本値を補正する倍率です + %.2f + 0 + 10 + 5950 + + + 防具SAダメージ倍率が初期値でも有効か? + EQUIP_BOOL + 防具SAが初期値でも強靭度計算が行われるかどうか。詳細は強靭度仕様書.xlsxを確認してください + 1 + 5960 + + + 双剣か + EQUIP_BOOL + この武器は双剣か。 + 1 + 12110 + + + 自動装填可能か + EQUIP_BOOL + 矢・ボルトのみ有効。新しくこの武器を拾っ時に対象装備スロットが空の場合に自動で装備するかどうか + 1 + 12120 + + + 緊急回避可能か + EQUIP_BOOL + 緊急回避可能な武器かどうか。ビヘイビアスクリプトに渡す。 + 1 + 12130 + + + カットシーン中非表示か + EQUIP_BOOL + カットシーン中非表示か + 1 + 2530 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + pad + %d + Wrap + 30103 + + + + 補正タイプ(魔法攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる魔法攻撃力の補正グラフのタイプを決める + 8410 + + + 補正タイプ(炎攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる炎攻撃力の補正グラフのタイプを決める + 8420 + + + 補正タイプ(雷攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる雷攻撃力の補正グラフのタイプを決める + 8430 + + + 特攻Eダメージ倍率 + 特攻E用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8940 + + + 特攻Fダメージ倍率 + 特攻F用のダメージ倍率 + %.3f + 0 + 99.999 + 0.001 + 8950 + + + ガード時闇攻撃力カット率 + 闇攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 6810 + + + 闇攻撃力基本値 + 敵のHPにダメージを与える闇属性攻撃の基本値 + 9999 + 5750 + + + 補正タイプ(闇攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる闇攻撃力の補正グラフのタイプを決める + 8440 + + + 補正タイプ(毒攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる毒攻撃力の補正グラフのタイプを決める + 8450 + + + ソートアイテム種別ID + ソートアイテム種別ID。ソート「アイテム種別順」にて、同じIDは同じグループとしてまとめて表示されます + 2410 + + + 物理属性2 + ATKPARAM_ATKATTR_TYPE + 物理属性2 + 1941 + + + 睡眠攻撃カット率 + 睡眠にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7250 + + + 発狂攻撃カット率 + 発狂にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7260 + + + 補正タイプ(出血攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる出血攻撃力の補正グラフのタイプを決める + 8460 + + + 装備適正運 + 装備適正値. + 99 + 4020 + + + 冷気攻撃カット率 + 冷気にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 7240 + + + 自動補充タイプ + AUTO_REPLENISH_TYPE + 自動補充する/しないの可否およびデフォルト設定をコントロールします + 1961 + + + アーツパラメータID + アーツパラメータのID + 0 + 999999999 + 12100 + + + 運補正 + キャラパラ補正値. + %0.3f + 0 + 999 + 0.1 + 6450 + + + 矢筒(弾倉)表示モデル用装備ID + 矢筒(弾倉)表示モデルの装備品番号。弓の場合は矢筒、弩の場合は弾倉として表示する。 + 999999999 + 350 + + + 還元時レベル設定 + WEAPON_DERIVATION_LEVEL_TYPE + 武器を還元・派生させるときに強化レベルをどう設定するかの種別 + 8590 + + + エンチャントSfxサイズ + WEP_ENCHANT_SFX_SIZE + エンチャントSfxIdにオフセットする値 + 11050 + + + 武器種別 + WEP_TYPE + 武器種別。テキストと、魔石の紐付けに使われる(※テキスト以外にも使われるようになった) + 9999 + 550 + + + ガード時物理攻撃カット率_最大補正値 + ガード時のダメージ物理カット率の補正値の最大値 + %0.2f + 0 + 100 + 7400 + + + ガード時魔法攻撃カット率_最大補正値 + ガード時のダメージ魔法カット率の補正値の最大値 + %0.2f + 0 + 100 + 7410 + + + ガード時炎攻撃力カット率_最大補正値 + ガード時のダメージ炎カット率の補正値の最大値 + %0.2f + 0 + 100 + 7420 + + + ガード時電撃攻撃力カット率_最大補正値 + ガード時のダメージ電撃カット率の補正値の最大値 + %0.2f + 0 + 100 + 7430 + + + ガード時闇攻撃力カット率_最大補正値 + ガード時のダメージ闇カット率の補正値の最大値 + %0.2f + 0 + 100 + 7440 + + + 毒耐性カット率_最大補正値 + 毒に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7500 + + + 疫病耐性カット率_最大補正値 + 疫病に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7510 + + + 出血耐性カット率_最大補正値 + 出血に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7520 + + + 呪耐性カット率_最大補正値 + 呪いに対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7530 + + + 冷気耐性カット率_最大補正値 + 冷気に対する攻撃力(特殊効果パラメータに設定)のカット率補正値の最大値 + %0.2f + 0 + 100 + 7540 + + + ガード時スタミナ防御力_最大補正値 + ガード成功時に、敵のスタミナ攻撃に対する防御力の補正値の最大値 + %0.2f + 0 + 100 + 7600 + + + 常駐SfxId1 + 常駐SfxId1 + -1 + 99999999 + 11100 + + + 常駐SfxId2 + 常駐SfxId2 + -1 + 99999999 + 11120 + + + 常駐SfxId3 + 常駐SfxId3 + -1 + 99999999 + 11140 + + + 常駐SfxId4 + 常駐SfxId4 + -1 + 99999999 + 11160 + + + 常駐SfxダミポリId1 + 常駐SfxダミポリId1 + -1 + 99999999 + 11110 + + + 常駐SfxダミポリId2 + 常駐SfxダミポリId2 + -1 + 99999999 + 11130 + + + 常駐SfxダミポリId3 + 常駐SfxダミポリId3 + -1 + 99999999 + 11150 + + + 常駐SfxダミポリId4 + 常駐SfxダミポリId4 + -1 + 99999999 + 11170 + + + スタミナ消費量倍率 + スタミナ消費量倍率 + 0 + 10 + 0.001 + 5940 + + + 対プレイヤー 物理ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7700 + + + 対プレイヤー 魔法ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7710 + + + 対プレイヤー 炎ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7720 + + + 対プレイヤー 雷ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7730 + + + 対プレイヤー 闇ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7740 + + + 対プレイヤー 毒ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7800 + + + 対プレイヤー 出血ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7820 + + + 対プレイヤー 冷気ダメージ補正倍率 + プレイヤーに対する攻撃のみ、与えるダメージを補正する。 + %0.3f + 0 + 10 + 0.001 + 7840 + + + 武器能力解放ステータス値:筋力 + 特定の武器を使った際、ステータスがX以上だとR2攻撃が特殊なアクションに変わるようするためのもの + -1 + 99 + 14000 + + + 武器能力解放ステータス値:技量 + 特定の武器を使った際、ステータスがX以上だとR2攻撃が特殊なアクションに変わるようするためのもの + -1 + 99 + 14100 + + + 武器能力解放ステータス値:理力 + 特定の武器を使った際、ステータスがX以上だとR2攻撃が特殊なアクションに変わるようするためのもの + -1 + 99 + 14200 + + + 武器能力解放ステータス値:信仰 + 特定の武器を使った際、ステータスがX以上だとR2攻撃が特殊なアクションに変わるようするためのもの + -1 + 99 + 14300 + + + 武器能力解放ステータス値:運 + 特定の武器を使った際、ステータスがX以上だとR2攻撃が特殊なアクションに変わるようするためのもの + -1 + 99 + 14400 + + + 攻撃属性補正ID + 攻撃属性を補正するパラメータのID + 0 + 999999999 + 15000 + + + 販売価格 + 販売価格 + -1 + 99999999 + 3520 + + + 強化ショップカテゴリ + REINFORCE_SHOP_CATEGORY + 強化ショップカテゴリ + 9210 + + + 矢の最大所持数 + 矢の最大所持数 + %u + 99 + 20000 + + + 常駐SFX1納刀時表示するか + EQUIP_BOOL + 「常駐SFX1納刀時表示するか」がtrueの場合、武器が納刀された時に「常駐SFXID1」に設定されているSFXを非表示にする + 1 + 11111 + + + 常駐SFX2納刀時表示するか + EQUIP_BOOL + 「常駐SFX2納刀時表示するか」がtrueの場合、武器が納刀された時に「常駐SFXID2」に設定されているSFXを非表示にする + 1 + 11131 + + + 常駐SFX3納刀時表示するか + EQUIP_BOOL + 「常駐SFX3納刀時表示するか」がtrueの場合、武器が納刀された時に「常駐SFXID3」に設定されているSFXを非表示にする + 1 + 11151 + + + 常駐SFX4納刀時表示するか + EQUIP_BOOL + 「常駐SFX4納刀時表示するか」がtrueの場合、武器が納刀された時に「常駐SFXID4」に設定されているSFXを非表示にする + 1 + 11171 + + + モデル_0 ソウルパラムID差し替え可能か + EQUIP_BOOL + vfxパラメータの「武器エンチャント用ソウルパラムID」と「武器エンチャント用インビジブルウェポンか」設定が適応されるか + 1 + 23000 + + + モデル_1 ソウルパラムID差し替え可能か + EQUIP_BOOL + vfxパラメータの「武器エンチャント用ソウルパラムID」と「武器エンチャント用インビジブルウェポンか」設定が適応されるか + 1 + 23010 + + + モデル_2 ソウルパラムID差し替え可能か + EQUIP_BOOL + vfxパラメータの「武器エンチャント用ソウルパラムID」と「武器エンチャント用インビジブルウェポンか」設定が適応されるか + 1 + 23020 + + + モデル_3 ソウルパラムID差し替え可能か + EQUIP_BOOL + vfxパラメータの「武器エンチャント用ソウルパラムID」と「武器エンチャント用インビジブルウェポンか」設定が適応されるか + 1 + 23030 + + + 武器SEIDオフセット値 + SEIDのオフセット値 + 0 + 99 + 22000 + + + 進化価格 + 進化価格 + 0 + 99999999 + 3501 + + + レベルシンク補正ID + レベルシンク補正ID + -1 + 999 + 24000 + + + 補正タイプ(睡眠攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる睡眠攻撃力の補正グラフのタイプを決める + 8470 + + + 補正タイプ(発狂攻撃力) + WEP_CORRECT_TYPE + 一次パラメータによる発狂攻撃力の補正グラフのタイプを決める + 8480 + + + レア度 + アイテム取得ログで使うレア度 + 99 + 25200 + + + 魔石装着可能か + GEM_MOUNT_TYPE + 魔石装着可能か + 2 + 30000 + + + 武器リゲイン量 + 武器リゲイン量 + 60000 + 8850 + + + 効果テキストID00 + 効果テキストID00(Weapon_Effect)。ステータスに表示する武器固有効果のテキスト + -1 + 99999999 + 8250 + + + 効果テキストID01 + 効果テキストID01(Weapon_Effect)。ステータスに表示する武器固有効果のテキスト + -1 + 99999999 + 8260 + + + 効果テキストID02 + 効果テキストID02(Weapon_Effect)。ステータスに表示する武器固有効果のテキスト + -1 + 99999999 + 8270 + + + 派生元 強化+16 + この武器の強化元武器ID16 + -1 + 99999999 + 8600 + + + 派生元 強化+17 + この武器の強化元武器ID17 + -1 + 99999999 + 8600 + + + 派生元 強化+18 + この武器の強化元武器ID18 + -1 + 99999999 + 8600 + + + 派生元 強化+19 + この武器の強化元武器ID19 + -1 + 99999999 + 8600 + + + 派生元 強化+20 + この武器の強化元武器ID20 + -1 + 99999999 + 8600 + + + 派生元 強化+21 + この武器の強化元武器ID21 + -1 + 99999999 + 8600 + + + 派生元 強化+22 + この武器の強化元武器ID22 + -1 + 99999999 + 8600 + + + 派生元 強化+23 + この武器の強化元武器ID23 + -1 + 99999999 + 8600 + + + 派生元 強化+24 + この武器の強化元武器ID24 + -1 + 99999999 + 8600 + + + 派生元 強化+25 + この武器の強化元武器ID25 + -1 + 99999999 + 8600 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EstusFlaskRecoveryParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EstusFlaskRecoveryParam.xml index 062bfec1..60f76de8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/EstusFlaskRecoveryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EstusFlaskRecoveryParam.xml @@ -1,19 +1,118 @@ - + ESTUS_FLASK_RECOVERY_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + ホスト + ホストのエスト回復数 + 1000 + + + 侵入経路_オーブ_なし + 侵入経路がオーブの勢力のエスト回復数 + 2000 + + + 侵入経路_オーブ_太陽 + 侵入経路がオーブの勢力のエスト回復数 + 2100 + + + 侵入経路_オーブ_バーサーカー + 侵入経路がオーブの勢力のエスト回復数 + 2200 + + + 侵入経路_オーブ_罪人 + 侵入経路がオーブの勢力のエスト回復数 + 2300 + + + 侵入経路_サイン_なし + 侵入経路がサインの勢力のエスト回復数 + 3000 + + + 侵入経路_サイン_太陽 + 侵入経路がサインの勢力のエスト回復数 + 3100 + + + 侵入経路_サイン_バーサーカー + 侵入経路がサインの勢力のエスト回復数 + 3200 + + + 侵入経路_サイン_罪人 + 侵入経路がサインの勢力のエスト回復数 + 3300 + + + 侵入経路_指輪_罪人 + 侵入経路が指輪の勢力のエスト回復数 + 4000 + + + 侵入経路_指輪_ボス守(ロザリア) + 侵入経路が指輪の勢力のエスト回復数 + 4100 + + + 侵入経路_指輪_マップ守(森) + 侵入経路が指輪の勢力のエスト回復数 + 4200 + + + 協力経路_サイン_なし + 協力経路がサインの勢力のエスト回復数 + 5000 + + + 協力経路_サイン_太陽 + 協力経路がサインの勢力のエスト回復数 + 5100 + + + 協力経路_サイン_バーサーカー + 協力経路がサインの勢力のエスト回復数 + 5200 + + + 協力経路_サイン_罪人 + 協力経路がサインの勢力のエスト回復数 + 5300 + + + 協力経路_指輪 _赤狩り + 協力経路が指輪の勢力のエスト回復数 + 5400 + + + 侵入経路_指輪_マップ守(アノール) + 侵入経路が指輪の勢力のエスト回復数 + 4250 + + + 回復数パラメータ差し替え率 + 回復数パラメータ差し替え率 + None + 10000 + 10000 + + + 回復数パラメータ差し替え先ID + 回復数パラメータ差し替え先ID + None + -1 + 99999999 + 10100 + + + 10101 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/EventFlagUsageParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/EventFlagUsageParam.xml new file mode 100644 index 00000000..2d405751 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/EventFlagUsageParam.xml @@ -0,0 +1,41 @@ + + + EVENT_FLAG_USAGE_PARAM_ST + 1 + False + True + 0 + + + 用途 + EVENT_FLAG_USAGE_TYPE + フラグの用途。 + 2 + 1000 + + + プレイログカテゴリ + EVENT_FLAG_USAGE_PLAYLOG_CATEGORY + 用途が「ON/OFF」の場合のみ有効。これを設定するとフラグがONになったときにプレイログを収集する。 + 3000 + + + パディング + パディング + %f + 999999 + + + 確保フラグ数 + 「ON/OFF」の場合は1を設定する。「枠割り当て」「整数」の場合は「パラメータ番号~パラメータ番号+確保フラグ数-1」が確保される範囲になる。 + 1 + 999999999 + 2000 + + + パディング + パディング + 999999 + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/FaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/FaceParam.xml index 034213d2..17e6f6e6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/FaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/FaceParam.xml @@ -1,71 +1,1469 @@ - + FACE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 顔パーツID + 顔パーツID + 1000 + 顔・体 + + + 肌の色(R) + 肌の色(R) + 1010 + 顔・体 + + + 肌の色(G) + 肌の色(G) + 1011 + 顔・体 + + + 肌の色(B) + 肌の色(B) + 1012 + 顔・体 + + + 肌のつや + 肌のつや + 1020 + 顔・体 + + + 毛穴 + 毛穴 + 1030 + 顔・体 + + + 青ひげ + 青ひげ + 1040 + + + + くま + くま + 1050 + + + + くまの色(R) + くまの色(R) + 1060 + + + + くまの色(G) + くまの色(G) + 1061 + + + + くまの色(B) + くまの色(B) + 1062 + + + + チーク + チーク + 1070 + + + + チークの色(R) + チークの色(R) + 1080 + + + + チークの色(G) + チークの色(G) + 1081 + + + + チークの色(B) + チークの色(B) + 1082 + + + + アイライン + アイライン + 1090 + + + + アイラインの色(R) + アイラインの色(R) + 1100 + + + + アイラインの色(G) + アイラインの色(G) + 1101 + + + + アイラインの色(B) + アイラインの色(B) + 1102 + + + + アイシャドウ(下) + アイシャドウ(下) + 1110 + + + + アイシャドウ(下)の色(R) + アイシャドウ(下)の色(R) + 1120 + + + + アイシャドウ(下)の色(G) + アイシャドウ(下)の色(G) + 1121 + + + + アイシャドウ(下)の色(B) + アイシャドウ(下)の色(B) + 1122 + + + + アイシャドウ(上) + アイシャドウ(上) + 1130 + + + + アイシャドウ(上)の色(R) + アイシャドウ(上)の色(R) + 1140 + + + + アイシャドウ(上)の色(G) + アイシャドウ(上)の色(G) + 1141 + + + + アイシャドウ(上)の色(B) + アイシャドウ(上)の色(B) + 1142 + + + + 口紅 + 口紅 + 1150 + + + + 口紅の色(R) + 口紅の色(R) + 1160 + + + + 口紅の色(G) + 口紅の色(G) + 1161 + + + + 口紅の色(B) + 口紅の色(B) + 1162 + + + + 体毛の濃さ + 体毛の濃さ + 1200 + + + + 体毛の色(R) + 体毛の色(R) + 1210 + + + + 体毛の色(G) + 体毛の色(G) + 1211 + + + + 体毛の色(B) + 体毛の色(B) + 1212 + + + + 眼球パーツID + 眼球パーツID + 1300 + 眼球 + + + 虹彩の色(R) + 右目の虹彩の色(R) + 1400 + 右目 + + + 虹彩の色(G) + 右目の虹彩の色(G) + 1401 + 右目 + + + 虹彩の色(B) + 右目の虹彩の色(B) + 1402 + 右目 + + + 虹彩の大きさ + 右目の虹彩の大きさ + 1410 + 右目 + + + 水晶体の濁り + 右目の水晶体の濁り + 1420 + 右目 + + + 水晶体の濁りの色(R) + 右目の水晶体の濁りの色(R) + 1430 + 右目 + + + 水晶体の濁りの色(G) + 右目の水晶体の濁りの色(G) + 1431 + 右目 + + + 水晶体の濁りの色(B) + 右目の水晶体の濁りの色(B) + 1432 + 右目 + + + 白目の色(R) + 右目の白目の色(R) + 1440 + 右目 + + + 白目の色(G) + 右目の白目の色(G) + 1441 + 右目 + + + 白目の色(B) + 右目の白目の色(B) + 1442 + 右目 + + + 虹彩の位置 + 右目の虹彩の位置 + 1450 + 右目 + + + 虹彩の色(R) + 左目の虹彩の色(R) + 1500 + 左目 + + + 虹彩の色(G) + 左目の虹彩の色(G) + 1501 + 左目 + + + 虹彩の色(B) + 左目の虹彩の色(B) + 1502 + 左目 + + + 虹彩の大きさ + 左目の虹彩の大きさ + 1510 + 左目 + + + 水晶体の濁り + 左目の水晶体の濁り + 1520 + 左目 + + + 水晶体の濁りの色(R) + 左目の水晶体の濁りの色(R) + 1530 + 左目 + + + 水晶体の濁りの色(G) + 左目の水晶体の濁りの色(G) + 1531 + 左目 + + + 水晶体の濁りの色(B) + 左目の水晶体の濁りの色(B) + 1532 + 左目 + + + 白目の色(R) + 左目の白目の色(R) + 1540 + 左目 + + + 白目の色(G) + 左目の白目の色(G) + 1541 + 左目 + + + 白目の色(B) + 左目の白目の色(B) + 1542 + 左目 + + + 虹彩の位置 + 左目の虹彩の位置 + 1550 + 左目 + + + 髪パーツID + 髪パーツID + 1600 + + + + 髪の色(R) + 髪の色(R) + 1610 + + + + 髪の色(G) + 髪の色(G) + 1611 + + + + 髪の色(B) + 髪の色(B) + 1612 + + + + 光沢 + 髪の光沢 + 1620 + + + + 根元の黒さ + 髪の根元の黒さ + 1630 + + + + 白髪の量 + 髪の白髪の量 + 1640 + + + + 髭パーツID + 髭パーツID + 1700 + + + + 髭の色(R) + 髭の色(R) + 1710 + + + + 髭の色(G) + 髭の色(G) + 1711 + + + + 髭の色(B) + 髭の色(B) + 1712 + + + + 光沢 + 髭の光沢 + 1720 + + + + 根元の黒さ + 髭の根元の黒さ + 1730 + + + + 白髪の量 + 髭の白髪の量 + 1740 + + + + 眉パーツID + 眉パーツID + 1800 + + + + 眉の色(R) + 眉の色(R) + 1810 + + + + 眉の色(G) + 眉の色(G) + 1811 + + + + 眉の色(B) + 眉の色(B) + 1812 + + + + 光沢 + 眉の光沢 + 1820 + + + + 根元の黒さ + 眉の根元の黒さ + 1830 + + + + 白髪の量 + 眉の白髪の量 + 1840 + + + + まつげパーツID + まつげパーツID + 1900 + まつげ + + + まつげの色(R) + まつげの色(R) + 1910 + まつげ + + + まつげの色(G) + まつげの色(G) + 1911 + まつげ + + + まつげの色(B) + まつげの色(B) + 1912 + まつげ + + + 装飾パーツID + 装飾パーツID + 2000 + 装飾 + + + 装飾の色(R) + 装飾の色(R) + 2010 + 装飾 + + + 装飾の色(G) + 装飾の色(G) + 2011 + 装飾 + + + 装飾の色(B) + 装飾の色(B) + 2012 + 装飾 + + + デカールパーツID + デカールパーツID + 2100 + デカール + + + デカール位置(x) + デカール位置(x) + 2110 + デカール + + + デカール位置(y) + デカール位置(y) + 2111 + デカール + + + デカール角度 + デカール角度 + 2120 + デカール + + + デカールスケール + デカールスケール + 2130 + デカール + + + デカールの色(R) + デカールの色(R) + 2140 + デカール + + + デカールの色(G) + デカールの色(G) + 2141 + デカール + + + デカールの色(B) + デカールの色(B) + 2142 + デカール + + + デカールのつや + デカールのつや + 2150 + デカール + + + デカールの反転 + デカールの反転 + 1 + 2160 + デカール + + + キャラ体型頭部スケール + キャラ体型頭部スケール + 2500 + 体型スケール + + + キャラ体型胸部スケール + キャラ体型胸部スケール + 2510 + 体型スケール + + + キャラ体型腹部スケール + キャラ体型腹部スケール + 2520 + 体型スケール + + + キャラ体型右腕部スケール + キャラ体型右腕部スケール + 2530 + 体型スケール + + + キャラ体型右脚部スケール + キャラ体型右脚部スケール + 2540 + 体型スケール + + + キャラ体型左腕部スケール + キャラ体型左腕部スケール + 2550 + 体型スケール + + + キャラ体型左脚部スケール + キャラ体型左脚部スケール + 2560 + 体型スケール + + + 火傷跡 + 火傷跡 + 2200 + イベント用 + + + 眼球パーツID + BOOL_CIRCLECROSS_TYPE + 眼球パーツIDを上書きするか + 1 + 10000 + 上書き + + + 虹彩の色 + BOOL_CIRCLECROSS_TYPE + 虹彩の色を上書きするか + 1 + 10010 + 上書き + + + 水晶体の濁り + BOOL_CIRCLECROSS_TYPE + 水晶体の濁りを上書きするか + 1 + 10020 + 上書き + + + 水晶体の濁り色 + BOOL_CIRCLECROSS_TYPE + 水晶体の濁り色を上書きするか + 1 + 10030 + 上書き + + + 白目の色 + BOOL_CIRCLECROSS_TYPE + 白目の色を上書きするか + 1 + 10040 + 上書き + + + 火傷跡 + BOOL_CIRCLECROSS_TYPE + 火傷跡を上書きするか + 1 + 10050 + 上書き + + + 10051 + + + 10052 + + + 年齢 + 年齢 + 3000 + FaceGen + + + 性別 + 性別 + 3100 + FaceGen + + + 誇張(モデル) + 誇張(モデル) + 3200 + FaceGen + + + 誇張(テクスチャ) + 誇張(テクスチャ) + 3300 + FaceGen + + + 顔作成ジオメトリデータ00 + 顔作成ジオメトリデータ00 + 3400 + FaceGen + + + 顔作成ジオメトリデータ01 + 顔作成ジオメトリデータ01 + 3401 + FaceGen + + + 顔作成ジオメトリデータ02 + 顔作成ジオメトリデータ02 + 3402 + FaceGen + + + 顔作成ジオメトリデータ03 + 顔作成ジオメトリデータ03 + 3403 + FaceGen + + + 顔作成ジオメトリデータ04 + 顔作成ジオメトリデータ04 + 3404 + FaceGen + + + 顔作成ジオメトリデータ05 + 顔作成ジオメトリデータ05 + 3405 + FaceGen + + + 顔作成ジオメトリデータ06 + 顔作成ジオメトリデータ06 + 3406 + FaceGen + + + 顔作成ジオメトリデータ07 + 顔作成ジオメトリデータ07 + 3407 + FaceGen + + + 顔作成ジオメトリデータ08 + 顔作成ジオメトリデータ08 + 3408 + FaceGen + + + 顔作成ジオメトリデータ09 + 顔作成ジオメトリデータ09 + 3409 + FaceGen + + + 顔作成ジオメトリデータ10 + 顔作成ジオメトリデータ10 + 3410 + FaceGen + + + 顔作成ジオメトリデータ11 + 顔作成ジオメトリデータ11 + 3411 + FaceGen + + + 顔作成ジオメトリデータ12 + 顔作成ジオメトリデータ12 + 3412 + FaceGen + + + 顔作成ジオメトリデータ13 + 顔作成ジオメトリデータ13 + 3413 + FaceGen + + + 顔作成ジオメトリデータ14 + 顔作成ジオメトリデータ14 + 3414 + FaceGen + + + 顔作成ジオメトリデータ15 + 顔作成ジオメトリデータ15 + 3415 + FaceGen + + + 顔作成ジオメトリデータ16 + 顔作成ジオメトリデータ16 + 3416 + FaceGen + + + 顔作成ジオメトリデータ17 + 顔作成ジオメトリデータ17 + 3417 + FaceGen + + + 顔作成ジオメトリデータ18 + 顔作成ジオメトリデータ18 + 3418 + FaceGen + + + 顔作成ジオメトリデータ19 + 顔作成ジオメトリデータ19 + 3419 + FaceGen + + + 顔作成ジオメトリデータ20 + 顔作成ジオメトリデータ20 + 3420 + FaceGen + + + 顔作成ジオメトリデータ21 + 顔作成ジオメトリデータ21 + 3421 + FaceGen + + + 顔作成ジオメトリデータ22 + 顔作成ジオメトリデータ22 + 3422 + FaceGen + + + 顔作成ジオメトリデータ23 + 顔作成ジオメトリデータ23 + 3423 + FaceGen + + + 顔作成ジオメトリデータ24 + 顔作成ジオメトリデータ24 + 3424 + FaceGen + + + 顔作成ジオメトリデータ25 + 顔作成ジオメトリデータ25 + 3425 + FaceGen + + + 顔作成ジオメトリデータ26 + 顔作成ジオメトリデータ26 + 3426 + FaceGen + + + 顔作成ジオメトリデータ27 + 顔作成ジオメトリデータ27 + 3427 + FaceGen + + + 顔作成ジオメトリデータ28 + 顔作成ジオメトリデータ28 + 3428 + FaceGen + + + 顔作成ジオメトリデータ29 + 顔作成ジオメトリデータ29 + 3429 + FaceGen + + + 顔作成ジオメトリデータ30 + 顔作成ジオメトリデータ30 + 3430 + FaceGen + + + 顔作成ジオメトリデータ31 + 顔作成ジオメトリデータ31 + 3431 + FaceGen + + + 顔作成ジオメトリデータ32 + 顔作成ジオメトリデータ32 + 3432 + FaceGen + + + 顔作成ジオメトリデータ33 + 顔作成ジオメトリデータ33 + 3433 + FaceGen + + + 顔作成ジオメトリデータ34 + 顔作成ジオメトリデータ34 + 3434 + FaceGen + + + 顔作成ジオメトリデータ35 + 顔作成ジオメトリデータ35 + 3435 + FaceGen + + + 顔作成ジオメトリデータ36 + 顔作成ジオメトリデータ36 + 3436 + FaceGen + + + 顔作成ジオメトリデータ37 + 顔作成ジオメトリデータ37 + 3437 + FaceGen + + + 顔作成ジオメトリデータ38 + 顔作成ジオメトリデータ38 + 3438 + FaceGen + + + 顔作成ジオメトリデータ39 + 顔作成ジオメトリデータ39 + 3439 + FaceGen + + + 顔作成ジオメトリデータ40 + 顔作成ジオメトリデータ40 + 3440 + FaceGen + + + 顔作成ジオメトリデータ41 + 顔作成ジオメトリデータ41 + 3441 + FaceGen + + + 顔作成ジオメトリデータ42 + 顔作成ジオメトリデータ42 + 3442 + FaceGen + + + 顔作成ジオメトリデータ43 + 顔作成ジオメトリデータ43 + 3443 + FaceGen + + + 顔作成ジオメトリデータ44 + 顔作成ジオメトリデータ44 + 3444 + FaceGen + + + 顔作成ジオメトリデータ45 + 顔作成ジオメトリデータ45 + 3445 + FaceGen + + + 顔作成ジオメトリデータ46 + 顔作成ジオメトリデータ46 + 3446 + FaceGen + + + 顔作成ジオメトリデータ47 + 顔作成ジオメトリデータ47 + 3447 + FaceGen + + + 顔作成ジオメトリデータ48 + 顔作成ジオメトリデータ48 + 3448 + FaceGen + + + 顔作成ジオメトリデータ49 + 顔作成ジオメトリデータ49 + 3449 + FaceGen + + + 顔作成ジオメトリデータ50 + 顔作成ジオメトリデータ50 + 3450 + FaceGen + + + 顔作成ジオメトリデータ51 + 顔作成ジオメトリデータ51 + 3451 + FaceGen + + + 顔作成ジオメトリデータ52 + 顔作成ジオメトリデータ52 + 3452 + FaceGen + + + 顔作成ジオメトリデータ53 + 顔作成ジオメトリデータ53 + 3453 + FaceGen + + + 顔作成ジオメトリデータ54 + 顔作成ジオメトリデータ54 + 3454 + FaceGen + + + 顔作成ジオメトリデータ55 + 顔作成ジオメトリデータ55 + 3455 + FaceGen + + + 顔作成ジオメトリデータ56 + 顔作成ジオメトリデータ56 + 3456 + FaceGen + + + 顔作成ジオメトリデータ57 + 顔作成ジオメトリデータ57 + 3457 + FaceGen + + + 顔作成ジオメトリデータ58 + 顔作成ジオメトリデータ58 + 3458 + FaceGen + + + 顔作成ジオメトリデータ59 + 顔作成ジオメトリデータ59 + 3459 + FaceGen + + + 顔作成ジオメトリデータ60 + 顔作成ジオメトリデータ60 + 3460 + FaceGen + + + 顔作成テクスチャデータ00 + 顔作成テクスチャデータ00 + 3500 + FaceGen + + + 顔作成テクスチャデータ01 + 顔作成テクスチャデータ01 + 3501 + FaceGen + + + 顔作成テクスチャデータ02 + 顔作成テクスチャデータ02 + 3502 + FaceGen + + + 顔作成テクスチャデータ03 + 顔作成テクスチャデータ03 + 3503 + FaceGen + + + 顔作成テクスチャデータ04 + 顔作成テクスチャデータ04 + 3504 + FaceGen + + + 顔作成テクスチャデータ05 + 顔作成テクスチャデータ05 + 3505 + FaceGen + + + 顔作成テクスチャデータ06 + 顔作成テクスチャデータ06 + 3506 + FaceGen + + + 顔作成テクスチャデータ07 + 顔作成テクスチャデータ07 + 3507 + FaceGen + + + 顔作成テクスチャデータ08 + 顔作成テクスチャデータ08 + 3508 + FaceGen + + + 顔作成テクスチャデータ09 + 顔作成テクスチャデータ09 + 3509 + FaceGen + + + 顔作成テクスチャデータ10 + 顔作成テクスチャデータ10 + 3510 + FaceGen + + + 顔作成テクスチャデータ11 + 顔作成テクスチャデータ11 + 3511 + FaceGen + + + 顔作成テクスチャデータ12 + 顔作成テクスチャデータ12 + 3512 + FaceGen + + + 顔作成テクスチャデータ13 + 顔作成テクスチャデータ13 + 3513 + FaceGen + + + 顔作成テクスチャデータ14 + 顔作成テクスチャデータ14 + 3514 + FaceGen + + + 顔作成テクスチャデータ15 + 顔作成テクスチャデータ15 + 3515 + FaceGen + + + 顔作成テクスチャデータ16 + 顔作成テクスチャデータ16 + 3516 + FaceGen + + + 顔作成テクスチャデータ17 + 顔作成テクスチャデータ17 + 3517 + FaceGen + + + 顔作成テクスチャデータ18 + 顔作成テクスチャデータ18 + 3518 + FaceGen + + + 顔作成テクスチャデータ19 + 顔作成テクスチャデータ19 + 3519 + FaceGen + + + 顔作成テクスチャデータ20 + 顔作成テクスチャデータ20 + 3520 + FaceGen + + + 顔作成テクスチャデータ21 + 顔作成テクスチャデータ21 + 3521 + FaceGen + + + 顔作成テクスチャデータ22 + 顔作成テクスチャデータ22 + 3522 + FaceGen + + + 顔作成テクスチャデータ23 + 顔作成テクスチャデータ23 + 3523 + FaceGen + + + 顔作成テクスチャデータ24 + 顔作成テクスチャデータ24 + 3524 + FaceGen + + + 顔作成テクスチャデータ25 + 顔作成テクスチャデータ25 + 3525 + FaceGen + + + 顔作成テクスチャデータ26 + 顔作成テクスチャデータ26 + 3526 + FaceGen + + + 顔作成テクスチャデータ27 + 顔作成テクスチャデータ27 + 3527 + FaceGen + + + 顔作成テクスチャデータ28 + 顔作成テクスチャデータ28 + 3528 + FaceGen + + + 顔作成テクスチャデータ29 + 顔作成テクスチャデータ29 + 3529 + FaceGen + + + 顔作成テクスチャデータ30 + 顔作成テクスチャデータ30 + 3530 + FaceGen + + + 顔作成テクスチャデータ31 + 顔作成テクスチャデータ31 + 3531 + FaceGen + + + 顔作成テクスチャデータ32 + 顔作成テクスチャデータ32 + 3532 + FaceGen + + + 顔作成テクスチャデータ33 + 顔作成テクスチャデータ33 + 3533 + FaceGen + + + 顔作成テクスチャデータ34 + 顔作成テクスチャデータ34 + 3534 + FaceGen + + + 顔作成テクスチャデータ35 + 顔作成テクスチャデータ35 + 3535 + FaceGen + + + 顔作成ジオメトリ非対称データ00 + 顔作成ジオメトリ非対称データ00 + 3600 + FaceGen + + + 顔作成ジオメトリ非対称データ01 + 顔作成ジオメトリ非対称データ01 + 3601 + FaceGen + + + 顔作成ジオメトリ非対称データ02 + 顔作成ジオメトリ非対称データ02 + 3602 + FaceGen + + + 顔作成ジオメトリ非対称データ03 + 顔作成ジオメトリ非対称データ03 + 3603 + FaceGen + + + 顔作成ジオメトリ非対称データ04 + 顔作成ジオメトリ非対称データ04 + 3604 + FaceGen + + + 顔作成ジオメトリ非対称データ05 + 顔作成ジオメトリ非対称データ05 + 3605 + FaceGen + + + 顔作成ジオメトリ非対称データ06 + 顔作成ジオメトリ非対称データ06 + 3606 + FaceGen + + + 顔作成ジオメトリ非対称データ07 + 顔作成ジオメトリ非対称データ07 + 3607 + FaceGen + + + 顔作成ジオメトリ非対称データ08 + 顔作成ジオメトリ非対称データ08 + 3608 + FaceGen + + + 顔作成ジオメトリ非対称データ09 + 顔作成ジオメトリ非対称データ09 + 3609 + FaceGen + + + 顔作成ジオメトリ非対称データ10 + 顔作成ジオメトリ非対称データ10 + 3610 + FaceGen + + + 顔作成ジオメトリ非対称データ11 + 顔作成ジオメトリ非対称データ11 + 3611 + FaceGen + + + 顔作成ジオメトリ非対称データ12 + 顔作成ジオメトリ非対称データ12 + 3612 + FaceGen + + + 顔作成ジオメトリ非対称データ13 + 顔作成ジオメトリ非対称データ13 + 3613 + FaceGen + + + 顔作成ジオメトリ非対称データ14 + 顔作成ジオメトリ非対称データ14 + 3614 + FaceGen + + + 顔作成ジオメトリ非対称データ15 + 顔作成ジオメトリ非対称データ15 + 3615 + FaceGen + + + 顔作成ジオメトリ非対称データ16 + 顔作成ジオメトリ非対称データ16 + 3616 + FaceGen + + + 顔作成ジオメトリ非対称データ17 + 顔作成ジオメトリ非対称データ17 + 3617 + FaceGen + + + 顔作成ジオメトリ非対称データ18 + 顔作成ジオメトリ非対称データ18 + 3618 + FaceGen + + + 顔作成ジオメトリ非対称データ19 + 顔作成ジオメトリ非対称データ19 + 3619 + FaceGen + + + 顔作成ジオメトリ非対称データ20 + 顔作成ジオメトリ非対称データ20 + 3620 + FaceGen + + + 顔作成ジオメトリ非対称データ21 + 顔作成ジオメトリ非対称データ21 + 3621 + FaceGen + + + 顔作成ジオメトリ非対称データ22 + 顔作成ジオメトリ非対称データ22 + 3622 + FaceGen + + + 顔作成ジオメトリ非対称データ23 + 顔作成ジオメトリ非対称データ23 + 3623 + FaceGen + + + 顔作成ジオメトリ非対称データ24 + 顔作成ジオメトリ非対称データ24 + 3624 + FaceGen + + + 顔作成ジオメトリ非対称データ25 + 顔作成ジオメトリ非対称データ25 + 3625 + FaceGen + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/FaceRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/FaceRangeParam.xml index c72fd3e7..2906c40b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/FaceRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/FaceRangeParam.xml @@ -1,217 +1,1864 @@ - + FACE_RANGE_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 顔パーツID + 顔パーツID + %.2f + -1000 + 1000 + 1000 + 顔・体 + + + 肌の色(R) + 肌の色(R) + %.2f + -1000 + 1000 + 1010 + 顔・体 + + + 肌の色(G) + 肌の色(G) + %.2f + -1000 + 1000 + 1011 + 顔・体 + + + 肌の色(B) + 肌の色(B) + %.2f + -1000 + 1000 + 1012 + 顔・体 + + + 肌のつや + 肌のつや + %.2f + -1000 + 1000 + 1020 + 顔・体 + + + 毛穴 + 毛穴 + %.2f + -1000 + 1000 + 1030 + 顔・体 + + + 青ひげ + 青ひげ + %.2f + -1000 + 1000 + 1040 + + + + くま + くま + %.2f + -1000 + 1000 + 1050 + + + + くまの色(R) + くまの色(R) + %.2f + -1000 + 1000 + 1060 + + + + くまの色(G) + くまの色(G) + %.2f + -1000 + 1000 + 1061 + + + + くまの色(B) + くまの色(B) + %.2f + -1000 + 1000 + 1062 + + + + チーク + チーク + %.2f + -1000 + 1000 + 1070 + + + + チークの色(R) + チークの色(R) + %.2f + -1000 + 1000 + 1080 + + + + チークの色(G) + チークの色(G) + %.2f + -1000 + 1000 + 1081 + + + + チークの色(B) + チークの色(B) + %.2f + -1000 + 1000 + 1082 + + + + アイライン + アイライン + %.2f + -1000 + 1000 + 1090 + + + + アイラインの色(R) + アイラインの色(R) + %.2f + -1000 + 1000 + 1100 + + + + アイラインの色(G) + アイラインの色(G) + %.2f + -1000 + 1000 + 1101 + + + + アイラインの色(B) + アイラインの色(B) + %.2f + -1000 + 1000 + 1102 + + + + アイシャドウ(下) + アイシャドウ(下) + %.2f + -1000 + 1000 + 1110 + + + + アイシャドウ(下)の色(R) + アイシャドウ(下)の色(R) + %.2f + -1000 + 1000 + 1120 + + + + アイシャドウ(下)の色(G) + アイシャドウ(下)の色(G) + %.2f + -1000 + 1000 + 1121 + + + + アイシャドウ(下)の色(B) + アイシャドウ(下)の色(B) + %.2f + -1000 + 1000 + 1122 + + + + アイシャドウ(上) + アイシャドウ(上) + %.2f + -1000 + 1000 + 1130 + + + + アイシャドウ(上)の色(R) + アイシャドウ(上)の色(R) + %.2f + -1000 + 1000 + 1140 + + + + アイシャドウ(上)の色(G) + アイシャドウ(上)の色(G) + %.2f + -1000 + 1000 + 1141 + + + + アイシャドウ(上)の色(B) + アイシャドウ(上)の色(B) + %.2f + -1000 + 1000 + 1142 + + + + 口紅 + 口紅 + %.2f + -1000 + 1000 + 1150 + + + + 口紅の色(R) + 口紅の色(R) + %.2f + -1000 + 1000 + 1160 + + + + 口紅の色(G) + 口紅の色(G) + %.2f + -1000 + 1000 + 1161 + + + + 口紅の色(B) + 口紅の色(B) + %.2f + -1000 + 1000 + 1162 + + + + 体毛の濃さ + 体毛の濃さ + %.2f + -1000 + 1000 + 1200 + + + + 体毛の色(R) + 体毛の色(R) + %.2f + -1000 + 1000 + 1210 + + + + 体毛の色(G) + 体毛の色(G) + %.2f + -1000 + 1000 + 1211 + + + + 体毛の色(B) + 体毛の色(B) + %.2f + -1000 + 1000 + 1212 + + + + 眼球パーツID + 眼球パーツID + %.2f + -1000 + 1000 + 1300 + 眼球 + + + 虹彩の色(R) + 右目の虹彩の色(R) + %.2f + -1000 + 1000 + 1400 + 右目 + + + 虹彩の色(G) + 右目の虹彩の色(G) + %.2f + -1000 + 1000 + 1401 + 右目 + + + 虹彩の色(B) + 右目の虹彩の色(B) + %.2f + -1000 + 1000 + 1402 + 右目 + + + 虹彩の大きさ + 右目の虹彩の大きさ + %.2f + -1000 + 1000 + 1410 + 右目 + + + 水晶体の濁り + 右目の水晶体の濁り + %.2f + -1000 + 1000 + 1420 + 右目 + + + 水晶体の濁りの色(R) + 右目の水晶体の濁りの色(R) + %.2f + -1000 + 1000 + 1430 + 右目 + + + 水晶体の濁りの色(G) + 右目の水晶体の濁りの色(G) + %.2f + -1000 + 1000 + 1431 + 右目 + + + 水晶体の濁りの色(B) + 右目の水晶体の濁りの色(B) + %.2f + -1000 + 1000 + 1432 + 右目 + + + 白目の色(R) + 右目の白目の色(R) + %.2f + -1000 + 1000 + 1440 + 右目 + + + 白目の色(G) + 右目の白目の色(G) + %.2f + -1000 + 1000 + 1441 + 右目 + + + 白目の色(B) + 右目の白目の色(B) + %.2f + -1000 + 1000 + 1442 + 右目 + + + 虹彩の位置 + 右目の虹彩の位置 + %.2f + -1000 + 1000 + 1450 + 右目 + + + 虹彩の色(R) + 左目の虹彩の色(R) + %.2f + -1000 + 1000 + 1500 + 左目 + + + 虹彩の色(G) + 左目の虹彩の色(G) + %.2f + -1000 + 1000 + 1501 + 左目 + + + 虹彩の色(B) + 左目の虹彩の色(B) + %.2f + -1000 + 1000 + 1502 + 左目 + + + 虹彩の大きさ + 左目の虹彩の大きさ + %.2f + -1000 + 1000 + 1510 + 左目 + + + 水晶体の濁り + 左目の水晶体の濁り + %.2f + -1000 + 1000 + 1520 + 左目 + + + 水晶体の濁りの色(R) + 左目の水晶体の濁りの色(R) + %.2f + -1000 + 1000 + 1530 + 左目 + + + 水晶体の濁りの色(G) + 左目の水晶体の濁りの色(G) + %.2f + -1000 + 1000 + 1531 + 左目 + + + 水晶体の濁りの色(B) + 左目の水晶体の濁りの色(B) + %.2f + -1000 + 1000 + 1532 + 左目 + + + 白目の色(R) + 左目の白目の色(R) + %.2f + -1000 + 1000 + 1540 + 左目 + + + 白目の色(G) + 左目の白目の色(G) + %.2f + -1000 + 1000 + 1541 + 左目 + + + 白目の色(B) + 左目の白目の色(B) + %.2f + -1000 + 1000 + 1542 + 左目 + + + 虹彩の位置 + 左目の虹彩の位置 + %.2f + -1000 + 1000 + 1550 + 左目 + + + 髪パーツID + 髪パーツID + %.2f + -1000 + 1000 + 1600 + + + + 髪の色(R) + 髪の色(R) + %.2f + -1000 + 1000 + 1610 + + + + 髪の色(G) + 髪の色(G) + %.2f + -1000 + 1000 + 1611 + + + + 髪の色(B) + 髪の色(B) + %.2f + -1000 + 1000 + 1612 + + + + 光沢 + 髪の光沢 + %.2f + -1000 + 1000 + 1620 + + + + 根元の黒さ + 髪の根元の黒さ + %.2f + -1000 + 1000 + 1630 + + + + 白髪の量 + 髪の白髪の量 + %.2f + -1000 + 1000 + 1640 + + + + 髭パーツID + 髭パーツID + %.2f + -1000 + 1000 + 1700 + + + + 髭の色(R) + 髭の色(R) + %.2f + -1000 + 1000 + 1710 + + + + 髭の色(G) + 髭の色(G) + %.2f + -1000 + 1000 + 1711 + + + + 髭の色(B) + 髭の色(B) + %.2f + -1000 + 1000 + 1712 + + + + 光沢 + 髭の光沢 + %.2f + -1000 + 1000 + 1720 + + + + 根元の黒さ + 髭の根元の黒さ + %.2f + -1000 + 1000 + 1730 + + + + 白髪の量 + 髭の白髪の量 + %.2f + -1000 + 1000 + 1740 + + + + 眉パーツID + 眉パーツID + %.2f + -1000 + 1000 + 1800 + + + + 眉の色(R) + 眉の色(R) + %.2f + -1000 + 1000 + 1810 + + + + 眉の色(G) + 眉の色(G) + %.2f + -1000 + 1000 + 1811 + + + + 眉の色(B) + 眉の色(B) + %.2f + -1000 + 1000 + 1812 + + + + 光沢 + 眉の光沢 + %.2f + -1000 + 1000 + 1820 + + + + 根元の黒さ + 眉の根元の黒さ + %.2f + -1000 + 1000 + 1830 + + + + 白髪の量 + 眉の白髪の量 + %.2f + -1000 + 1000 + 1840 + + + + まつげパーツID + まつげパーツID + %.2f + -1000 + 1000 + 1900 + まつげ + + + まつげの色(R) + まつげの色(R) + %.2f + -1000 + 1000 + 1910 + まつげ + + + まつげの色(G) + まつげの色(G) + %.2f + -1000 + 1000 + 1911 + まつげ + + + まつげの色(B) + まつげの色(B) + %.2f + -1000 + 1000 + 1912 + まつげ + + + 装飾パーツID + 装飾パーツID + %.2f + -1000 + 1000 + 2000 + 装飾 + + + 装飾の色(R) + 装飾の色(R) + %.2f + -1000 + 1000 + 2010 + 装飾 + + + 装飾の色(G) + 装飾の色(G) + %.2f + -1000 + 1000 + 2011 + 装飾 + + + 装飾の色(B) + 装飾の色(B) + %.2f + -1000 + 1000 + 2012 + 装飾 + + + デカールパーツID + デカールパーツID + %.2f + -1000 + 1000 + 2100 + デカール + + + デカール位置(x) + デカール位置(x) + %.2f + -1000 + 1000 + 2110 + デカール + + + デカール位置(y) + デカール位置(y) + %.2f + -1000 + 1000 + 2111 + デカール + + + デカール角度 + デカール角度 + %.2f + -1000 + 1000 + 2120 + デカール + + + デカールスケール + デカールスケール + %.2f + -1000 + 1000 + 2130 + デカール + + + デカールの色(R) + デカールの色(R) + %.2f + -1000 + 1000 + 2140 + デカール + + + デカールの色(G) + デカールの色(G) + %.2f + -1000 + 1000 + 2141 + デカール + + + デカールの色(B) + デカールの色(B) + %.2f + -1000 + 1000 + 2142 + デカール + + + デカールのつや + デカールのつや + %.2f + -1000 + 1000 + 2150 + デカール + + + デカールの反転 + デカールの反転 + %.2f + -1000 + 1000 + 2160 + デカール + + + キャラ体型頭部スケール + キャラ体型頭部スケール + %.2f + -1000 + 1000 + 2500 + 体型スケール + + + キャラ体型胸部スケール + キャラ体型胸部スケール + %.2f + -1000 + 1000 + 2510 + 体型スケール + + + キャラ体型腹部スケール + キャラ体型腹部スケール + %.2f + -1000 + 1000 + 2520 + 体型スケール + + + キャラ体型腕部スケール + キャラ体型腕部スケール + %.2f + -1000 + 1000 + 2530 + 体型スケール + + + キャラ体型脚部スケール + キャラ体型脚部スケール + %.2f + -1000 + 1000 + 2540 + 体型スケール + + + 年齢 + 年齢 + %.2f + -1000 + 1000 + 3000 + FaceGen + + + 性別 + 性別 + %.2f + -1000 + 1000 + 3100 + FaceGen + + + 誇張(モデル) + 誇張(モデル) + %.2f + -1000 + 1000 + 3200 + FaceGen + + + 誇張(テクスチャ) + 誇張(テクスチャ) + %.2f + -1000 + 1000 + 3300 + FaceGen + + + 顔作成ジオメトリデータ00 + 顔作成ジオメトリデータ00 + %.2f + -1000 + 1000 + 3400 + FaceGen + + + 顔作成ジオメトリデータ01 + 顔作成ジオメトリデータ01 + %.2f + -1000 + 1000 + 3401 + FaceGen + + + 顔作成ジオメトリデータ02 + 顔作成ジオメトリデータ02 + %.2f + -1000 + 1000 + 3402 + FaceGen + + + 顔作成ジオメトリデータ03 + 顔作成ジオメトリデータ03 + %.2f + -1000 + 1000 + 3403 + FaceGen + + + 顔作成ジオメトリデータ04 + 顔作成ジオメトリデータ04 + %.2f + -1000 + 1000 + 3404 + FaceGen + + + 顔作成ジオメトリデータ05 + 顔作成ジオメトリデータ05 + %.2f + -1000 + 1000 + 3405 + FaceGen + + + 顔作成ジオメトリデータ06 + 顔作成ジオメトリデータ06 + %.2f + -1000 + 1000 + 3406 + FaceGen + + + 顔作成ジオメトリデータ07 + 顔作成ジオメトリデータ07 + %.2f + -1000 + 1000 + 3407 + FaceGen + + + 顔作成ジオメトリデータ08 + 顔作成ジオメトリデータ08 + %.2f + -1000 + 1000 + 3408 + FaceGen + + + 顔作成ジオメトリデータ09 + 顔作成ジオメトリデータ09 + %.2f + -1000 + 1000 + 3409 + FaceGen + + + 顔作成ジオメトリデータ10 + 顔作成ジオメトリデータ10 + %.2f + -1000 + 1000 + 3410 + FaceGen + + + 顔作成ジオメトリデータ11 + 顔作成ジオメトリデータ11 + %.2f + -1000 + 1000 + 3411 + FaceGen + + + 顔作成ジオメトリデータ12 + 顔作成ジオメトリデータ12 + %.2f + -1000 + 1000 + 3412 + FaceGen + + + 顔作成ジオメトリデータ13 + 顔作成ジオメトリデータ13 + %.2f + -1000 + 1000 + 3413 + FaceGen + + + 顔作成ジオメトリデータ14 + 顔作成ジオメトリデータ14 + %.2f + -1000 + 1000 + 3414 + FaceGen + + + 顔作成ジオメトリデータ15 + 顔作成ジオメトリデータ15 + %.2f + -1000 + 1000 + 3415 + FaceGen + + + 顔作成ジオメトリデータ16 + 顔作成ジオメトリデータ16 + %.2f + -1000 + 1000 + 3416 + FaceGen + + + 顔作成ジオメトリデータ17 + 顔作成ジオメトリデータ17 + %.2f + -1000 + 1000 + 3417 + FaceGen + + + 顔作成ジオメトリデータ18 + 顔作成ジオメトリデータ18 + %.2f + -1000 + 1000 + 3418 + FaceGen + + + 顔作成ジオメトリデータ19 + 顔作成ジオメトリデータ19 + %.2f + -1000 + 1000 + 3419 + FaceGen + + + 顔作成ジオメトリデータ20 + 顔作成ジオメトリデータ20 + %.2f + -1000 + 1000 + 3420 + FaceGen + + + 顔作成ジオメトリデータ21 + 顔作成ジオメトリデータ21 + %.2f + -1000 + 1000 + 3421 + FaceGen + + + 顔作成ジオメトリデータ22 + 顔作成ジオメトリデータ22 + %.2f + -1000 + 1000 + 3422 + FaceGen + + + 顔作成ジオメトリデータ23 + 顔作成ジオメトリデータ23 + %.2f + -1000 + 1000 + 3423 + FaceGen + + + 顔作成ジオメトリデータ24 + 顔作成ジオメトリデータ24 + %.2f + -1000 + 1000 + 3424 + FaceGen + + + 顔作成ジオメトリデータ25 + 顔作成ジオメトリデータ25 + %.2f + -1000 + 1000 + 3425 + FaceGen + + + 顔作成ジオメトリデータ26 + 顔作成ジオメトリデータ26 + %.2f + -1000 + 1000 + 3426 + FaceGen + + + 顔作成ジオメトリデータ27 + 顔作成ジオメトリデータ27 + %.2f + -1000 + 1000 + 3427 + FaceGen + + + 顔作成ジオメトリデータ28 + 顔作成ジオメトリデータ28 + %.2f + -1000 + 1000 + 3428 + FaceGen + + + 顔作成ジオメトリデータ29 + 顔作成ジオメトリデータ29 + %.2f + -1000 + 1000 + 3429 + FaceGen + + + 顔作成ジオメトリデータ30 + 顔作成ジオメトリデータ30 + %.2f + -1000 + 1000 + 3430 + FaceGen + + + 顔作成ジオメトリデータ31 + 顔作成ジオメトリデータ31 + %.2f + -1000 + 1000 + 3431 + FaceGen + + + 顔作成ジオメトリデータ32 + 顔作成ジオメトリデータ32 + %.2f + -1000 + 1000 + 3432 + FaceGen + + + 顔作成ジオメトリデータ33 + 顔作成ジオメトリデータ33 + %.2f + -1000 + 1000 + 3433 + FaceGen + + + 顔作成ジオメトリデータ34 + 顔作成ジオメトリデータ34 + %.2f + -1000 + 1000 + 3434 + FaceGen + + + 顔作成ジオメトリデータ35 + 顔作成ジオメトリデータ35 + %.2f + -1000 + 1000 + 3435 + FaceGen + + + 顔作成ジオメトリデータ36 + 顔作成ジオメトリデータ36 + %.2f + -1000 + 1000 + 3436 + FaceGen + + + 顔作成ジオメトリデータ37 + 顔作成ジオメトリデータ37 + %.2f + -1000 + 1000 + 3437 + FaceGen + + + 顔作成ジオメトリデータ38 + 顔作成ジオメトリデータ38 + %.2f + -1000 + 1000 + 3438 + FaceGen + + + 顔作成ジオメトリデータ39 + 顔作成ジオメトリデータ39 + %.2f + -1000 + 1000 + 3439 + FaceGen + + + 顔作成ジオメトリデータ40 + 顔作成ジオメトリデータ40 + %.2f + -1000 + 1000 + 3440 + FaceGen + + + 顔作成ジオメトリデータ41 + 顔作成ジオメトリデータ41 + %.2f + -1000 + 1000 + 3441 + FaceGen + + + 顔作成ジオメトリデータ42 + 顔作成ジオメトリデータ42 + %.2f + -1000 + 1000 + 3442 + FaceGen + + + 顔作成ジオメトリデータ43 + 顔作成ジオメトリデータ43 + %.2f + -1000 + 1000 + 3443 + FaceGen + + + 顔作成ジオメトリデータ44 + 顔作成ジオメトリデータ44 + %.2f + -1000 + 1000 + 3444 + FaceGen + + + 顔作成ジオメトリデータ45 + 顔作成ジオメトリデータ45 + %.2f + -1000 + 1000 + 3445 + FaceGen + + + 顔作成ジオメトリデータ46 + 顔作成ジオメトリデータ46 + %.2f + -1000 + 1000 + 3446 + FaceGen + + + 顔作成ジオメトリデータ47 + 顔作成ジオメトリデータ47 + %.2f + -1000 + 1000 + 3447 + FaceGen + + + 顔作成ジオメトリデータ48 + 顔作成ジオメトリデータ48 + %.2f + -1000 + 1000 + 3448 + FaceGen + + + 顔作成ジオメトリデータ49 + 顔作成ジオメトリデータ49 + %.2f + -1000 + 1000 + 3449 + FaceGen + + + 顔作成ジオメトリデータ50 + 顔作成ジオメトリデータ50 + %.2f + -1000 + 1000 + 3450 + FaceGen + + + 顔作成ジオメトリデータ51 + 顔作成ジオメトリデータ51 + %.2f + -1000 + 1000 + 3451 + FaceGen + + + 顔作成ジオメトリデータ52 + 顔作成ジオメトリデータ52 + %.2f + -1000 + 1000 + 3452 + FaceGen + + + 顔作成ジオメトリデータ53 + 顔作成ジオメトリデータ53 + %.2f + -1000 + 1000 + 3453 + FaceGen + + + 顔作成ジオメトリデータ54 + 顔作成ジオメトリデータ54 + %.2f + -1000 + 1000 + 3454 + FaceGen + + + 顔作成ジオメトリデータ55 + 顔作成ジオメトリデータ55 + %.2f + -1000 + 1000 + 3455 + FaceGen + + + 顔作成ジオメトリデータ56 + 顔作成ジオメトリデータ56 + %.2f + -1000 + 1000 + 3456 + FaceGen + + + 顔作成ジオメトリデータ57 + 顔作成ジオメトリデータ57 + %.2f + -1000 + 1000 + 3457 + FaceGen + + + 顔作成ジオメトリデータ58 + 顔作成ジオメトリデータ58 + %.2f + -1000 + 1000 + 3458 + FaceGen + + + 顔作成ジオメトリデータ59 + 顔作成ジオメトリデータ59 + %.2f + -1000 + 1000 + 3459 + FaceGen + + + 顔作成ジオメトリデータ60 + 顔作成ジオメトリデータ60 + %.2f + -1000 + 1000 + 3460 + FaceGen + + + 顔作成テクスチャデータ00 + 顔作成テクスチャデータ00 + %.2f + -1000 + 1000 + 3500 + FaceGen + + + 顔作成テクスチャデータ01 + 顔作成テクスチャデータ01 + %.2f + -1000 + 1000 + 3501 + FaceGen + + + 顔作成テクスチャデータ02 + 顔作成テクスチャデータ02 + %.2f + -1000 + 1000 + 3502 + FaceGen + + + 顔作成テクスチャデータ03 + 顔作成テクスチャデータ03 + %.2f + -1000 + 1000 + 3503 + FaceGen + + + 顔作成テクスチャデータ04 + 顔作成テクスチャデータ04 + %.2f + -1000 + 1000 + 3504 + FaceGen + + + 顔作成テクスチャデータ05 + 顔作成テクスチャデータ05 + %.2f + -1000 + 1000 + 3505 + FaceGen + + + 顔作成テクスチャデータ06 + 顔作成テクスチャデータ06 + %.2f + -1000 + 1000 + 3506 + FaceGen + + + 顔作成テクスチャデータ07 + 顔作成テクスチャデータ07 + %.2f + -1000 + 1000 + 3507 + FaceGen + + + 顔作成テクスチャデータ08 + 顔作成テクスチャデータ08 + %.2f + -1000 + 1000 + 3508 + FaceGen + + + 顔作成テクスチャデータ09 + 顔作成テクスチャデータ09 + %.2f + -1000 + 1000 + 3509 + FaceGen + + + 顔作成テクスチャデータ10 + 顔作成テクスチャデータ10 + %.2f + -1000 + 1000 + 3510 + FaceGen + + + 顔作成テクスチャデータ11 + 顔作成テクスチャデータ11 + %.2f + -1000 + 1000 + 3511 + FaceGen + + + 顔作成テクスチャデータ12 + 顔作成テクスチャデータ12 + %.2f + -1000 + 1000 + 3512 + FaceGen + + + 顔作成テクスチャデータ13 + 顔作成テクスチャデータ13 + %.2f + -1000 + 1000 + 3513 + FaceGen + + + 顔作成テクスチャデータ14 + 顔作成テクスチャデータ14 + %.2f + -1000 + 1000 + 3514 + FaceGen + + + 顔作成テクスチャデータ15 + 顔作成テクスチャデータ15 + %.2f + -1000 + 1000 + 3515 + FaceGen + + + 顔作成テクスチャデータ16 + 顔作成テクスチャデータ16 + %.2f + -1000 + 1000 + 3516 + FaceGen + + + 顔作成テクスチャデータ17 + 顔作成テクスチャデータ17 + %.2f + -1000 + 1000 + 3517 + FaceGen + + + 顔作成テクスチャデータ18 + 顔作成テクスチャデータ18 + %.2f + -1000 + 1000 + 3518 + FaceGen + + + 顔作成テクスチャデータ19 + 顔作成テクスチャデータ19 + %.2f + -1000 + 1000 + 3519 + FaceGen + + + 顔作成テクスチャデータ20 + 顔作成テクスチャデータ20 + %.2f + -1000 + 1000 + 3520 + FaceGen + + + 顔作成テクスチャデータ21 + 顔作成テクスチャデータ21 + %.2f + -1000 + 1000 + 3521 + FaceGen + + + 顔作成テクスチャデータ22 + 顔作成テクスチャデータ22 + %.2f + -1000 + 1000 + 3522 + FaceGen + + + 顔作成テクスチャデータ23 + 顔作成テクスチャデータ23 + %.2f + -1000 + 1000 + 3523 + FaceGen + + + 顔作成テクスチャデータ24 + 顔作成テクスチャデータ24 + %.2f + -1000 + 1000 + 3524 + FaceGen + + + 顔作成テクスチャデータ25 + 顔作成テクスチャデータ25 + %.2f + -1000 + 1000 + 3525 + FaceGen + + + 顔作成テクスチャデータ26 + 顔作成テクスチャデータ26 + %.2f + -1000 + 1000 + 3526 + FaceGen + + + 顔作成テクスチャデータ27 + 顔作成テクスチャデータ27 + %.2f + -1000 + 1000 + 3527 + FaceGen + + + 顔作成テクスチャデータ28 + 顔作成テクスチャデータ28 + %.2f + -1000 + 1000 + 3528 + FaceGen + + + 顔作成テクスチャデータ29 + 顔作成テクスチャデータ29 + %.2f + -1000 + 1000 + 3529 + FaceGen + + + 顔作成テクスチャデータ30 + 顔作成テクスチャデータ30 + %.2f + -1000 + 1000 + 3530 + FaceGen + + + 顔作成テクスチャデータ31 + 顔作成テクスチャデータ31 + %.2f + -1000 + 1000 + 3531 + FaceGen + + + 顔作成テクスチャデータ32 + 顔作成テクスチャデータ32 + %.2f + -1000 + 1000 + 3532 + FaceGen + + + 顔作成テクスチャデータ33 + 顔作成テクスチャデータ33 + %.2f + -1000 + 1000 + 3533 + FaceGen + + + 顔作成テクスチャデータ34 + 顔作成テクスチャデータ34 + %.2f + -1000 + 1000 + 3534 + FaceGen + + + 顔作成テクスチャデータ35 + 顔作成テクスチャデータ35 + %.2f + -1000 + 1000 + 3535 + FaceGen + + + 火傷跡 + 火傷跡 + %.2f + 0 + 1 + 2200 + イベント用 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/FallControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/FallControlParam.xml index fa81fe80..640385fc 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/FallControlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/FallControlParam.xml @@ -4,12 +4,12 @@ 1 False True - 203 + 0 - - - - + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/FeTextEffectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/FeTextEffectParam.xml index 6c79e3f6..8d95eb7f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/FeTextEffectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/FeTextEffectParam.xml @@ -1,19 +1,53 @@ - + FE_TEXT_EFFECT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + リソースID + メニューリソースのインスタンス名。TextEffect_X のID + None + -1 + 100 + + + パディング + 401 + + + テキストID + 表示するテキストID(-1: テキストなし)。MenuText + None + -1 + 999999999 + 200 + + + SEのID + 再生するVoiceのID(-1: SEなし) + None + -1 + 999999999 + 300 + + + マップ名と同時に表示するか + BOOL_CIRCLECROSS_TYPE + マップ名と同時に表示するか + None + 1 + 400 + + + パディング + 402 + + + パディング + 403 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/FootSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/FootSfxParam.xml index 117277e2..4f4f08b2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/FootSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/FootSfxParam.xml @@ -1,211 +1,1210 @@ - + FOOT_SFX_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + SFX識別子:00 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 1 + + + SFX識別子:01 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 2 + + + SFX識別子:02 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 3 + + + SFX識別子:03 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 4 + + + SFX識別子:04 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 5 + + + SFX識別子:05 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 6 + + + SFX識別子:06 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 7 + + + SFX識別子:07 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 8 + + + SFX識別子:08 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 9 + + + SFX識別子:09 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 10 + + + SFX識別子:10 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 11 + + + SFX識別子:11 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 12 + + + SFX識別子:12 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 13 + + + SFX識別子:13 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 14 + + + SFX識別子:14 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 15 + + + SFX識別子:15 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 16 + + + SFX識別子:16 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 17 + + + SFX識別子:17 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 18 + + + SFX識別子:18 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 19 + + + SFX識別子:19 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 20 + + + SFX識別子:20 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 21 + + + SFX識別子:21 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 22 + + + SFX識別子:22 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 23 + + + SFX識別子:23 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 24 + + + SFX識別子:24 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 25 + + + SFX識別子:25 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 26 + + + SFX識別子:26 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 27 + + + SFX識別子:27 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 28 + + + SFX識別子:28 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 29 + + + SFX識別子:29 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 30 + + + SFX識別子:30 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 31 + + + SFX識別子:31 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 32 + + + SFX識別子:32 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 33 + + + SFX識別子:33 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 34 + + + SFX識別子:34 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 35 + + + SFX識別子:35 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 36 + + + SFX識別子:36 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 37 + + + SFX識別子:37 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 38 + + + SFX識別子:38 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 39 + + + SFX識別子:39 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 40 + + + SFX識別子:40 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 41 + + + SFX識別子:41 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 42 + + + SFX識別子:42 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 43 + + + SFX識別子:43 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 44 + + + SFX識別子:44 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 45 + + + SFX識別子:45 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 46 + + + SFX識別子:46 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 47 + + + SFX識別子:47 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 48 + + + SFX識別子:48 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 49 + + + SFX識別子:49 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 50 + + + SFX識別子:50 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 51 + + + SFX識別子:51 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 52 + + + SFX識別子:52 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 53 + + + SFX識別子:53 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 54 + + + SFX識別子:54 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 55 + + + SFX識別子:55 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 56 + + + SFX識別子:56 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 57 + + + SFX識別子:57 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 58 + + + SFX識別子:58 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 59 + + + SFX識別子:59 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 60 + + + SFX識別子:60 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 61 + + + SFX識別子:61 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 62 + + + SFX識別子:62 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 63 + + + SFX識別子:63 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 64 + + + SFX識別子:64 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 65 + + + SFX識別子:65 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 66 + + + SFX識別子:66 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 67 + + + SFX識別子:67 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 68 + + + SFX識別子:68 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 69 + + + SFX識別子:69 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 70 + + + SFX識別子:70 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 71 + + + SFX識別子:71 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 72 + + + SFX識別子:72 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 73 + + + SFX識別子:73 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 74 + + + SFX識別子:74 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 75 + + + SFX識別子:75 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 76 + + + SFX識別子:76 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 77 + + + SFX識別子:77 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 78 + + + SFX識別子:78 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 79 + + + SFX識別子:79 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 80 + + + SFX識別子:80 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 81 + + + SFX識別子:81 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 82 + + + SFX識別子:82 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 83 + + + SFX識別子:83 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 84 + + + SFX識別子:84 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 85 + + + SFX識別子:85 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 86 + + + SFX識別子:86 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 87 + + + SFX識別子:87 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 88 + + + SFX識別子:88 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 89 + + + SFX識別子:89 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 90 + + + SFX識別子:90 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 91 + + + SFX識別子:91 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 92 + + + SFX識別子:92 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 93 + + + SFX識別子:93 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 94 + + + SFX識別子:94 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 95 + + + SFX識別子:95 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 96 + + + SFX識別子:96 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 97 + + + SFX識別子:97 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 98 + + + SFX識別子:98 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 99 + + + SFX識別子:99 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 100 + + + SFX識別子:100 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 101 + + + SFX識別子:101 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 102 + + + SFX識別子:102 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 103 + + + SFX識別子:103 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 104 + + + SFX識別子:104 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 105 + + + SFX識別子:105 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 106 + + + SFX識別子:106 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 107 + + + SFX識別子:107 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 108 + + + SFX識別子:108 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 109 + + + SFX識別子:109 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 110 + + + SFX識別子:110 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 111 + + + SFX識別子:111 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 112 + + + SFX識別子:112 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 113 + + + SFX識別子:113 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 114 + + + SFX識別子:114 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 115 + + + SFX識別子:115 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 116 + + + SFX識別子:116 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 117 + + + SFX識別子:117 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 118 + + + SFX識別子:118 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 119 + + + SFX識別子:119 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 120 + + + SFX識別子:120 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 121 + + + SFX識別子:121 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 122 + + + SFX識別子:122 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 123 + + + SFX識別子:123 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 124 + + + SFX識別子:124 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 125 + + + SFX識別子:125 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 126 + + + SFX識別子:126 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 127 + + + SFX識別子:127 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 128 + + + SFX識別子:128 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 129 + + + SFX識別子:129 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 130 + + + SFX識別子:130 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 131 + + + SFX識別子:131 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 132 + + + SFX識別子:132 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 133 + + + SFX識別子:133 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 134 + + + SFX識別子:134 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 135 + + + SFX識別子:135 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 136 + + + SFX識別子:136 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 137 + + + SFX識別子:137 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 138 + + + SFX識別子:138 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 139 + + + SFX識別子:139 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 140 + + + SFX識別子:140 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 141 + + + SFX識別子:141 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 142 + + + SFX識別子:142 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 143 + + + SFX識別子:143 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 144 + + + SFX識別子:144 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 145 + + + SFX識別子:145 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 146 + + + SFX識別子:146 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 147 + + + SFX識別子:147 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 148 + + + SFX識別子:148 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 149 + + + SFX識別子:149 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 150 + + + SFX識別子:150 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 151 + + + SFX識別子:151 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 152 + + + SFX識別子:152 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 153 + + + SFX識別子:153 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 154 + + + SFX識別子:154 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 155 + + + SFX識別子:155 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 156 + + + SFX識別子:156 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 157 + + + SFX識別子:157 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 158 + + + SFX識別子:158 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 159 + + + SFX識別子:159 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 160 + + + SFX識別子:160 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 161 + + + SFX識別子:161 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 162 + + + SFX識別子:162 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 163 + + + SFX識別子:163 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 164 + + + SFX識別子:164 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 165 + + + SFX識別子:165 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 166 + + + SFX識別子:166 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 167 + + + SFX識別子:167 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 168 + + + SFX識別子:168 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 169 + + + SFX識別子:169 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 170 + + + SFX識別子:170 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 171 + + + SFX識別子:171 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 172 + + + SFX識別子:172 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 173 + + + SFX識別子:173 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 174 + + + SFX識別子:174 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 175 + + + SFX識別子:175 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 176 + + + SFX識別子:176 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 177 + + + SFX識別子:177 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 178 + + + SFX識別子:178 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 179 + + + SFX識別子:179 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 180 + + + SFX識別子:180 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 181 + + + SFX識別子:181 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 182 + + + SFX識別子:182 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 183 + + + SFX識別子:183 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 184 + + + SFX識別子:184 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 185 + + + SFX識別子:185 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 186 + + + SFX識別子:186 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 187 + + + SFX識別子:187 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 188 + + + SFX識別子:188 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 189 + + + SFX識別子:189 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 190 + + + SFX識別子:190 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 191 + + + SFX識別子:191 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 192 + + + SFX識別子:192 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 193 + + + SFX識別子:193 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 194 + + + SFX識別子:194 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 195 + + + SFX識別子:195 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 196 + + + SFX識別子:196 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 197 + + + SFX識別子:197 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 198 + + + SFX識別子:198 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 199 + + + SFX識別子:199 + NPCパラメータの「フットエフェクト識別子」項目に入力された数値、特殊効果パラメータの「追加フットエフェクト識別子」項目に入力された数値、TAEアクション「フットエフェクト」に設定する、SFX識別子 + 999999999 + 200 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GameSystemCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GameSystemCommonParam.xml index 7ebb0105..dd703aeb 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GameSystemCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GameSystemCommonParam.xml @@ -1,311 +1,1638 @@ - + GAME_SYSTEM_COMMON_PARAM_ST - 1 + 6 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 基本強靭度耐久値回復時間 + 強靭度回復時間の基本値です。(秒) + %.1f + None + 0 + 999 + 0.1 + 100 + + + キャラのイベント旋回アニメーション(左90°) + 「キャラの旋回」イベント用の左90°旋回アニメーションです。 + None + 0 + 9999999 + 200 + + + キャラのイベント旋回アニメーション(右90°) + 「キャラの旋回」イベント用の右90°旋回アニメーションです。 + None + 0 + 9999999 + 300 + + + キャラのイベント旋回アニメーション(左180°) + 「キャラの旋回」イベント用の左180°旋回アニメーションです。 + None + 0 + 9999999 + 400 + + + キャラのイベント旋回アニメーション(右180°) + 「キャラの旋回」イベント用の右180°旋回アニメーションです。 + None + 0 + 9999999 + 500 + + + キャラのイベント旋回90°アニメーション開始角度 + 「キャラの旋回」イベント用の90°旋回アニメーションを適用する角度の開始角度。この角度より小さい角度でイベントが始まった場合は、システム旋回が行われます + None + 0 + 360 + 600 + + + キャラのイベント旋回180°アニメーション開始角度 + 「キャラの旋回」イベント用の180°旋回アニメーションを適用する角度の開始角度。 + None + 0 + 360 + 700 + + + ステルス攻撃被ダメージ倍率 + ステルス攻撃被ダメージ倍率 + None + 0 + 99 + 13650 + + + はじかれ時ガード成功時ダメージカット率 + はじかれ時ガード成功時ダメージカット率。最終ダメージに乗算 + %.2f + None + 0 + 99 + 900 + + + NPC会話のアニメ再生開始する差分角度 + NPC会話の会話中モーションのアニメ再生開始する差分角度です。 + %.1f + None + 0 + 180 + 0.1 + 1000 + + + NPC会話のアニメ再生停止する差分角度 + NPC会話の会話中モーションのアニメ再生停止する差分角度です。 + %.1f + None + 0 + 180 + 0.1 + 1100 + + + ネムリアイテム取得範囲_アクションボタンパラID + ネムリアイテム取得範囲_アクションボタンパラID。TAEフラグ「イベント>ネムリアイテム登録」で上書きしないときのデフォルト値として使われる。 + None + -1 + 999999999 + 1110 + + + バディアイテム許可_SFX発生間隔[s] + バディアイテム許可_SFX発生間隔[s] + %.2f + None + 0 + 99 + 18000 + + + バディアイテム許可_SFX発生PCダミポリID + バディアイテム許可_SFX発生PCダミポリID + None + -1 + 999999999 + 18010 + + + バディアイテム許可_SFX発生馬ダミポリID_騎乗時 + バディアイテム許可_SFX発生馬ダミポリID_騎乗時 + None + -1 + 999999999 + 18020 + + + バディアイテム許可_発生SFXID + バディアイテム許可_発生SFXID + None + -1 + 999999999 + 18030 + + + バディ召喚中_起動範囲内_SFX発生間隔[s] + バディ召喚中_起動範囲内_SFX発生間隔[s] + None + 0 + 99 + 18040 + + + バディ召喚中_起動範囲内_SFX発生PCダミポリID + バディ召喚中_起動範囲内_SFX発生PCダミポリID + None + -1 + 999999999 + 18050 + + + バディ召喚中_起動範囲内_SFX発生馬ダミポリID_騎乗時 + バディ召喚中_起動範囲内_SFX発生馬ダミポリID_騎乗時 + None + -1 + 999999999 + 18060 + + + バディ召喚中_起動範囲内_発生SFXID + バディ召喚中_起動範囲内_発生SFXID + None + -1 + 999999999 + 18070 + + + バディ召喚中_起動範囲内特殊効果ID_PC用 + バディ召喚中_起動範囲内特殊効果ID_PC用 + None + -1 + 999999999 + 18080 + + + バディ召喚中_警告範囲内特殊効果ID_PC用 + バディ召喚中_警告範囲内特殊効果ID_PC用 + None + -1 + 999999999 + 18090 + + + バディ召喚中_バディ帰還時特殊効果ID_PC用 + バディ召喚中_バディ帰還時特殊効果ID_PC用 + None + -1 + 999999999 + 18100 + + + バディ召喚中_警告範囲内特殊効果ID_バディ用 + バディ召喚中_警告範囲内特殊効果ID_バディ用 + None + -1 + 999999999 + 18110 + + + 朝のインゲーム時間(時) + 朝のインゲーム時間(時)。会話で使用します。 + None + 23 + 19000 + + + 朝のインゲーム時間(分) + 朝のインゲーム時間(分)。会話で使用します。 + None + 59 + 19010 + + + 朝のインゲーム時間(秒) + 朝のインゲーム時間(秒)。会話で使用します。 + None + 59 + 19020 + + + 昼のインゲーム時間(時) + 昼のインゲーム時間(時)。会話で使用します。 + None + 23 + 19030 + + + 昼のインゲーム時間(分) + 昼のインゲーム時間(分)。会話で使用します。 + None + 59 + 19040 + + + 昼のインゲーム時間(秒) + 昼のインゲーム時間(秒)。会話で使用します。 + None + 59 + 19050 + + + 夜のインゲーム時間(時) + 夜のインゲーム時間(時)。会話で使用します。 + None + 23 + 19060 + + + 夜のインゲーム時間(分) + 夜のインゲーム時間(分)。会話で使用します。 + None + 59 + 19070 + + + 夜のインゲーム時間(秒) + 夜のインゲーム時間(秒)。会話で使用します。 + None + 59 + 19080 + + + AI視界倍率_朝_開始時刻(時) + AI視界倍率_朝_開始時刻(時) + None + 23 + 20610 + + + AI視界倍率_朝_開始時刻(分) + AI視界倍率_朝_開始時刻(分) + None + 59 + 20611 + + + AI視界倍率_昼_開始時刻(時) + AI視界倍率_昼_開始時刻(時) + None + 23 + 20620 + + + AI視界倍率_昼_開始時刻(分) + AI視界倍率_昼_開始時刻(分) + None + 59 + 20621 + + + AI視界倍率_夕_開始時刻(時) + AI視界倍率_夕_開始時刻(時) + None + 23 + 20630 + + + AI視界倍率_夕_開始時刻(分) + AI視界倍率_夕_開始時刻(分) + None + 59 + 20631 + + + AI視界倍率_夜_開始時刻(時) + AI視界倍率_夜_開始時刻(時) + None + 23 + 20640 + + + AI視界倍率_夜_開始時刻(分) + AI視界倍率_夜_開始時刻(分) + None + 59 + 20641 + + + AI視界倍率_深夜_開始時刻(時) + AI視界倍率_深夜_開始時刻(時) + None + 23 + 20650 + + + AI視界倍率_深夜_開始時刻(分) + AI視界倍率_深夜_開始時刻(分) + None + 59 + 20651 + + + SA大ダメージヒット演出SFX_発生条件SAダメージ閾値比率[%] + SA大ダメージヒット演出SFX_発生条件SAダメージ閾値比率[%] + None + 100 + 35100 + + + SA大ダメージヒット演出SFX_SFXID + SA大ダメージヒット演出SFX_SFXID + None + 0 + 999999999 + 35000 + + + + + + + + リトライエリア半径_デフォルト値(m) + リトライエリア半径_デフォルト値(m)。MapStudioのイベントタイプ「リトライポイント」で半径も領域も未設定の場合のデフォルト値として使われる。 + None + -1 + 9999 + 0.1 + 1130 + + + ネムリアイテム取得可能時に発動する特殊効果ID + ネムリアイテム取得可能時に発動する特殊効果ID。TAEフラグ「イベント>ネムリアイテム登録」で上書きしないときのデフォルト値として使われる。 + None + -1 + 999999999 + 1120 + + + 「HP最大以下で回復」特殊効果完了通知特殊効果ID + 「HP最大以下で回復」が完了したことを通知する特殊効果のID。主にマルチの同期用に使われる。 + None + 0 + 999999999 + 3800 + + + HPエスト吸収演出SFXID + 侵入者撃破時などにHPエスト瓶の使用回数を回復する際の吸収演出SFXID + None + 0 + 999999999 + 3900 + + + MPエスト吸収演出SFXID + 侵入者撃破時などにMPエスト瓶の使用回数を回復する際の吸収演出SFXID + None + 0 + 999999999 + 4000 + + + 復活特殊効果発動判定用特殊効果ID + 復活特殊効果が発動したことを通知する特殊効果のID。主にマルチの同期用に使われる。 + None + 0 + 999999999 + 4100 + + + バディ召喚中_起動範囲内特殊効果ID_バディ用 + バディ召喚中_起動範囲内特殊効果ID_バディ用 + None + -1 + 999999999 + 18120 + + + エスト吸収SFX再生開始からエスト追加処理を行うまでの時間 + エスト吸収SFX再生開始からエスト追加処理を行うまでの時間 + %.3f + None + 0 + 10 + 0.001 + 4050 + + + + + + + 敵キャラのHPゲージが画面上に見切れないようにするためのオフセット + 敵のHPゲージが画面上に見切れた時に画面内に収めるオフセット値[pixel](FullHD基準) + None + 9999 + 4800 + + + プレイ領域収集半径 + PC周辺のプレイ領域の収集半径 + None + 999 + 4900 + + + 「敵探知」時弾丸発射位置ダミポリID + 探知弾丸の発射位置ダミポリID + None + 9999 + 5000 + + + 大ルーン:グレーターデーモン侵入時付与道具個数 + 大ルーン:グレーターデーモン侵入時付与道具個数 + None + 9999 + 5110 + + + 大ルーン:グレーターデーモン侵入時付与道具アイテムID + 大ルーン:グレーターデーモン侵入時付与道具アイテムID + None + -1 + 999999999 + 5100 + + + 大ジャンプ領域SFXID + 騎乗大ジャンプ領域のSFXID + None + 0 + 999999999 + 5300 + + + + + 周回保留時マップUID + 周回保留時マップUID、8桁で入力(例…m60_42_36_00 -> 60423600) + None + 0 + 99999999 + 1300 + + + 周回保留時復帰ポイント + 周回保留時復帰ポイントのエンティティID + %u + None + -294967297 + 1400 + + + 「敵探知」時発射弾丸ID_協力指輪_赤狩り + 敵の勢力/タイプによって飛ばす弾丸のID(マルチ自動発射でも使う) + None + -1 + 999999999 + 5800 + + + 「敵探知」時発射弾丸ID_侵入オーブ_なし + 敵の勢力/タイプによって飛ばす弾丸のID(マルチ自動発射でも使う) + None + -1 + 999999999 + 5900 + + + + チュートリアル判定用:リトライポイントにアクセスした時にONにするイベントフラグ + チュートリアル判定用:リトライポイントにアクセスした時にONにするイベントフラグ + %u + None + -294967297 + 6100 + + + チュートリアル判定用:集団を倒してグループ報酬が入った時にONにするイベントフラグ + チュートリアル判定用:集団を倒してグループ報酬が入った時にONにするイベントフラグ + %u + None + -294967297 + 6200 + + + チュートリアル判定用:騎乗大ジャンプポイントに入った時にONにするイベントフラグ + チュートリアル判定用:騎乗大ジャンプポイントに入った時にONにするイベントフラグ + %u + None + -294967297 + 6300 + + + + + + リトライポイント起動時のダイアログのテキストID + リトライポイント起動時のダイアログのテキストID。EventText_ForMap.xlsm のテキストを設定する。-1の場合はダイアログを出さない。 + None + -1 + 999999999 + 6700 + + + サイン溜まり起動時のPCアニメID + サイン溜まり起動時のPCアニメID。-1の場合は再生しない。 + None + -1 + 999999999 + 6800 + + + サイン溜まり起動時のダイアログ表示の遅延時間[秒] + サイン溜まり起動時のダイアログ表示の遅延時間[秒] + None + 0 + 999 + 0.1 + 6900 + + + 「死者の活性」特殊効果発動時弾丸ID + 「死者の活性」特殊効果が発動したときに発射する弾丸ID + None + -1 + 999999999 + 7000 + + + 「死者の活性」特殊効果発動時弾丸発生位置ダミポリID + 「死者の活性」特殊効果が発動したときに弾丸が発生する位置のダミポリID + None + -1 + 999999999 + 7100 + + + 「死者の活性」特殊効果発動時の死体のフェードアウト時間 + 「死者の活性」特殊効果が発動したときに死体がフェードアウトする際のフェード時間 + None + 0 + 100 + 7200 + + + + + + + + 「敵探知」時発射弾丸ID_敵対NPC/敵キャラ + 敵意の探知に失敗したときに敵対NPC/敵キャラに飛ばす弾丸のID + None + -1 + 999999999 + 8100 + + + 「死者の活性ターゲット検索」対象にかける特殊効果ID + 検索した対象にかける特殊効果 + None + -1 + 999999999 + 8200 + + + 「死者の活性ターゲット検索」距離 + 検索可能最大距離 + %.2f + None + 0 + 1000 + 8300 + + + 視界_最低保証距離[倍率換算] + 視界_最低保証距離[倍率換算] + %.2f + None + 0 + 1 + 20000 + + + SA大ダメージヒット演出SFX_発生条件SAダメージ必要最低値[pt] + SA大ダメージヒット演出SFX_発生条件SAダメージ必要最低値[pt] + None + -1 + 9999 + 35200 + + + SA大ダメージヒット演出SFX_発生条件SAダメージ強制発生最低値[pt] + SA大ダメージヒット演出SFX_発生条件SAダメージ強制発生最低値[pt] + None + -1 + 9999 + 35300 + + + + + + + 七色石の最大設置数 + 七色石の最大設置数 + None + 8900 + + + キャラディアクティベート中にアクティベート許可する距離[m] + キャラディアクティベート中にアクティベート許可する距離(オープン配置キャラのみ有効) + None + 100 + 9000 + + + + + + + + + + + + + + + + + レベルシンク適用判定係数1白 + レベルシンク適用するかどうかのソウルレベル係数 + None + 9600 + + + レベルシンク適用判定係数2白 + レベルシンク適用するかどうかのソウルレベル係数 + None + 9700 + + + レベルシンク適用判定係数1赤 + レベルシンク適用するかどうかのソウルレベル係数 + None + 9800 + + + レベルシンク適用判定係数2赤 + レベルシンク適用するかどうかのソウルレベル係数 + None + 9900 + + + レベルシンク適用判定最大武器強化レベル係数0白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10000 + + + レベルシンク適用判定最大武器強化レベル係数1白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10010 + + + レベルシンク適用判定最大武器強化レベル係数2白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10020 + + + レベルシンク適用判定最大武器強化レベル係数3白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10030 + + + レベルシンク適用判定最大武器強化レベル係数4白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10040 + + + レベルシンク適用判定最大武器強化レベル係数5白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10050 + + + レベルシンク適用判定最大武器強化レベル係数6白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10060 + + + レベルシンク適用判定最大武器強化レベル係数7白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10070 + + + レベルシンク適用判定最大武器強化レベル係数8白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10080 + + + レベルシンク適用判定最大武器強化レベル係数9白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10090 + + + レベルシンク適用判定最大武器強化レベル係数10白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10100 + + + レベルシンク適用判定最大武器強化レベル係数0赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11000 + + + レベルシンク適用判定最大武器強化レベル係数1赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11010 + + + レベルシンク適用判定最大武器強化レベル係数2赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11020 + + + レベルシンク適用判定最大武器強化レベル係数3赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11030 + + + レベルシンク適用判定最大武器強化レベル係数4赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11040 + + + レベルシンク適用判定最大武器強化レベル係数5赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11050 + + + レベルシンク適用判定最大武器強化レベル係数6赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11060 + + + レベルシンク適用判定最大武器強化レベル係数7赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11070 + + + レベルシンク適用判定最大武器強化レベル係数8赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11080 + + + レベルシンク適用判定最大武器強化レベル係数9赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11090 + + + レベルシンク適用判定最大武器強化レベル係数10赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11100 + + + 侵入ポイントの自動配置間隔 + 侵入ポイントの自動配置間隔 + None + 99 + 31000 + + + 侵入ポイント自動配置取り消し範囲 + 侵入ポイント自動配置取り消し範囲 + None + 99 + 31010 + + + グローバルイベントログの送信間隔 + グローバルイベントログ をサーバーへ送信する間隔 + None + 0 + 600 + 0.1 + 12300 + + + ソロ侵入ポイント加算値_白サイン + ソロ侵入ポイント加算値_白サイン + None + 9999 + 12400 + + + ソロ侵入ポイント加算値_赤サイン + ソロ侵入ポイント加算値_赤サイン + None + 9999 + 12500 + + + ソロ侵入ポイント加算値_乱入 + ソロ侵入ポイント加算値_乱入 + None + 9999 + 12600 + + + ソロ侵入ポイント加算値_マップ守護訪問 + ソロ侵入ポイント加算値_マップ守護訪問 + None + 9999 + 12700 + + + ソロ侵入ポイント加算値_赤狩り訪問 + ソロ侵入ポイント加算値_赤狩り訪問 + None + 9999 + 12800 + + + 初期同期PC用の無敵タイマー + 初期同期PC用の無敵タイマー + None + 60 + 12900 + + + 初期同期PC以外用の無敵タイマー + 初期同期PC以外用の無敵タイマー + None + 60 + 12910 + + + 【赤狩り】ホストが白扉を通過した際にもらえるソウル率 + ホストが白扉を通過した時に赤狩りがもらえるソウル=赤狩りが一つ前のLvから現在Lvになるために必要なソウル*この倍率 + None + 0 + 10 + 13000 + + + + + + AIジャンプ減速パラメータ + AIジャンプ用減速パラメータ(0.0:等速運動、1.0:最大減速、目標地点で速度0) + None + 0 + 1 + 13400 + + + バディインスタンス削除保証時間 + 死亡フラグから実際にインスタンスが消滅するまでの時間 + None + 0 + 10 + 13500 + + + AIジャンプ飛び降り時Y移動量補正率 + AIジャンプ飛び降り時Y移動量補正率 + None + 0 + 99 + 13600 + + + ステルス視界倍率_ステルス効果無しでしゃがみ + ステルス視界倍率_ステルス効果無しでしゃがみ + None + 0 + 1 + 13700 + + + ステルス視界倍率_ステルスレイ遮蔽地帯で立ち + ステルス視界倍率_ステルスレイ遮蔽地帯で立ち + None + 0 + 1 + 13800 + + + ステルス視界倍率_ステルスレイ遮蔽地帯でしゃがみ + ステルス視界倍率_ステルスレイ遮蔽地帯でしゃがみ + None + 0 + 1 + 13900 + + + + + + + + + + + + + + + + + + + + 黄衣の翁サイン作成時特殊効果ID + 黄衣の翁サイン作成時特殊効果ID + None + -1 + 999999999 + 16200 + + + + + + + + レイ遮断でバディがプレイヤーにワープする時間[s] + レイ遮断でバディがプレイヤーにワープする時間[s] + %d + None + 0 + 999.9 + 0.1 + 17000 + + + 直線距離でバディがプレイヤーにワープする距離[m] + 直線距離でバディがプレイヤーにワープする距離[m] + %d + None + 0 + 999.9 + 0.1 + 17100 + + + バディがパス移動で詰まった判定する時間[s] + バディがパス移動で詰まった判定する時間[s] + %d + None + 0 + 999.9 + 0.1 + 17200 + + + バディがパス移動で詰まっているとみなす距離[m] + バディがパス移動で詰まっているとみなす距離[m] + %d + None + 0 + 999.9 + 0.1 + 17300 + + + [朝]AI視界倍率 + [朝]AI視界倍率 + None + 0 + 1 + 20000 + + + [昼]AI視界倍率 + [昼]AI視界倍率 + None + 0 + 1 + 20100 + + + バディとプレイヤーがぶつかって、すり抜け始める時間[s] + バディとプレイヤーがぶつかって、すり抜け始める時間[s] + None + 0 + 999.9 + 0.1 + 30300 + + + [夕]AI視界倍率 + [夕]AI視界倍率 + None + 0 + 1 + 20300 + + + [夜]AI視界倍率 + [夜]AI視界倍率 + None + 0 + 1 + 20400 + + + [深夜]AI視界倍率 + [深夜]AI視界倍率 + None + 0 + 1 + 20500 + + + + AI視界倍率_太陽が見えない場所(明るい) + AI視界倍率_太陽が見えない場所(明るい) + None + 0 + 1 + 20700 + + + AI視界倍率_太陽が見えない場所(暗闇) + AI視界倍率_太陽が見えない場所(暗闇) + None + 0 + 1 + 20800 + + + AI視界倍率_太陽が見えない場所(真っ暗闇) + AI視界倍率_太陽が見えない場所(真っ暗闇) + None + 0 + 1 + 20900 + + + ステルス視界角度減衰率_ステルス効果無しでしゃがみ + ステルス視界角度減衰率_ステルス効果無しでしゃがみ + None + 0 + 100 + 0.1 + 14310 + + + ステルス視界角度減衰率_ステルスレイ遮蔽地帯で立ち + ステルス視界角度減衰率_ステルスレイ遮蔽地帯で立ち + None + 0 + 100 + 0.1 + 14320 + + + ステルス視界角度減衰率_ステルスレイ遮蔽地帯でしゃがみ + ステルス視界角度減衰率_ステルスレイ遮蔽地帯でしゃがみ + None + 0 + 100 + 0.1 + 14330 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + レベルシンク適用判定最大武器強化レベル係数11白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10110 + + + レベルシンク適用判定最大武器強化レベル係数12白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10120 + + + レベルシンク適用判定最大武器強化レベル係数13白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10130 + + + レベルシンク適用判定最大武器強化レベル係数14白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10140 + + + レベルシンク適用判定最大武器強化レベル係数15白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10150 + + + レベルシンク適用判定最大武器強化レベル係数16白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10160 + + + レベルシンク適用判定最大武器強化レベル係数17白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10170 + + + レベルシンク適用判定最大武器強化レベル係数18白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10180 + + + レベルシンク適用判定最大武器強化レベル係数19白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10190 + + + レベルシンク適用判定最大武器強化レベル係数20白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10200 + + + レベルシンク適用判定最大武器強化レベル係数21白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10210 + + + レベルシンク適用判定最大武器強化レベル係数22白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10220 + + + レベルシンク適用判定最大武器強化レベル係数23白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10230 + + + レベルシンク適用判定最大武器強化レベル係数24白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10240 + + + レベルシンク適用判定最大武器強化レベル係数25白 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 10250 + + + レベルシンク適用判定最大武器強化レベル係数11赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11110 + + + レベルシンク適用判定最大武器強化レベル係数12赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11120 + + + レベルシンク適用判定最大武器強化レベル係数13赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11130 + + + レベルシンク適用判定最大武器強化レベル係数14赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11140 + + + レベルシンク適用判定最大武器強化レベル係数15赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11150 + + + レベルシンク適用判定最大武器強化レベル係数16赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11160 + + + レベルシンク適用判定最大武器強化レベル係数17赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11170 + + + レベルシンク適用判定最大武器強化レベル係数18赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11180 + + + レベルシンク適用判定最大武器強化レベル係数19赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11190 + + + レベルシンク適用判定最大武器強化レベル係数20赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11200 + + + レベルシンク適用判定最大武器強化レベル係数21赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11210 + + + レベルシンク適用判定最大武器強化レベル係数22赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11220 + + + レベルシンク適用判定最大武器強化レベル係数23赤 + レベルシンク適用するかどうかの最大武器強化レベル係数 + None + 25 + 11230 + + + + メニュー用時間帯表示_昼1_開始時刻_時 + メニュー用時間帯表示_昼1_開始時刻_時(SEQ22108) + None + 23 + 30152 + + + メニュー用時間帯表示_昼1_開始時刻_分 + メニュー用時間帯表示_昼1_開始時刻_分(SEQ22108) + None + 59 + 30153 + + + メニュー用時間帯表示_昼2_開始時刻_時 + メニュー用時間帯表示_昼2_開始時刻_時(SEQ22108) + None + 23 + 30154 + + + メニュー用時間帯表示_昼2_開始時刻_分 + メニュー用時間帯表示_昼2_開始時刻_分(SEQ22108) + None + 59 + 30155 + + + メニュー用時間帯表示_夕_開始時刻_時 + メニュー用時間帯表示_夕_開始時刻_時(SEQ22108) + None + 23 + 30156 + + + メニュー用時間帯表示_夕_開始時刻_分 + メニュー用時間帯表示_夕_開始時刻_分(SEQ22108) + None + 59 + 30157 + + + メニュー用時間帯表示_夜_開始時刻_時 + メニュー用時間帯表示_夜_開始時刻_時(SEQ22108) + None + 23 + 30158 + + + メニュー用時間帯表示_夜_開始時刻_分 + メニュー用時間帯表示_夜_開始時刻_分(SEQ22108) + None + 59 + 30159 + + + + + + + + 地図ポイント出場領域のデフォルト拡張距離[m] + 地図ポイントの出場領域のデフォルトの拡張距離。地図ポイントの"出場領域 上書き領域"が無効(-1)のときに、自身の領域から拡張して出場領域が生成される。その拡張距離 + %.1f + None + 0 + 999.9 + 0.1 + 41010 + + + ネットワークPC脅威度通知_通知時間[秒] + ネットワークPC脅威度通知_通知時間[秒](SEQ21950) + None + 50030 + + + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_グレーター系(ID102) + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_グレーター系(ID102) + None + 9999 + 5210 + + + 侵入時に付与する"再侵入アイテム"の道具アイテムID:侵入アイテム_グレーター系(ID102) + 侵入時に付与する"再侵入アイテム"の道具アイテムID:侵入アイテム_グレーター系(ID102) + None + -1 + 999999999 + 5200 + + + 降りる大ジャンプ_上空SFXID + 降りる大ジャンプ_上空SFXID + None + -1 + 999999999 + 60000 + + + + + + + + + + + + + + + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_グレーター系使い捨て(ID111) + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_グレーター系使い捨て(ID111) + None + 9999 + 5230 + + + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_火山館系(ID112) + 侵入時に付与する"再侵入アイテム"の付与個数:侵入アイテム_火山館系(ID112) + None + 9999 + 5250 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_AAQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_AAQuality.xml index af61d08e..bb829a13 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_AAQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_AAQuality.xml @@ -1,12 +1,31 @@ - + CS_AA_QUALITY_DETAIL 1 False True - 203 + 0 - - + + AA有効 + ON_OFF + AA有効 + %u + None + 1 + 1 + + + 強制的にFXAA2 + ON_OFF + 強制的にFXAA2 + %u + None + 1 + 2 + + + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DOFQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DOFQuality.xml index d87c7fbe..88075512 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DOFQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DOFQuality.xml @@ -1,14 +1,38 @@ - + CS_DOF_QUALITY_DETAIL 1 False True - 203 + 0 - - - - + + DOF許可 + ON_OFF + DOF許可 + %u + None + 1 + 1 + + + 9999 + + + HiResolutionBlur の設定を変更する + HiResolutionBlur の設定を変更する(-1:強制オフ、0:そのまま、1:強制オン) + None + -1 + 1 + 2 + + + 最大ブラーレベル + 最大ブラーレベル。2:最大、1:レベルを一段落とす、0:さらに精度を落とす + None + 0 + 2 + 3 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DecalQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DecalQuality.xml index 98658b3b..3fad0402 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DecalQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_DecalQuality.xml @@ -1,12 +1,22 @@ - + CS_DECAL_QUALITY_DETAIL 1 False True - 203 + 0 - - + + デカール有効 + ON_OFF + デカール有効 + %u + None + 1 + 1 + + + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_EffectQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_EffectQuality.xml index 1fc25ad4..bbe860f6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_EffectQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_EffectQuality.xml @@ -1,20 +1,109 @@ - + CS_EFFECT_QUALITY_DETAIL - 1 + 3 False True - 203 + 0 - - - - - - - - - - + + ソフトパーティクル有効 + ON_OFF + ソフトパーティクル有効 + %u + None + 1 + + + グロー有効 + ON_OFF + グロー有効 + %u + None + 1 + + + 歪み有効 + ON_OFF + 歪み有効 + %u + None + 1 + + + バイラテラルアップスケールを有効 + CS_GCONFIG_ENABLED_TYPE + バイラテラルアップスケール有効 + %u + None + 20 + + + 一回のエミット数 + 一回のエミット数 + None + 0 + 10 + 0.1 + 20 + + + エミット間隔 + エミット間隔 + None + 0 + 10 + 0.1 + 20 + + + 1段階目のLOD距離スケール + 1段階目のLOD距離スケール + None + 0 + 10 + 0.1 + 20 + + + 2段階目のLOD距離スケール + 2段階目のLOD距離スケール + None + 0 + 10 + 0.1 + 20 + + + 3段階目のLOD距離スケール + 3段階目のLOD距離スケール + None + 0 + 10 + 0.1 + 20 + + + 4段階目のLOD距離スケール + 4段階目のLOD距離スケール + None + 0 + 10 + 0.1 + 20 + + + 縮小バッファへ登録される距離への倍率 + 縮小バッファへ登録される距離への倍率 + None + 0 + 10 + 0.1 + 20 + + + ダミー + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_LightingQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_LightingQuality.xml index 95334ac2..e161294a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_LightingQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_LightingQuality.xml @@ -1,13 +1,48 @@ - + CS_LIGHTING_QUALITY_DETAIL 1 False True - 203 + 0 - - - + + ローカルライト有効距離係数 + ローカルライト有効距離係数(小さくすると、近い距離で消える) + None + 0.5 + 1.2 + 1 + + + ローカルライトシャドウ有効 + ON_OFF + ローカルライトシャドウ有効 + %u + None + 1 + 2 + + + フォワードパスライティング有効 + ON_OFF + フォワードパスライティング有効 + %u + None + 1 + 3 + + + ローカルライトシャドウスペックレベル + ローカルライトシャドウスペックレベル。大きいほど、より多くの光源にシャドウが設定される + %u + None + 1 + 5 + 4 + + + 6 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_MotionBlurQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_MotionBlurQuality.xml index 4a52b68e..16128fbd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_MotionBlurQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_MotionBlurQuality.xml @@ -1,15 +1,68 @@ - + CS_MOTION_BLUR_QUALITY_DETAIL - 1 + 2 False True - 203 + 0 - - - - - + + モーションブラー有効 + ON_OFF + モーションブラー有効 + %u + None + 1 + + + OMB(オブジェクトモーションブラー)有効 + ON_OFF + OMB(オブジェクトモーションブラー)有効 + %u + None + 1 + + + 内部で使用するベロシティバッファの解像度を下げる + ON_OFF + 内部で使用するベロシティバッファの解像度を下げる。高精度ベロシティバッファを使っていない場合は効果ない + %u + None + 1 + + + 通常、Reconstructionフィルタで処理されるが、軽い処理にダウングレードする + ON_OFF + 通常、Reconstructionフィルタで処理されるが、軽い処理にダウングレードする + %u + None + 1 + 20 + + + サンプルカウントにオフセットを与える + サンプルカウントにオフセットを与える※2の倍数に設定して下さい + None + -4 + 2 + 10 + + + 再帰ブラー回数にオフセットを与える + 再帰ブラー回数にオフセットを与える + None + -1 + 1 + 10 + + + ブラー最大長さパラメータに対するスケール値 + ブラー最大長さパラメータに対するスケール値 + None + 0 + 1 + 0.1 + 10 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_RaytracingQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_RaytracingQuality.xml index 5dd98dfd..1650b9e8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_RaytracingQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_RaytracingQuality.xml @@ -1,18 +1,20 @@ - + CS_RAYTRACING_QUALITY_DETAIL - 1 + 2 False True - 203 + 0 - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ReflectionQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ReflectionQuality.xml index 13fed962..8a93f605 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ReflectionQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ReflectionQuality.xml @@ -1,18 +1,103 @@ - + CS_REFLECTION_QUALITY_DETAIL 1 False True - 203 + 0 - - - - - - - - + + 反射有効 + ON_OFF + 反射有効 + %u + None + 1 + 1 + + + ローカルライト有効 + ON_OFF + ローカルライト有効 + %u + None + 1 + 2 + + + ローカルライト強制有効 + ON_OFF + ローカルライト強制有効 + %u + None + 1 + 3 + + + 13 + + + 解像度スケール + 解像度スケール + %u + None + 1 + 4 + 4 + + + SSR有効 + ON_OFF + SSR有効 + %u + None + 1 + 5 + + + ガウスぼかしの許可 + ON_OFF + ガウスぼかしの許可 + %u + None + 1 + 6 + + + dmy + 14 + + + 計算距離スケール + 計算距離スケール + None + 0.2 + 2 + 7 + + + レイトレースステップ係数(SSRパラメータに乗算) + レイトレースステップ係数(SSRパラメータに乗算) + None + 0.2 + 4 + 8 + + + フェード角度バイアス。小さくすると高品質 + フェード角度バイアス。小さくすると高品質 + None + -1 + 1 + 9 + + + フレネルリジェクトバイアス。小さくすると高品質 + フレネルリジェクトバイアス。小さくすると高品質 + None + -1 + 1 + 10 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_SSAOQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_SSAOQuality.xml index c26914bb..a6fa8baf 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_SSAOQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_SSAOQuality.xml @@ -1,13 +1,46 @@ - + CS_SSAO_QUALITY_DETAIL - 1 + 2 False True - 203 + 0 - - - + + SSAO有効 + ON_OFF + SSAO有効 + %u + None + 1 + 1 + + + リプロジェクション有効 + CS_GCONFIG_ENABLED_TYPE + リプロジェクション強制有効の時は、PreventGhostも有効になる + %u + None + 2 + + + バイラテラルアップスケール有効 + CS_GCONFIG_ENABLED_TYPE + バイラテラルアップスケール有効 + %u + None + 3 + + + 法線使用有効 + CS_GCONFIG_ENABLED_TYPE + 法線使用有効 + %u + None + 4 + + + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShaderQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShaderQuality.xml index c4d7ca26..71c3d29b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShaderQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShaderQuality.xml @@ -1,12 +1,42 @@ - + CS_SHADER_QUALITY_DETAIL 1 False True - 203 + 0 - - + + SSS有効 + ON_OFF + SSS有効 + %u + None + 1 + 1 + + + テッセレーション有効 + ON_OFF + テッセレーション有効 + %u + None + 1 + 2 + + + 高精度ノーマル有効 + ON_OFF + 高精度ノーマル有効(G-Bufferに格納する法線の精度の設定) + %u + None + 1 + 3 + + + + None + 4 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShadowQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShadowQuality.xml index b8eb089f..d3e3ff65 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShadowQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_ShadowQuality.xml @@ -1,17 +1,74 @@ - + CS_SHADOW_QUALITY_DETAIL - 1 + 2 False True - 203 + 0 - - - - - - - + + シャドウが有効 + ON_OFF + シャドウが有効 + %u + None + 1 + + + 許可される最大のフィルタ品質 + GX_SHADOW_FILTER_LEVEL + 許可される最大のフィルタ品質 + %u + None + 100 + + + 9999 + + + 設定されたシャドウマップ解像度のスケーラ + 設定されたシャドウマップ解像度のスケーラ + %u + None + 1 + 100 + 1 + + + 設定されたシャドウマップ解像度を除算 + 設定されたシャドウマップ解像度を除算 + %u + None + 1 + 100 + 2 + + + 解像度最小 + 解像度をクランプ + %u + None + 128 + 4096 + 3 + + + 解像度最大 + 解像度をクランプ。カスケード毎の解像度判定になります + %u + None + 128 + 4096 + 4 + + + ブラーカウントバイアス + ブラーカウントバイアス(設定されたカウントのバイアス。0で変更なし) + %u + None + -4 + 0 + 5 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_TextureFilterQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_TextureFilterQuality.xml index a20555ea..70750c5e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_TextureFilterQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_TextureFilterQuality.xml @@ -1,13 +1,31 @@ - + CS_TEXTURE_FILTER_QUALITY_DETAIL 1 False True - 203 + 0 - - - + + フィルター + GX_TEXTURE_FILTER + フィルター + %u + None + 3 + 1 + + + 9999 + + + アニソレベル + アニソレベル + %u + None + 1 + 16 + 2 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_VolumetricEffectQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_VolumetricEffectQuality.xml index cab5dbcc..8899454d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_VolumetricEffectQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_VolumetricEffectQuality.xml @@ -1,20 +1,151 @@ - + CS_VOLUMETRIC_EFFECT_QUALITY_DETAIL - 1 + 2 False True - 203 + 0 - - - - - - - - - - + + フォグ有効 + ON_OFF + フォグ有効 + %u + None + 1 + 100 + + + フォグシャドウ許可 + ON_OFF + フォグシャドウ許可 + %u + None + 1 + 200 + + + dmy + %u + 10000 + + + シャドウのサンプルカウントオフセット。 + シャドウのサンプルカウントオフセット。 + None + -16 + 16 + 300 + + + ローカルライト計算距離スケール (0にするとローカルライト計算をしない) + ローカルライト計算距離スケール (0にするとローカルライト計算をしない) + None + 0 + 2 + 400 + + + フォグボリュームサイズスケーラ + フォグボリュームサイズスケーラ + None + 1 + 8 + 500 + 配置式フォグボリューム用設定 + + + フォグボリュームサイズ除算 + フォグボリュームサイズ除算 + None + 1 + 8 + 600 + 配置式フォグボリューム用設定 + + + フォグボリューム奥行きスライススケーラ + フォグボリューム奥行きスライススケーラ + None + 1 + 8 + 700 + 配置式フォグボリューム用設定 + + + フォグボリューム奥行きスライス除算 + フォグボリューム奥行きスライス除算 + None + 1 + 8 + 800 + 配置式フォグボリューム用設定 + + + 配置式フォグボリューム有効 + ON_OFF + 配置式フォグボリューム有効 + None + 1 + 900 + 配置式フォグボリューム用設定 + + + アップスケール種別 + GRAPHICS_CONFIG_CS_GCONFIG_FOG_VOLUME_UPSCALE_TYPE + アップスケール時の手法種別 + None + 2 + 1000 + 配置式フォグボリューム用設定 + + + バイラテラル時のみ行われるエッジ補正レベル + GRAPHICS_CONFIG_CS_GCONFIG_FOG_VOLUME_EDGE_CORRECTION_LEVEL + バイラテラル時のみ行われるエッジ補正レベル(0:無効,1:1/2x1/2解像度でのエッジ再描画許可,2:1/2x1/2+1x1解像度でパラメータ削減ありのエッジ再描画許可,3:1/2x1/2+1x1解像度でのエッジ再描画許可) + None + 3 + 1200 + 配置式フォグボリューム用設定 + + + レイマーチング時のサンプリング数のオフセット + レイマーチング時のサンプリング数のオフセット + None + -127 + 1300 + 配置式フォグボリューム用設定 + + + シャドウ許可 + ON_OFF + シャドウ許可(領域に影が落ちる、領域内の密度変化による陰影処理を指す) + None + 1 + 1400 + 配置式フォグボリューム用設定 + + + シャドウ許可時に設定にかかわらず領域に強制的に影を落とす + ON_OFF + シャドウ許可時に設定にかかわらず領域に強制的に影を落とす(陰影処理は影響をうけない) + None + 1 + 1500 + 配置式フォグボリューム用設定 + + + フォグボリュームのアップスケール処理解像度 + GRAPHICS_CONFIG_CS_GCONFIG_FOG_VOLUME_RESOLUTION + None + 2 + 1100 + 配置式フォグボリューム用設定 + + + pad + %u + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_WaterQuality.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_WaterQuality.xml index 416b208b..9d41c257 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_WaterQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Gconfig_WaterQuality.xml @@ -1,12 +1,22 @@ - + CS_WATER_QUALITY_DETAIL 1 False True - 203 + 0 - - + + インタラクション有効 + ON_OFF + インタラクション有効 + %u + None + 1 + 1 + + + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GestureParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GestureParam.xml index 0b1cd300..44721700 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GestureParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GestureParam.xml @@ -1,15 +1,58 @@ - + GESTURE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 301 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 302 + + + 参照アイテムID + 参照アイテムID。各メニューでのジェスチャのテキストID、アイコンID、ソートIDを持ってくるのに使用される。装備品パラメータの道具IDを登録します + 0 + 99999999 + 100 + + + メッセージ添付用アニメID + メッセージ添付用アニメID。メッセージ添付時のアニメIDを指定します + 0 + 99999999 + 200 + + + 騎乗中使用禁止か + BOOL_CIRCLECROSS_TYPE + 騎乗中使用禁止か(デフォルト:×)。○なら騎乗中に使用できない + 1 + 300 + + + 予約領域 + 303 + + + 予約領域 + 304 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GparamRefSettings.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GparamRefSettings.xml index 5df04c25..6149efd7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GparamRefSettings.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GparamRefSettings.xml @@ -1,19 +1,41 @@ - + GPARAM_REF_SETTINGS_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 11 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 12 + + + 参照先マップID + 参照先のマップ番号を指定します。レガシー:m10_10_00_00 -> 10010000, オープン:m60_??_??_?? -> m60000000 + None + -1 + 10 + + + リザーブ + リザーブ + 13 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsCommonParam.xml index 6fcb9b03..90472954 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsCommonParam.xml @@ -1,75 +1,36 @@ - + GRAPHICS_COMMON_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + HIT INSに弾丸が当たった時のデカール発生位置オフセット + HIT INSに当たった時に発生するデカールの発生位置を法線方向にこの値だけオフセットする + %.2f + 0 + 99 + 0.1 + 100 + + + 予約 + (dummy8) + 401 + + + キャラが濡れた時のデカールフェード範囲[m] + キャラが濡れた時にデカールを消すフェード範囲[m] + 0 + 1 + 400 + + + 予約 + (dummy8) + 402 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsConfig.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsConfig.xml index ff0a3c25..66379211 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsConfig.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GraphicsConfig.xml @@ -1,15 +1,123 @@ - + CS_GRAPHICS_CONFIG_PARAM_ST - 1 + 2 False True - 203 + 0 + + テクスチャフィルタ品質 + GX_QUALITY_LEVEL_ENUM + テクスチャフィルタ品質(デフォルトMidele) + %u + 4 + 1 + + + AA品質 + GX_QUALITY_LEVEL_ENUM + AA品質(デフォルトHigh) + %u + 4 + 2 + + + SSAO品質 + GX_QUALITY_LEVEL_ENUM + SSAO品質(デフォルトHigh) + %u + 4 + 3 + + + 被写界深度品質 + GX_QUALITY_LEVEL_ENUM + 被写界深度品質(デフォルトHigh) + %u + 4 + 4 + + + モーションブラー品質 + GX_QUALITY_LEVEL_ENUM + モーションブラー品質(デフォルトHigh) + %u + 4 + 5 + + + シャドウ品質 + GX_QUALITY_LEVEL_ENUM + シャドウ品質(デフォルトHigh) + %u + 4 + 6 + + + ライティング品質 + GX_QUALITY_LEVEL_ENUM + ライティング品質(デフォルトHigh) + %u + 4 + 7 + + + エフェクト品質 + GX_QUALITY_LEVEL_ENUM + エフェクト品質(デフォルトHigh) + %u + 4 + 8 + + + デカール品質 + GX_QUALITY_LEVEL_ENUM + デカール品質(デフォルトHigh) + %u + 4 + 9 + + + 反射品質 + GX_QUALITY_LEVEL_ENUM + 反射品質(デフォルトHigh) + %u + 4 + 10 + + + ウォーター品質 + GX_QUALITY_LEVEL_ENUM + ウォーター品質(デフォルトHigh) + %u + 4 + 11 + + + シェーダー品質 + GX_QUALITY_LEVEL_ENUM + シェーダー品質(デフォルトHigh) + %u + 4 + 12 + + + ボリューメトリック効果品質 + GX_QUALITY_LEVEL_ENUM + ボリューメトリック効果品質(デフォルトHigh) + %u + 4 + 13 + - - - - + + + + dmy + %u + Wrap + 15 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GrassLodRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GrassLodRangeParam.xml index d9bffe75..f6c52a8f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GrassLodRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GrassLodRangeParam.xml @@ -1,17 +1,58 @@ - + GRASS_LOD_RANGE_PARAM_ST 1 False True - 203 + 0 - - - - - - - + + LOD0 - 距離 + None + 0 + 9999 + 1 + 1 + + + LOD0 - 遊び + None + 0 + 9999 + 1 + 2 + + + LOD1 - 距離 + None + 0 + 9999 + 1 + 3 + + + LOD1 - 遊び + None + 0 + 9999 + 1 + 4 + + + LOD2 - 距離 + None + 0 + 9999 + 1 + 5 + + + LOD2 - 遊び + None + 0 + 9999 + 1 + 6 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/GrassTypeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/GrassTypeParam.xml index dd56698c..f9b000ee 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/GrassTypeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/GrassTypeParam.xml @@ -1,80 +1,232 @@ - + GRASS_TYPE_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + LOD距離 + 1 + + + LOD0のクラスタータイプ + GRASS_CLUSTER_TYPE_ENUM + %u + 2 + + + LOD1のクラスタータイプ + GRASS_CLUSTER_TYPE_ENUM + %u + 3 + + + LOD2のクラスタータイプ + GRASS_CLUSTER_TYPE_ENUM + %u + 4 + + + 39 + + + 配置方法 + GRASS_DISTRIBUTION_TYPE_ENUM + %u + 5 + + + 基本密度 + None + 0 + 10 + 0.1 + 6 + + + モデル名(0) + 7 + + + フラットテクスチャー名 + 8 + + + ビルボードのテクスチャー名 + 9 + + + 傾きの影響(%) + %u + None + 100 + 10 + + + 傾きの最大角度(度) + %u + None + 180 + 11 + + + 傾斜角のランダム性(度) + %u + None + 180 + 12 + + + 幅のスケール範囲(min,%) + %u + None + 200 + 13 + + + 幅のスケール範囲(max,%) + %u + None + 200 + 14 + + + 高さのスケール範囲(min,%) + %u + None + 200 + 15 + + + 高さのスケール範囲(max,%) + %u + None + 200 + 16 + + + 乗算カラー1 (赤) + %u + None + 17 + + + 乗算カラー1 (緑) + %u + None + 18 + + + 乗算カラー 1(青) + %u + None + 19 + + + 乗算カラー2 (赤) + %u + None + 20 + + + 乗算カラー2 (緑) + %u + None + 21 + + + 乗算カラー 2(青) + %u + None + 22 + + + 平面の分離 + GRASS_FLAT_SPLIT_TYPE_ENUM + %u + 23 + + + 平面の枚数 + %u + 1 + 8 + 24 + + + 平面の角度(度) + -90 + 90 + 25 + + + 平面の距離 + -10 + 10 + 0.1 + 26 + + + 影を落とすか + GRASS_SHADOW_TYPE_ENUM + %u + 27 + + + 振幅(揺れの大きさ) + %u + 28 + + + %d + Wrap + 40 + + + 周期(速度) + %u + 29 + + + 方向(度) + -1の場合はランダム + -1 + 360 + 1 + 30 + + + 方向の範囲(度) + -1 + 180 + 1 + 31 + + + モデル間隔 + 0 + 9999 + 0.1 + 32 + + + ディザリング + GRASS_DITHERING_TYPE_ENUM + 33 + + + pad2 + 41 + + + Simpleモデル名 + 34 + + + モデル名(1) + 35 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuCameraParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuCameraParam.xml index c9e7e61f..0682a537 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuCameraParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuCameraParam.xml @@ -4,20 +4,20 @@ 1 False True - 203 + 0 - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuParam.xml index 87885105..ce57ad4c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HeroMenuParam.xml @@ -4,16 +4,24 @@ 1 False True - 203 + 0 + + + - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HeroOperationExplanationParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HeroOperationExplanationParam.xml index 00695c90..72d19ae9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HeroOperationExplanationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HeroOperationExplanationParam.xml @@ -1,16 +1,20 @@ HERO_OPERATION_EXPLANATION_PARAM_ST - 1 + 2 False True - 203 + 0 + + + - - - - - + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HeroParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HeroParam.xml index ff8a78af..b01225aa 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HeroParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HeroParam.xml @@ -4,48 +4,51 @@ 1 False True - 203 + 0 + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HeroStatusParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HeroStatusParam.xml index 4ceedea4..2f28169d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HeroStatusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HeroStatusParam.xml @@ -1,18 +1,28 @@ HERO_STATUS_PARAM - 1 + 2 False True - 203 + 0 + + + - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxConceptParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxConceptParam.xml index 3daa4371..e93b4811 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxConceptParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxConceptParam.xml @@ -1,31 +1,115 @@ - + HIT_EFFECT_SFX_CONCEPT_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - + + 鉄製:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + 鉄製:概念1 + 0 + 9999 + 1 + + + 鉄製:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + 鉄製:概念2 + 0 + 9999 + 2 + + + 革製:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + 革:概念1 + 0 + 9999 + 3 + + + 革製:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + 革:概念2 + 0 + 9999 + 4 + + + 木製:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + 木製:概念1 + 0 + 9999 + 5 + + + 木製:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + 木製:概念2 + 0 + 9999 + 6 + + + 肉:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + 肉:概念1 + 0 + 9999 + 7 + + + 肉:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + 肉:概念2 + 0 + 9999 + 8 + + + 石製:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + 蝕:概念1 + 0 + 9999 + 9 + + + 石製:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + 蝕:概念2 + 0 + 9999 + 10 + + + %d + Wrap + 15 + + + なし:概念1 + HIT_EFFECT_SFX_CONCEPT_TYPE + なし:概念1 + 0 + 9999 + 11 + + + なし:概念2 + HIT_EFFECT_SFX_CONCEPT_TYPE + なし:概念2 + 0 + 9999 + 12 + + + 予約領域 + 16 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxParam.xml index 81806082..75324ab4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HitEffectSfxParam.xml @@ -1,31 +1,150 @@ - + HIT_EFFECT_SFX_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - + + 斬撃:標準 + 斬撃:標準 + 0 + 999999999 + 1 + + + 斬撃:小 + 斬撃:小 + 0 + 999999999 + 2 + + + 斬撃:大 + 斬撃:大 + 0 + 999999999 + 3 + + + 斬撃:指定1 + 斬撃:指定1 + 0 + 999999999 + 4 + + + 斬撃:指定2 + 斬撃:指定2 + 0 + 999999999 + 5 + + + 打撃:標準 + 打撃:標準 + 0 + 999999999 + 6 + + + 打撃:小 + 打撃:小 + 0 + 999999999 + 7 + + + 打撃:大 + 打撃:大 + 0 + 999999999 + 8 + + + 打撃:指定1 + 打撃:指定1 + 0 + 999999999 + 9 + + + 打撃:指定2 + 打撃:指定2 + 0 + 999999999 + 10 + + + 刺突:標準 + 刺突:標準 + 0 + 999999999 + 11 + + + 刺突:小 + 刺突:小 + 0 + 999999999 + 12 + + + 刺突:大 + 刺突:大 + 0 + 999999999 + 13 + + + 刺突:指定1 + 刺突:指定1 + 0 + 999999999 + 14 + + + 刺突:指定2 + 刺突:指定2 + 0 + 999999999 + 15 + + + 無属性:標準 + 無属性:標準 + 0 + 999999999 + 16 + + + 無属性:小 + 無属性:小 + 0 + 999999999 + 17 + + + 無属性:大 + 無属性:大 + 0 + 999999999 + 18 + + + 無属性:指定1 + 無属性:指定1 + 0 + 999999999 + 19 + + + 無属性:指定2 + 無属性:指定2 + 0 + 999999999 + 20 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/HitMtrlParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/HitMtrlParam.xml index 1d3f3748..8803728e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/HitMtrlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/HitMtrlParam.xml @@ -1,36 +1,225 @@ - + HIT_MTRL_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - + + 音半径倍率 + 1倍のときは普通。0にすると音半径が0になる(SEとSFXは無関係のゲーム的なパラメータ) + 0 + 99 + 1000 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 + キャラがヒットマテリアルを踏んだ時に、設定した特殊効果0が発揮される + -1 + 99999999 + 2000 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 + キャラがヒットマテリアルを踏んだ時に、設定した特殊効果1が発揮される + -1 + 99999999 + 2000 + + + フットエフェクトの高さタイプ + HMP_FOOT_EFFECT_HEIGHT_TYPE + フットエフェクトを発生させる高さ + 2 + 3000 + + + フットエフェクトの向きタイプ + HMP_FOOT_EFFECT_DIR_TYPE + フットエフェクトの発生向き + 2 + 3000 + + + 地面の高さタイプ + HMP_FLOOR_HEIGHT_TYPE + 水面などアイテムを浮かせるとき用 + 1 + 4000 + + + 落下ダメージ無効か + 落下ダメージを受けない床の場合に 1 を設定する + 1 + 6000 + + + + サウンド反響用硬い材質か? + サウンド反響用 硬い材質か?(0:やわらかい,1:かたい) + 1 + 5001 + + + 材質の固さタイプ + HMP_HARDNESS_TYPE + 材質の固さ。剛体のソフトコンタクト処理に使用。 + %u + 2 + 5000 + + + pad + pad + %u + Wrap + 99999999 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 2周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 2周目 + -1 + 99999999 + 2200 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 3周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 3周目 + -1 + 99999999 + 2201 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 4周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 4周目 + -1 + 99999999 + 2202 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 5周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 5周目 + -1 + 99999999 + 2203 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 6周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 6周目 + -1 + 99999999 + 2204 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 7周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 7周目 + -1 + 99999999 + 2205 + + + ヒットマテリアルを踏んだ時にかかる特殊効果0 8周目 + ヒットマテリアルを踏んだ時にかかる特殊効果0 8周目 + -1 + 99999999 + 2206 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 2周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 2周目 + -1 + 99999999 + 2300 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 3周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 3周目 + -1 + 99999999 + 2301 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 4周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 4周目 + -1 + 99999999 + 2302 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 5周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 5周目 + -1 + 99999999 + 2303 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 6周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 6周目 + -1 + 99999999 + 2304 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 7周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 7周目 + -1 + 99999999 + 2305 + + + ヒットマテリアルを踏んだ時にかかる特殊効果1 8周目 + ヒットマテリアルを踏んだ時にかかる特殊効果1 8周目 + -1 + 99999999 + 2306 + + + ヒットマテリアル差し替え(雨) + 天候(雨)によるヒットマテリアル変更先ID(-1:変更を行なわない) + -1 + 99 + 7000 + + + pad + pad + 99999999 + + + 濡れ特殊効果ID_00 + 濡れ用特殊効果00 + -1 + 99999999 + 3400 + + + 濡れ特殊効果ID_01 + 濡れ用特殊効果01 + -1 + 99999999 + 3410 + + + 濡れ特殊効果ID_02 + 濡れ用特殊効果02 + -1 + 99999999 + 3420 + + + 濡れ特殊効果ID_03 + 濡れ用特殊効果03 + -1 + 99999999 + 3430 + + + 濡れ特殊効果ID_04 + 濡れ用特殊効果04 + -1 + 99999999 + 3440 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ItemLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ItemLotParam.xml index 1638e448..bb01e6c1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ItemLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ItemLotParam.xml @@ -1,65 +1,539 @@ - + ITEMLOT_PARAM_ST - 1 + 5 False True - 203 + 0 + + 1:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 400 + + + 2:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 1200 + + + 3:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 2000 + + + 4:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 2800 + + + 5:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 3600 + + + 6:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 4400 + + + 7:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 5200 + + + 8:アイテムID + 取得できるアイテムのID + -1 + 999999999 + 6000 + + + 1:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 300 + + + 2:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 1100 + + + 3:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 1900 + + + 4:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 2700 + + + 5:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 3500 + + + 6:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 4300 + + + 7:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 5100 + + + 8:アイテムカテゴリ + ITEMLOT_ITEMCATEGORY + 取得できるアイテムのカテゴリ + Wrap, Lock + 0 + 6 + 5900 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 600 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 1400 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 2200 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 3000 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 3800 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 4600 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 5400 + + + 基本出現ポイント + 通常時の出現ポイント + 2000 + 6200 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 700 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 1500 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 2300 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 3100 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 3900 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 4700 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 5500 + + + 累積後出現ポイント + 最大累積時の出現ポイント + 2000 + 6300 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 800 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 1600 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 2400 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 3200 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 4000 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 4800 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 5600 + + + 別ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:共通使用) + %u + Wrap, Lock + -294967297 + 6400 + + + ザクザクフラグID + 取得済みフラグとザクザク枠兼用(0:フラグ無効) + %u + Wrap, Lock + -294967297 + 150 + + + 抽選累積保存フラグID + 抽選回数保存用(※8フラグ連番使用) + %u + Wrap, Lock + -294967297 + 160 + + + 抽選累積最大数 + 抽選累積最大数(0:累積なし) + 170 + + + レア度上書き + 宝箱などに、どれくらい貴重なアイテムが入っているかを指定する。-1の時は上書きせず装備品パラのレア度を使用する + -1 + 10 + 100 + + + 個数 + 取得できるアイテムの個数 + 99 + 500 + + + 個数 + 取得できるアイテムの個数 + 99 + 1300 + + + 個数 + 取得できるアイテムの個数 + 99 + 2100 + + + 個数 + 取得できるアイテムの個数 + 99 + 2900 + + + 個数 + 取得できるアイテムの個数 + 99 + 3700 + + + 個数 + 取得できるアイテムの個数 + 99 + 4500 + + + 個数 + 取得できるアイテムの個数 + 99 + 5300 + + + 個数 + 取得できるアイテムの個数 + 99 + 6100 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 900 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 1700 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 2500 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 3300 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 4100 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 4900 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 5700 + + + 運パラメータ有効 + ITEMLOT_ENABLE_LUCK + 抽選の確率をプレイヤーの運を反映させるか + 1 + 6500 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 950 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 1750 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 2550 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 3350 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 4150 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 4950 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 5750 + + + 累積リセット + ITEMLOT_CUMULATE_RESET + 累積リセットするか + 1 + 6550 + + + X週目以降オフセット + ITEMLOT_ROUND_COUNT + 周回プレイ時のオフセット + -1 + 7 + 155 + + + 協力霊でも抽選するか + BOOL_CIRCLECROSS_TYPE + 自身が協力霊の時でも抽選するか + 1 + 180 + + + 敵対霊でも抽選するか + BOOL_CIRCLECROSS_TYPE + 自身が敵対霊の時でも抽選するか + 1 + 181 + + + PAD1 + 0 + 0 + 9999 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ItemTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ItemTableParam.xml index b5d806f6..c4797ff3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ItemTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ItemTableParam.xml @@ -1,19 +1,27 @@ ITEMTABLE_PARAM_ST - 1 + 3 False True - 203 + 0 + + + - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignMenuItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignMenuItemParam.xml index ff02573c..8fa45ca0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignMenuItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignMenuItemParam.xml @@ -1,17 +1,87 @@ - + CS_KEY_ASSIGN_MENUITEM_PARAM 1 False True - 203 + 0 - - - - - - - + + テキスト + キー指定あり⇒項目名、1行ヘルプのID。キー指定なし⇒カテゴリ名のID。テキスト指定なし⇒パッド/キー設定に表示しない(操作一覧表示のみ) + 0 + 99999999 + 200 + 割り当て項目 + + + キー + CS_USER_INPUT_KEY + 割り当て対象のユーザー入力キー。指定が無い時はカテゴリ表示用項目として扱う + -1 + 9999 + 201 + 割り当て項目 + + + 解除 + BOOL_CIRCLECROSS_TYPE + 割り当ての解除が可能か(デフォルト:可能) + 1 + 300 + 割り当て制限 + + + パッド + BOOL_CIRCLECROSS_TYPE + パッド操作の割り当て変更が可能か(デフォルト:可能) + 1 + 301 + 割り当て制限 + + + マウス + BOOL_CIRCLECROSS_TYPE + マウス操作の割り当て変更が可能か(デフォルト:可能) + 1 + 302 + 割り当て制限 + + + グループ + CS_KEY_ASSIGN_GROUP + 割り当ての重複判定用グループ。同一グループでは重複不可 + 1 + 303 + 割り当て制限 + + + テキスト + 操作一覧で表示する項目名。0::一覧に表示しない + 0 + 99999999 + 400 + 操作一覧表示 + + + パッド + BOOL_CIRCLECROSS_TYPE + キーコンフィグ(パッド)で表示するか(デフォルト:表示) + 1 + 100 + 表示条件 + + + マウス・キーボード + BOOL_CIRCLECROSS_TYPE + キーコンフィグ(マウス・キーボード)で表示するか(デフォルト:表示) + 1 + 101 + 表示条件 + + + パッド操作の割り当て変更が可能か(デフォルト:可能) + 99999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignParam.xml index e0fad5dc..8d42caa4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/KeyAssignParam.xml @@ -1,23 +1,71 @@ - + KEY_ASSIGN_PARAM_ST 1 False True - 203 + 0 + + パッド + CS_PAD_KEY + パッド(物理キー) + -1 + 9999 + 1 + パッド + + + キーボード修飾 + CS_MODIFIER_KEY + キーボード修飾キー + 0 + 999 + 2 + キーボード + + + キーボード + CS_KEYBOARD_KEY + キーボード(物理キー) + -1 + 999 + 3 + キーボード + + + マウス修飾 + CS_MODIFIER_KEY + マウス修飾キー + 0 + 999 + 4 + マウス + + + マウス + CS_MOUSE_KEY + マウス(物理キー) + 0 + 999 + 5 + マウス + - - - - - - - - - - - - + + + + + + + + + + + ---- + %d + Wrap + 7 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/KnockBackParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/KnockBackParam.xml index 5a51c02a..fc9c1a9e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/KnockBackParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/KnockBackParam.xml @@ -1,43 +1,254 @@ - + KNOCKBACK_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 極小ダメージ_速度維持時間[s] + 極小ダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 100 + + + 小ダメージ_速度維持時間[s] + 小ダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 300 + + + 中ダメージ_速度維持時間[s] + 中ダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 500 + + + 大ダメージ_速度維持時間[s] + 大ダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 700 + + + 小吹っ飛び_速度維持時間[s] + 小吹っ飛びダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 900 + + + 大吹っ飛び_速度維持時間[s] + 大吹っ飛びダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1100 + + + 叩きつけ_速度維持時間[s] + 叩きつけダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1300 + + + 打ち上げ_速度維持時間[s] + 打ち上げダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1500 + + + プッシュ_速度維持時間[s] + プッシュダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1700 + + + ブレス_速度維持時間[s] + ブレスダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1810 + + + ヘッドショット_速度維持時間[s] + ヘッドショットダメージアニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 1900 + + + ガード受け小_速度維持時間[s] + ガード受け小アニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 2100 + + + ガード受け大_速度維持時間[s] + ガード受け大アニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 2300 + + + ガード受け特大_速度維持時間[s] + ガード受け特大アニメの時に使用される維持時間を設定 + %.2f + 0 + 9.99 + 2410 + + + ガードくずされ_速度維持時間[s] + ガードくずされアニメの時に仕様される維持時間を設定 + %.2f + 0 + 9.99 + 2500 + + + 極小ダメージ_減速時間[s] + 極小ダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 200 + + + 小ダメージ_減速時間[s] + 小ダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 400 + + + 中ダメージ_減速時間[s] + 中ダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 600 + + + 大ダメージ_減速時間[s] + 大ダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 800 + + + 小吹っ飛び_減速時間[s] + 小吹っ飛びダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1000 + + + 大吹っ飛び_減速時間[s] + 大吹っ飛びダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1200 + + + 叩きつけ_減速時間[s] + 叩きつけダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1400 + + + 打ち上げ_減速時間[s] + 打ち上げダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1600 + + + プッシュ_減速時間[s] + プッシュダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1800 + + + ブレス_減速時間[s] + ブレスダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 1820 + + + ヘッドショット_減速時間[s] + ヘッドショットダメージアニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 2000 + + + ガード受け小_減速時間[s] + ガード受け小アニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 2200 + + + ガード受け大_減速時間[s] + ガード受け大アニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 2400 + + + ガード受け特大_減速時間[s] + ガード受け特大アニメの時に使用される減速時間を設定 + %.2f + 0 + 9.99 + 2420 + + + ガードくずされ_減速時間[s] + ガードくずされアニメの時に仕様される減速時間を設定 + %.2f + 0 + 9.99 + 2600 + + + pading + 2601 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/KnowledgeLoadScreenItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/KnowledgeLoadScreenItemParam.xml index 1d0fddb9..4083fba9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/KnowledgeLoadScreenItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/KnowledgeLoadScreenItemParam.xml @@ -1,15 +1,48 @@ - + KNOWLEDGE_LOADSCREEN_ITEM_PARAM_ST 1 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 301 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 302 + + + 解禁フラグ + 解禁フラグ(default: 0)。このイベントフラグが立っていれば解禁される(ローディング画面に表示される)。0なら常に解禁されている。無効フラグの方が優先される + 999999999 + 200 + + + 無効フラグ + 無効フラグ(default: 0)。このイベントフラグが立っていると無効化(ローディング画面に表示されなくなる)。0なら常にこのフラグは立っていないものとする + 999999999 + 300 + + + テキストID + テキストID(Loading Text.xlsx)。ローディングタイトルとローディングテキスト両方に使われる + -1 + 999999999 + 100 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LegacyDistantViewPartsReplaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LegacyDistantViewPartsReplaceParam.xml index a7beb91a..8d81109d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LegacyDistantViewPartsReplaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LegacyDistantViewPartsReplaceParam.xml @@ -1,27 +1,158 @@ - + LEGACY_DISTANT_VIEW_PARTS_REPLACE_PARAM - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + マップID + 対象のマップIDを指定します。レガシーのみ。(m12_34_56_78→12345678) 。当初レガシーのみでしたがオープンの天球マップも対応しました + None + -1 + 99999999 + + + 天変地異イベントID + 「300、310、311、312」の中から、対象天変地異イベントIDを入力した場合は【天変地異差し替えデータ】となります。0or空白の場合は【地方IDの切り替えデータ】となります(SEQ16039) + None + 999 + 100 + + + 差し替え元アセットID + 差し替え元AssetId:AEG123_456_9999→123456 + None + -1 + 999999 + 200 + + + 差し替え元アセットパーツID + 差し替え元PartsNo:AEG123_456_9999→9999 + None + -1 + 99999 + 300 + + + 差し替え先アセットID + 差し替え先AssetId:AEG123_456_9999→123456 + None + -1 + 999999 + 400 + + + 差し替え先アセットパーツID + 差し替え先PartsNo:AEG123_456_9999→9999 + None + -1 + 99999 + 500 + + + 差し替え元アセットID範囲指定Min + 差し替え元アセットID範囲指定Min + None + -1 + 999999 + 600 + + + 差し替え元アセットID範囲指定Max + 差し替え元アセットID範囲指定Max + None + -1 + 999999 + 700 + + + 差し替え先アセットID範囲指定Min + 差し替え先アセットID範囲指定Min + None + -1 + 999999 + 800 + + + 差し替え先アセットID範囲指定Max + 差し替え先アセットID範囲指定Max + None + -1 + 999999 + 900 + + + 地方ID制限0 + MapGD地方IDの制限0:「天変地異イベントID」が0の時だけ有効。設定したMapGD地方IDでのみパーツが有効になります(SEQ16039) + None + -1 + 99 + 1000 + + + 地方ID制限1 + MapGD地方IDの制限1:「天変地異イベントID」が0の時だけ有効。設定したMapGD地方IDでのみパーツが有効になります(SEQ16039) + None + -1 + 99 + 1001 + + + 地方ID制限2 + MapGD地方IDの制限2:「天変地異イベントID」が0の時だけ有効。設定したMapGD地方IDでのみパーツが有効になります(SEQ16039) + None + -1 + 99 + 1002 + + + 地方ID制限3 + MapGD地方IDの制限3:「天変地異イベントID」が0の時だけ有効。設定したMapGD地方IDでのみパーツが有効になります(SEQ16039) + None + -1 + 99 + 1003 + + + 予約 + 予約 + %d + 9999 + + + 地方制限アセットID + MapGD地方IDで有効なアセット指定:AssetId:AEG123_456_9999→123456 + None + -1 + 999999 + 1100 + + + 地方制限アセットパーツID + MapGD地方IDで有効なアセット指定:PartsNo:AEG123_456_9999→9999 + None + -1 + 99999 + 1101 + + + 地方制限アセットID範囲指定Min + MapGD地方IDで有効なアセット指定:アセットID範囲指定Min + None + -1 + 999999 + 1200 + + + 地方制限アセットID範囲指定Max + MapGD地方IDで有効なアセット指定:アセットID範囲指定Max + None + -1 + 999999 + 1201 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LimitedDayAssetParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LimitedDayAssetParam.xml index aab99a4a..6ca68980 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LimitedDayAssetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LimitedDayAssetParam.xml @@ -4,24 +4,24 @@ 1 False True - 203 + 0 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerDrawDistScaleParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerDrawDistScaleParam.xml index ac633e35..8137d68a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerDrawDistScaleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerDrawDistScaleParam.xml @@ -1,43 +1,184 @@ - + LOAD_BALANCER_DRAW_DIST_SCALE_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Lv00 描画距離スケール + None + 0 + 2 + 1 + 描画距離スケール + + + Lv01 描画距離スケール + None + 0 + 2 + 2 + 描画距離スケール + + + Lv02 描画距離スケール + None + 0 + 2 + 3 + 描画距離スケール + + + Lv03 描画距離スケール + None + 0 + 2 + 4 + 描画距離スケール + + + Lv04 描画距離スケール + None + 0 + 2 + 5 + 描画距離スケール + + + Lv05 描画距離スケール + None + 0 + 2 + 6 + 描画距離スケール + + + Lv06 描画距離スケール + None + 0 + 2 + 7 + 描画距離スケール + + + Lv07 描画距離スケール + None + 0 + 2 + 8 + 描画距離スケール + + + Lv08 描画距離スケール + None + 0 + 2 + 9 + 描画距離スケール + + + Lv09 描画距離スケール + None + 0 + 2 + 10 + 描画距離スケール + + + Lv10 描画距離スケール + None + 0 + 2 + 11 + 描画距離スケール + + + Lv11 描画距離スケール + None + 0 + 2 + 12 + 描画距離スケール + + + Lv12 描画距離スケール + None + 0 + 2 + 13 + 描画距離スケール + + + Lv13 描画距離スケール + None + 0 + 2 + 14 + 描画距離スケール + + + Lv14 描画距離スケール + None + 0 + 2 + 15 + 描画距離スケール + + + Lv15 描画距離スケール + None + 0 + 2 + 16 + 描画距離スケール + + + Lv16 描画距離スケール + None + 0 + 2 + 17 + 描画距離スケール + + + Lv17 描画距離スケール + None + 0 + 2 + 18 + 描画距離スケール + + + Lv18 描画距離スケール + None + 0 + 2 + 19 + 描画距離スケール + + + Lv19 描画距離スケール + None + 0 + 2 + 20 + 描画距離スケール + + + Lv20 描画距離スケール + None + 0 + 2 + 21 + 描画距離スケール + + + 予備 + 予備 + 23 + その他 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerNewDrawDistScaleParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerNewDrawDistScaleParam.xml index e3b09f48..8097ed74 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerNewDrawDistScaleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerNewDrawDistScaleParam.xml @@ -1,23 +1,92 @@ - + LOAD_BALANCER_NEW_DRAW_DIST_SCALE_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - - - - - - - - - + + 発動レベル(開始) + 描画距離スケール発動レベル(開始) + %u + 21 + 1 + 描画距離スケール + + + 発動レベル(終了) + 描画距離スケール発動レベル(修了) + %u + 21 + 2 + 描画距離スケール + + + 予備 + 予備 + 12 + その他 + + + スケール(開始) + 描画距離スケール(開始) + 0 + 2 + 3 + 描画距離スケール + + + スケール(終了) + 描画距離スケール(修了) + 0 + 2 + 4 + 描画距離スケール + + + 発動レベル(開始) + 影描画距離スケール発動レベル(開始) + %u + 21 + 5 + 影描画距離スケール + + + 発動レベル(終了) + 影描画距離スケール発動レベル(修了) + %u + 21 + 6 + 影描画距離スケール + + + 予備 + 予備 + 13 + その他 + + + スケール(開始) + 影描画距離スケール(開始) + 0 + 2 + 7 + 影描画距離スケール + + + スケール(終了) + 影描画距離スケール(修了) + 0 + 2 + 8 + 影描画距離スケール + + + 予備 + 予備 + 14 + その他 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerParam.xml index f5b3893d..583f4e85 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LoadBalancerParam.xml @@ -1,31 +1,297 @@ - + LOAD_BALANCER_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - + + このFPSを下回ったら、ロードバランスレベルを1上げる + None + 0 + 60 + 0.1 + 基本設定 + + + このFPSを上回ったら、ロードバランスレベルを1下げる + None + 0 + 60 + 0.1 + 1 + 基本設定 + + + このフレーム連続してしきい値を下回ったら、レベルアップ + %u + None + 999 + 2 + 基本設定 + + + このフレーム連続してしきい値を上回ったら、レベルダウン + %u + None + 999 + 3 + 基本設定 + + + レベルダウン後のスリープフレームカウント + %u + None + 999 + 4 + 基本設定 + + + レベルアップ後のスリープフレームカウント + %u + None + 999 + 5 + 基本設定 + + + ライトシャフト + フィルタのライトシャフト + %u + None + 21 + 100 + ポストプロセス + + + Bloom + ブルーム + %u + None + 21 + 101 + ポストプロセス + + + Glow + グロー + %u + None + 21 + 102 + ポストプロセス + + + AA + アンチエイリアス + %u + None + 21 + 103 + ポストプロセス + + + SSAO + SSAO + %u + None + 21 + 104 + ポストプロセス + + + DOF + DOF + %u + None + 21 + 105 + ポストプロセス + + + MotionBlur + MotionBlur + %u + None + 21 + 106 + ポストプロセス + + + MotionBlurIteration + MotionBlurのイテレーション回数を下げる + %u + None + 21 + 107 + ポストプロセス + + + 予備 + 予備 + %u + 108 + その他 + + + Shadow Blur + 影のブラーを切る + %u + None + 21 + 109 + シャドウ + + + SFXのエミット回り + エミット間隔、エミット数、LOD距離をグラフィックスコンフィグの半分に + %u + None + 21 + 110 + SFX + + + SFXの反射 + 反射シーンSFXをオミット + %u + None + 21 + 111 + SFX + + + 水面インタラクション + 水面インタラクトSFXをオミット + %u + None + 21 + 112 + SFX + + + SFXのグロー + SFXでかけてるGlowをオミット + %u + None + 21 + 113 + SFX + + + SFXの歪み + SFXでかけてる歪みのオミット + %u + None + 21 + 114 + SFX + + + ソフトスプライト + SFXでかけてるソフトスプライトのオミット + %u + None + 21 + 115 + SFX + + + ライトシャフト + SFXのライトシャフトのオミット + %u + None + 21 + 116 + SFX + + + 動的に縮小バッファに登録されるエフェクトの距離判定にスケール + SFXの距離で動的に縮小バッファに登録されるエフェクトの距離判定にスケール + %u + None + 21 + 117 + SFX + + + 動的解像度 + 動的解像度 + %u + None + 21 + 118 + その他 + + + Shadow Cascade0 ResolutionHalf + 影(カスケード0)の解像度を半分に下げる + %u + None + 21 + 119 + シャドウ + + + Shadow Cascade1 ResolutionHalf + 影(カスケード1)の解像度を半分に下げる + %u + None + 21 + 120 + シャドウ + + + ローカルプレイヤー + ローカルプレイヤーの水濡れ処理を切る + %u + None + 21 + 121 + キャラ水濡れOFF + + + リモートプレイヤー + リモートプレイヤーの水濡れ処理を切る + %u + None + 21 + 122 + キャラ水濡れOFF + + + 敵キャラ + 敵キャラの水濡れ処理を切る + %u + None + 21 + 123 + キャラ水濡れOFF + + + 解像度引き下げ 下限(%) + 解像度引き下げ 下限(%) + %u + None + 100 + 10 + 動的解像度 + + + 解像度引き下げ 上限(%) + 解像度引き下げ 上限(%) + %u + None + 100 + 11 + 動的解像度 + + + 予備 + 予備 + 124 + その他 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuNpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuNpcParam.xml index bfeddd73..dc6f732f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuNpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuNpcParam.xml @@ -1,16 +1,17 @@ LOBBY_MENU_NPC_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuParam.xml index 8712c566..e64666cc 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LobbyMenuParam.xml @@ -4,16 +4,18 @@ 1 False True - 203 + 0 - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LockCamParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LockCamParam.xml index d066aa9a..ecd9cd7f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LockCamParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LockCamParam.xml @@ -1,43 +1,197 @@ - + LOCK_CAM_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + カメラ距離目標[m] + カメラ距離目標 + %0.3f + None + 0.1 + 100 + 100 + + + X軸回転最小値[deg] + X軸回転最小値 + %0.3f + None + -80 + 80 + 0.1 + 200 + + + ロックX回転シフト率(0.0~1.0) + ロックX回転シフト率 + %0.3f + None + 0 + 1 + 300 + + + キャラ基点オフセット(キャラ空間) + キャラ基点オフセット + %0.3f + None + -10 + 10 + 400 + + + キャラ範囲最大半径[m] + キャラ範囲最大半径 + %0.3f + None + 0 + 99 + 500 + + + 縦画角[deg] + 縦画角 + %0.3f + None + 0 + 180 + 0.1 + 600 + + + 暗闇用キャラ範囲最大半径[m] + 暗いところでのキャラのロック可能範囲 + %0.3f + None + -1 + 99 + 510 + + + 真っ暗闇用キャラ範囲最大半径[m] + 真っ暗闇でのキャラのロック可能範囲 + %0.3f + None + -1 + 99 + 520 + + + 近接攻撃自動捕捉 上限高さ[m] + 非ロックオン時の自動ロックオン判定高さ上限 近接 + %0.3f + None + 0 + 100 + 700 + + + 近接攻撃自動捕捉 下限高さ[m] + 非ロックオン時の自動ロックオン判定高さ下限 近接 + %0.3f + None + 0 + 100 + 800 + + + 近接攻撃自動捕捉 角度範囲 左右[deg] + 非ロックオン時の自動ロックオン判定左右角度[deg] 近接 + %0.3f + None + 0 + 180 + 900 + + + 近接攻撃自動捕捉 キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン判定距離 近接 + %0.3f + None + 0 + 100 + 1000 + + + 近接攻撃自動捕捉 暗闇用キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン判定距離_暗闇 近接 + %0.3f + None + 0 + 100 + 1100 + + + 近接攻撃自動捕捉 真っ暗闇用キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン_真っ暗 近接 + %0.3f + None + 0 + 100 + 1200 + + + 弾丸自動捕捉 キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン判定距離 弾丸 + %0.3f + None + 0 + 100 + 1300 + + + 弾丸自動捕捉 暗闇用キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン判定距離_暗闇 弾丸 + %0.3f + None + 0 + 100 + 1400 + + + 弾丸自動捕捉 真っ暗闇用キャラ範囲最大半径[m] + 非ロックオン時の自動ロックオン判定距離_真っ暗 弾丸 + %0.3f + None + 0 + 100 + 1500 + + + 弾丸自動捕捉 角度範囲 左右[deg] + 非ロックオン時の自動ロックオン左右角度 弾丸 + %0.3f + None + 0 + 180 + 1250 + + + ロック条件を満たさなくてもロック継続する時間[s] + ロック条件を満たさなくてもロック継続する時間(0.0で無効) + %0.2f + None + 0 + 99 + 2000 + + + 通常用キャラ並進追尾率 + 通常用キャラ並進追尾率(-1.0で無効) + %0.3f + None + -1 + 1 + 450 + + + パディング + %0.3f + 2001 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseMapPatternFlag.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseMapPatternFlag.xml index 5b0b9622..2719ea10 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseMapPatternFlag.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseMapPatternFlag.xml @@ -1,20 +1,20 @@ LOT_BASE_MAP_PATTERN_FLAG_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseSmallBaseAndSpot.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseSmallBaseAndSpot.xml index e3e82998..0550340a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseSmallBaseAndSpot.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LotBaseSmallBaseAndSpot.xml @@ -1,17 +1,24 @@ LOT_BASE_SMALBASE_AND_SPOT_ST - 1 + 4 False True - 203 + 0 - - - - - - + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultMapPatternFlag.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultMapPatternFlag.xml index 5f6fdbfd..8630104e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultMapPatternFlag.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultMapPatternFlag.xml @@ -1,18 +1,19 @@ LOT_RESULT_MAP_PATTERN_FLAG_ST - 1 + 4 False True - 203 + 0 - - - - - - - + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultPlayAreaParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultPlayAreaParam.xml index b86ce0be..ec2f8a07 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultPlayAreaParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultPlayAreaParam.xml @@ -1,21 +1,23 @@ LOT_RESULT_PLAYAREA_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultSmallBaseAndSpot.xml b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultSmallBaseAndSpot.xml index e6c65608..f3865d75 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/LotResultSmallBaseAndSpot.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/LotResultSmallBaseAndSpot.xml @@ -1,17 +1,19 @@ LOT_RESULT_SMALLBASE_AND_SPOT_ST - 1 + 3 False True - 203 + 0 - - - - - - + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/Magic.xml b/WitchyBND/Assets/Paramdex/NR/Defs/Magic.xml index 04f352c1..b255252d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/Magic.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/Magic.xml @@ -1,54 +1,797 @@ - + MAGIC_PARAM_ST - 1 + 6 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 10151 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 10152 + + + Yes/NoダイアログメッセージID + 魔法使用時に出すYes/NoダイアログのメッセージID + -1 + 99999999 + 2500 + + + 使用制限から外れる特殊効果ID + 指定した特殊効果IDが発動している時は使用制限を無視できる + -1 + 999999999 + 1020 + + + SortID + ソートID(-1:集めない) + -1 + 30000 + 1800 + + + 装備条件【運】 + PCの運がこれ以上無いと装備できない + 99 + 1603 + + + AI通知タイプ + MAGIC_AI_NOTIFY_TYPE + act("魔法発動時AI通知")でAIインタラプトが発生する + 2 + 9150 + + + 消費MP[通常] + 消費MP + 0 + 9999 + 300 + + + 消費スタミナ[通常] + 消費スタミナ + 0 + 9999 + 310 + + + アイコンID + アイコンを指定 >メニュー用 + -1 + 30000 + 160 + + + 行動ID + 行動IDを設定する + -1 + 30000 + 1400 + + + 必要アイテムID + 購入に必要なアイテムID + -1 + 30000 + 2000 + + + 差し替える魔法ID + 状態変化一致時に差し替えるID(-1:無効) + -1 + 30000 + 3000 + + + 最大個数 + 1個当たりの個数(-1:無限) + -1 + 9999 + 450 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 500 + スロット1 + + + 技量オーバー開始値 + 技量オーバー開始値 + 99 + 200 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 510 + スロット2 + + + 必要スロット + 装備に必要なスロット数 >メニュー用 + 3 + 1600 + + + 装備条件【知力】 + PCの知力がこれ以上無いと装備できない + 99 + 1601 + + + 装備条件【理力】 + PCの理力がこれ以上無いと装備できない + 99 + 1602 + + + アナログ最低技量 + モーションキャンセルアナログ化:最低技量値 + 99 + 1005 + + + アナログ最大技量 + モーションキャンセルアナログ化:最高技量値 + 99 + 1006 + + + カテゴリ + MAGIC_CATEGORY + 並べ替えに使用 >メニュー用 + 100 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 520 + スロット3 + + + 特殊効果カテゴリ + BEHAVIOR_CATEGORY + スキルや、魔法、アイテムなどで、パラメータが変動する効果(エンチャントウェポンなど)があるので、│定した効果が、「武器攻撃のみをパワーアップする」といった効果に対応できるように行動ごとに設定するバリスタなど、設定の必要のないものは「なし」を設定する + + 900 + + + モーションカテゴリ + MAGIC_MOTION_TYPE + モーションを指定 >EzState用 + 1000 + + + 使用時メニュータイプ + GOODS_OPEN_MENU + 魔法使用時に出すメニュータイプ + 2600 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 530 + スロット4 + + + どの常態か? + SP_EFFECT_TYPE + 魔法IDを差し替える必要がある状態変化を指定 + 255 + 2800 + + + 差し替えカテゴリ + REPLACE_CATEGORY + 魔法IDを差し替える時の追加条件 + 3100 + + + 特殊効果カテゴリによる使用制限 + SP_EFFECT_USELIMIT_CATEGORY + 特殊効果によって使用可能かどうかを制御する為に指定 + 1010 + + + 誓約0 + MAGIC_BOOL + 誓約0 + 1 + 10000 + + + 誓約1 + MAGIC_BOOL + 誓約1 + 1 + 10010 + + + 誓約2 + MAGIC_BOOL + 誓約2 + 1 + 10020 + + + 誓約3 + MAGIC_BOOL + 誓約3 + 1 + 10030 + + + 誓約4 + MAGIC_BOOL + 誓約4 + 1 + 10040 + + + 誓約5 + MAGIC_BOOL + 誓約5 + 1 + 10050 + + + 誓約6 + MAGIC_BOOL + 誓約6 + 1 + 10060 + + + 誓約7 + MAGIC_BOOL + 誓約7 + 1 + 10070 + + + マルチでも使用可能か + MAGIC_BOOL + マルチでも使用できるか。シングル、マルチ両方で使える + 1 + 1100 + + + マルチ専用か + MAGIC_BOOL + マルチ専用か。シングルのときには使えない。マルチのときは使える。 + 1 + 1200 + + + エンチャントか + MAGIC_BOOL + エンチャントする魔法か + 1 + 1700 + + + 盾エンチャントか + MAGIC_BOOL + ガード・盾エンチャントする魔法か + 1 + 1710 + + + 生存使用可 + MAGIC_BOOL + 生存キャラが使用可能か + 1 + 2100 + + + グレイ使用可 + MAGIC_BOOL + グレイキャラが使用可能か + 1 + 2200 + + + 白使用可 + MAGIC_BOOL + 白ゴーストキャラが使用可能か + 1 + 2300 + + + 黒使用可 + MAGIC_BOOL + 黒ゴーストキャラが使用可能か + 1 + 2400 + + + オフラインで使用不可か + MAGIC_BOOL + オフラインで使用不可か + 1 + 2700 + + + 共鳴魔法配信するか + MAGIC_BOOL + 共鳴魔法配信するか + 1 + 3200 + + + 防具SAダメージ倍率が初期値でも有効か? + MAGIC_BOOL + 防具SAが初期値でも強靭度計算が行われるかどうか。詳細は強靭度仕様書.xlsxを確認してください + 1 + 740 + + + ワープ魔法か + MAGIC_BOOL + ワープする魔法か。ここにチェックが入っている魔法は特殊効果「ワープ禁止」により使用が禁止されます + 1 + 3300 + + + 騎乗中使用可能か + MAGIC_BOOL + 騎乗中使用可能か + 1 + 2710 + + + 非騎乗中使用禁止か + MAGIC_BOOL + 非騎乗中使用禁止か + 1 + 2720 + + + 攻撃禁止区域で使用できるか + MAGIC_BOOL + 攻撃禁止区域で使用できるか + 1 + 2730 + + + pading + %d + Wrap + 10153 + + + 誓約8 + MAGIC_BOOL + 誓約8 + 1 + 10080 + + + 誓約9 + MAGIC_BOOL + 誓約9 + 1 + 10090 + + + 誓約10 + MAGIC_BOOL + 誓約10 + 1 + 10100 + + + 誓約11 + MAGIC_BOOL + 誓約11 + 1 + 10110 + + + 誓約12 + MAGIC_BOOL + 誓約12 + 1 + 10120 + + + 誓約13 + MAGIC_BOOL + 誓約13 + 1 + 10130 + + + 誓約14 + MAGIC_BOOL + 誓約14 + 1 + 10140 + + + 誓約15 + MAGIC_BOOL + 誓約15 + 1 + 10150 + + + 詠唱SFXID + 魔法詠唱中のSFXID + -1 + 99999999 + 800 + + + 発動SFXID + 魔法発動時のSFXID + -1 + 99999999 + 801 + + + 効果SFXID + 魔法効果中のSFXID + -1 + 99999999 + 802 + + + 強靭度 補正倍率 + 強靭度の基本値を補正する倍率です + %.2f + 0 + 10 + 750 + + + 差し替えステータスタイプ + MAGIC_STATUS_TYPE + 差し替えステータスタイプ + %u + 100 + 7000 + + + 差し替えステータス値1 + 差し替えステータス値1 + -1 + 100 + 7010 + + + 差し替えステータス値2 + 差し替えステータス値2 + -1 + 100 + 7020 + + + 差し替えステータス値3 + 差し替えステータス値3 + -1 + 100 + 7030 + + + 差し替えステータス値4 + 差し替えステータス値4 + -1 + 100 + 7040 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 540 + スロット5 + + + 消費SA[通常/溜め] + 消費SA量[通常/溜め] + 0 + 9999 + 400 + + + 差し替えID1 + 差し替えID1 + -1 + 99999999 + 7200 + + + 差し替えID2 + 差し替えID2 + -1 + 99999999 + 7210 + + + 差し替えID3 + 差し替えID3 + -1 + 99999999 + 7220 + + + 差し替えID4 + 差し替えID4 + -1 + 99999999 + 7230 + + + 消費MP[溜め] + 消費MP[溜め] + 0 + 9999 + 350 + + + 消費スタミナ[溜め] + 消費スタミナ[溜め] + 0 + 9999 + 360 + + + 作成制限グループId + 0なら未使用。指定したグループIdの弾丸作成数を確認し、上限に達していたら魔法の使用をできなくする。 + 9000 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 550 + スロット6 + + + サブカテゴリ1 + ATK_SUB_CATEGORY + サブカテゴリ1 + 950 + + + サブカテゴリ2 + ATK_SUB_CATEGORY + サブカテゴリ2 + 960 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 560 + スロット7 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 570 + スロット8 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 580 + スロット9 + + + IDカテゴリ + BEHAVIOR_REF_TYPE + 呼び出しIDのカテゴリ[攻撃、飛び道具、特殊効果] + 590 + スロット10 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 501 + スロット1 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 511 + スロット2 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 521 + スロット3 + + + AI使用判断ID + AI使用判断ID + -1 + 999999999 + 9100 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 531 + スロット4 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 541 + スロット5 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 551 + スロット6 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 561 + スロット7 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 571 + スロット8 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 581 + スロット9 + + + 呼び出しID + 魔法から呼び出すID + -1 + 999999999 + 591 + スロット10 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 502 + スロット1 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 512 + スロット2 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 522 + スロット3 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 532 + スロット4 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 542 + スロット5 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 552 + スロット6 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 562 + スロット7 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 572 + スロット8 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 582 + スロット9 + + + 消費タイプ + MAGIC_CONSUME_TYPE + 消費タイプ + 2 + 592 + スロット10 + + + メニュー補足表示用消費MP + メニュー補足表示用消費MP + -1 + 9999 + 420 + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MagicTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MagicTableParam.xml index f0552b5a..82a7a1d4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MagicTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MagicTableParam.xml @@ -1,14 +1,15 @@ MAGIC_TABLE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MainScenarioMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MainScenarioMenuParam.xml index 92cb7c6d..d04ea7dd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MainScenarioMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MainScenarioMenuParam.xml @@ -4,11 +4,11 @@ 1 False True - 203 + 0 - - - + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ManualMapPattern.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ManualMapPattern.xml index 81e12d4e..f516e242 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ManualMapPattern.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ManualMapPattern.xml @@ -1,38 +1,38 @@ MANUAL_MAP_PATTERN_INFO_ST - 1 + 5 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapDefaultInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapDefaultInfoParam.xml index cd9d71fc..78287d47 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapDefaultInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapDefaultInfoParam.xml @@ -1,27 +1,214 @@ - + MAP_DEFAULT_INFO_PARAM_ST - 1 + 7 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 5103 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 5104 + + + ファストトラベル許可フラグID + ファストトラベル許可フラグID + None + -1 + + + 天候抽選時間オフセット(インゲーム秒) + 天候抽選時間にかかるオフセット(単位:インゲーム秒)。ゲームプロパティのインゲーム時間スケールで割ると現実時間になります + None + 1 + + + 天候生成アセット生成制限用ID + 天候アセット生成パラメータ.xlsmで生成されるアセットの生成制限に使うID + None + -1 + 100 + + + マップ視界タイプ + MAP_AI_SIGHT_TYPE + マップ視界タイプ + None + 3 + 105 + + + サウンド屋内、完全屋内振り分け + SOUND_INDOOR_TYPE + マップGD設定の「屋内」をサウンド用の「屋内」、「完全屋内」どちらに振り分けるかを設定します(SEQ09833) + None + 1 + 108 + + + リバーブデフォルト設定 + SOUND_MAP_DEFAULT_REVERB_TYPE + このマップのリバーブデフォルトタイプを指定します + None + -1 + 64 + 109 + + + BGM用場所情報 + SOUND_BGM_MAP_PLACE_TYPE + BGM用の場所デフォルト情報を指定します + None + 0 + 9999 + 110 + + + 環境音用場所情報 + SOUND_ENV_MAP_PLACE_TYPE + 環境音用の場所デフォルト情報を指定します + None + 0 + 9999 + 111 + + + マップ追加バンクID + 追加で読み込むサウンドの「マップ追加バンク」のIDを指定します(-1:マップ追加バンクなし)(SEQ15725) + None + -1 + 99999 + 112 + + + サウンド用マップ高さ情報[m] + サウンド用マップ高さ情報[m](SEQ15727) + None + -2000 + 2000 + 113 + + + 【レガシー用】マップ環境マップ時間ブレンド有効か? + BOOL_CIRCLECROSS_TYPE + 環境マップの時間ブレンドを行うかを指定します。0番の時間帯のTexureだけが撮影、使用されます。GPU負荷,メモリが軽減されます。レガシー(m00-m49)のみ有効な設定です(SEQ16464) + None + 1 + 5100 + + + GI解像度上書き設定_XSSプラット + MAP_GI_RESOLUTION_OVERRIDE_TYPE + XSS(Xbox SeriesS,Lockhart)で使用するGI解像度上書きします + None + -1 + 2 + 5101 + + + マップハイヒット切り替判定AABB_幅奥行き(XZ)[m] + マップハイヒット切り替判定AABB_幅奥行き(XZ)[m](SEQ16295) + None + 1 + 9999 + 1 + 200 + + + マップハイヒット切り替え判定AABB_高さ(Y)[m] + マップハイヒット切り替え判定AABB_高さ(Y)[m](SEQ16295) + None + 1 + 9999 + 1 + 201 + + + マップハイヒット切り替え判定遊び距離[m] + マップハイヒット切り替え判定遊び距離[m]。通常はデフォルトでいいはず。小さいAABBの場合は必要に応じて調整してください。遊びがあまりに小さいと頻繁に切り替えが起こります。AABBサイズより大きい場合は想定してません(SEQ16295) + None + 0.5 + 9999 + 1 + 202 + + + 自動描画グループ計算で、裏面判定となるピクセル数 + 自動描画グループ計算で、裏面判定となるピクセル数 + None + -1 + 5000 + + + Playerライト強度スケール値 + このマップでPC、PC馬常駐光源にかけるスケールを指定します(SEQ16562) + None + 0.1 + 10 + 1 + 121 + + + 時間帯によるPlayerライト強度スケール変化をするか? + BOOL_CIRCLECROSS_TYPE + このマップでPC、PC馬常駐光源、時間帯によるPlayerライト強度スケール変化をするか?を指定します(SEQ16562) + None + 1 + 122 + + + 自動崖風SE無効にするか? + BOOL_CIRCLECROSS_TYPE + 自動崖風SE無効にするか?(SEQ15729) + None + 1 + 114 + + + オープンキャラアクティベート制限_評価値閾値 + オープンキャラアクティベート制限_評価値閾値 + None + -1 + 999 + 117 + + + マップ別擬態確率パラメータID + マップ別擬態確率パラメータID(SEQ22471) + None + -1 + 999999999 + 106 + + + GI解像度上書き設定_XSXプラット + MAP_GI_RESOLUTION_OVERRIDE_TYPE + XSX(Xbox SeriesX,Anaconda)で使用するGI解像度上書きします + None + -1 + 2 + 5101 + + + + + + - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionDrawParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionDrawParam.xml index 55df4b88..cd40e823 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionDrawParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionDrawParam.xml @@ -1,13 +1,38 @@ - + MAP_GD_REGION_DRAW_PARAM - 1 + 2 False True - 203 + 0 - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 5 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 6 + + + IV撮影時のローカルライトスケール上書き値 + IV撮影時のローカルライトスケール値(0以下:上書きなし) 【GR】SEQ13338 【イラディアンスボリューム】SFX光源のインダイレクトスケールを一律に変更したい + None + -1 + 256 + 0.1 + 1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionInfoParam.xml index 9530ac95..24f08942 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapGdRegionInfoParam.xml @@ -1,19 +1,40 @@ - + MAP_GD_REGION_ID_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 6 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 7 + + + マップ地方ID + GD用途のマップ地方識別ID[00-99:オープン、1000-9999:レガシー] + None + 9999 + + + リザーブ + リザーブ + 8 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapGridCreateHeightLimitInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapGridCreateHeightLimitInfoParam.xml index 223107fe..1d498fc9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapGridCreateHeightLimitInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapGridCreateHeightLimitInfoParam.xml @@ -1,19 +1,34 @@ - + MAP_GRID_CREATE_HEIGHT_LIMIT_INFO_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + グリッド構築可能高さMin[m] + グリッド構築可能高さ最小値[m]。(LOD2単位) + %d + None + -99999 + 99999 + 1 + + + グリッド構築可能高さMax[m] + グリッド構築可能高さ最大値[m]。(LOD2単位) + %d + None + -99999 + 99999 + 1 + 1 + + + リザーブ + リザーブ + 4 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapMimicryEstablishmentParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapMimicryEstablishmentParam.xml index a6e181d1..8df09b6e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapMimicryEstablishmentParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapMimicryEstablishmentParam.xml @@ -1,27 +1,99 @@ - + MAP_MIMICRY_ESTABLISHMENT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + 擬態重み0 + 擬態重み0 + -1 + 1000 + 100 + + + 擬態重み1 + 擬態重み1 + -1 + 1000 + 110 + + + 擬態重み2 + 擬態重み2 + -1 + 1000 + 120 + + + 擬態0 SFXID 前振り + 擬態0 SFXID 前振り + -1 + 999999999 + 300 + + + 擬態0 SFXID 本体 + 擬態0 SFXID 本体 + -1 + 999999999 + 310 + + + 擬態0 SFXID 解除 + 擬態0 SFXID 解除 + -1 + 999999999 + 320 + + + 擬態1 SFXID 前振り + 擬態1 SFXID 前振り + -1 + 999999999 + 400 + + + 擬態1 SFXID 本体 + 擬態1 SFXID 本体 + -1 + 999999999 + 410 + + + 擬態1 SFXID 解除 + 擬態1 SFXID 解除 + -1 + 999999999 + 420 + + + 擬態2 SFXID 前振り + 擬態2 SFXID 前振り + -1 + 999999999 + 500 + + + 擬態2 SFXID 本体 + 擬態2 SFXID 本体 + -1 + 999999999 + 510 + + + 擬態2 SFXID 解除 + 擬態2 SFXID 解除 + -1 + 999999999 + 520 + + + パッド + pad + 521 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapNameTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapNameTexParam.xml index 11f53003..b0a804de 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapNameTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapNameTexParam.xml @@ -1,15 +1,66 @@ - + MAP_NAME_TEX_PARAM_ST 1 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + 201 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + 202 + + + R + 変換前の地図画像のカラー情報(R)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 110 + 画像色情報 + + + G + 変換前の地図画像のカラー情報(G)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 120 + 画像色情報 + + + B + 変換前の地図画像のカラー情報(B)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 130 + 画像色情報 + + + パッド + パッド。一応「画像色情報(A)」用で空けておく + 203 + + + マップ名ID_地名表示用 + 地名表示用のマップ名ID[PlaceName](0:無効値) + None + 200 + + + パッド2 + 204 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternCommon.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternCommon.xml index 2034cb34..2ae2503a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternCommon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternCommon.xml @@ -1,18 +1,18 @@ MAP_PATTERN_COMMON_ST - 1 + 3 False True - 203 + 0 - - - - - - - + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternMapLotCondition.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternMapLotCondition.xml index 513c6e80..2446b0d5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternMapLotCondition.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternMapLotCondition.xml @@ -1,17 +1,23 @@ MAP_PATTERN_MAP_LOT_CONDITION_ST - 1 + 3 False True - 203 + 0 - - - - - - + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternSet.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternSet.xml index bf2584ac..98d58413 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternSet.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapPatternSet.xml @@ -1,93 +1,123 @@ MAP_PATTERN_SET_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MapPieceTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MapPieceTexParam.xml index b73b9821..cde7f892 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MapPieceTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MapPieceTexParam.xml @@ -1,15 +1,70 @@ - + MAP_PIECE_TEX_PARAM_ST 1 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + 301 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + 302 + + + R + 変換前の地図画像のカラー情報(R)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 110 + 画像色情報 + + + G + 変換前の地図画像のカラー情報(G)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 120 + 画像色情報 + + + B + 変換前の地図画像のカラー情報(B)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 130 + 画像色情報 + + + パッド + パッド。一応「画像色情報(A)」用で空けておく + 303 + + + マップ名ID_セーブデータ表示用 + セーブデータ表示用のマップ名ID[PlaceName](0:無効値) + None + 200 + + + マルチプレイエリアID + マルチプレイエリアID(-1:無効値) + None + -1 + 1999999999 + 300 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MaterialExParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MaterialExParam.xml index 994abe02..0e0fa490 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MaterialExParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MaterialExParam.xml @@ -1,35 +1,69 @@ - + MATERIAL_EX_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - + + マテリアルパラメータ名 + マテリアルのパラメータ名を設定する。最大31文字まで + %ls + None + 1000 + + + 対象マテリアルID + NPCパラ:常駐マテリアル拡張パラID用設定 -1なら全マテリアル対象 + -1 + 99999999 + 2000 + + + 上書き値1(R) + NPCパラ:常駐マテリアル拡張パラID用設定 + %.2f + -9999 + 9999 + 3000 + + + 上書き値2(G) + NPCパラ:常駐マテリアル拡張パラID用設定 + %.2f + -9999 + 9999 + 3100 + + + 上書き値3(B) + NPCパラ:常駐マテリアル拡張パラID用設定 + %.2f + -9999 + 9999 + 3200 + + + 上書き値4(A) + NPCパラ:常駐マテリアル拡張パラID用設定 + %.2f + -9999 + 9999 + 3300 + + + 上書き値5(I) + NPCパラ:常駐マテリアル拡張パラID用設定 + %.2f + -9999 + 9999 + 3400 + + + パディング + パディング + 3401 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuColorTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuColorTableParam.xml index bbffe173..3fe1a6e3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuColorTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuColorTableParam.xml @@ -1,19 +1,90 @@ - + MENU_PARAM_COLOR_TABLE_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + 補間方法 + MENU_COLOR_LERP_MODE + 補間方法 + %u + 1 + + + パッド + %d + Wrap + 11 + + + 色相 + 色相。補間では固定値として扱う + %u + 359 + 2 + + + パッド + %d + Wrap + 12 + + + 彩度 + 彩度1。補間の1点目として扱われる + %.2f + 0 + 1 + 3 + 1点目 + + + 明度 + 明度1。補間の1点目として扱われる + %.2f + 0 + 1 + 4 + 1点目 + + + 彩度 + 彩度2。補間の2点目として扱われる + %.2f + 0 + 1 + 5 + 2点目 + + + 明度 + 明度2。補間の2点目として扱われる + %.2f + 0 + 1 + 6 + 2点目 + + + 彩度 + 彩度3。補間の3点目として扱われる + %.2f + 0 + 1 + 7 + 3点目 + + + 明度 + 明度3。補間の3点目として扱われる + %.2f + 0 + 1 + 8 + 3点目 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuCommonParam.xml index 335e82bb..3462c1a8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuCommonParam.xml @@ -1,80 +1,610 @@ - + MENU_COMMON_PARAM_ST - 1 + 4 False True - 203 + 0 + + ソロプレイ死亡時フェードアウト開始時間[秒] + ソロプレイ死亡時で「YOU DIED」表示後、何秒経過したらフェードアウトを開始するか + %.2f + None + 0 + 99 + 0.1 + 100 + + + ホワイト、ブラックゴースト死亡時フェードアウト開始時間[秒] + ホワイト、ブラックゴースト死亡時で「YOU DIED」表示後、何秒経過したらフェードアウトを開始するか + %.2f + None + 0 + 99 + 0.1 + 200 + + + プレイヤー最大HPの上限 + HPゲージ表示の際に、リソースで用意されたゲージの長さの何%を使うかを算出するために使われます。 + None + 0 + 99999 + 300 + + + プレイヤー最大MPの上限 + MPゲージ表示の際に、リソースで用意されたゲージの長さの何%を使うかを算出するために使われます。 + None + 0 + 99999 + 400 + + + プレイヤー最大SPの上限 + SPゲージ表示の際に、リソースで用意されたゲージの長さの何%を使うかを算出するために使われます。 + None + 0 + 99999 + 500 + + + アクションパネル切り替え判定_プレイヤー速度[m/sec] + アクションパネル切り替え可能なプレイヤーの速度。この速度以下なら切り替え可能 + %.2f + None + 0 + 1E+09 + 600 + + + アクションパネル切り替え判定_プレイヤー速度判定時間[sec] + アクションパネル切り替え可能なプレイヤーの速度を出すための考慮時間。この時間の平均速度を使う(システム的に最大4秒) + %.2f + None + 0 + 4 + 700 + + + キーガイドアイコンの上下位置 + キーガイドアイコンの上下位置(+:上, -:下) + None + -1000 + 1000 + 110 + キーガイドアイコン + + + カーソルの選択半径[px] + カーソル位置がこの半径以内にあれば選択していることになる + %.1f + None + 0.1 + 1000 + 0.1 + 1890 + 世界地図 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + デカールオフセット(左右) + デカールの表示位置オフセット左右方向 + None + -255 + 255 + 8000 + キャラメイク + + + デカールオフセット(上下) + デカールの表示位置オフセット上下方向 + None + -255 + 255 + 8010 + キャラメイク + + + 見つかりそうFE:Searchアイコンの表示時間[秒] + 見つかりそうFEのSearchアイコンがフェードインし始めてから、フェードアウトされ始めるまでの秒数 + %.2f + None + 0 + 99 + 0.1 + 1300 + + + 見つかりそうFE:Battleアイコンの表示時間[秒] + 見つかりそうFEのBattleアイコンがフェードインし始めてから、フェードアウトされ始めるまでの秒数 + %.2f + None + 0 + 99 + 0.1 + 1400 + + + カーソルの移動スピード[px/sec] + スムーズに移動するときの移動スピード + %.1f + None + 1 + 3000 + 0.1 + 1500 + 世界地図 + + + カーソルの1回目の移動距離[px] + 最初の入力のときに、カッと一度だけ移動する距離 + %.1f + None + 1 + 3000 + 0.1 + 1600 + 世界地図 + + + カーソルの1回目の移動の遅延時間[sec] + 最初の入力のときに、カッと一度だけ移動するときにかかる時間 + %.2f + None + 0.01 + 10 + 1700 + 世界地図 + + + カーソルの移動までのウェイト[sec] + 入力してから、スムーズに移動するまでの待機時間 + %.2f + None + 0 + 10 + 1800 + 世界地図 + + + カーソルのスナップ半径[px] + この半径よりも近くにカーソルを移動すると吸着を開始する(スナップモード用) + %.1f + None + 0.1 + 1000 + 0.1 + 1900 + 世界地図 + + + カーソルのスナップ時間[sec] + 吸着を開始して、完了するまでにかかる時間 + %.2f + None + 0.01 + 10 + 2000 + 世界地図 + + + アイテム取得ログ:1行の表示時間[sec] + 1行分のログを追加してフェードアウトするまでの時間。行ごとにタイマーがある + %.2f + None + 0.01 + 100 + 2100 + + + プレイヤー最大SA(体幹値)の上限 + SAゲージ表示の際に、リソースで用意されたゲージの長さの何%を使うかを算出するために使われます。 + None + 0 + 99999 + 2200 + + + 地下地図切り替え可能イベントフラグID + 地下地図に切り替え可能かを管理するイベントフラグIDを指定する。このイベントフラグIDがONのときに、地下地図への切り替えが可能になる + %u + None + -294967297 + 2300 + 世界地図 + + + 踏破範囲の追加解禁距離[m] + プレイヤーを中心として4方向へ拡張する距離(m)。この範囲を踏破したことにする + %.1f + None + 0 + 3000 + 0.1 + 2400 + 世界地図 + + + スクロール前後の待機時間[sec] + 運営告知の長い文章をスクロールする前後に待機する秒数。例えば3秒なら前と後ろとで合計6秒待機する + %.2f + None + 0 + 1000 + 4000 + 運営告知 + + + スクロールする速度[px/sec] + 運営告知の長い文章をスクロールするときのスクロール速度(ピクセル/秒)。画面サイズに依存しない。メニュー全体を1920x1080として考える + %.1f + None + 1 + 100000 + 4100 + 運営告知 + + + スクロールしないときの表示時間[sec] + 運営告知のスクロールを必要としない短い文章だったときに表示する秒数 + %.2f + None + 0 + 1000 + 4300 + 運営告知 + + + スクロールする回数 + 運営告知の長い文章をスクロールするときに繰り返す回数 + None + 1 + 99 + 4200 + 運営告知 + + + + + + + + 表示距離_メモマーカー[m] + コンパスに表示するメモマーカーの表示距離[m]。この距離よりも近いものは表示される + %.1f + None + 0 + 10000 + 0.1 + 6000 + コンパス + + + 表示距離_篝火[m] + コンパスに表示する篝火の表示距離[m]。この距離よりも近いものは表示される + %.1f + None + 0 + 10000 + 0.1 + 6100 + コンパス + + + 目的地マーカーのゴール判定距離[m] + 目的地マーカーのゴール判定距離[m]。この距離よりも近付いたときに目的地マーカーは消える + %0.1f + None + 0 + 1000 + 0.1 + 2500 + 世界地図 + + + 彩度・明度スライダーの移動量[%/sec] + カラーコントロールの彩度・明度スライダーの移動量[%/sec]。それぞれの値を0%~100%としたときに1秒で移動する最大量。アナログスティックで操作するため、入力値で割合になる + %0.1f + None + 0.1 + 1000 + 0.1 + 8100 + キャラメイク + + + OPムービー前のウェイト[sec] + OPムービー再生前のウェイト時間。>SEQ 15261 + %.2f + None + 0 + 99 + 3300 + + + キーガイドアイコンのスケール[%] + キーガイドアイコンのスケール値。100%がテクスチャサイズそのまま + %0.1f + None + 0.1 + 1000 + 0.1 + 100 + キーガイドアイコン + + + パッド操作一覧用のキーガイドアイコンのスケール[%] + パッド操作一覧用のキーガイドアイコンのスケール値。100%がテクスチャサイズそのまま + %0.1f + None + 0.1 + 1000 + 0.1 + 200 + キーガイドアイコン + + + パッド操作一覧用のキーガイドアイコンの上下位置 + パッド操作一覧用のキーガイドアイコンの上下位置(+:上, -:下) + None + -1000 + 1000 + 210 + キーガイドアイコン + + + キーコンフィグ用のキーガイドアイコンのスケール[%] + キーコンフィグ用のキーガイドアイコンのスケール値。100%がテクスチャサイズそのまま + %0.1f + None + 0.1 + 1000 + 0.1 + 300 + キーガイドアイコン + + + キーコンフィグ用のキーガイドアイコンの上下位置 + キーコンフィグ用のキーガイドアイコンの上下位置(+:上, -:下) + None + -1000 + 1000 + 310 + キーガイドアイコン + + + 未探索マスク_探索済み範囲[m] + 未探索マスクを探索済みにする範囲[m](半径)。プレイヤーを中心とした円形を探索済みとする + %.1f + None + 0 + 3000 + 0.1 + 2410 + 世界地図 + + + トースト表示時間[sec] + チュートリアル(トースト通知)の表示時間[sec]。この時間が経過したら自動的に閉じられる + %.1f + None + 0.1 + 600 + 0.1 + 9000 + チュートリアル + + + 表示距離_協力/救援ゲスト側:ホスト + コンパスに表示する他プレイヤー(味方ホスト)の表示距離[m]。この距離以上離れているとコンパスに表示される + %.1f + None + 0 + 10000 + 0.1 + 6200 + コンパス + + + 表示距離_敵対ゲスト側:ホスト + コンパスに表示する他プレイヤー(敵ホスト)の表示距離[m]。この距離以上離れているとコンパスに表示される + %.1f + None + 0 + 10000 + 0.1 + 6210 + コンパス + + + 表示距離_ホスト/協力/救援ホスト側:協力/救援ゲスト + コンパスに表示する他プレイヤー(味方ゲスト)の表示距離[m]。この距離以上離れているとコンパスに表示される + %.1f + None + 0 + 10000 + 0.1 + 6220 + コンパス + + + カットシーンのキーガイド表示時間[秒] + カットシーンスキップの事前入力があってからキーガイドを表示し続ける時間。キーガイドを表示中しかスキップ入力は受け付けないため、スキップ入力受付時間とも言える + %.1f + None + 0.1 + 1000 + 0.1 + 10000 + カットシーン + + + HPゲージ:常に表示する割合[%] + [HUD:Auto設定]HP割合。HP割合がこの数値以下なら、HPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + %.1f + None + -1 + 100 + 0.1 + 11000 + HUD:Auto + + + HPゲージ:常に表示する現在値 + [HUD:Auto設定]HP現在値。HP現在値がこの数値以下なら、HPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + None + -1 + 99999 + 11001 + HUD:Auto + + + MPゲージ:常に表示する割合[%] + [HUD:Auto設定]MP割合。MP割合がこの数値以下なら、MPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + %.1f + None + -1 + 100 + 0.1 + 11010 + HUD:Auto + + + MPゲージ:常に表示する現在値 + [HUD:Auto設定]MP現在値。MP現在値がこの数値以下なら、MPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + None + -1 + 99999 + 11011 + HUD:Auto + + + SPゲージ:常に表示する割合[%] + [HUD:Auto設定]SP割合。SP割合がこの数値以下なら、SPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + %.1f + None + -1 + 100 + 0.1 + 11020 + HUD:Auto + + + SPゲージ:常に表示する現在値 + [HUD:Auto設定]SP現在値。SP現在値がこの数値以下なら、SPゲージを常に表示する。割合と現在値はOR条件(どちらかを満たせば表示) + None + -1 + 99999 + 11021 + HUD:Auto + + + ズームアニメーション時間[秒] + 世界地図:ズームアニメーションをする時間[秒] + %.2f + None + 0.01 + 30 + 2600 + 世界地図 + + + 最小アイコン表示倍率 + 世界地図:ズームステップ0のときの地図ポイントアイコンの表示倍率(0.0~1.0)。ズームステップ2のときに等倍(1.0)。そこから拡大率に合わせてアイコン倍率も補間される + %.2f + None + 0.01 + 1 + 2700 + 世界地図 + + + 地図ポイント単位踏破範囲解禁時の追加解禁距離[m] + 世界地図:地図ポイント単位踏破範囲解禁時の追加解禁距離[m]。遠見台など地図ポイントが解禁されたときに踏破範囲を解禁する。地図ポイントを中心に4方向に追加で拡張する距離 + %.1f + None + 0 + 3000 + 0.1 + 2405 + 世界地図 + + + 表示可能領域(左端) + 敵HPゲージの中心座標がどこまで左端にいけるか。中心座標なのでゲージ本体のサイズも含む + %u + None + 1920 + 12000 + 敵HPゲージ + + + 表示可能領域(右端) + 敵HPゲージの中心座標がどこまで右端にいけるか。中心座標なのでゲージ本体のサイズも含む + %u + None + 1920 + 12010 + 敵HPゲージ + + + 表示可能領域(上端) + 敵HPゲージの中心座標がどこまで上端にいけるか。中心座標なのでゲージ本体のサイズも含む + %u + None + 1080 + 12020 + 敵HPゲージ + + + 表示可能領域(下端) + 敵HPゲージの中心座標がどこまで下端にいけるか。中心座標なのでゲージ本体のサイズも含む + %u + None + 1080 + 12030 + 敵HPゲージ + + + 表示回復量の閾値 + 回復時にPC馬HPゲージを表示するかの閾値。「一度に一定値以上増加したらHPバーを表示する」の”一定値” + %u + None + 99999 + 13000 + PC馬HPゲージ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuOffscrRendParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuOffscrRendParam.xml index ca0c428d..e8ab71ec 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuOffscrRendParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuOffscrRendParam.xml @@ -1,27 +1,125 @@ - + MENU_OFFSCR_REND_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + カメラ注視点X + カメラ注視点X + -100 + 100 + 0.001 + + + カメラ注視点Y + カメラ注視点Y + -100 + 100 + 0.001 + 1 + + + カメラ注視点Z + カメラ注視点Z + -100 + 100 + 0.001 + 2 + + + カメラ距離 + カメラ距離 + 0 + 100 + 0.001 + 3 + + + カメラ向きX + カメラ向きX + -89 + 89 + 0.001 + 4 + + + カメラ向きY + カメラ向きY + -89 + 89 + 0.001 + 5 + + + カメラ画角 + カメラ画角 + 0 + 90 + 0.001 + 6 + + + カメラ操作時最短距離 + カメラ操作時最短距離 + 0 + 100 + 0.001 + 7 + + + カメラ操作時最長距離 + カメラ操作時最長距離 + 0 + 100 + 0.001 + 8 + + + カメラ操作時最小向き + カメラ操作時最小向き + -89 + 89 + 0.001 + 9 + + + カメラ操作時最大向き + カメラ操作時最大向き + -89 + 89 + 0.001 + 10 + + + GparamID + 99999 + 11 + + + 環境マップテクスチャID + 環境マップテクスチャID。N:\GR\data\Other\SysEnvTex\GILM????_rem.dds の数字4桁に対応しています。 + 9999 + 14 + + + GparamID(PS4用) + GparamID(PS4用) + 99999 + 12 + + + GparamID(XboxOne用) + GparamID(XboxOne用) + 99999 + 13 + + + 予約 + 予約 + 17 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertyLayoutParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertyLayoutParam.xml index 3b946879..36c17a88 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertyLayoutParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertyLayoutParam.xml @@ -1,19 +1,38 @@ - + MENUPROPERTY_LAYOUT - 1 + 2 False True - 203 + 0 + + レイアウトパス + 1 + + + プロパティID + MENU_PROPERTY_ID + -1 + 999999999 + 2 + + + 項目名テキストID + 有効なテキストIDが設定されている場合、プロパティ名よりもこちらを優先して表示します。 + -1 + 999999999 + 3 + + + ヘルプテキストID + ここが有効なテキストIDの場合のみ、項目ヘルプで選択できるようになります。 + -1 + 999999999 + 4 + + + - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertySpecParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertySpecParam.xml index 8c9952f6..4e9eb858 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertySpecParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuPropertySpecParam.xml @@ -1,19 +1,57 @@ - + MENUPROPERTY_SPEC 1 False True - 203 + 0 + + 項目名テキストID + -1 + 999999999 + 1 + + + 項目アイコンID + -1 + 999999999 + 3 + + + 必要スキル + MENU_PROPERTY_ID + -1 + 999999999 + 4 + + + 優劣判定 + MENU_PROPERTY_CMP_TYPE + -1 + 999999999 + 5 + + + パディング + 8 + + + 書式 + MENU_PROPERTY_FORMAT_TYPE + -1 + 999999999 + 6 + - - - - - - - - + + + + + パディング + %d + Wrap + 9 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuValueTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuValueTableParam.xml index d1a70597..fc3219ab 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuValueTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuValueTableParam.xml @@ -1,14 +1,39 @@ - + MENU_VALUE_TABLE_SPEC 1 False True - 203 + 0 - - - - + + 比較する値 + 比較する値 + -1 + 999999999 + 2 + + + 変換後のテキストID + 変換後のテキストID + -1 + 999999999 + 3 + + + 比較タイプ + MENU_VALUE_TABLE_CMP_TYPE + 比較タイプ + 0 + 255 + 1 + + + パディング + パディング + %d + Wrap + 999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MenuWindowParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MenuWindowParam.xml index c1e4c3e8..49ea46b4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MenuWindowParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MenuWindowParam.xml @@ -4,19 +4,23 @@ 1 False True - 203 + 0 - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MessageBoxParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MessageBoxParam.xml index f1e1838c..fff6a118 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MessageBoxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MessageBoxParam.xml @@ -4,9 +4,9 @@ 1 False True - 203 + 0 - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MimicryEstablishmentTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MimicryEstablishmentTexParam.xml index b855d94f..33630f35 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MimicryEstablishmentTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MimicryEstablishmentTexParam.xml @@ -1,15 +1,68 @@ - + MIMICRY_ESTABLISHMENT_TEX_PARAM_ST 1 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + 201 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + 202 + + + R + 変換前の地図画像のカラー情報(R)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 110 + 画像色情報 + + + G + 変換前の地図画像のカラー情報(G)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 120 + 画像色情報 + + + B + 変換前の地図画像のカラー情報(B)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 130 + 画像色情報 + + + パッド + パッド。一応「画像色情報(A)」用で空けておく + 203 + + + マップ別擬態確率パラメータID + マップ別擬態確率パラメータID(-1:設定なし(デフォルト値))。地域はMapStudioと合わせてある + None + -1 + 999999999 + 200 + + + パッド2 + 204 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MissionManagementParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MissionManagementParam.xml index 8fa1d1cd..a15cf3ab 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MissionManagementParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MissionManagementParam.xml @@ -1,15 +1,18 @@ MISSION_MANAGEMENT_PARAM_ST - 1 + 2 False True - 203 + 0 + + + - - - - + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MixcraftMagicParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MixcraftMagicParam.xml index fad99e83..63b54fee 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MixcraftMagicParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MixcraftMagicParam.xml @@ -4,12 +4,15 @@ 1 False True - 203 + 0 - - - - + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MoveParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MoveParam.xml index 5d7ec712..69be552a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MoveParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MoveParam.xml @@ -1,47 +1,279 @@ - + MOVE_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 待機 + 待機 + -1 + 999999 + 100 + + + 歩行 前 + 歩行 前 + -1 + 999999 + 200 + + + 歩行 後 + 歩行 後 + -1 + 999999 + 300 + + + 歩行 左 + 歩行 左 + -1 + 999999 + 400 + + + 歩行 右 + 歩行 右 + -1 + 999999 + 500 + + + 走行 前 + 走行 前 + -1 + 999999 + 600 + + + 走行 後 + 走行 後 + -1 + 999999 + 700 + + + 走行 左 + 走行 左 + -1 + 999999 + 800 + + + 走行 右 + 走行 右 + -1 + 999999 + 900 + + + ダッシュ移動 + ダッシュ移動 + -1 + 999999 + 1000 + + + 緊急回避 前 + 緊急回避 前 + -1 + 999999 + 1100 + + + 緊急回避 後 + 緊急回避 後 + -1 + 999999 + 1200 + + + 緊急回避 左 + 緊急回避 左 + -1 + 999999 + 1300 + + + 緊急回避 右 + 緊急回避 右 + -1 + 999999 + 1400 + + + 90度旋回 左 + 90度旋回 左 + -1 + 999999 + 1500 + + + 90度旋回 右 + 90度旋回 右 + -1 + 999999 + 1600 + + + 180度旋回 左 + 180度旋回 左 + -1 + 999999 + 1700 + + + 180度旋回 右 + 180度旋回 右 + -1 + 999999 + 1800 + + + ステップ移動 + 180度旋回 右 + -1 + 999999 + 1900 + + + 飛行待機 + 飛行待機 + -1 + 999999 + 2100 + + + 飛行前進 + 飛行前進 + -1 + 999999 + 2200 + + + 飛行左前進 + 飛行左前進。低回転 + -1 + 999999 + 2300 + + + 飛行右前進 + 飛行右前進。低回転 + -1 + 999999 + 2400 + + + 飛行左前進2 + 飛行左前進2。高回転 + -1 + 999999 + 2500 + + + 飛行右前進2 + 飛行右前進2。高回転 + -1 + 999999 + 2600 + + + 高速飛行前進 + 高速飛行前進 + -1 + 999999 + 2700 + + + 高速飛行左前進 + 高速飛行左前進。低回転 + -1 + 999999 + 2800 + + + 高速飛行右前進 + 高速飛行右前進。低回転 + -1 + 999999 + 2900 + + + 高速飛行左前進2 + 高速飛行左前進2。高回転 + -1 + 999999 + 3000 + + + 高速飛行右前進2 + 高速飛行右前進2。高回転 + -1 + 999999 + 3100 + + + ダッシュ緊急回避前 + ダッシュ緊急回避前 + -1 + 999999 + 3200 + + + ダッシュ緊急回避後 + ダッシュ緊急回避後 + -1 + 999999 + 3300 + + + ダッシュ緊急回避左 + ダッシュ緊急回避左 + -1 + 999999 + 3400 + + + ダッシュ緊急回避右 + ダッシュ緊急回避右 + -1 + 999999 + 3500 + + + アナログ移動パラID + 移動アニメブレンドで使用される移動アニメパラメータID + -1 + 999999 + 3600 + + + アニメなし旋回角度[deg] + 旋回角度がこの値以下だと旋回アニメを再生しません(敵旋回制御のみ有効) + 180 + 3700 + + + 45度旋回アニメ角度[deg] + 旋回角度がこの値以下だと45度旋回アニメを再生します(ボス2足のみ有効) + 180 + 3800 + + + 90度旋回アニメ角度[deg] + 旋回角度がこの値以下だと90度旋回アニメを再生します(敵旋回制御のみ有効) + 180 + 3900 + + + 停止時アニメなし旋回角度[deg] + 旋回角度がこの値以下だと旋回アニメを再生しません[停止時](ボス2足のみ有効) + 180 + 4000 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MultiEstusFlaskBonusParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MultiEstusFlaskBonusParam.xml index 79f48787..ca2ec84f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MultiEstusFlaskBonusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MultiEstusFlaskBonusParam.xml @@ -1,27 +1,94 @@ - + MULTI_ESTUS_FLASK_BONUS_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + ホスト + ホストのエスト回復数 + 1000 + + + 白サイン + 協力サインの白霊のエスト回復数 + 2000 + + + 金霊(太陽) + 協力サインの金霊のエスト回復数 + 2100 + + + 白バーサーカー + 協力サインの白バーサーカーのエスト回復数 + 2200 + + + 赤サイン + 敵対サインの赤霊のエスト回復数 + 3000 + + + 赤金霊(サイン) + 敵対サインの赤金霊のエスト回復数 + 3100 + + + 赤バーサーカー(サイン) + 敵対サインの赤バーサーカーのエスト回復数 + 3200 + + + 侵入 + 侵入のエスト回復数 + 4000 + + + 赤金霊(侵入) + 侵入オーブの赤金霊のエスト回復数 + 4500 + + + 赤バーサーカー(侵入) + 侵入オーブの赤バーサーカーのエスト回復数 + 4600 + + + 救援ゲスト + 救援ゲストのエスト回復数 + 5000 + + + 赤狩り霊2 + 赤狩り霊2のエスト回復数 + 5100 + + + マップ守護霊(森) + マップ守護霊(森)のエスト回復数 + 6000 + + + マップ守護霊(アノール) + マップ守護霊(アノール)のエスト回復数 + 6100 + + + 闘技場 + 闘技場のエスト回復数 + 7000 + + + 黄衣の翁 + 黄衣の翁のエスト回復数 + 7100 + + + pad + 7101 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MultiPlayCorrectionParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MultiPlayCorrectionParam.xml index 26246d2d..75ab988d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MultiPlayCorrectionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MultiPlayCorrectionParam.xml @@ -1,19 +1,62 @@ - + MULTI_PLAY_CORRECTION_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 201 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 202 + + + 協力クライアント1名特殊効果ID + 協力クライアント1名特殊効果ID + -1 + 999999999 + 100 + + + 協力クライアント2名特殊効果ID + 協力クライアント2名特殊効果ID + -1 + 999999999 + 110 + + + 協力クライアント3名特殊効果ID + 協力クライアント3名特殊効果ID + -1 + 999999999 + 120 + + + 協力人数変動時に上書きするか + MULTI_PLAY_CORRECTION_OVERRIDE_TYPE + 協力人数変動時に上書きするか + -1 + 200 + + + pad + pad + 203 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/MultiSoulBonusRateParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/MultiSoulBonusRateParam.xml index 27217a93..00ef70da 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/MultiSoulBonusRateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/MultiSoulBonusRateParam.xml @@ -1,43 +1,142 @@ - + MULTI_SOUL_BONUS_RATE_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + ホスト + ホストの報酬ソウル倍率 + 0 + 10 + 0.001 + 1000 + + + 白サイン + 協力サインの白霊の報酬ソウル倍率 + 0 + 10 + 0.001 + 2000 + + + 金霊(太陽) + 協力サインの金霊の報酬ソウル倍率 + 0 + 10 + 0.001 + 2100 + + + 白バーサーカー + 協力サインの白バーサーカーの報酬ソウル倍率 + 0 + 10 + 0.001 + 2200 + + + 赤サイン + 敵対サインの赤霊の報酬ソウル倍率 + 0 + 10 + 0.001 + 3000 + + + 赤金霊(サイン) + 敵対サインの赤金霊の報酬ソウル倍率 + 0 + 10 + 0.001 + 3100 + + + 赤バーサーカー(サイン) + 敵対サインの赤バーサーカーの報酬ソウル倍率 + 0 + 10 + 0.001 + 3200 + + + 侵入 + 侵入の報酬ソウル倍率 + 0 + 10 + 0.001 + 4000 + + + 赤金霊(侵入) + 侵入オーブの赤金霊の報酬ソウル倍率 + 0 + 10 + 0.001 + 4500 + + + 赤バーサーカー(侵入) + 侵入オーブの赤バーサーカーの報酬ソウル倍率 + 0 + 10 + 0.001 + 4600 + + + 救援ゲスト + 救援ゲストの報酬ソウル倍率 + 0 + 10 + 0.001 + 5000 + + + 赤狩り霊2 + 赤狩り霊2の報酬ソウル倍率 + 0 + 10 + 0.001 + 5100 + + + マップ守護霊(森) + マップ守護霊(森)の報酬ソウル倍率 + 0 + 10 + 0.001 + 6000 + + + マップ守護霊(アノール) + マップ守護霊(アノール)の報酬ソウル倍率 + 0 + 10 + 0.001 + 6100 + + + 闘技場 + 闘技場の報酬ソウル倍率 + 0 + 10 + 0.001 + 7000 + + + 黄衣の翁 + 黄衣の翁の報酬ソウル倍率 + 0 + 10 + 0.001 + 7100 + + + pad + 7101 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NPCBotTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NPCBotTableParam.xml index fa2b5b26..10fbb999 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NPCBotTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NPCBotTableParam.xml @@ -4,12 +4,12 @@ 1 False True - 203 + 0 - - - - + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NetworkMsgParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NetworkMsgParam.xml index 68aa5d6d..3c2cc0e9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NetworkMsgParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NetworkMsgParam.xml @@ -1,59 +1,312 @@ - + NETWORK_MSG_PARAM_ST - 1 + 34 False True - 203 + 0 + + 優先度 + 優先度 + %u + 9999 + 10 + + + 強制割り込み + BOOL_YESNO_TYPE + 強制割り込み + 1 + 20 + + + 予約 + 予約 + 2001 + + + 白霊(白サイン) + 白霊(白サイン) + -1 + 999999999 + 110 + + + 太陽霊(白サイン) + 太陽霊(白サイン) + -1 + 999999999 + 120 + + + バーサーカー霊(白サイン) + バーサーカー霊(白サイン) + -1 + 999999999 + 130 + + + 罪人英雄霊(白サイン ) + 罪人英雄霊(白サイン ) + -1 + 999999999 + 140 + + + 闇霊(赤サイン) + 闇霊(赤サイン) + -1 + 999999999 + 150 + + + 太陽霊(赤サイン) + 太陽霊(赤サイン) + -1 + 999999999 + 160 + + + バーサーカー霊(赤サイン) + バーサーカー霊(赤サイン) + -1 + 999999999 + 170 + + + 侵入_A + 侵入_A + -1 + 999999999 + 180 + + + 太陽霊(乱入) + 太陽霊(乱入) + -1 + 999999999 + 190 + + + バーサーカー霊(乱入) + バーサーカー霊(乱入) + -1 + 999999999 + 200 + + + 罪人狩り霊(訪問) + 罪人狩り霊(訪問) + -1 + 999999999 + 210 + + + 赤狩り霊(訪問) + 赤狩り霊(訪問) + -1 + 999999999 + 220 + + + ボス守護霊(訪問) + ボス守護霊(訪問) + -1 + 999999999 + 230 + + + マップ守護霊_森(訪問) + マップ守護霊_森(訪問) + -1 + 999999999 + 240 + + + マップ守護霊_アノール(訪問) + マップ守護霊_アノール(訪問) + -1 + 999999999 + 250 + + + ロザリア霊(赤サイン) + ロザリア霊(赤サイン) + -1 + 999999999 + 172 + + + ロザリア霊(乱入) + ロザリア霊(乱入) + -1 + 999999999 + 202 + + + 赤狩り霊2(訪問) + 赤狩り霊2(訪問) + -1 + 999999999 + 222 + + + NPC擬似マルチ1 + NPC擬似マルチ1 + -1 + 999999999 + 260 + + + NPC擬似マルチ2 + NPC擬似マルチ2 + -1 + 999999999 + 270 + + + NPC擬似マルチ3 + NPC擬似マルチ3 + -1 + 999999999 + 280 + + + NPC擬似マルチ4 + NPC擬似マルチ4 + -1 + 999999999 + 290 + + + バトルロイヤル + バトルロイヤル + -1 + 999999999 + 2000 + + + NPC擬似マルチ5 + NPC擬似マルチ5 + -1 + 999999999 + 300 + + + NPC擬似マルチ6 + NPC擬似マルチ6 + -1 + 999999999 + 310 + + + NPC擬似マルチ7 + NPC擬似マルチ7 + -1 + 999999999 + 320 + + + NPC擬似マルチ8 + NPC擬似マルチ8 + -1 + 999999999 + 330 + + + NPC擬似マルチ9 + NPC擬似マルチ9 + -1 + 999999999 + 340 + + + NPC擬似マルチ10 + NPC擬似マルチ10 + -1 + 999999999 + 350 + + + NPC擬似マルチ11 + NPC擬似マルチ11 + -1 + 999999999 + 360 + + + NPC擬似マルチ12 + NPC擬似マルチ12 + -1 + 999999999 + 370 + + + NPC擬似マルチ13 + NPC擬似マルチ13 + -1 + 999999999 + 380 + + + NPC擬似マルチ14 + NPC擬似マルチ14 + -1 + 999999999 + 390 + + + NPC擬似マルチ15 + NPC擬似マルチ15 + -1 + 999999999 + 400 + + + NPC擬似マルチ16 + NPC擬似マルチ16 + -1 + 999999999 + 410 + + + 侵入_B + 侵入_B + -1 + 999999999 + 182 + + + 白霊(白サイン)_NPC用 + 白霊(白サイン)_NPC用 + -1 + 999999999 + 1000 + + + 侵入_A_NPC用 + 侵入_A_NPC用 + -1 + 999999999 + 1010 + + + 侵入_B_NPC用 + 侵入_B_NPC用 + -1 + 999999999 + 1020 + + + 侵入_C_NPC用 + 侵入_C_NPC用 + -1 + 999999999 + 1030 + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NetworkParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NetworkParam.xml index 39884776..36961c9d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NetworkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NetworkParam.xml @@ -1,173 +1,1508 @@ - + NETWORK_PARAM_ST - 1 + 10 False True - 203 + 0 + + サイン高さオフセット[m] + 0 + 1 + common + NET_COMMON_PARAM + 共通 + + + サイン位置補正最大距離[m] + 0 + 1 + 1 + common + NET_COMMON_PARAM + 共通 + + + 召喚希望タイムアウト時間[秒] + 0 + 999 + 1 + 2 + common + NET_COMMON_PARAM + 共通 + + + 予約 + 3 + common + NET_COMMON_PARAM + 共通 + + + サイン溜まり登録中メッセージ表示間隔[秒] + 0 + 10000 + 0.1 + 100 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + キーガイド垂直範囲[m] + 1 + 1000 + 1 + 101 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン再取得待機時間(過疎時)[秒] + 1 + 1000 + 1 + 102 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン再取得待機時間[秒] + 1 + 1000 + 1 + 103 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン所持可能数上限(全体) + 本当はu8くらいで十分 + %u + 1 + 20 + 105 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン所持可能数上限(セル) + 本当はu8くらいで十分 + %u + 1 + 99 + 106 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン更新待機時間[秒] + 0 + 1000 + 1 + 107 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン間描画排他水平範囲[m] + 0 + 1000 + 1 + 108 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン間描画排他垂直範囲[m] + 0 + 1000 + 1 + 109 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サインキャラモデル描画待機時間[秒] + 0 + 1000 + 1 + 110 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サインPC間描画距離[m] + 0 + 1000 + 1 + 112 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン取得セル範囲(水平) + 本当はu8くらいで十分 + %u + 1 + 113 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン取得セル範囲(上方向) + 本当はu8くらいで十分 + %u + 1 + 114 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 召喚サイン取得セル範囲(下方向) + 本当はu8くらいで十分 + %u + 1 + 115 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 白霊サイン表示制限時間下限倍率 + 1 + 1000 + 1 + 116 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 小霊サイン表示制限時間下限倍率 + 1 + 1000 + 1 + 117 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 白霊サインキーワード延長倍率 + 1 + 1000 + 1 + 118 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 小霊サインキーワード延長倍率 + 1 + 1000 + 1 + 119 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 闇霊サインキーワード延長倍率 + 1 + 1000 + 1 + 120 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 竜霊サインキーワード延長倍率 + 1 + 1000 + 1 + 121 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + サイン取得上限 + 本当はu8くらいで十分 + %u + 1000 + 122 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + サインダウンロードスパン + 0 + 1000 + 0.1 + 123 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + サインアップロードスパン + 0 + 1000 + 0.1 + 124 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 予約 + 125 + summonSign + NET_SUMMON_SIGN_PARAM + 召喚サイン + + + 乱入先取得数 + %u + 1 + 1000 + 200 + breakIn + NET_BREAKIN_PARAM + 乱入 + + + 乱入リクエスト間隔[秒] + 0 + 999 + 0.1 + 201 + breakIn + NET_BREAKIN_PARAM + 乱入 + + + 乱入リクエストタイムアウト時間[秒] + 0 + 999 + 0.1 + 202 + breakIn + NET_BREAKIN_PARAM + 乱入 + + + + + + キーガイド水平範囲[m] + 0 + 1000 + 1 + 300 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + キーガイド垂直範囲[m] + 0 + 1000 + 1 + 301 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得数(全体) + 本当はu8くらいで十分 + %u + 1 + 99 + 302 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得数(セル、新順) + 本当はu8くらいで十分 + %u + 1 + 99 + 303 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得数(セル、ランダム ) + 本当はu8くらいで十分 + %u + 1 + 99 + 304 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字所持可能数上限(全体) + 本当はu16くらいで十分 + %u + 1 + 999 + 305 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字所持可能数上限(セル) + 本当はu8くらいで十分 + %u + 1 + 100 + 307 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字間描画排他水平範囲[m] + 0 + 1000 + 1 + 308 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字間描画排他垂直範囲[m] + 0 + 1000 + 1 + 309 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字PC間描画距離[m] + 0 + 1000 + 1 + 310 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 書いた血文字履歴件数上限 + 本当はu8くらいで十分 + %u + 1000 + 311 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 読んだ血文字履歴件数上限 + 本当はu8くらいで十分 + %u + 1000 + 312 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字再取得待機時間[秒] + 0 + 1000 + 1 + 313 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得セル範囲(水平) + 本当はu8くらいで十分 + %u + 1 + 314 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得セル範囲(上方向) + 本当はu8くらいで十分 + %u + 1 + 315 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字取得セル範囲(下方向) + 本当はu8くらいで十分 + %u + 1 + 316 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字データ保持期間上限[秒] + 本当はu16くらいで十分 + %u + 1 + 1800 + 317 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字ダウンロード間隔 + 0 + 10000 + 0.1 + 318 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血文字評価数ダウンロード間隔 + 0 + 10000 + 0.1 + 318 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 予約 + 319 + bloodMessage + NET_BLOOD_MESSAGE_PARAM + 血文字 + + + 血痕位置と幻影開始位置間の許容距離[m] + 血痕位置と幻影開始位置の間の距離がこの値より離れている場合はサーバの登録を行わない + 0 + 1000 + 0.1 + 401 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + キーガイド垂直範囲[m] + 0 + 1000 + 1 + 402 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + プレイヤー血痕キーガイド水平範囲[m] + 0 + 1000 + 1 + 403 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + プレイヤー血痕キーガイド垂直範囲[m] + 0 + 1000 + 1 + 404 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕取得数(全体) + 本当はu8くらいで十分 + %u + 99 + 405 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕取得数(セル) + 本当はu8くらいで十分 + %u + 99 + 406 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕所持可能数上限(全体) + 本当はu16くらいで十分 + %u + 100 + 407 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕所持可能数上限(セル) + 本当はu8くらいで十分 + %u + 99 + 408 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕再取得待機時間[秒] + 0 + 1000 + 1 + 409 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕PC間描画距離[m] + 0 + 1000 + 1 + 410 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕間描画排他水平範囲[m] + 0 + 1000 + 1 + 411 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕間描画排他垂直範囲[m] + 0 + 1000 + 1 + 412 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕取得セル範囲(水平) + 本当はu8くらいで十分 + %u + 1 + 413 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕取得セル範囲(上方向) + 本当はu8くらいで十分 + %u + 1 + 414 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕取得セル範囲(下方向) + 本当はu8くらいで十分 + %u + 1 + 415 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕データ保持期間上限[秒] + 本当はu16くらいで十分 + %u + 1 + 1800 + 416 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 死亡幻影記録合計時間[秒] + 0 + 999 + 1 + 417 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 死亡幻影の最低記録時間[秒] + この記録時間未満の死亡幻影はサーバの登録を行わない + 0 + 40 + 1 + 418 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 血痕ダウンロード間隔 + 0 + 10000 + 0.1 + 419 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 石化血痕描画制限距離[m] + オープンフィールド用。石像生成時にPC~生成位置間の距離がこの値以上ならば生成できる + 0 + 1000 + 1 + 420 + bloodstain + NET_BLOODSTAIN_PARAM + 血痕 + + + 幻影取得数(全体) + 本当はu8くらいで十分 + %u + 99 + 500 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影取得数(セル) + 本当はu8くらいで十分 + %u + 99 + 501 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影所持可能数上限(全体) + 本当はu16くらいで十分 + %u + 10 + 502 + ghost + NET_GHOST_PARAM + 幻影 + + + 敵対PCリプレイ記録開始距離[m] + 0 + 1000 + 1 + 503 + ghost + NET_GHOST_PARAM + 幻影 + + + 敵対PCリプレイ記録終了距離[m] + 0 + 1000 + 1 + 504 + ghost + NET_GHOST_PARAM + 幻影 + + + 徘徊幻影アップロード間隔[秒] + 0 + 1000 + 1 + 505 + ghost + NET_GHOST_PARAM + 幻影 + + + 対戦幻影アップロード間隔[秒] + 0 + 1000 + 1 + 506 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影記録時間[秒] + 0 + 40 + 1 + 507 + ghost + NET_GHOST_PARAM + 幻影 + + + 徘徊幻影の最低記録時間[秒] + この記録時間未満の徘徊幻影はサーバの登録を行わない + 0 + 40 + 1 + 508 + ghost + NET_GHOST_PARAM + 幻影 + + + 篝火幻影アップロード間隔[秒] + 0 + 1000 + 1 + 509 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影再生距離(視野内)[秒] + 0 + 1000 + 1 + 510 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影再生距離(視野外)[秒] + 0 + 1000 + 1 + 511 + ghost + NET_GHOST_PARAM + 幻影 + + + 篝火幻影再生時間[秒] + 0 + 1000 + 1 + 512 + ghost + NET_GHOST_PARAM + 幻影 + + + 篝火幻影配置最小距離[秒] + 篝火からこの距離未満の場所には篝火幻影を配置しない + 0 + 1000 + 1 + 513 + ghost + NET_GHOST_PARAM + 幻影 + + + 篝火幻影配置最大距離[秒] + 篝火からこの距離以上の場所には篝火幻影を配置しない + 0 + 1000 + 1 + 514 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影再生間隔下限[秒] + 0 + 1000 + 1 + 515 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影再生間隔上限[秒] + 0 + 1000 + 1 + 516 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影定期取得間隔[秒] + 0 + 1000 + 1 + 517 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影取得セル範囲(水平) + 本当はu8くらいで十分 + %u + 1 + 518 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影取得セル範囲(上方向) + 本当はu8くらいで十分 + %u + 1 + 519 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影篝火モードファントムパラメータID(コードネーム) + コードネーム一致のときに使われる幻影篝火モードファントムパラメータID + 0 + 999999999 + 520 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影篝火モード再生適用距離 + 0 + 1000 + 1 + 521 + ghost + NET_GHOST_PARAM + 幻影 + + + 幻影篝火モードファントムパラメータID + 幻影篝火モードファントムパラメータID + 0 + 999999999 + 522 + ghost + NET_GHOST_PARAM + 幻影 + + + + + + 指輪検索間隔[秒] + 1 + 1000 + 1 + 600 + visit + NET_VISIT_PARAM + 指輪検索 + + + 救援青霊出現数上限 + 本当はu8くらいで十分 + %u + 1 + 255 + 601 + visit + NET_VISIT_PARAM + 指輪検索 + + + 鐘守灰霊出現数上限 + 本当はu8くらいで十分 + %u + 1 + 255 + 602 + visit + NET_VISIT_PARAM + 指輪検索 + + + 指輪検索先取得数 + %u + 1 + 255 + 603 + visit + NET_VISIT_PARAM + 指輪検索 + + + 救援青霊リロード時間 最小[sec] + 0 + 999 + 0.1 + 604 + visit + NET_VISIT_PARAM + 指輪検索 + + + 救援青霊リロード時間 最大[sec] + 0 + 999 + 0.1 + 605 + visit + NET_VISIT_PARAM + 指輪検索 + + + 鐘守リロード時間 最小[sec] + 0 + 999 + 0.1 + 606 + visit + NET_VISIT_PARAM + 指輪検索 + + + 鐘守リロード時間 最大[sec] + 0 + 999 + 0.1 + 607 + visit + NET_VISIT_PARAM + 指輪検索 + + + ネズミの王リロード時間 最小[sec] + 0 + 999 + 0.1 + 608 + visit + NET_VISIT_PARAM + 指輪検索 + + + ネズミの王リロード時間 最大[sec] + 0 + 999 + 0.1 + 609 + visit + NET_VISIT_PARAM + 指輪検索 + + + 予約 + 610 + visit + NET_VISIT_PARAM + 指輪検索 + + + SRTT上限[ミリ秒] + 0 + 99999 + 1 + 700 + extra + NET_EXTRA_PARAM + その他 + + + SRTT上限(安定時)[ミリ秒] + 0 + 99999 + 1 + 701 + extra + NET_EXTRA_PARAM + その他 + + + RTT平均偏差上限[ミリ秒] + 0 + 99999 + 1 + 702 + extra + NET_EXTRA_PARAM + その他 + + + 闇霊制限時間加速時間[秒] + 0 + 99999 + 1 + 703 + extra + NET_EXTRA_PARAM + その他 + + + 闇霊制限時間加速時倍率 + 0 + 99999 + 1 + 704 + extra + NET_EXTRA_PARAM + その他 + + + マルチプレイ無効化寿命 + 1 + 999999 + 1 + 705 + extra + NET_EXTRA_PARAM + その他 + + + 深淵霊マルチプレイ回数 + 深淵エリアで、深淵霊がホストに入ってこれる回数 + %u + 1 + 706 + extra + NET_EXTRA_PARAM + その他 + + + 霊体がワープするまでの最低時間[秒] + %u + 707 + extra + NET_EXTRA_PARAM + その他 + + + 黒水晶使用後に帰還するまでのディレイ時間[秒] + %u + 708 + extra + NET_EXTRA_PARAM + その他 + + + 切断待ちのタイムアウト時間 + %u + 709 + extra + NET_EXTRA_PARAM + その他 + + + LAN抜きによるペナルティ加算値 + %u + 717 + extra + NET_EXTRA_PARAM + その他 + + + サインアウトによるペナルティ加算値 + %u + 718 + extra + NET_EXTRA_PARAM + その他 + + + 電源断によるペナルティ加算値 + %u + 719 + extra + NET_EXTRA_PARAM + その他 + + + ペナルティが発動するペナルティ値 + %u + 720 + extra + NET_EXTRA_PARAM + その他 + + + 「線の理」の販売制限時間[秒] + 0 + 100000000 + 1 + 725 + extra + NET_EXTRA_PARAM + その他 + + + 全域検索率:救援青霊[0-100] + 全域から侵入対象を検索する割合(%) + %u + 100 + 730 + extra + NET_EXTRA_PARAM + その他 + + + 全域検索率:報復青霊[0-100] + 全域から侵入対象を検索する割合(%) + %u + 100 + 730 + extra + NET_EXTRA_PARAM + その他 + + + 全域検索率:鐘守灰霊[0-100] + 全域から侵入対象を検索する割合(%) + %u + 100 + 730 + extra + NET_EXTRA_PARAM + その他 + + + 血文字評価時のHP回復割合[0-100] + %u + 100 + 735 + extra + NET_EXTRA_PARAM + その他 + + + 小金霊成功帰還ホスト報酬ID + %u + 999999 + 740 + extra + NET_EXTRA_PARAM + その他 + + + ドア付近プレイ領域無効化距離[m] + マルチプレイ領域を区切る黒扉の周辺を、システム的に無効なプレイ領域(-1)にします。その際、無効領域を黒扉のOBJのバウンディングボックスの薄い方を、このパラメータで太らせます。 + 0 + 9999 + 0.1 + 750 + extra + NET_EXTRA_PARAM + その他 + + + サイン最大同時表示数 + %u + 100 + 760 + extra + NET_EXTRA_PARAM + その他 + + + 血痕最大同時表示数 + %u + 100 + 761 + extra + NET_EXTRA_PARAM + その他 + + + 血文字最大同時表示数 + %u + 100 + 762 + extra + NET_EXTRA_PARAM + その他 + + + + + + + + + + + + + + + + + 召喚メッセージが表示間隔[秒] + 0 + 1000 + 0.1 + 1000 + QuickMatch + QUICK_MATCH + クイックマッチ + + + ホスト定期更新リクエスト間隔[秒] + 0 + 1000 + 0.1 + 1010 + QuickMatch + QUICK_MATCH + クイックマッチ + + + ホストのゲスト参加待ちタイムアウト時間[秒] + 0 + 1000 + 0.1 + 1020 + QuickMatch + QUICK_MATCH + クイックマッチ + + + ゲストのホストからの認証待ちタイムアウト時間[秒] + 0 + 1000 + 0.1 + 1030 + QuickMatch + QUICK_MATCH + クイックマッチ + + + ゲストPlayNo同期待ちタイムアウト時間[秒] + 0 + 1000 + 0.1 + 1040 + QuickMatch + QUICK_MATCH + クイックマッチ + + + ホストPlayNo同期待ちタイムアウト時間[秒] + 0 + 1000 + 0.1 + 1050 + QuickMatch + QUICK_MATCH + クイックマッチ + + + RequestSearchQuickMatchのlimit値 + 本当はu8くらいで十分 + %u + 255 + 0 + 1060 + QuickMatch + QUICK_MATCH + クイックマッチ + + + アバター戦検索時の最大人数(未使用) + 本当はu8くらいで十分 + %u + 255 + 1070 + QuickMatch + QUICK_MATCH + クイックマッチ + + + バトルロイヤル戦検索時の最少人数(未使用) + 本当はu8くらいで十分 + %u + 255 + 1080 + QuickMatch + QUICK_MATCH + クイックマッチ + + + バトルロイヤル戦検索時の最大人数(未使用) + 本当はu8くらいで十分 + %u + 255 + 1090 + QuickMatch + QUICK_MATCH + クイックマッチ + + + + + + + 訪問対象者リスト取得最大値 + 本当はu8くらいで十分 + %u + 10000 + 1500 + Visitor + VISITOR + 訪問 + + + 訪問待ちタイムアウト + 0 + 10000 + 0.1 + 1520 + Visitor + VISITOR + 訪問 + + + 訪問者リストダウンロード間隔[秒] + 0 + 10000 + 0.1 + 1530 + Visitor + VISITOR + 訪問 + + + 訪問先検索メッセージ表示間隔[秒] + 訪問ゲストが訪問先を探してる間に出すメッセージの表示間隔[秒] + 0 + 10000 + 0.1 + 1540 + Visitor + VISITOR + 訪問 + + + 徘徊幻影寿命 + 徘徊幻影寿命 + 0 + 10000 + 0.1 + 550 + ghostAddition + NET_GHOST_ADDITION_PARAM + 幻影追加要素 + + + + + + + + 黄衣の翁待ちタイムアウト + None + 0 + 10000 + 0.1 + 2000 + YellowMonk + YELLOW_MONK_PARAM + 黄衣の翁 + + + 黄衣の翁リストダウンロード間隔 + None + 0 + 10000 + 0.1 + 2010 + YellowMonk + YELLOW_MONK_PARAM + 黄衣の翁 + + + 黄衣の翁全体フロータイムアウト + None + 0 + 10000 + 0.1 + 2020 + YellowMonk + YELLOW_MONK_PARAM + 黄衣の翁 + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NightBossMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NightBossMenuParam.xml index 063fdf61..05ab767d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NightBossMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NightBossMenuParam.xml @@ -1,27 +1,31 @@ NIGHT_BOSS_MENU_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiActionParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiActionParam.xml index 42cffb38..d9f73f20 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiActionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiActionParam.xml @@ -1,15 +1,81 @@ - + NPC_AI_ACTION_PARAM_ST 1 False True - 203 + 0 - - - - - + + 移動方向入力 + NPC_AI_ACTION_MOVE_DIR + 入力する移動方向 + 100 + + + キー入力1 + NPC_AI_ACTION_KEY + 入力するキー + 200 + + + キー入力2 + NPC_AI_ACTION_KEY + 入力するキー + 300 + + + キー入力3 + NPC_AI_ACTION_KEY + 入力するキー + 400 + + + 移動方向入力は長押し? + ON_OFF + 入力する移動方向を長押し扱いするか + 1 + 110 + + + キー入力1は長押し? + ON_OFF + 入力するキーを長押扱いするか + 1 + 210 + + + キー入力2は長押し? + ON_OFF + 入力するキーを長押扱いするか + 1 + 310 + + + キー入力3は長押し? + ON_OFF + 入力するキーを長押扱いするか + 1 + 410 + + + ジェスチャーID(どれかのキー入力がGESTUREの時のみ有効) + ジェスチャーID + 0 + 999999999 + 500 + + + 寿命が尽きた時成功扱いにする + ON_OFF + これがONならAIのゴールが寿命まで成功にならない + 1 + 600 + + + パッド + pad + 601 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiBehaviorProbability.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiBehaviorProbability.xml index ed9195b0..4166a593 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiBehaviorProbability.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NpcAiBehaviorProbability.xml @@ -1,111 +1,1532 @@ - + NPC_AI_BEHAVIOR_PROBABILITY_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 右手近接_R1コンボ + 右手近接行動 + None + -9999 + 9999 + + + 右手近接_R2コンボ + 右手近接行動 + None + -9999 + 9999 + 100 + + + 右手近接_ダッシュ攻撃 + 右手近接行動 + None + -9999 + 9999 + 200 + + + 右手近接_前ローリング攻撃 + 右手近接行動 + None + -9999 + 9999 + 300 + + + 右手近接_左右ローリング攻撃 + 右手近接行動 + None + -9999 + 9999 + 400 + + + 右手近接_後ローリング攻撃 + 右手近接行動 + None + -9999 + 9999 + 500 + + + 右手近接_バックステップ攻撃 + 右手近接行動 + None + -9999 + 9999 + 600 + + + 右手近接_ジャンプ攻撃 + 右手近接行動 + None + -9999 + 9999 + 700 + + + 右手近接_ダッシュジャンプ攻撃 + 右手近接行動 + None + -9999 + 9999 + 800 + + + 未使用 + None + -9999 + 9999 + 900 + + + 右手遠距離_R1射撃 + 右手遠距離武器行動 + None + -9999 + 9999 + 1000 + + + 右手遠距離_R2射撃 + 右手遠距離武器行動 + None + -9999 + 9999 + 1100 + + + 未使用 + None + -9999 + 9999 + 1200 + + + 右手魔法_遠距離魔法_前移動 + 右手魔法行動 + None + -9999 + 9999 + 2200 + + + 右手魔法_遠距離魔法_後ろ移動 + 右手魔法行動 + None + -9999 + 9999 + 2220 + + + 左右移動[CloseDrawBow] + 弓構え中に近づかれたインタラプト + None + -9999 + 9999 + 24000 + + + 左右ローリング[CloseDrawBow] + 弓構え中に近づかれたインタラプト + None + -9999 + 9999 + 24100 + + + 割り込まない[CloseDrawBow] + 弓構え中に近づかれたインタラプト + None + -9999 + 9999 + 24200 + + + 未使用 + None + -9999 + 9999 + 24300 + + + 未使用 + None + -9999 + 9999 + 24400 + + + 右手魔法_近接魔法_左右 + 右手魔法行動 + None + -9999 + 9999 + 2010 + + + 右手魔法_中距離魔法_左右 + 右手魔法行動 + None + -9999 + 9999 + 2110 + + + 右手魔法_遠距離魔法_左右 + 右手魔法行動 + None + -9999 + 9999 + 2210 + + + 右手魔法_HP回復魔法 + 右手魔法行動 + None + -9999 + 9999 + 2300 + + + 右手魔法_バフ魔法 + 右手魔法行動 + None + -9999 + 9999 + 2400 + + + 右手魔法_近接魔法_前移動 + 右手魔法行動 + None + -9999 + 9999 + 2000 + + + 右手魔法_近接魔法_後ろ移動 + 右手魔法行動 + None + -9999 + 9999 + 2020 + + + 右手魔法_中距離魔法_前移動 + 右手魔法行動 + None + -9999 + 9999 + 2100 + + + 右手魔法_中距離魔法_後ろ移動 + 右手魔法行動 + None + -9999 + 9999 + 2120 + + + 未使用 + None + -9999 + 9999 + 2900 + + + 右手盾_R1攻撃 + 右手盾行動 + None + -9999 + 9999 + 3000 + + + 右手盾_R2攻撃 + 右手盾行動 + None + -9999 + 9999 + 3100 + + + 未使用 + None + -9999 + 9999 + 3200 + + + 未使用 + None + -9999 + 9999 + 3300 + + + 未使用 + None + -9999 + 9999 + 3400 + + + バックステップ[SuccessGuard] + ガード成功インタラプト + None + -9999 + 9999 + 25000 + + + 割り込まない[SuccessGuard] + ガード成功インタラプト + None + -9999 + 9999 + 25200 + + + ガードカウンター攻撃[SuccessGuard] + ガード成功インタラプト + None + -9999 + 9999 + 25100 + + + 未使用 + None + -9999 + 9999 + 25300 + + + 未使用 + None + -9999 + 9999 + 25400 + + + 左手近接_R1コンボ(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4000 + + + 左手近接_R2コンボ(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4100 + + + 左手近接_L1コンボ(片手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4200 + + + 左手近接_ダッシュ攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4300 + + + 左手近接_前ローリング攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4400 + + + 左手近接_左右ローリング攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4500 + + + 左手近接_後ローリング攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4600 + + + 左手近接_バックステップ攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4700 + + + 左手近接_ジャンプ攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4800 + + + 左手近接_ダッシュジャンプ攻撃(両手持ちのみ) + 左手近接行動 + None + -9999 + 9999 + 4900 + + + 左手遠距離_R1射撃 + 左手遠距離武器行動 + None + -9999 + 9999 + 5000 + + + 左手遠距離_R2射撃 + 左手遠距離武器行動 + None + -9999 + 9999 + 5100 + + + 未使用 + None + -9999 + 9999 + 5200 + + + 左手魔法_遠距離魔法_前移動 + 左手魔法行動 + None + -9999 + 9999 + 6200 + + + 左手魔法_遠距離魔法_後ろ移動 + 左手魔法行動 + None + -9999 + 9999 + 6220 + + + 致命攻撃[SuccessParry] + パリィ成功インタラプト + None + -9999 + 9999 + 26000 + + + 割り込まない[SuccessParry] + パリィ成功インタラプト + None + -9999 + 9999 + 26100 + + + 未使用 + None + -9999 + 9999 + 26200 + + + 未使用 + None + -9999 + 9999 + 26300 + + + 未使用 + None + -9999 + 9999 + 26400 + + + 左手魔法_近接魔法_左右 + 左手魔法行動 + None + -9999 + 9999 + 6010 + + + 左手魔法_中距離魔法_左右 + 左手魔法行動 + None + -9999 + 9999 + 6110 + + + 左手魔法_遠距離魔法_左右 + 左手魔法行動 + None + -9999 + 9999 + 6210 + + + 左手魔法_HP回復魔法 + 左手魔法行動 + None + -9999 + 9999 + 6300 + + + 左手魔法_バフ魔法 + 左手魔法行動 + None + -9999 + 9999 + 6400 + + + 左手魔法_近接魔法_前移動 + 左手魔法行動 + None + -9999 + 9999 + 6000 + + + 左手魔法_近接魔法_後ろ移動 + 左手魔法行動 + None + -9999 + 9999 + 6020 + + + 左手魔法_中距離魔法_前移動 + 左手魔法行動 + None + -9999 + 9999 + 6100 + + + 左手魔法_中距離魔法_後ろ移動 + 左手魔法行動 + None + -9999 + 9999 + 6110 + + + 未使用 + None + -9999 + 9999 + 6900 + + + バックステップ + 共通行動 + None + -9999 + 9999 + 7000 + + + 前ローリング + 共通行動 + None + -9999 + 9999 + 7100 + + + 左右ローリング + 共通行動 + None + -9999 + 9999 + 7200 + + + 後ろローリング + 共通行動 + None + -9999 + 9999 + 7300 + + + 左右移動 + 共通行動 + None + -9999 + 9999 + 7400 + + + 後退 + 共通行動 + None + -9999 + 9999 + 7500 + + + ダッシュ接近 + 共通行動 + None + -9999 + 9999 + 7600 + + + 待機 + 共通行動 + None + -9999 + 9999 + 7700 + + + 右手両手持ちに持ち替え + 共通行動 + None + -9999 + 9999 + 7800 + + + 左手両手持ちに持ち替え + 共通行動 + None + -9999 + 9999 + 7900 + + + 片手持ちに持ち替え + 共通行動 + None + -9999 + 9999 + 8000 + + + 戦闘距離までアプローチ + 共通行動 + None + -9999 + 9999 + 7650 + + + 未使用 + None + -9999 + 9999 + 8200 + + + 未使用 + None + -9999 + 9999 + 8300 + + + 未使用 + None + -9999 + 9999 + 8400 + + + 致命攻撃[GuardBreak] + ガードブレイクインタラプト + None + -9999 + 9999 + 27000 + + + ダッシュ攻撃[GuardBreak] + ガードブレイクインタラプト + None + -9999 + 9999 + 27100 + + + 魔法_近接魔法[GuardBreak] + ガードブレイクインタラプト + None + -9999 + 9999 + 27200 + + + 割り込まない[GuardBreak] + ガードブレイクインタラプト + None + -9999 + 9999 + 27300 + + + 未使用 + None + -9999 + 9999 + 27400 + + + 盾チク + 特殊行動 + None + -9999 + 9999 + 9000 + + + 未使用 + None + -9999 + 9999 + 9100 + + + 未使用 + None + -9999 + 9999 + 9200 + + + 未使用 + None + -9999 + 9999 + 9300 + + + 未使用 + None + -9999 + 9999 + 9400 + + + ダッシュ攻撃[Estus] + エストを飲んだインタラプト + None + -9999 + 9999 + 28000 + + + 投擲アイテム[Estus] + エストを飲んだインタラプト + None + -9999 + 9999 + 28100 + + + 割り込まない[Estus] + エストを飲んだインタラプト + None + -9999 + 9999 + 28200 + + + 未使用 + None + -9999 + 9999 + 28300 + + + 未使用 + None + -9999 + 9999 + 28400 + + + パリィ[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29000 + + + 前ローリング[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29100 + + + 左右ローリング[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29200 + + + 後ろローリング[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29300 + + + バックステップ攻撃[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29400 + + + その場ガード[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29500 + + + 割り込まない[Parrytime] + パリィタイミングインタラプト + None + -9999 + 9999 + 29600 + + + 未使用 + None + -9999 + 9999 + 29700 + + + 未使用 + None + -9999 + 9999 + 29800 + + + 未使用 + None + -9999 + 9999 + 29900 + + + 後ろローリング[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21400 + + + 左右ローリング[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21300 + + + 後ろガード移動[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21700 + + + 左右ガード移動[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21600 + + + 割り込まない[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21800 + + + R1コンボ[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21000 + + + 前ローリング[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21200 + + + バックステップ[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21100 + + + 前ガード移動[Damaged] + 被ダメージインタラプト + None + -9999 + 9999 + 21500 + + + 未使用 + None + -9999 + 9999 + 21900 + + + 前ローリング[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22000 + + + 左右ローリング[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22100 + + + 前ガード移動[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22300 + + + 左右ガード移動[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22400 + + + 割り込まない[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22600 + + + 後ローリング[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22200 + + + ダッシュ接近[Shoot] + 飛び道具発見インタラプト + None + -9999 + 9999 + 22500 + + + 未使用 + None + -9999 + 9999 + 22700 + + + 未使用 + None + -9999 + 9999 + 22800 + + + 未使用 + None + -9999 + 9999 + 22900 + + + バックステップ[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23000 + + + 前ローリング[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23100 + + + 左右ローリング[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23200 + + + 後ローリング[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23300 + + + 前ガード移動[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23400 + + + 左右ガード移動[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23500 + + + その場ガード[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23600 + + + 盾チク[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23700 + + + 割り込まない[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23900 + + + その場回避アーツ[FindAttack] + 攻撃発見インタラプト + None + -9999 + 9999 + 23800 + + + R1コンボ時両手持ち確率 + その他の確率補正 + None + -9999 + 9999 + 50000 + + + R2コンボ時両手持ち確率 + その他の確率補正 + None + -9999 + 9999 + 50100 + + + プランニング行動時の移動時ガード確率 + その他の確率補正 + None + -9999 + 9999 + 50200 + + + R1攻撃を二刀攻撃に置き換える確率 + その他の確率補正 + None + -9999 + 9999 + 50300 + + + 回避を特殊ローリングアーツに置き換える確率 + その他の確率補正 + None + -9999 + 9999 + 50400 + + + 投擲系アイテムの使用 + アイテム使用系 + None + -9999 + 9999 + 9500 + + + HP回復アイテムの使用 + アイテム使用系 + None + -9999 + 9999 + 9510 + + + バフアイテムの使用 + アイテム使用系 + None + -9999 + 9999 + 9520 + + + 薬包コンボ攻撃 + アイテム使用系 + None + -9999 + 9999 + 9530 + + + 未使用 + None + -9999 + 9999 + 50900 + + + アーツ_近距離攻撃 + アーツ行動系 + None + -9999 + 9999 + 10000 + + + アーツ_中距離攻撃 + アーツ行動系 + None + -9999 + 9999 + 10100 + + + アーツ_遠距離攻撃 + アーツ行動系 + None + -9999 + 9999 + 10200 + + + アーツ_回復 + アーツ行動系 + None + -9999 + 9999 + 10300 + + + アーツ_バフ + アーツ行動系 + None + -9999 + 9999 + 10400 + + + 未使用 + アーツ行動系 + None + -9999 + 9999 + 10000155 + + + 未使用 + None + -9999 + 9999 + 10000156 + + + 未使用 + None + -9999 + 9999 + 10000157 + + + 未使用 + None + -9999 + 9999 + 10000158 + + + 未使用 + None + -9999 + 9999 + 10000159 + + + 未使用 + None + -9999 + 9999 + 10000160 + + + 未使用 + None + -9999 + 9999 + 10000161 + + + 未使用 + None + -9999 + 9999 + 10000162 + + + 未使用 + None + -9999 + 9999 + 10000163 + + + 未使用 + None + -9999 + 9999 + 10000164 + + + 未使用 + None + -9999 + 9999 + 10000165 + + + 未使用 + None + -9999 + 9999 + 10000166 + + + 未使用 + None + -9999 + 9999 + 10000167 + + + 未使用 + None + -9999 + 9999 + 10000168 + + + 未使用 + None + -9999 + 9999 + 10000169 + + + 未使用 + None + -9999 + 9999 + 10000170 + + + 未使用 + None + -9999 + 9999 + 10000171 + + + 未使用 + None + -9999 + 9999 + 10000172 + + + 未使用 + None + -9999 + 9999 + 10000173 + + + 未使用 + None + -9999 + 9999 + 10000174 + + + 未使用 + None + -9999 + 9999 + 10000175 + + + 未使用 + None + -9999 + 9999 + 10000176 + + + 未使用 + None + -9999 + 9999 + 10000177 + + + 未使用 + None + -9999 + 9999 + 10000178 + + + 未使用 + None + -9999 + 9999 + 10000179 + + + 未使用 + None + -9999 + 9999 + 10000180 + + + 未使用 + None + -9999 + 9999 + 10000181 + + + 未使用 + None + -9999 + 9999 + 10000182 + + + 未使用 + None + -9999 + 9999 + 10000183 + + + 未使用 + None + -9999 + 9999 + 10000184 + + + 未使用 + None + -9999 + 9999 + 10000185 + + + 未使用 + None + -9999 + 9999 + 10000186 + + + 未使用 + None + -9999 + 9999 + 10000187 + + + 未使用 + None + -9999 + 9999 + 10000188 + + + 未使用 + None + -9999 + 9999 + 10000189 + + + 未使用 + None + -9999 + 9999 + 10000190 + + + 未使用 + None + -9999 + 9999 + 10000191 + + + 未使用 + None + -9999 + 9999 + 10000192 + + + 未使用 + None + -9999 + 9999 + 10000193 + + + 未使用 + None + -9999 + 9999 + 10000194 + + + 未使用 + None + -9999 + 9999 + 10000195 + + + 未使用 + None + -9999 + 9999 + 10000196 + + + 未使用 + None + -9999 + 9999 + 10000197 + + + 未使用 + None + -9999 + 9999 + 10000198 + + + 未使用 + None + -9999 + 9999 + 10000199 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NpcParam.xml index 630c0fce..6f898ffd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NpcParam.xml @@ -1,215 +1,2227 @@ - + NPC_PARAM_ST - 1 + 9 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 2000001 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 2000002 + + + 行動バリエーションID + 行動IDを算出するときに使用するバリエーションID. + 0 + 99999 + 1000 + + + 毒耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44000 + + + NPC名ID + NPC名メッセージパラメータ用ID + -1 + 999999 + 3000 + + + 旋回速度[deg/sec] + 1秒間に旋回できる回転速度[度/秒]. + 0 + 1000000 + 0.1 + 8000 + + + 対マップあたりの高さ[m] + 対キャラ当たりカプセルの高さ. + 0 + 999999 + 0.1 + 13000 + + + 対マップあたりの半径[m] + 対キャラ当たりカプセルの半径. + 0 + 999999 + 0.1 + 13100 + + + 重量[kg] + 重量. + 999999 + 15000 + + + 表示位置Yオフセット[m] + モデル表示位置のY(高さ)方向のオフセット。あたり位置より浮かせることができる。 + -100 + 100 + 0.1 + 16000 + + + HP + 死亡猶予. + 99999 + 21000 + + + MP + 魔法使用量. + 99999 + 22000 + + + ソウル + 死亡時に、キャラクターが取得できるソウル量. + 999999 + 27000 + + + アイテム抽選ID_エネミー用 + 死亡時に取得するアイテムの抽選ID_エネミー用を指定。どちらか片方のみ設定してください。 + -1 + 999999999 + 28000 + + + アイテム抽選ID_マップ用 + 死亡時に取得するアイテムの抽選ID_マップ用を指定。どちらか片方のみ設定してください。 + -1 + 999999999 + 28001 + + + FootIK足首の制限角度_ロール + FootIK足首のロールの制限角度(-1:制限なし) + -1 + 90 + 0.1 + 200070 + + + あたりグループと使用ナビメッシュ + CHR_HIT_GROUP + 他のキャラとのあたり判定を設定(ラグドールあたりにすると他のキャラがラグドールに当たるようになる) + 9060 + + + NPC顔画像ID + NPC顔画像ID(0:無効値(デフォルト))。「サイン閲覧メニュー」「キックメニュー」などで表示する顔画像のIDを指定する。無効値なら着せ替えモデルを表示する + 99 + 2000000 + + + ディアクティベート距離設定[m] + キャラがディアクティベートされる距離(オープン配置キャラのみ有効) + -1 + 220 + 450100 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + FootIK見た目の上下制限値 + FootIK見た目の上下制限値 + %.3f + 0 + 100 + 200100 + + + 人間性抽選ID + 死亡時に取得する人間性の抽選IDを指定 + -1 + 999999999 + 33010 + + + 常駐特殊効果0 + 常駐特殊効果0 + -1 + 999999 + 46000 + + + 常駐特殊効果1 + 常駐特殊効果1 + -1 + 999999 + 47000 + + + 常駐特殊効果2 + 常駐特殊効果2 + -1 + 999999 + 48000 + + + 常駐特殊効果3 + 常駐特殊効果3 + -1 + 999999 + 49000 + + + 常駐特殊効果4 + 常駐特殊効果4 + -1 + 999999 + 50000 + + + 常駐特殊効果5 + 常駐特殊効果5 + -1 + 999999 + 50010 + + + 常駐特殊効果6 + 常駐特殊効果6 + -1 + 999999 + 50020 + + + 常駐特殊効果7 + 常駐特殊効果7 + -1 + 999999 + 50030 + + + + + + 物理攻撃カット率[%] + ガード時のダメージカット率を各攻撃ごとに設定 + %0.1f + 0 + 100 + 0.1 + 55000 + + + 魔法攻撃カット率[%] + ガード攻撃でない場合は、0を入れる + %0.1f + 0 + 100 + 0.1 + 60000 + + + 炎攻撃力カット率[%] + 炎攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 61000 + + + 電撃攻撃力カット率[%] + 電撃攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 61100 + + + アニメIDオフセット1 + すべてのアニメをこの数だけずらしたIDで再生します。なければ元のアニメIDを参照します。 + -1 + 99999999 + 83000 + + + ロックダミポリ0の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10600 + + + ロックダミポリ1の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10610 + + + ロックダミポリ2の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10620 + + + ロックダミポリ3の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10630 + + + ロックダミポリ4の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10640 + + + ロックダミポリ5の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10650 + + + ネットワークワープ判定距離[m/秒] + ネットワークの同期で、補完移動でなくワープさせる距離。スピードの速い人(exドラゴン)は長めにしてあげる必要がある。 + 0 + 1000 + 0.1 + 101000 + + + R1 + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 102000 + + + L1 + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 103000 + + + R2 + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 104000 + + + L2 + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 105000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 106000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 107000 + + + × + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 108000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 109000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 110000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 111000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 112000 + + + + 行動パラメータツールからIDを登録し、行動を指定する. + -1 + 999999 + 113000 + + + アニメIDオフセット2 + すべてのアニメをこの数だけずらしたIDで再生します。なければアニメIDオフセット1のアニメIDを参照します。 + -1 + 99999999 + 122000 + + + ダメージグループ1ダメージ倍率 + 部位1に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51110 + + + ダメージグループ2ダメージ倍率 + 部位2に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51120 + + + ダメージグループ3ダメージ倍率 + 部位3に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51130 + + + ダメージグループ4ダメージ倍率 + 部位4に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51140 + + + ダメージグループ5ダメージ倍率 + 部位5に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51150 + + + ダメージグループ6ダメージ倍率 + 部位6に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51160 + + + ダメージグループ7ダメージ倍率 + 部位7に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51165 + + + ダメージグループ8ダメージ倍率 + 部位8に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51166 + + + 弱点部位ダメージ倍率 + 弱点部位に対するダメージ処理に適応する倍率 + %.2f + 0 + 99 + 51170 + + + SA回復時間補正値 + スーパーアーマー回復時間用の補正値 + %.2f + -1 + 99.99 + 39200 + + + SAブレイク時ノックバック距離 + SAブレイクの時だけに使えるノックバック距離 + %.2f + 0 + 99.99 + 41110 + + + スタミナ + スタミナ総量. + 999 + 24000 + + + スタミナ回復基本速度[point/s] + スタミナ回復基本速度[point/s] + 1000 + 25000 + + + 物理防御力 + 物理攻撃に対するダメージ減少基本値. + 9999 + 35000 + + + 斬撃防御力[%] + 攻撃属性を見て、斬撃属性のときは、防御力を減少させる. + -100 + 999 + 35100 + + + 打撃防御力[%] + 攻撃属性を見て、打撃属性のときは、防御力を減少させる. + -100 + 999 + 35200 + + + 刺突防御力[%] + 攻撃属性を見て、刺突属性のときは、防御力を減少させる. + -100 + 999 + 35300 + + + 魔法防御力 + 魔法攻撃に対するダメージ減少基本値. + 9999 + 35400 + + + 炎防御力 + 炎攻撃に対するダメージ減少基本値. + 9999 + 35500 + + + 電撃防御力 + 電撃攻撃に対するダメージ減少基本値. + 9999 + 35600 + + + はじき防御力 + 敵の攻撃のはじき判定に使用。//ガード以外の通常攻撃でもはじけるようにするためのものです.//硬い表皮の敵は、何もしなくてもはじかれることがある…みたいな感じ通常の敵なら関係ないです. + 999 + 40000 + + + 毒耐性 + 毒状態異常へのかかりにくさ + 999 + 43000 + + + 疫病耐性 + 疫病状態異常へのかかりにくさ + 999 + 43100 + + + 出血耐性 + 出血状態異常へのかかりにくさ + 999 + 43200 + + + 呪耐性 + 呪状態異常へのかかりにくさ + 999 + 43300 + + + 徘徊ゴースト時差し替えモデルID + 徘徊ゴースト化したときの差し替えモデル、テクスチャID + -1 + 9999 + 99000 + + + 通常時差し替えリソースID + 通常時のリソースID差し替え(むやみに使わないこと) + -1 + 9999 + 100000 + + + ガード範囲[deg] + 武器のガード時の防御発生範囲角度.保留中 + 0 + 180 + 54000 + + + 斬撃攻撃カット率[%] + 攻撃タイプを見て、斬撃属性のダメージを何%カットするか?を指定 + -100 + 100 + 56000 + + + 打撃攻撃カット率[%] + 攻撃タイプを見て、打撃属性のダメージを何%カットするか?を指定 + -100 + 100 + 57000 + + + 刺突攻撃カット率[%] + 攻撃タイプを見て、刺突属性のダメージを何%カットするか?を指定 + -100 + 100 + 58000 + + + ロックダミポリ6の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10660 + + + 通常時差し替えテクスチャキャラID + 通常時差し替えテクスチャキャラID(むやみに使わないこと) + -1 + 9999 + 100100 + + + ドロップアイテムの表示形式 + NPC_ITEMDROP_TYPE + アイテムドロップ時の表示方法(死体発光orアイテム表示) + 1 + 26000 + + + ノックバックカット率[%] + ノックバックダメージを受けたときの減少値/具体的には、攻撃側のノックバック初速度をカットする + 100 + 41000 + + + ノックバックパラメータID + ノックバック時に使用するパラメータIDを設定 + 41100 + + + 落下ダメージ軽減補正[%] + 落下ダメージ軽減補正[%] + 100 + 42000 + + + スタミナ攻撃カット率[%] + ガード成功時に、敵のスタミナ攻撃に対する防御力 + 100 + 66000 + + + 睡眠耐性 + 睡眠状態異常へのかかりにくさ + 999 + 43500 + + + 発狂耐性 + 発狂状態異常へのかかりにくさ + 999 + 43600 + + + 睡眠攻撃カット率[%] + 睡眠に対する攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63500 + + + 発狂攻撃カット率[%] + 発狂に対する攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63600 + + + ロックダミポリ7の注視点 + ロックオンダミポリ22Xをロックしている際に指定したダミポリを注視する(-1:無効) + -1 + 999 + 10670 + + + MP回復基本速度[%/s] + MP回復基本速度[%/s] + 100 + 23000 + + + はじき時ダメージ減衰率[%] + 攻撃をはじいた時にダメージを減衰する値を設定 + 100 + 40100 + + + デフォルトLODパラムID + デフォルトLODパラムID(-1:なし) + None + -1 + 200000 + + + 描画タイプ + NPC_DRAW_TYPE + 描画タイプ + 0 + 255 + 4000 + + + NPCタイプ + NPC_TYPE + NPCの種類.ザコ敵/ボス敵が区別されていればOK + 5000 + + + チームタイプ + TEAM_TYPE + NPCの攻撃が当たる/当たらない、狙う/狙わない設定 + 6000 + + + 移動タイプ + NPC_MOVE_TYPE + 移動方法。これにより制御が変更される. + 7000 + + + ロック距離 + ロックオンできる距離[m] + 10000 + + + 弱点防御材質1【SE】 + WEP_MATERIAL_DEF + 弱点部位ダメージを受けた時に鳴らすSEを判定する。1 + 9999 + 51200 + + + 弱点防御材質1【SFX】 + WEP_MATERIAL_DEF_SFX + 弱点部位ダメージを受けた時に発生するSFXを判定する。1 + 9999 + 51300 + + + 部位ダメージ適用攻撃 + ATK_PARAM_PARTSDMGTYPE + 部位ダメージを適用する攻撃タイプを設定する + 2 + 51100 + + + 誓約 + VOW_TYPE + 誓約タイプ + 15 + 125000 + + + ガードレベル + ガードしたとき、敵の攻撃をどのガードモーションで受けるか?を決める + 0 + 100 + 52000 + + + 燃焼SFXタイプ + NPC_BURN_TYPE + 燃焼時のSFXタイプ + 53000 + + + 毒耐性カット率[%] + 毒にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63000 + + + 疫病攻撃カット率[%] + 疫病にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63100 + + + 出血攻撃カット率[%] + 出血にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63200 + + + 呪攻撃カット率[%] + 呪にする攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63300 + + + パリィ攻撃力 + パリィ攻撃力。パリィする側が使用 + 72000 + + + パリィ防御力 + パリィ防御力。パリィされる側が使用。 + 73000 + + + SFXサイズ + NPC_SFX_SIZE + SFXサイズ + 97000 + + + カメラ押し出し領域半径[m] + カメラ押し出し領域半径[m] + None + 98000 + + + ヒットストップするか + NPC_HITSTOP_TYPE + ヒットストップ処理を行うかどうかの設定 + 9510 + + + はしご上終端オフセット[1/10m] + はしご終端判定用オフセット上側 + 16500 + + + はしご下終端オフセット[1/10m] + はしご終端判定用オフセット下側 + 16600 + + + カメラヒットあたりラグドール + NPC_BOOL + 敵のラグドールにカメラがあたるか。(プレイヤにも当たるときのみ有効) + 1 + 9100 + + + クロスリジッドヒットを無効 + NPC_BOOL + クロスリジッドが自分に当たらないようにしたければ○ + 1 + 9500 + + + 前後の起伏加算を使用するか + NPC_BOOL + 前後の起伏加算を使用するか + 1 + 20200 + + + 特攻Aか + NPC_BOOL + 特攻Aか。特攻Aダメージ倍率が計算に含まれるようになります + 1 + 11000 + + + 霊体か + NPC_BOOL + 相手の攻撃がすり抜けるようになります。武器パラの「対霊武器」が○の武器で攻撃された時のみ攻撃が当たります。徘徊ゴーストと混同しないように注意 + 1 + 11010 + + + ダメージ0のときにダメージモーションなしか + NPC_BOOL + ダメージ0のときにダメージモーションを再生しないか。 + 1 + 12000 + + + 起伏に角度をあわせるか + NPC_BOOL + キャラの前後回転を地面の起伏に合わせるか。飛行キャラの場合は使用不可 + 1 + 19000 + + + 徘徊ゴーストになるか + NPC_BOOL + プレイヤーがクライアントのときに徘徊ゴーストになるか + 1 + 95000 + + + モデル表示マスク0 + 表示マスクに対応するモデルを表示します。 + 1 + 84000 + + + モデル表示マスク1 + 表示マスクに対応するモデルを表示します。 + 1 + 84001 + + + モデル表示マスク2 + 表示マスクに対応するモデルを表示します。 + 1 + 84002 + + + モデル表示マスク3 + 表示マスクに対応するモデルを表示します。 + 1 + 84003 + + + モデル表示マスク4 + 表示マスクに対応するモデルを表示します。 + 1 + 84004 + + + モデル表示マスク5 + 表示マスクに対応するモデルを表示します。 + 1 + 84005 + + + モデル表示マスク6 + 表示マスクに対応するモデルを表示します。 + 1 + 84006 + + + モデル表示マスク7 + 表示マスクに対応するモデルを表示します。 + 1 + 84007 + + + モデル表示マスク8 + 表示マスクに対応するモデルを表示します。 + 1 + 84008 + + + モデル表示マスク9 + 表示マスクに対応するモデルを表示します。 + 1 + 84009 + + + モデル表示マスク10 + 表示マスクに対応するモデルを表示します。 + 1 + 84010 + + + モデル表示マスク11 + 表示マスクに対応するモデルを表示します。 + 1 + 84011 + + + モデル表示マスク12 + 表示マスクに対応するモデルを表示します。 + 1 + 84012 + + + モデル表示マスク13 + 表示マスクに対応するモデルを表示します。 + 1 + 84013 + + + モデル表示マスク14 + 表示マスクに対応するモデルを表示します。 + 1 + 84014 + + + モデル表示マスク15 + 表示マスクに対応するモデルを表示します。 + 1 + 84015 + + + 首振り有効にするか + パラムウィーバで設定された首振りを有効にするか。 + 1 + 123000 + + + リスポン禁止か + リスポンを禁止するか + 1 + 124000 + + + 移動アニメを待つか + 移動アニメをアニメが終わるまで再生するか。(カゲロウ龍の様に。) + 1 + 7500 + + + 群集用処理軽減するか + NPC_BOOL + 群集時の処理負荷軽減を行なうか。赤子用(できればファランクスも) + 1 + 96000 + + + 特攻Bか + NPC_BOOL + 特攻Bか。特攻Bダメージ倍率が計算に含まれるようになります + 1 + 11001 + + + 特攻Cか + NPC_BOOL + 特攻Cか。特攻Cダメージ倍率が計算に含まれるようになります + 1 + 11002 + + + 特攻Dか + NPC_BOOL + 特攻Dか。特攻Dダメージ倍率が計算に含まれるようになります + 1 + 11003 + + + 常時特殊旋回するか + NPC_BOOL + 常時特殊旋回を実行するか(旋回移動先にナビメッシュがない場合も特殊旋回を継続実行します) + 1 + 201002 + + + 騎乗特攻か + NPC_BOOL + (騎乗中であれば)騎乗特攻の対象になるか + 1 + 11006 + + + 段差越え表示補間を使用するか + NPC_BOOL + 段差越え表示補間を使用するか + 1 + 200500 + + + ステルス攻撃対象か + NPC_BOOL + ステルス攻撃対象か + 1 + 11008 + + + 初期死亡しない + NPC_BOOL + 初期死亡をしない場合にTRUE、殺してセーブしても死体再現されません。 + 1 + 124001 + + + ヒット時振動するか + NPC_BOOL + ヒット時振動をする場合TRUE。亡者など、普通のヒットストップと変えたいときにつかう。 + 1 + 9520 + + + スムーズ旋回するか + NPC_BOOL + ルート移動でのノード間旋回時、補間を行うか否か + 1 + 202000 + + + 特攻Eか + NPC_BOOL + 特攻Eか。特攻Eダメージ倍率が計算に含まれるようになります + 1 + 11004 + + + 特攻Fか + NPC_BOOL + 特攻Fか。特攻Fダメージ倍率が計算に含まれるようになります + 1 + 11005 + + + モデル表示マスク16 + 表示マスクに対応するモデルを表示します。 + 1 + 84016 + + + モデル表示マスク17 + 表示マスクに対応するモデルを表示します。 + 1 + 84017 + + + モデル表示マスク18 + 表示マスクに対応するモデルを表示します。 + 1 + 84018 + + + モデル表示マスク19 + 表示マスクに対応するモデルを表示します。 + 1 + 84019 + + + モデル表示マスク20 + 表示マスクに対応するモデルを表示します。 + 1 + 84020 + + + モデル表示マスク21 + 表示マスクに対応するモデルを表示します。 + 1 + 84021 + + + モデル表示マスク22 + 表示マスクに対応するモデルを表示します。 + 1 + 84022 + + + モデル表示マスク23 + 表示マスクに対応するモデルを表示します。 + 1 + 84023 + + + モデル表示マスク24 + 表示マスクに対応するモデルを表示します。 + 1 + 84024 + + + モデル表示マスク25 + 表示マスクに対応するモデルを表示します。 + 1 + 84025 + + + モデル表示マスク26 + 表示マスクに対応するモデルを表示します。 + 1 + 84026 + + + モデル表示マスク27 + 表示マスクに対応するモデルを表示します。 + 1 + 84027 + + + モデル表示マスク28 + 表示マスクに対応するモデルを表示します。 + 1 + 84028 + + + モデル表示マスク29 + 表示マスクに対応するモデルを表示します。 + 1 + 84029 + + + モデル表示マスク30 + 表示マスクに対応するモデルを表示します。 + 1 + 84030 + + + モデル表示マスク31 + 表示マスクに対応するモデルを表示します。 + 1 + 84031 + + + ドロップアイテム半径補正 + 通常のItem検索判定の円柱半径に、補正として足し合わせる半径(敵ドロップアイテムに適用。大きなキャラなどで使用する) + -99 + 99 + 0.1 + 26001 + + + 対キャラあたりの高さ[m] + 対キャラ当たりカプセルの高さ. + 0 + 999999 + 0.1 + 14000 + + + 対キャラあたりの半径[m] + 対キャラ当たりカプセルの半径. + 0 + 999999 + 0.1 + 14100 + + + 特殊旋回のタイプ + NPC_SPECIAL_TURN_TYPE + 特殊旋回のタイプ + 2 + 201000 + + + ソウルはボス入手か + NPC_BOOL + ソウルはボス入手か + 1 + 27010 + + + オブジェクト扱いの弾丸オーナか + NPC_BOOL + 弾丸のオーナーとなった場合、弾丸に関連するダメージ計算などをオブジェのものを適用するようにするフラグ。勢力別ダメージ補正で使用。 + 1 + 410000 + + + ロウヒットFootIKを使うか? + NPC_BOOL + ロウヒット用のFootIkフィルターを使用するか + 1 + 420000 + + + PvPのダメージ補正制御を適用するか + NPC_BOOL + ダメージ計算時に「プレイヤー」としてダメージ計算するのかを決める。無効の場合は「敵」扱い。 + 1 + 430000 + + + ホスト世界でアクティブ時のみアクティベート可 + NPC_BOOL + ホスト世界でアクティブ時のみアクティベート可 + 1 + 450150 + + + 弱点アニメをスキップするか + NPC_BOOL + 弱点ダメージアニメ再生をスキップするかどうか。アニメを再生しないだけで「部位ダメージ率」「防御材質」は弱点として扱われます。 + 1 + 51105 + + + 騎乗された時、乗る側のカプセルあたりを有効にするか + NPC_BOOL + このパラメータが○のキャラに騎乗する際、騎乗中、キャラのアタリが残ったままになる + 1 + 9505 + + + 特殊あたりキャラか + NPC_BOOL + 特殊あたりに当たるキャラか + 1 + 12960 + + + 闇防御力 + 闇攻撃に対するダメージ減少基本値. + 9999 + 35700 + + + 脅威度 + 脅威度。0ならPCが見つかっても「見つかりそうFE」を表示しない + 9999 + 460000 + + + 特殊旋回の使用距離の閾値[m] + ターゲットとの距離が設定された閾値以上の場合に、特殊旋回を行う + 0 + 999999 + 0.1 + 201001 + + + フットエフェクト識別子 + 自動フットエフェクトで使用するSFX識別子。(XYYZZZのZZZ) + -1 + 999 + 97100 + + + 防御材質1【SE】 + WEP_MATERIAL_DEF + ダメージを受けたときに鳴らすSEを判定する。1.見た目で設定してOK. + 9999 + 17000 + + + 防御材質1【SFX】 + WEP_MATERIAL_DEF_SFX + ダメージを受けたときに発生するSFXを判定する。1.見た目で設定してOK. + 9999 + 18000 + + + 弱点防御材質2【SE】 + WEP_MATERIAL_DEF + 弱点部位ダメージを受けた時に鳴らすSEを判定する。2 + 9999 + 51201 + + + 弱点防御材質2【SFX】 + WEP_MATERIAL_DEF_SFX + 弱点部位ダメージを受けた時に発生するSFXを判定する。2 + 9999 + 51301 + + + 防御材質2【SE】 + WEP_MATERIAL_DEF + ダメージを受けたときに鳴らすSEを判定する。2.見た目で設定してOK. + 9999 + 17001 + + + 防御材質2【SFX】 + WEP_MATERIAL_DEF_SFX + ダメージを受けたときに発生するSFXを判定する。2.見た目で設定してOK. + 9999 + 18001 + + + 常駐特殊効果8 + 常駐特殊効果8 + -1 + 999999 + 50040 + + + 常駐特殊効果9 + 常駐特殊効果9 + -1 + 999999 + 50050 + + + 常駐特殊効果10 + 常駐特殊効果10 + -1 + 999999 + 50060 + + + 常駐特殊効果11 + 常駐特殊効果11 + -1 + 999999 + 50070 + + + 常駐特殊効果12 + 常駐特殊効果12 + -1 + 999999 + 50080 + + + 常駐特殊効果13 + 常駐特殊効果13 + -1 + 999999 + 50090 + + + 常駐特殊効果14 + 常駐特殊効果14 + -1 + 999999 + 50100 + + + 常駐特殊効果15 + 常駐特殊効果15 + -1 + 999999 + 50110 + + + フットデカール識別子1 + フットエフェクト発生時に貼られるデカール。床材質も考慮される + -1 + 999 + 97110 + + + 強靭度 + 強靭度の基本値 + 999 + 39300 + + + 強靭度 回復時間補正値 + 強靭度の回復時間用の補正値 + %.2f + 0 + 99.99 + 39400 + + + 無属性ダメージ倍率 + 無属性ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36000 + + + 斬撃ダメージ倍率 + 斬撃ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36100 + + + 打撃ダメージ倍率 + 打撃ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36200 + + + 刺突ダメージ倍率 + 刺突ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36300 + + + 魔法ダメージ倍率 + 魔法ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36400 + + + 火炎ダメージ倍率 + 火炎ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36500 + + + 電撃ダメージ倍率 + 電撃ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36600 + + + 闇ダメージ倍率 + 闇ダメージ倍率。ダメージ計算結果にこの値をかけた値が最終ダメージ値になります。 + %.3f + 0 + 99.999 + 0.001 + 36700 + + + 闇攻撃力カット率[%] + 闇攻撃をどれだけカットするか? + %0.1f + 0 + 100 + 0.1 + 61200 + + + クロス更新優先度オフセット[m] + クロス更新優先度オフセット[m] + 140000 + + + NPCプレイヤー時重量設定 + NPC_WEIGHT_TYPE + NPCプレイヤーのときに適用される装備重量タイプ + 5 + 7700 + + + 通常時差し替えモデルID + 通常時の差し替えモデル、テクスチャID + -1 + 9999 + 99100 + + + 通常時差し替えアニメキャラID + 対象のアニメを指定IDのAnibndで差し替える + -1 + 9999 + 100200 + + + ペイントレンダーターゲットサイズ[pix] + ペイントレンダーターゲットサイズ[pix] + None + 4096 + 128 + 200050 + + + 疫病耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44100 + + + 適用シェーダーID + 適用するファントムパラメータ.xlsmのID + -1 + 999999999 + 4500 + + + マルチプレイ補正パラメータID + マルチプレイ補正パラメータID + -1 + 999999999 + 400000 + + + FootIK足首の制限角度_ピッチ + FootIK足首のピッチの制限角度(-1:制限なし)。HATでFoot End L Sを設定していない場合はこの角度がロールと共通で使用される。 + -1 + 90 + 0.1 + 200060 + + + 冷気耐性 + 冷気状態異常へのかかりにくさ + 999 + 43400 + + + 冷気攻撃カット率[%] + 冷気に対する攻撃力(特殊効果パラメータに設定)をどれだけカットするか + 0 + 100 + 63400 + + + + pad + %d + Wrap + 2000003 + + + + ロックカメラパラメータID + ロックオンされた際にカメラに適用させるロックカメラパラメータのID。最も優先度が高い。-1なら未使用 + -1 + 999999999 + 10500 + + + 常駐特殊効果16 + 常駐特殊効果16 + -1 + 999999999 + 50111 + + + 常駐特殊効果17 + 常駐特殊効果17 + -1 + 999999999 + 50112 + + + 常駐特殊効果18 + 常駐特殊効果18 + -1 + 999999999 + 50113 + + + 常駐特殊効果19 + 常駐特殊効果19 + -1 + 999999999 + 50114 + + + 常駐特殊効果20 + 常駐特殊効果20 + -1 + 999999999 + 50115 + + + 常駐特殊効果21 + 常駐特殊効果21 + -1 + 999999999 + 50116 + + + 常駐特殊効果22 + 常駐特殊効果22 + -1 + 999999999 + 50117 + + + 常駐特殊効果23 + 常駐特殊効果23 + -1 + 999999999 + 50118 + + + 常駐特殊効果24 + 常駐特殊効果24 + -1 + 999999999 + 50119 + + + 常駐特殊効果25 + 常駐特殊効果25 + -1 + 999999999 + 50120 + + + 常駐特殊効果26 + 常駐特殊効果26 + -1 + 999999999 + 50121 + + + 常駐特殊効果27 + 常駐特殊効果27 + -1 + 999999999 + 50122 + + + 常駐特殊効果28 + 常駐特殊効果28 + -1 + 999999999 + 50123 + + + 常駐特殊効果29 + 常駐特殊効果29 + -1 + 999999999 + 50124 + + + 常駐特殊効果30 + 常駐特殊効果30 + -1 + 999999999 + 50125 + + + 常駐特殊効果31 + 常駐特殊効果31 + -1 + 999999999 + 50126 + + + ロック不可領域の中心角[deg] + 敵の真下に円錐状のロックオン不可領域を作る。円錐の広さの角度。TAEから一時的に変更可能 + 0 + 360 + 1 + 10800 + + + クロスOffLODレベル + クロスの処理を切るLODレベルを設定する + -1 + 2 + 141000 + + + 起伏にあわせるのにFootIK結果を用いるか + NPC_BOOL + キャラを地面の起伏に合わせる際に、FootIK結果を用いるか。飛行キャラの場合は使用不可 + 1 + 19500 + + + 初期死亡時にカプセル接地するか + NPC_BOOL + 初期死亡時にカプセル接地するか + 1 + 124005 + + + グループ報酬判定から外すか + NPC_BOOL + グループ報酬:「全員死亡」の判定において、このパラメータが○のキャラは判定から除外する + 1 + 760000 + + + ロックダミポリ(エネミー用)212が有効か + NPC_BOOL + ロックダミポリ(エネミー用)212が有効か + 1 + 10900 + + + ロックダミポリ(エネミー用)213が有効か + NPC_BOOL + ロックダミポリ(エネミー用)213が有効か + 1 + 10901 + + + ロックダミポリ(エネミー用)214が有効か + NPC_BOOL + ロックダミポリ(エネミー用)214が有効か + 1 + 10902 + + + オープン_XB1から除外 + NPC_BOOL + オープン_XB1から除外 + 1 + 100 + + + レガシー_XB1から除外 + NPC_BOOL + レガシー_XB1から除外 + 1 + 110 + + + HPエスト瓶/MPエスト瓶回復数パラメータID + キャラクター死亡時に値と同じ エスト使用回数回復パラメータ.xlsm のデータIDを取得してエスト瓶を回復させる。 -1なら未使用 + -1 + 9999 + 750000 + + + ロール名テキストID + 召喚時のロール名を指定する。-1:対象霊体のデフォルトロール名を使用。0:表示なし。1以上:テキストIDとして利用。 + -1 + 999999999 + 405000 + + + HP&MPエスト瓶回復 抽選確率 + 敵を倒した際のHP/MPエストの回復確率。10000 を分母とし、分子をNPCパラから取得する。 + 10000 + 751000 + + + HPエスト瓶回復 抽選確率 + 敵を倒した際のMPエストの回復確率。10000 を分母とし、分子をNPCパラから取得する。 + 10000 + 751100 + + + MPエスト瓶回復 抽選確率 + 敵を倒した際のMPエストの回復確率。10000 を分母とし、分子をNPCパラから取得する。 + 10000 + 751200 + + + HP&MPエスト瓶回復 落選時 加算抽選確率 + HP/MPエスト回復抽選に外れた際の次回確率上昇値。分子の加算値。 + 10000 + 752000 + + + HPエスト瓶回復 落選時 加算抽選確率 + HPエスト回復抽選に外れた際の次回確率上昇値。分子の加算値。 + 10000 + 752100 + + + MPエスト瓶回復 落選時 加算抽選確率 + MPエスト回復抽選に外れた際の次回確率上昇値。分子の加算値。 + 10000 + 752200 + + + ファントムシェーダを使用して徘徊ゴーストになるか + ゲスト側でだけ指定されたIDのファントムシェーダIDを指定して幻影化 + -1 + 1000000000 + 95500 + + + 聴覚用 頭のサイズ[m] + 聴覚判定時のカプセルオフセットの代わりに、設定するオフセットサイズ。0以上が設定されている場合のみ、この値をオフセットとして使用。 + -1 + 999999 + 0.1 + 14200 + + + サウンドバンクID + サウンドバンクIDが指定できます -1:キャラID(リソース名)のバンクを使用 + -1 + 9999 + 1000000 + + + 起伏にあわせる最大前後角度 + 起伏に前後の角度を合わせる場合の上限角度。全長が長い場合には低めに設定したほうがよいです。 + 180 + 20000 + + + 起伏にあわせる最大左右角度 + 起伏に左右の角度を合わせる場合の上限角度。全長が長い場合には低めに設定したほうがよいです。 + 180 + 20010 + + + 小隊ディアクティブ移動の移動速度[m/s] + 小隊ディアクティブ移動の移動速度[m/s] + 0 + 999 + 0.1 + 450200 + + + 小隊ディアクティブ移動に切り替わる距離[m] + 小隊ディアクティブ移動に切り替わる距離[m] + 0 + 9999 + 1 + 450250 + + + サウンド音源有効距離[m] + キャラ音源が有効なプレイヤーからの距離です。-1:全距離で有効 + -1 + 4096 + 0.1 + 1000002 + + + 起伏にあわせる補正ゲイン値 + 起伏に角度を合わせる際の速度を設定する + 0 + 1 + 20100 + + + フットデカール識別子2 + フットエフェクト発生時に貼られるデカール。床材質も考慮される + -1 + 999 + 97111 + + + フットデカール識別子3 + フットエフェクト発生時に貼られるデカール。床材質も考慮される + -1 + 999 + 97112 + + + リターゲット参照キャラID + モーションのリターゲット先の指定の際に参照するキャラID + -1 + 9999 + 100300 + + + SFXリソースバンクID + SFXリソースバンクIDが指定できます -1:キャラID(リソース名)のバンクを使用 + -1 + 9999 + 1000100 + + + 更新とアクティベイトの優先度 + アクティベート・更新レベルの決定に使用する。大きいほどプレイヤーから離れていても更新レベルが下がらない。 + 0 + 9999 + 0.1 + 450050 + + + 死亡前ナビメッシュフラグ + NPC_NAVIMESH_FLAG + キャラクターが生存してる間、触れているナビメッシュに値のフラグを設定する。移動に追従しない。 + 3 + 470000 + + + 死亡後ナビメッシュフラグ + NPC_NAVIMESH_FLAG + キャラクターが死亡してる間、触れているナビメッシュに値のフラグを設定する。移動に追従しない。 + 3 + 470010 + + + + pad + %d + Wrap + 2000004 + + + + 車輪制御タイプ + NPC_WHEEL_ROT_TYPE + 車輪制御タイプ + 3 + 16300 + + + 車輪の半径 + 車輪の半径を指定[m] + 0 + 99.99 + 16350 + + + リターゲット移動量倍率 + リターゲット時の移動量の倍率 + 0 + 99.99 + 100400 + + + はしごワープ位置オフセット + 指定された値でダミポリZ軸方向にオフセットします。正数・負数どちらも指定可能です。 + -99.99 + 99.99 + 16400 + + + 読み込みアセットID + キャラロード時に関連して読み込むアセットID(キャラが動的に生成するなど用。 + -1 + 999999 + 100250 + + + オーバーラップカメラ対象ロックダミポリID + オーバーラップカメラを有効にするダミポリID(220~227)を設定します。-1の場合は無効になります。 + -1 + 999 + 10700 + + + 常駐マテリアル拡張パラID0 + 常駐マテリアル拡張パラID0 + -1 + 999999999 + 90000 + + + 常駐マテリアル拡張パラID1 + 常駐マテリアル拡張パラID1 + -1 + 999999999 + 90010 + + + 常駐マテリアル拡張パラID2 + 常駐マテリアル拡張パラID2 + -1 + 999999999 + 90020 + + + 常駐マテリアル拡張パラID3 + 常駐マテリアル拡張パラID3 + -1 + 999999999 + 90030 + + + 常駐マテリアル拡張パラID4 + 常駐マテリアル拡張パラID4 + -1 + 999999999 + 90040 + + + ネムリ時アイテム抽選ID_エネミー用 + ネムリ収集時に取得するアイテムの抽選ID_エネミー用を指定。どちらか片方のみ設定してください。 + -1 + 999999999 + 29000 + + + ネムリ時アイテム抽選ID_マップ用 + ネムリ収集時に取得するアイテムの抽選ID_マップ用を指定。どちらか片方のみ設定してください。 + -1 + 999999999 + 29001 + + + FootIK見た目の高さ補正ONゲイン値 + FootIK見た目の高さ補正ONゲイン値 + %.2f + 0 + 1 + 200200 + + + FootIK見た目の高さ補正OFFゲイン値 + FootIK見た目の高さ補正OFFゲイン値 + %.2f + 0 + 1 + 200250 + + + 追加サウンドバンクID + 追加のサウンドバンクIDが指定できます -1 or 0:追加なし(SEQ16135) + -1 + 9999 + 1000001 + + + 防御材質バリエーション値 + 防御材質と組み合わせて状態異常、ダメージSFX,SEのバリエーション分けに使用する値です。SEQ16473 + 99 + 18002 + + + 弱点防御材質バリエーション値 + 弱点防御材質と組み合わせて状態異常、ダメージSFX,SEのバリエーション分けに使用する値です。SEQ16473 + 99 + 51302 + + + SA耐久力 + スーパーアーマー耐久値 + -1 + 9999 + 0.1 + 39120 + + + SA回復速度補正値 + SA基礎回復量に乗算してSA回復速度を補正する + -99.99 + 99.99 + 0.1 + 39250 + + + SA攻撃カット率[%] + ガード成功時のSAダメージのカット率 + 0 + 100 + 0.1 + 67000 + + + 出血耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44200 + + + 呪耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44300 + + + 冷気耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44400 + + + 睡眠耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44500 + + + 発狂耐性 補正ルールID + 状態異常の発動時、状態異常耐性補正パラメータの設定値を使って、一時的に最大値を変動させる + -1 + 999999999 + 44600 + + + キャラ死亡チュートリアル判定フラグID + 初めてキャラ倒した時のチュートリアル用のイベントフラグID。キャラ死亡時にフラグON。 + %u + -294967297 + 761000 + + + 段差越え表示補間時間 + 段差越え表示補間時間 + 0.01 + 999.9 + 200510 + + + 段差越え表示起動判定値 + 段差越え表示起動判定値 + 0.01 + 999.9 + 200520 + + + ロックスコア補正値 + ロックスコア補正値 + -999.9 + 999.9 + 0.1 + 461000 + + + + + Day 2 SpEffectID + An SpEffectID applied only on Day 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/NpcThinkParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/NpcThinkParam.xml index a86bc61e..68068275 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/NpcThinkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/NpcThinkParam.xml @@ -1,68 +1,687 @@ - + NPC_THINK_PARAM_ST - 1 + 2 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 15201 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 15202 + + + ロジックスクリプトID + スクリプトで作成したロジックのIDを設定します。 + -1 + 999999 + 100 + + + 戦闘ゴールID + 戦闘ゴールID + -1 + 999999 + 200 + + + 索敵視覚_距離[m] + 索敵視覚による索敵範囲. + 11310 + + + 索敵視覚_角度(幅)[deg] + 索敵視覚による索敵範囲. + 180 + 11330 + + + 巨大敵を迂回しないか + BOOL_CIRCLECROSS_TYPE + 巨大敵を迂回しないか + 1 + 13560 + + + 納刀抜刀するか + BOOL_CIRCLECROSS_TYPE + 納刀抜刀するか + 1 + 13010 + + + ロックダミポリ(エネミー用)を狙うか + BOOL_CIRCLECROSS_TYPE + ロックダミポリ(エネミー用)を狙うか + 1 + 10650 + + + パディング + %f + Wrap + 15203 + + + 遠隔攻撃用特殊効果ID + 遠隔攻撃用特殊効果ID + -1 + 999999 + 10330 + + + 索敵Lv1ターゲット忘れる時間[sec] + 索敵Lv1ターゲット忘れる時間。 + 0 + 999999 + 0.1 + 12510 + + + 索敵Lv2ターゲット忘れる時間[sec] + 索敵Lv2ターゲット忘れる時間。 + 0 + 999999 + 0.1 + 12511 + + + 敵壁接触時のBackHome時間[sec] + ブロックをさえぎる敵壁に接触したとき、BackToHomeゴールの寿命 + 0 + 999 + 0.1 + 10600 + + + 視覚ターゲット忘れる時間[sec] + 視覚ターゲット忘れる時間。 + 0 + 999999 + 0.1 + 12300 + + + 動けなくなったときに行うEzState番号 + 破壊可能なオブジェクトによって動きが止まっている場合、自動的に実行する行動。 + -1 + 999999 + 10500 + + + 聴覚_距離[m] + 聴覚による索敵範囲.。 + 0 + 999999 + 0.1 + 11400 + + + 仲間呼び 応答アクションアニメID + 応答する時のアニメID(EzStateAnimID) + -1 + 99999999 + 14500 + + + 仲間呼び_仲間呼びアクションID + 仲間呼ぶときのアクションID(EzStateAnimID) + -1 + 99999999 + 14600 + + + 視覚_距離[m] + 視覚による索敵範囲. + 10800 + + + 行動時ガード使用するか + BOOL_DODONT_TYPE + 行動にガードするか(帰宅時、ターゲットの方を見ている時想定) + 1 + 10310 + + + パディング + %f + Wrap + 15204 + + + 聴覚 影響カット距離[m] + 音源のサイズを小さくする距離。この距離未満の音が聞こえなくなります。 + 11500 + + + 嗅覚_距離[m] + 嗅覚による索敵範囲. + 11600 + + + 何があっても帰宅する距離[m] + COMMON_SetBattleActLogicの引き数 + 11700 + + + 戦闘しつつ帰宅する距離[m] + COMMON_SetBattleActLogicの引き数 + 11800 + + + 巣に帰るのをあきらめて戦闘する距離[m] + COMMON_SetBattleActLogicの引き数 + 11900 + + + 敵を意識しているときの非戦闘行動時間[sec] + COMMON_SetBattleActLogicの引き数 + 65534 + 12000 + + + 帰宅時:ターゲットを見ている時間[sec] + 帰宅時:ターゲットを見ている時間[sec] + 65534 + 12100 + + + 帰宅時:ターゲットを見ている距離[m] + 帰宅時:ターゲットを見ている距離[m] + 65534 + 12200 + + + 音ターゲット忘れる時間[sec] + 音ターゲット忘れる時間。 + 0 + 999999 + 0.1 + 12400 + + + 戦闘開始距離[m] + 65534 + 10900 + + + 仲間呼び 自分の仲間グループID + 自分の仲間グループID + 65534 + 14300 + + + 仲間呼び 呼ぶ仲間グループID + 仲間を呼ぶ対象となる仲間グループID + 65534 + 14400 + + + ダメージ影響率[%] + ダメージ影響率取得(ターゲットシステム評価情報) + 1000 + 13100 + + + チーム攻撃影響力[0-100] + チーム内の同時攻撃人数を決めるための値。値を大きくすると、同時に攻撃参加できる人数が少なくなる。 + 100 + 13200 + + + 視覚_角度(高さ)[deg] + 視覚による索敵範囲. + 180 + 11000 + + + 視覚_角度(幅)[deg] + 視覚による索敵範囲. + 180 + 11100 + + + 暗闇影響しない + ON_OFF + 警戒視覚_距離、戦闘開始距離が暗闇による影響を受けないようにするか + 1 + 10700 + + + キャラバンでの役割 + NPC_THINK_CARAVAN_ROLE + キャラバンでの役割 + 3 + 13510 + + + 仲間呼び_ターゲットとの最低距離[m] + この値より近い場合は仲間呼びできない. + 15000 + + + 仲間呼び_仲間を呼ぶ有効距離[m] + この値より仲間が遠い場合は呼ばない。 + 14900 + + + 仲間呼び 応答してから忘れる時間[sec] + 応答する時間 + 14800 + + + 応答時の待機最小時間[ssm=>ss.mSec] + 応答ゴールの最初の待機ゴールでの最小時間[101=>10.1sec] + 15100 + + + 応答時の待機最大時間[ssm=>ss.mSec] + 応答ゴールの最初の待機ゴールでの最大時間[101=>10.1sec] + 15200 + + + ゴールアクション:警戒状態/通常音 + NPC_THINK_GOAL_ACTION + ゴールアクション:ターゲットが通常音の感知により警戒状態になった + 12600 + + + 聴覚_可聴AI音レベル + どれくらい耳が良いのか + 128 + 11550 + + + 仲間呼び 応答後の行動タイプ + NPC_THINK_REPLY_BEHAVIOR_TYPE + 応答後、目標位置までの行動タイプ + 3 + 14700 + + + パス移動しない + BOOL_CIRCLECROSS_TYPE + パス移動命令が来てもパスを辿らずに直接移動するか + 1 + 10100 + + + 視線による到着判定をスキップするか? + ON_OFF + 視線による到着判定をスキップするか?Onにすると、視線が通っていなくても、到着判定を行う。 + 1 + 10400 + + + 取巻き役になるか? + ON_OFF + 思考属性:ONにすると取巻き役を演じます。 + 1 + 13300 + + + フラグ「崖」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「崖」を通過できるか?(def:1) + 1 + 13900 + + + フラグ「広い」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「広い」を通過できるか?(def:1) + 1 + 14000 + + + フラグ「梯子」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「梯子」を通過できるか?(def:0) + 1 + 13600 + + + フラグ「穴」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「穴」を通過できるか?(def:0) + 1 + 14100 + + + フラグ「扉」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「扉」を通過できるか?(def:0) + 1 + 13700 + + + フラグ「壁中」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「壁中」を通過できるか?(def:0) + 1 + 14200 + + + フラグ「溶岩」通れるか? + BOOL_CIRCLECROSS_TYPE + ノード「溶岩」を通過できるか?(def:0) + 1 + 13710 + + + フラグ「崖」通れるか?(通常/警戒状態) + BOOL_CIRCLECROSS_TYPE + 通常/警戒状態でノード「崖」を通過できるか?(def:1) + 1 + 13800 + + + ほんとに予約 + フラグが新しく必要になったらここにいれます(NotPadding) + 15205 + + + 索敵Lv0→Lv1の閾値 + 索敵Lv0→Lv1の閾値 + -1 + 999999 + 12520 + + + 索敵Lv1→Lv2の閾値 + 索敵Lv1→Lv2の閾値 + -1 + 999999 + 12521 + + + 小隊反応遅延時間[sec] + 小隊反応遅延時間[sec] + 0 + 99999 + 0.1 + 13400 + + + 小隊反応追加ランダム時間[sec] + 小隊反応追加ランダム時間[sec] + 0 + 99999 + 0.1 + 13500 + + + 索敵視覚_角度(高さ)[deg] + 索敵視覚_角度(高さ)[deg] + 180 + 11320 + + + 戦闘視界を上書きするか? + BOOL_DODONT_TYPE + 戦闘視界を上書きするか + 1 + 11340 + + + 戦闘視覚_上書き距離[m] + 戦闘視覚_上書き距離[m] + 11350 + + + 戦闘視覚_上書き角度(高さ)[deg] + 戦闘視覚_上書き角度(高さ)[deg] + 180 + 11360 + + + 戦闘視覚_上書き角度(幅)[deg] + 戦闘視覚_上書き角度(幅)[deg] + 180 + 11370 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + 視覚_発生距離[m] + キャラの中心からこの距離後ろが視角開始位置になる + 11200 + + + 視覚_カット距離[m] + 視角発生位置からこの距離は認識しない + 65534 + 11300 + + + パス検索失敗/帰巣限界時の行動種別 + NPC_THINK_ACTTYPE_ON_FAILEDPATH + パス検索失敗時、代替パスの終点に到達した際/帰巣限界距離まで到達した際に行うデフォルトの行動種別 + 3 + 10300 + + + ゴールアクション:警戒状態/重要音 + NPC_THINK_GOAL_ACTION + ゴールアクション:ターゲットが重要音の感知により警戒状態になった + 12700 + + + 遠隔攻撃用持ち替えアニメID + AI攻撃パラメータの参照ID + -1 + 999999 + 10340 + + + パス検索失敗時の挙動(非戦闘中) + NPC_THINK_ACTTYPE_ON_NONBTL_FAILEDPATH + ターゲット【なし】時に、現在地点を巣に書き換えた後に取る行動 + 2 + 10350 + + + バディAI + BOOL_CIRCLECROSS_TYPE + バディ用の思考か + 1 + 13050 + + + ゴールアクション:索敵Lv1 + NPC_THINK_GOAL_ACTION + ゴールアクション:ターゲットが索敵Lv1になった + 12530 + + + ゴールアクション:索敵Lv2 + NPC_THINK_GOAL_ACTION + ゴールアクション:ターゲットが索敵Lv2になった + 12531 + + + エッジ「ジャンプ」使うか(非戦闘状態) + NPC_THINK_JUMPUSEREDGE_USE_TYPE + ジャンプ用ユーザーエッジを飛び越えて移動するか(非戦闘状態) + 2 + 13550 + + + 回避移動しない + BOOL_CIRCLECROSS_TYPE + 他のキャラクターを回避しながら移動しようとする挙動(ローカルステアリング)をオフにするか? + 1 + 10200 + + + ゴールアクション:記憶ターゲット状態 + NPC_THINK_GOAL_ACTION + ゴールアクション:ターゲットを見失った + 12900 + + + ゴールアクション:通常状態開始 + NPC_THINK_CHANGE_STATE_ACTION + 通常状態に遷移したときのアクション + 13000 + + + 記憶ターゲット忘れる時間[sec] + 記憶ターゲット忘れる時間。 + 0 + 999999 + 0.1 + 12500 + + + 遠隔攻撃アニメID + 遠隔攻撃する際にエネミーが出す攻撃IDを指定するパラメータ + -1 + 999999 + 10320 + + + エッジ「飛び降り」使うか(非戦闘状態) + NPC_THINK_JUMPUSEREDGE_USE_TYPE + AIが非戦闘状態で、飛び降りエッジを通行できるようにする + 2 + 13555 + + + エッジ「飛び降り」使うか(戦闘状態) + NPC_THINK_JUMPUSEREDGE_USE_TYPE + AIが戦闘状態で、飛び降りエッジを通行できるようにする + 2 + 13556 + + + エッジ「ジャンプ」使うか(戦闘状態) + NPC_THINK_JUMPUSEREDGE_USE_TYPE + ジャンプ用ユーザーエッジを飛び越えて移動するか(戦闘状態) + 2 + 13551 + + + 帰巣限界でハマった時の挙動 + NPC_THINK_BackToHomeStuckAct + 帰巣限界でハマった時の挙動 + 1 + 10360 + + + パディング + pad + 15207 + + + 振る舞いID1 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13520 + + + 振る舞いID2 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13521 + + + 振る舞いID3 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13522 + + + 振る舞いID4 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13523 + + + 振る舞いID5 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13524 + + + 振る舞いID6 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13525 + + + 振る舞いID7 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13526 + + + 振る舞いID8 + 聴くことのできる音ターゲットの振る舞いIDに対応 + -1 + 999999 + 13527 + + + 納刀時特殊効果ID + 納刀時特殊効果ID + -1 + 999999 + 13011 + + + 抜刀時特殊効果ID + 抜刀時特殊効果ID + -1 + 999999 + 13012 + + + 納刀アニメID + 納刀アニメID + -1 + 999999 + 13013 + + + 抜刀アニメID + 抜刀アニメID + -1 + 999999 + 13014 + + + 驚くアニメID + 驚くアニメID + -1 + 999999 + 13020 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ObjActParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ObjActParam.xml index 9dd5ccd9..8eef016c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ObjActParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ObjActParam.xml @@ -1,35 +1,148 @@ - + OBJ_ACT_PARAM_ST - 1 + 2 False True - 203 + 0 + + アクション有効時のMsgID + アクションが有効時に表示するメニューのMsgIDです。 + -1 + 99999999 + 9000 + + + アクション失敗時のMsgID + アクションが失敗時に表示するメニューのMsgIDです。 + -1 + 99999999 + 10000 + + + 特殊条件パス用イベントフラグ + 特殊条件を無条件パスするためのイベントフラグ. + %u + -294967297 + 8500 + + + プレイヤのアニメID0 + プレイヤーキャラのアクション時のアニメIDです。 + 999999999 + 5000 + + + キャラのアニメID0 + 敵などのアクション時のアニメID + 999999999 + 6000 + + + アクションの有効距離[cm] + アクションの有効距離です。 + 60000 + 3000 + + + 特殊条件のID + 特殊条件のID + 9999 + 8000 + + + 特殊条件のID 2 + 特殊条件のIDその2 + 9999 + 8011 + + + オブジェのダミポリID0 + オブジェクトのアクション位置となるダミポリIDです + 1000 + + + イベントキックを同期させるか + BOOL_CIRCLECROSS_TYPE + ObjAct実行判定で使用されるイベントを同期させるか。基本×に設定する。アクターが重要ではない場合のみ○に設定しても良い。 + 1 + 950 + + + オブジェのアニメID0 + オブジェクトのアクション時のアニメIDです。 + 999999999 + 2000 + + + プレイヤのアクション有効角度 + プレイヤのアクションの有効角度です。プレイヤの向きベクトルとオブジェへの方向ベクトルの有効角度差 + 180 + 4000 + + + 特殊条件のタイプ + OBJACT_SP_QUALIFIED_TYPE + 特殊条件の種類 + 7000 + + + 特殊条件のタイプ2 + OBJACT_SP_QUALIFIED_TYPE + 特殊条件の種類2 + 8010 + + + オブジェのアクション有効角度 + オブジェのアクション有効角度です。オブジェのアクションベクトルとキャラベクトルの有効角度差 + 180 + 4500 + + + キャラの吸着タイプ + OBJACT_CHR_SORB_TYPE + オブジェアクション時のキャラの吸着方法です + 1500 + + + イベント発動タイミング + OBJACT_EVENT_KICK_TIMING + イベントの実行タイミング + 900 + + + 13001 + + + アクションボタンパラメータID + アクションボタンパラメータID + -1 + 99999999 + 100 + + + 宝有効化ディレイ(秒) + オブジェアクション実行から宝有効化までの秒数。オブジェアクトのオブジェタイプ「宝箱」専用の設定。 + 0 + 1E+09 + 11000 + + + 実行前SFX用ダミポリID + オブジェアクト実行前のときにこのダミポリIDからSFXを出す。-1なら原点から出す。 + -1 + 999999999 + 12000 + + + 実行前SFXID + オブジェアクト実行前のときに出すSFX。-1なら出さない。 + -1 + 999999999 + 13000 + - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/OperationGuideParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/OperationGuideParam.xml index 6b5a7037..10ec7345 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/OperationGuideParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/OperationGuideParam.xml @@ -4,16 +4,16 @@ 1 False True - 203 + 0 - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/OverlayMaterialParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/OverlayMaterialParam.xml index ce801126..cf1b38e5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/OverlayMaterialParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/OverlayMaterialParam.xml @@ -4,28 +4,13 @@ 1 False True - 203 + 0 + - - - - - - - - - - - - - - - - - - - - + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PartsDrawParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PartsDrawParam.xml index 1119cbae..ae8ede6a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PartsDrawParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PartsDrawParam.xml @@ -1,47 +1,342 @@ - + PARTS_DRAW_PARAM_ST - 1 + 5 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + LODレベル0-1境界距離[m] + 切り替わる中心 + %0.3f + None + 0 + 9999 + 0.1 + 100 + + + LODレベル0-1遊び距離[m] + 境界中心で±遊び + %0.3f + None + 0 + 20 + 0.1 + 110 + + + LODレベル1-2境界距離[m] + 切り替わる中心 + %0.3f + None + 0 + 9999 + 0.1 + 200 + + + LODレベル1-2遊び距離[m] + 境界中心で±遊び + %0.3f + None + 0 + 40 + 0.1 + 210 + + + LODレベル2-3境界距離[m] + 切り替わる中心 + %0.3f + None + 0 + 9999 + 0.1 + 300 + + + LODレベル2-3遊び距離[m] + 境界中心で±遊び + %0.3f + None + 0 + 40 + 0.1 + 310 + + + LODレベル3-4境界距離[m] + 切り替わる中心 + %0.3f + None + 0 + 9999 + 0.1 + 400 + + + LODレベル3-4遊び距離[m] + 境界中心で±遊び + %0.3f + None + 0 + 160 + 0.1 + 410 + + + LODレベル4-5境界距離[m] + 切り替わる中心 + %0.3f + None + 0 + 9999 + 0.1 + 500 + + + LODレベル4-5遊び距離[m] + 境界中心で±遊び + %0.3f + None + 0 + 160 + 0.1 + 510 + + + TextureLODレベル0-1境界距離[m] + Texture切り替わる中心(0でTexureLOD無効) + %0.3f + None + 0 + 9999 + 0.1 + 1000 + + + TextureLODレベル0-1遊び距離[m] + Texture境界中心で±遊び + %0.3f + None + 0 + 20 + 0.1 + 1100 + + + クロスフェード有効 + クロスフェード有効か(0:無効,1:有効) + 1 + 1200 + + + 描画距離[m] + 描画最大距離。オープンではアクティベート距離に利用されます + None + 1 + 9999 + 1 + 1300 + + + フェード範囲[m] + 描画最大距離から、実際に消えるまでのフェード距離 + %0.3f + 0 + 100 + 0.1 + 1400 + + + 影描画距離[m] + 影の描画最大距離 + None + 1 + 9999 + 1 + 1500 + + + 影フェード範囲[m] + 影の描画最大距離から、実際に消えるまでのフェード距離 + %0.3f + 0 + 100 + 0.1 + 1600 + + + モーションブラー描画境界距離[m] + モーションブラーが有効になる距離 + %0.1f + 0 + 100 + 0.1 + 1700 + + + 点光源の影を落とす + 点光源の影を落とす + 0 + 1 + 1800 + + + 平行光源の影を落とす + 平行光源の影を落とす + 0 + 1 + 1900 + + + 影を受ける + 影を受ける + 0 + 1 + 2000 + + + 影描画のみ + 影描画のみ + 0 + 1 + 2100 + + + 映り込む + 映り込む + 0 + 1 + 2200 + + + 映り込み描画のみ + 映り込み描画のみ + 0 + 1 + 2300 + + + どのレベルのLodMapまで含めるか + どのレベルのLodMapまで含めるか + -1 + 16 + 2400 + + + FarClipしない + ファークリップを無効にし、常にクリップ空間の一番奥の深度に描画する。主に天球用 + 1 + 2410 + + + LODタイプ + PARTS_DRAW_LOD_TYPE + LOD対象の種類、大きさ + None + 64 + 2500 + + + 影描画LODレベルオフセット + 影描画時のLODレベルオフセット値 + 0 + 5 + 1601 + + + カメラをXZ平面上で追従する + カメラをXZ平面上で追従する(GR SEQ09242) + 1 + 2420 + + + 天球描画フェイズに切り替え + 描画フェイズを天球に設定する(GR SEQ09242) + 1 + 2421 + + + 遠景切り替え距離[m] + 遠景切り替え距離[m] + %0.3f + None + 0 + 9999 + 0.1 + 1800 + + + 遠景切り替え遊び距離[m] + 遠景切り替え遊び距離[m] + %0.3f + None + 0 + 9999 + 0.1 + 1801 + + + オープン用構築制限距離[m] + オープン用構築制限距離[m]。オープンにおいてカメラとの距離がこの距離未満だと構築されないようになります。遠景アセット用の機能です。-1:機能無効(デフォルト) + %0.3f + None + -1 + 99999 + 0.1 + 1802 + + + オープン用構築制限遊び距離[m] + オープン構築制限遊び距離[m] + %0.3f + None + 0 + 99999 + 0.1 + 1803 + + + Zソートオフセット + 同じ描画フェーズ内でカメラからの距離が同じ場合、半透明系は小さいほうが手前、不透明系は値が大きいほうが手前に描画されます。 オフセットの基点は天球描画フェーズのものは原点。それ以外はModelAABB中心。(GR SEQ09242) + %0.3f + None + -99999 + 99999 + 0.1 + 2411 + + + 影描画アルファテスト有効距離[m] + 影描画時にアルファテストを行う距離[m] + %0.3f + 0 + 9999 + 1 + 1602 + + + Forward描画物の環境マップブレンドタイプ + PARTS_DRAW_FOWARD_DRAW_ENVMAP_BLEND_TYPE + Forward描画物の環境マップブレンドタイプ + None + 1 + 2430 + + + 描画距離スケールパラメータID + ロードバランサー描画距離スケールパラメータID + %u + 47 + 2501 + + + 予約 + 予約 + 2502 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PermanentBuffParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PermanentBuffParam.xml index 5abf78b6..9e69ab3c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PermanentBuffParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PermanentBuffParam.xml @@ -1,17 +1,18 @@ PERMANENT_BUFF_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PersonalScenarioParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PersonalScenarioParam.xml index 01b36d8f..436db982 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PersonalScenarioParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PersonalScenarioParam.xml @@ -1,23 +1,26 @@ PERSONAL_SCENARIO_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PhantomParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PhantomParam.xml index f253a9f2..366b6a7a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PhantomParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PhantomParam.xml @@ -1,25 +1,245 @@ - + PHANTOM_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - + + A + エッジ色Aです。 + None + 0 + 10 + 3 + エッジ色 + + + A + 正面色Aです。 + None + 0 + 10 + 13 + 正面色 + + + A + ディフューズ乗算色Aです。 + None + 0 + 10 + 23 + ディフューズ乗算色 + + + A + スペキュラ乗算色Aです。 + None + 0 + 10 + 33 + スペキュラ乗算色 + + + A + ライト色Aです。 + None + 0 + 255 + 43 + ライト色 + + + R + エッジ色Rです。 + %u + None + エッジ色 + + + G + エッジ色Gです。 + %u + None + 1 + エッジ色 + + + B + エッジ色Bです。 + %u + None + 2 + エッジ色 + + + R + 正面色Rです。 + %u + None + 10 + 正面色 + + + G + 正面色Gです。 + %u + None + 11 + 正面色 + + + B + 正面色Bです。 + %u + None + 12 + 正面色 + + + R + ディフューズ乗算色Rです。 + %u + None + 20 + ディフューズ乗算色 + + + G + ディフューズ乗算色Gです。 + %u + None + 21 + ディフューズ乗算色 + + + B + ディフューズ乗算色Bです。 + %u + None + 22 + ディフューズ乗算色 + + + R + スペキュラ乗算色Rです。 + %u + None + 30 + スペキュラ乗算色 + + + G + スペキュラ乗算色Gです。 + %u + None + 31 + スペキュラ乗算色 + + + B + スペキュラ乗算色Bです。 + %u + None + 32 + スペキュラ乗算色 + + + R + ライト色Rです。 + %u + None + 40 + ライト色 + + + G + ライト色Gです。 + %u + None + 41 + ライト色 + + + B + ライト色Bです。 + %u + None + 42 + ライト色 + + + 予備 + 75 + + + α + 全体の透過度です。 + None + 0 + 1 + 50 + + + ブレンド率 + ブレンド率です。 + None + 0 + 1 + 70 + + + α種類 + PHANTOM_BLEN_TYPE_ENUM + αブレンドの種類です。 + None + 4 + 71 + + + エッジ色減算を行うか + ON_OFF + エッジ色減算を行うかです。 + %u + None + 1 + 72 + + + 正面色減算を行うか + ON_OFF + 正面色減算を行うかです。 + %u + None + 1 + 73 + + + 2passを行わない + ON_OFF + 2passを行わないかです。 + %u + None + 1 + 74 + + + エッジの幅 + エッジの幅 + None + 0.1 + 8 + 4 + + + Glowの強さ + Glowの強さ + None + 0 + 10 + 60 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PinTypeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PinTypeParam.xml index e1967f6c..5b5cd0f3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PinTypeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PinTypeParam.xml @@ -1,20 +1,23 @@ PIN_TYPE_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateCommonParam.xml index 26691482..8ba9fcf5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateCommonParam.xml @@ -1,45 +1,48 @@ PLAY_AREA_CREATE_COMMON_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateDefaultParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateDefaultParam.xml index 4e784061..7d6c3860 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateDefaultParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateDefaultParam.xml @@ -1,20 +1,25 @@ PLAY_AREA_CREATE_DEFAULT_PARAM_ST - 1 + 2 False True - 203 + 0 + + + - - - - - - - - - + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateParam.xml index ca344dd9..ba494089 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaCreateParam.xml @@ -1,27 +1,34 @@ PLAY_AREA_CREATE_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaGiantAssetCtrlParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaGiantAssetCtrlParam.xml index 53a1153e..0d1779a1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaGiantAssetCtrlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayAreaGiantAssetCtrlParam.xml @@ -4,24 +4,24 @@ 1 False True - 203 + 0 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayRegionParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayRegionParam.xml index d2b30b4d..abb28194 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayRegionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayRegionParam.xml @@ -1,79 +1,591 @@ - + PLAY_REGION_PARAM_ST - 1 + 9 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1000000 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1000001 + + + 簡易マッチエリアID + 簡易マッチエリアID + 0 + 99999999 + 1000 + + + マルチプレイ開始制限イベントフラグID + マルチプレイ開始制限イベントフラグID + %u + -294967297 + 1040 + + + その他霊侵入不可能距離 + その他霊侵入不可能距離。ホスト位置から「その他霊侵入不可能距離」~「その他霊侵入範囲上限」以内の侵入ポイントを対象に侵入位置検索を行う。 + 0 + 1000 + 0.1 + 2000 + + + PC位置セーブ制限イベントフラグID + PC位置セーブ制限イベントフラグID (フラグON:PC位置セーブ有効 フラグOFF:PC位置セーブ無効 0:PC位置セーブ常に有効) + %u + -294967297 + 1200 + + + ボスエリアID + このIDが同じものを設定された領域同士は、同一のボスエリアとして扱う。 + %u + -294967297 + 1030 + + + NPC白霊召喚儀式の召還NPCのエンティティIDの自由枠ID + NPC白霊召喚儀式の召還NPCのエンティティIDとして使われる自由枠IDの先頭 + -1 + 999 + 3000 + + + マップ守護領域か? + ON_OFF + マップ守護領域の枠の増減にするか + 1 + 1130 + + + 黄衣の翁サイン領域か? + ON_OFF + 黄衣の翁サイン領域か? + 1 + 1140 + + + 制限するフラグ状態 + ON_OFF + 「マルチプレイ開始制限イベントフラグID」の制限を行うフラグ状態 + 1 + 1041 + + + 制限するフラグ状態 + ON_OFF + 「侵入制限イベントフラグID1」の制限を行うフラグ状態 + 1 + 1051 + + + 制限するフラグ状態 + ON_OFF + 「白サイン制限イベントフラグID1」の制限を行うフラグ状態 + 1 + 1061 + + + 制限するフラグ状態 + ON_OFF + 「赤サイン制限イベントフラグID1」の制限を行うフラグ状態 + 1 + 1071 + + + 制限するフラグ状態 + ON_OFF + 「侵入制限イベントフラグID2」の制限を行うフラグ状態 + 1 + 1053 + + + 制限するフラグ状態 + ON_OFF + 「侵入制限イベントフラグID3」の制限を行うフラグ状態 + 1 + 1055 + + + 制限するフラグ状態 + ON_OFF + 「白サイン制限イベントフラグID2」の制限を行うフラグ状態 + 1 + 1063 + + + ワープアイテム許可篝火ID1 + ワープアイテムの使用を許可する判定に使う篝火のエンティティID1 + %u + -294967297 + 4000 + + + ワープアイテム許可篝火ID2 + ワープアイテムの使用を許可する判定に使う篝火のエンティティID2 + %u + -294967297 + 4010 + + + ワープアイテム許可篝火ID3 + ワープアイテムの使用を許可する判定に使う篝火のエンティティID3 + %u + -294967297 + 4020 + + + ワープアイテム許可篝火ID4 + ワープアイテムの使用を許可する判定に使う篝火のエンティティID4 + %u + -294967297 + 4030 + + + ワープアイテム許可篝火ID5 + ワープアイテムの使用を許可する判定に使う篝火のエンティティID5 + %u + -294967297 + 4040 + + + ワープアイテム禁止イベントフラグID1 + ワープアイテムの使用禁止を判定するイベントフラグID1。ワープアイテム許可篝火IDによる判定より優先度が上 + %u + -294967297 + 4100 + + + ワープアイテム禁止イベントフラグID2 + ワープアイテムの使用禁止を判定するイベントフラグID2。ワープアイテム許可篝火IDによる判定より優先度が上 + %u + -294967297 + 4110 + + + ワープアイテム禁止イベントフラグID3 + ワープアイテムの使用禁止を判定するイベントフラグID3。ワープアイテム許可篝火IDによる判定より優先度が上 + %u + -294967297 + 4120 + + + ワープアイテム禁止イベントフラグID4 + ワープアイテムの使用禁止を判定するイベントフラグID4。ワープアイテム許可篝火IDによる判定より優先度が上 + %u + -294967297 + 4130 + + + ワープアイテム禁止イベントフラグID5 + ワープアイテムの使用禁止を判定するイベントフラグID5。ワープアイテム許可篝火IDによる判定より優先度が上 + %u + -294967297 + 4140 + + + 血痕・死亡幻影有効 + BOOL_CIRCLECROSS_TYPE + 血痕・死亡幻影有効 + 1 + 5000 + + + 血文字有効 + BOOL_CIRCLECROSS_TYPE + 血文字有効 + 1 + 5010 + + + 幻影有効 + BOOL_CIRCLECROSS_TYPE + 幻影有効 + 1 + 5020 + + + 地図表示用_表示設定M00 + BOOL_CIRCLECROSS_TYPE + 地図M00で表示するか + 1 + 5900 + + + 地図表示用_表示設定M01 + BOOL_CIRCLECROSS_TYPE + 地図M01で表示するか + 1 + 5910 + + + 制限するフラグ状態 + ON_OFF + 「白サイン制限イベントフラグID3」の制限を行うフラグ状態 + 1 + 1065 + + + 制限するフラグ状態 + ON_OFF + 「赤サイン制限イベントフラグID2」の制限を行うフラグ状態 + 1 + 1073 + + + 制限するフラグ状態 + ON_OFF + 「赤サイン制限イベントフラグID3」の制限を行うフラグ状態 + 1 + 1075 + + + 侵入ポイント自動生成か + BOOL_CIRCLECROSS_TYPE + 侵入ポイント自動生成か。○にした場合は自動生成された侵入ポイント用のロジックで侵入位置を検索。 + 1 + 2100 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + 1000003 + + + 黄衣の翁ホスト制限イベントフラグ + 黄衣の翁ホスト制限イベントフラグ:このフラグがONになると黄衣の翁のホストとしてのマルチプレイが禁止される。ブロッククリアフラグを入れる想定。0:制限しない + %u + -294967297 + 1120 + + + その他霊侵入範囲上限 + その他霊侵入範囲上限。ホスト位置から「その他霊侵入不可能距離」~「その他霊侵入範囲上限」以内の侵入ポイントを対象に侵入位置検索を行う。 + 0 + 1000 + 0.1 + 2010 + + + サイン溜まり解放イベントフラグID + サイン溜まり解放イベントフラグID + %u + -294967297 + 1010 + + + 地図表示用_エリア番号(mXX_00_00_00) + エリア番号(mXX_00_00_00)。地図メニューでの表示位置を指定するためのデータ + %u + 99 + 6000 + + + 地図表示用_グリッドX番号(m00_XX_00_00) + グリッドX番号(m00_XX_00_00)。地図メニューでの表示位置を指定するためのデータ + %u + 99 + 6010 + + + 地図表示用_グリッドZ番号(m00_00_XX_00) + グリッドZ番号(m00_00_XX_00)。地図メニューでの表示位置を指定するためのデータ + %u + 99 + 6020 + + + 1000004 + + + 地図表示用_X座標 + X座標(指定したマップからの相対座標)。地図メニューでの表示位置を指定するためのデータ + -20000 + 20000 + 6100 + + + 地図表示用_Y座標 + Y座標(指定したマップからの相対座標)。地図メニューでの表示位置を指定するためのデータ。実際には使われていないがXYZ一揃えにしておく + -20000 + 20000 + 6110 + + + 地図表示用_Z座標 + Z座標(指定したマップからの相対座標)。地図メニューでの表示位置を指定するためのデータ + -20000 + 20000 + 6120 + + + 侵入制限イベントフラグID1 + 侵入制限イベントフラグID1 + %u + -294967297 + 1050 + + + 白サイン制限イベントフラグID1 + 白サイン制限イベントフラグID1 + %u + -294967297 + 1060 + + + サイン溜まり登録制限イベントフラグID + サイン溜まり登録制限イベントフラグID (フラグON:サイン溜まり登録を許可 フラグOFF:サイン溜まり登録を禁止 0:サイン溜まり登録を常に許可) + %u + -294967297 + 1020 + + + マルチ目的ID01 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID02 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID03 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID04 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID05 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID06 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID07 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + マルチ目的ID08 + 目的設定時にリストに表示するマルチ目的ID + %u + -294967297 + 999999 + + + 赤サイン制限イベントフラグID1 + 赤サイン制限イベントフラグID1 + %u + -294967297 + 1070 + + + 侵入制限イベントフラグID2 + 侵入制限イベントフラグID2 + %u + -294967297 + 1052 + + + 侵入制限イベントフラグID3 + 侵入制限イベントフラグID3 + %u + -294967297 + 1054 + + + 白サイン制限イベントフラグID2 + 白サイン制限イベントフラグID2 + %u + -294967297 + 1062 + + + 白サイン制限イベントフラグID3 + 白サイン制限イベントフラグID3 + %u + -294967297 + 1064 + + + 赤サイン制限イベントフラグID2 + 赤サイン制限イベントフラグID2 + %u + -294967297 + 1072 + + + 赤サイン制限イベントフラグID3 + 赤サイン制限イベントフラグID3 + %u + -294967297 + 1074 + + + 領域内ボスID01 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2110 + + + 領域内ボスID02 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2111 + + + 領域内ボスID03 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2112 + + + 領域内ボスID04 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2113 + + + 領域内ボスID05 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2114 + + + 領域内ボスID06 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2115 + + + 領域内ボスID07 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2116 + + + 領域内ボスID08 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2117 + + + 領域内ボスID09 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2118 + + + 領域内ボスID10 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2119 + + + 領域内ボスID11 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2120 + + + 領域内ボスID12 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2121 + + + 領域内ボスID13 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2122 + + + 領域内ボスID14 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2123 + + + 領域内ボスID15 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2124 + + + 領域内ボスID16 + 領域内ボスID。「侵入ポイント自動生成か」が○のときに目的とするボスを選ぶのに使われる。 + %u + -294967297 + 2125 + + + 地図表示用_イベントフラグID + 地図表示用_イベントフラグID(0:常に表示)。このイベントフラグが立っているときだけ、マップメニューに賑わい表示される + %u + -294967297 + 5800 + + + %u + Wrap + 1000005 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PlayerCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PlayerCommonParam.xml index 93f1df8d..6221c713 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PlayerCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PlayerCommonParam.xml @@ -1,109 +1,619 @@ - + PLAYER_COMMON_PARAM_ST 1 False True - 203 + 0 + + プレイヤーの自動フットエフェクトのSFX識別子[3桁] + 自動フットエフェクトのSFXIDに使われる識別子です。XYYZZZのZZZにあたります。 + None + -1 + 999 + 100 + + + 精密射撃時プレイヤー非表示フェード時間 + 精密射撃時にプレイヤーを非表示にするときのフェード時間です。単位は秒 + None + 0 + 10 + 200 + + + プレイヤー強靭度 回復時間補正値 + プレイヤーの強靭度回復時間の計算に使われる補正値です。 + None + 0 + 999 + 0.001 + 300 + + + 魔法記憶スロット初期値 + 魔法記憶スロット初期値 + None + 99 + 400 + + + タリスマン装備スロット初期値 + タリスマン装備スロット初期値 + None + 4 + 500 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + ドロップアイテム取得アニメーションID + ドロップアイテムを拾った時のアニメーションID + None + 0 + 999999 + 700 + + + プレイヤー耐性値回復量_睡眠[point/s] + プレイヤー耐性値回復量_睡眠[point/s] + None + 0 + 999.99 + 4050 + + + フレア上書き誘導性能[deg/s] + フレア上書き誘導性能[deg/s](-1:上書きなし) + None + -1 + 99999 + 6000 + + + フレア上書き誘導停止距離[m] + フレア上書き誘導停止距離[m](-1:上書きなし) + None + -1 + 999999 + 0.1 + 6100 + + + ネムリアイテム取得時のアニメーションID + ネムリアイテム取得時のアニメーションID + None + 0 + 999999 + 900 + + + 武器属性解禁イベントフラグベースID + 武器属性解禁イベントフラグベースID + %u + None + -294967297 + 7000 + + + システム経由大ルーン発動用特殊効果ID + システムからの大ルーン発動の際に呼び出す特殊効果Id + None + 0 + 999999999 + 1300 + + + ステータス不足 基本攻撃力低下量 + ステータス不足 基本攻撃力低下量 + None + 0 + 10 + 1400 + + + ステータス不足 スタミナ消費倍率 + ステータス不足 スタミナ消費倍率 + None + 0 + 10 + 1500 + + + ステータス不足 弾き攻撃力 + ステータス不足 弾き攻撃力 + None + 0 + 999 + 1600 + + + 盾ステータス補正 判定ステータス最大値 + 盾の性能のステータス補正値を計算するときに使う、性能が上昇する最大ステータス値 + None + 0 + 99 + 1700 + + + 武器属性解禁イベントフラグステップ数 + ベースIDから武器属性IDごとにどのぐらい間隔を空けるか。武器属性解禁イベントフラグID=《武器属性解禁イベントフラグベースID》+武器属性ID×《武器属性解禁イベントフラグステップ数》 + %u + None + 1 + 7010 + + + 因果応報_反撃までの被ダメージ回数 + 因果応報_反撃までの被ダメージ回数 + %u + None + 999 + 8000 + + + 因果応報_反撃までの被ダメージ回数存続時間[s] + 因果応報_反撃までの被ダメージ回数存続時間[s] + %u + None + 999 + 8010 + + + 因果応報_反撃魔法ダミポリID + 因果応報_反撃魔法ダミポリID + %u + None + 999 + 8030 + + + 因果応報_反撃魔法パラムID + 因果応報_反撃魔法パラムID + None + -1 + 999999 + 8020 + + + 騎乗精密射撃カメラオフセット高さ + 騎乗精密射撃カメラオフセット高さ + None + -10 + 10 + 0.1 + 250 + + + + + + 矢筒の吸着ダミポリID + 矢筒の吸着ダミポリID + None + 0 + 99999 + 3900 + + + ボルト筒の吸着ダミポリID + ボルト筒の吸着ダミポリID(ただしボルト筒単独の場合は矢筒のダミポリIDが使われる) + None + 0 + 99999 + 3950 + + + マルチ時クライアント瓶補正倍率 + マルチ時クライアント瓶補正倍率(0.5指定で所持数半分に) + None + 0 + 100 + 2500 + + + 予約 + (dummy8) + %d + 8033 + + + プレイヤー正面から見てキックを出せる角度 + プレイヤー正面から見てキックを出せる角度 + %u + None + 180 + 2800 + + + NPCプレイヤー用アナログ重量比率_軽量 + NPCプレイヤー用アナログ重量比率[%]。軽量。 + None + 200 + 2900 + + + NPCプレイヤー用アナログ重量比率_中量 + NPCプレイヤー用アナログ重量比率[%]。中量。 + None + 200 + 3000 + + + NPCプレイヤー用アナログ重量比率_重量 + NPCプレイヤー用アナログ重量比率[%]。重量。 + None + 200 + 3100 + + + NPCプレイヤー用アナログ重量比率_重量過多 + NPCプレイヤー用アナログ重量比率[%]。重量過多。 + None + 200 + 3200 + + + NPCプレイヤー用アナログ重量比率_超軽量 + NPCプレイヤー用アナログ重量比率[%]。超軽量。 + None + 200 + 3300 + + + + + + 周回補正特殊効果基準ID + 周回補正のためにかける特殊効果の基準ID + None + 0 + 999999999 + 3500 + + + 矢、ボルトのモデルIdオフセット + 矢、ボルトモデルを表示する際に、スロット1に装備された場合のモデルIDに加えるオフセット。(モデルId+オフセット値) + None + 0 + 999999999 + 3600 + + + 矢、ボルトの残量によるモデルマスクの残数閾値_1段階[%] + 矢、ボルトモデルを表示する際に、本数による表示マスクをかけるときの閾値の1段階判定値[%]。(この値より多ければ1段階表示) + None + 0 + 100 + 3700 + + + 矢、ボルトの残量によるモデルマスクの残数閾値_2段階[%] + 矢、ボルトモデルを表示する際に、本数による表示マスクをかけるときの閾値の2段階判定値[%]。(この値より多ければ2段階表示) + None + 0 + 100 + 3800 + + + + + + + プレイヤー耐性値回復量_毒[point/s] + プレイヤー耐性値回復量_毒[point/s] + None + 0 + 999.99 + 4000 + + + プレイヤー耐性値回復量_疫病[point/s] + プレイヤー耐性値回復量_疫病[point/s] + None + 0 + 999.99 + 4010 + + + プレイヤー耐性値回復量_出血[point/s] + プレイヤー耐性値回復量_出血[point/s] + None + 0 + 999.99 + 4020 + + + プレイヤー耐性値回復量_呪い[point/s] + プレイヤー耐性値回復量_呪い[point/s] + None + 0 + 999.99 + 4030 + + + プレイヤー耐性値回復量_冷気[point/s] + プレイヤー耐性値回復量_冷気[point/s] + None + 0 + 999.99 + 4040 + + + 敵耐性値回復量_毒[point/s] + 敵耐性値回復量_毒[point/s] + None + 0 + 999.99 + 4500 + + + 敵耐性値回復量_疫病[point/s] + 敵耐性値回復量_疫病[point/s] + None + 0 + 999.99 + 4510 + + + 敵耐性値回復量_出血[point/s] + 敵耐性値回復量_出血[point/s] + None + 0 + 999.99 + 4520 + + + 敵耐性値回復量_呪い[point/s] + 敵耐性値回復量_呪い[point/s] + None + 0 + 999.99 + 4530 + + + 敵耐性値回復量_冷気[point/s] + 敵耐性値回復量_冷気[point/s] + None + 0 + 999.99 + 4540 + + + 左手両手持ちリクエストのボタン長押し時間[s] + 左手両手持ちするときのボタン入力時間 + None + 0 + 10 + 0.001 + 5000 + + + プレイヤー耐性値回復量_発狂[point/s] + プレイヤー耐性値回復量_発狂[point/s] + None + 0 + 999.99 + 4050 + + + 素材アイテム取得アニメーションID + 素材アイテムを拾った時のアニメーションID + None + 0 + 999999 + 800 + + + 黄衣HPエスト瓶補正倍率 + 黄衣HPエスト瓶補正倍率 + None + 0 + 100 + 5300 + + + 黄衣HPエスト瓶オフセット + 黄衣HPエスト瓶オフセット + None + -100000 + 100000 + 5400 + + + 黄衣MPエスト瓶補正倍率 + 黄衣MPエスト瓶補正倍率 + None + 0 + 100 + 5500 + + + 黄衣MPエスト瓶オフセット + 黄衣MPエスト瓶オフセット + None + -100000 + 100000 + 5600 + + + 敵耐性値回復量_睡眠[point/s] + 敵耐性値回復量_睡眠[point/s] + None + 0 + 999.99 + 4550 + + + 敵耐性値回復量_発狂[point/s] + 敵耐性値回復量_発狂[point/s] + None + 0 + 999.99 + 4560 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_Pro.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_Pro.xml index 3ae7b885..db35f2a7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_Pro.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_Pro.xml @@ -1,27 +1,266 @@ - + POSTURE_CONTROL_PARAM_PRO_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + 右腕_内外 + 右腕_内外 + -180 + 180 + 1 + a000 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 2 + a000 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 3 + a000 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 4 + a000 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 5 + a002 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 6 + a002 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 7 + a002 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 8 + a002 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 9 + a003 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 10 + a003 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 11 + a003 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 12 + a003 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 13 + a010 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 14 + a010 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 15 + a010 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 16 + a010 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 17 + a012 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 18 + a012 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 19 + a012 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 20 + a012 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 21 + a013 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 22 + a013 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 23 + a013 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 24 + a013 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 25 + a014 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 26 + a014 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 27 + a014 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 28 + a014 + + + 右腕_内外 + 右腕_内外 + -180 + 180 + 29 + a015 + + + 右腕_前後 + 右腕_前後 + -180 + 180 + 30 + a015 + + + 左腕_内外 + 左腕_内外 + -180 + 180 + 31 + a015 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 32 + a015 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepLeft.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepLeft.xml index 0975650e..f940deed 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepLeft.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepLeft.xml @@ -1,19 +1,91 @@ - + POSTURE_CONTROL_PARAM_WEP_LEFT_ST 1 False True - 203 + 0 + + 左腕_前後 + 左腕_前後 + -180 + 180 + 1 + a000 + + + + 左手首_前後 + 左手首_前後 + -180 + 180 + 2 + a000 + + + 左手首_内外 + 左手首_内外 + -180 + 180 + 3 + a000 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 4 + a002 + + + 左手首_前後 + 左手首_前後 + -180 + 180 + 5 + a002 + + + + 左手首_内外 + 左手首_内外 + -180 + 180 + 6 + a002 + + + 左腕_前後 + 左腕_前後 + -180 + 180 + 7 + a003 + + + 左手首_前後 + 左手首_前後 + -180 + 180 + 8 + a003 + + + 左手首_内外 + 左手首_内外 + -180 + 180 + 9 + a003 + - - - - - - - - + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepRight.xml b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepRight.xml index 76277ddf..b05a4a53 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepRight.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/PostureControlParam_WepRight.xml @@ -1,59 +1,119 @@ - + POSTURE_CONTROL_PARAM_WEP_RIGHT_ST 1 False True - 203 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/RandomAppearParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/RandomAppearParam.xml index 5bdc8484..a78b2351 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/RandomAppearParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/RandomAppearParam.xml @@ -1,15 +1,613 @@ - + RANDOM_APPEAR_PARAM_ST 1 False True - 203 + 0 - - - - - + + 抽選スロットID0 + スロットが当選した場合に出現するか + 1 + 1 + + + 抽選スロットID1 + スロットが当選した場合に出現するか + 1 + 2 + + + 抽選スロットID2 + スロットが当選した場合に出現するか + 1 + 3 + + + 抽選スロットID3 + スロットが当選した場合に出現するか + 1 + 4 + + + 抽選スロットID4 + スロットが当選した場合に出現するか + 1 + 5 + + + 抽選スロットID5 + スロットが当選した場合に出現するか + 1 + 6 + + + 抽選スロットID6 + スロットが当選した場合に出現するか + 1 + 7 + + + 抽選スロットID7 + スロットが当選した場合に出現するか + 1 + 8 + + + 抽選スロットID8 + スロットが当選した場合に出現するか + 1 + 9 + + + 抽選スロットID9 + スロットが当選した場合に出現するか + 1 + 10 + + + 抽選スロットID10 + スロットが当選した場合に出現するか + 1 + 11 + + + 抽選スロットID11 + スロットが当選した場合に出現するか + 1 + 12 + + + 抽選スロットID12 + スロットが当選した場合に出現するか + 1 + 13 + + + 抽選スロットID13 + スロットが当選した場合に出現するか + 1 + 14 + + + 抽選スロットID14 + スロットが当選した場合に出現するか + 1 + 15 + + + 抽選スロットID15 + スロットが当選した場合に出現するか + 1 + 16 + + + 抽選スロットID16 + スロットが当選した場合に出現するか + 1 + 17 + + + 抽選スロットID17 + スロットが当選した場合に出現するか + 1 + 18 + + + 抽選スロットID18 + スロットが当選した場合に出現するか + 1 + 19 + + + 抽選スロットID19 + スロットが当選した場合に出現するか + 1 + 20 + + + 抽選スロットID20 + スロットが当選した場合に出現するか + 1 + 21 + + + 抽選スロットID21 + スロットが当選した場合に出現するか + 1 + 22 + + + 抽選スロットID22 + スロットが当選した場合に出現するか + 1 + 23 + + + 抽選スロットID23 + スロットが当選した場合に出現するか + 1 + 24 + + + 抽選スロットID24 + スロットが当選した場合に出現するか + 1 + 25 + + + 抽選スロットID25 + スロットが当選した場合に出現するか + 1 + 26 + + + 抽選スロットID26 + スロットが当選した場合に出現するか + 1 + 27 + + + 抽選スロットID27 + スロットが当選した場合に出現するか + 1 + 28 + + + 抽選スロットID28 + スロットが当選した場合に出現するか + 1 + 29 + + + 抽選スロットID29 + スロットが当選した場合に出現するか + 1 + 30 + + + 抽選スロットID30 + スロットが当選した場合に出現するか + 1 + 31 + + + 抽選スロットID31 + スロットが当選した場合に出現するか + 1 + 32 + + + 抽選スロットID32 + スロットが当選した場合に出現するか + 1 + 33 + + + 抽選スロットID33 + スロットが当選した場合に出現するか + 1 + 34 + + + 抽選スロットID34 + スロットが当選した場合に出現するか + 1 + 35 + + + 抽選スロットID35 + スロットが当選した場合に出現するか + 1 + 36 + + + 抽選スロットID36 + スロットが当選した場合に出現するか + 1 + 37 + + + 抽選スロットID37 + スロットが当選した場合に出現するか + 1 + 38 + + + 抽選スロットID38 + スロットが当選した場合に出現するか + 1 + 39 + + + 抽選スロットID39 + スロットが当選した場合に出現するか + 1 + 40 + + + 抽選スロットID40 + スロットが当選した場合に出現するか + 1 + 41 + + + 抽選スロットID41 + スロットが当選した場合に出現するか + 1 + 42 + + + 抽選スロットID42 + スロットが当選した場合に出現するか + 1 + 43 + + + 抽選スロットID43 + スロットが当選した場合に出現するか + 1 + 44 + + + 抽選スロットID44 + スロットが当選した場合に出現するか + 1 + 45 + + + 抽選スロットID45 + スロットが当選した場合に出現するか + 1 + 46 + + + 抽選スロットID46 + スロットが当選した場合に出現するか + 1 + 47 + + + 抽選スロットID47 + スロットが当選した場合に出現するか + 1 + 48 + + + 抽選スロットID48 + スロットが当選した場合に出現するか + 1 + 49 + + + 抽選スロットID49 + スロットが当選した場合に出現するか + 1 + 50 + + + 抽選スロットID50 + スロットが当選した場合に出現するか + 1 + 51 + + + 抽選スロットID51 + スロットが当選した場合に出現するか + 1 + 52 + + + 抽選スロットID52 + スロットが当選した場合に出現するか + 1 + 53 + + + 抽選スロットID53 + スロットが当選した場合に出現するか + 1 + 54 + + + 抽選スロットID54 + スロットが当選した場合に出現するか + 1 + 55 + + + 抽選スロットID55 + スロットが当選した場合に出現するか + 1 + 56 + + + 抽選スロットID56 + スロットが当選した場合に出現するか + 1 + 57 + + + 抽選スロットID57 + スロットが当選した場合に出現するか + 1 + 58 + + + 抽選スロットID58 + スロットが当選した場合に出現するか + 1 + 59 + + + 抽選スロットID59 + スロットが当選した場合に出現するか + 1 + 60 + + + 抽選スロットID60 + スロットが当選した場合に出現するか + 1 + 61 + + + 抽選スロットID61 + スロットが当選した場合に出現するか + 1 + 62 + + + 抽選スロットID62 + スロットが当選した場合に出現するか + 1 + 63 + + + 抽選スロットID63 + スロットが当選した場合に出現するか + 1 + 64 + + + 抽選スロットID64 + スロットが当選した場合に出現するか + 1 + 65 + + + 抽選スロットID65 + スロットが当選した場合に出現するか + 1 + 66 + + + 抽選スロットID66 + スロットが当選した場合に出現するか + 1 + 67 + + + 抽選スロットID67 + スロットが当選した場合に出現するか + 1 + 68 + + + 抽選スロットID68 + スロットが当選した場合に出現するか + 1 + 69 + + + 抽選スロットID69 + スロットが当選した場合に出現するか + 1 + 70 + + + 抽選スロットID70 + スロットが当選した場合に出現するか + 1 + 71 + + + 抽選スロットID71 + スロットが当選した場合に出現するか + 1 + 72 + + + 抽選スロットID72 + スロットが当選した場合に出現するか + 1 + 73 + + + 抽選スロットID73 + スロットが当選した場合に出現するか + 1 + 74 + + + 抽選スロットID74 + スロットが当選した場合に出現するか + 1 + 75 + + + 抽選スロットID75 + スロットが当選した場合に出現するか + 1 + 76 + + + 抽選スロットID76 + スロットが当選した場合に出現するか + 1 + 77 + + + 抽選スロットID77 + スロットが当選した場合に出現するか + 1 + 78 + + + 抽選スロットID78 + スロットが当選した場合に出現するか + 1 + 79 + + + 抽選スロットID79 + スロットが当選した場合に出現するか + 1 + 80 + + + 抽選スロットID80 + スロットが当選した場合に出現するか + 1 + 81 + + + 抽選スロットID81 + スロットが当選した場合に出現するか + 1 + 82 + + + 抽選スロットID82 + スロットが当選した場合に出現するか + 1 + 83 + + + 抽選スロットID83 + スロットが当選した場合に出現するか + 1 + 84 + + + 抽選スロットID84 + スロットが当選した場合に出現するか + 1 + 85 + + + 抽選スロットID85 + スロットが当選した場合に出現するか + 1 + 86 + + + 抽選スロットID86 + スロットが当選した場合に出現するか + 1 + 87 + + + 抽選スロットID87 + スロットが当選した場合に出現するか + 1 + 88 + + + 抽選スロットID88 + スロットが当選した場合に出現するか + 1 + 89 + + + 抽選スロットID89 + スロットが当選した場合に出現するか + 1 + 90 + + + 抽選スロットID90 + スロットが当選した場合に出現するか + 1 + 91 + + + 抽選スロットID91 + スロットが当選した場合に出現するか + 1 + 92 + + + 抽選スロットID92 + スロットが当選した場合に出現するか + 1 + 93 + + + 抽選スロットID93 + スロットが当選した場合に出現するか + 1 + 94 + + + 抽選スロットID94 + スロットが当選した場合に出現するか + 1 + 95 + + + 抽選スロットID95 + スロットが当選した場合に出現するか + 1 + 96 + + + 抽選スロットID96 + スロットが当選した場合に出現するか + 1 + 97 + + + 抽選スロットID97 + スロットが当選した場合に出現するか + 1 + 98 + + + 抽選スロットID98 + スロットが当選した場合に出現するか + 1 + 99 + + + 抽選スロットID99 + スロットが当選した場合に出現するか + 1 + 100 + + + 102 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/RareMapInfoMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/RareMapInfoMenuParam.xml index 57c4be48..7760a1fe 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/RareMapInfoMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/RareMapInfoMenuParam.xml @@ -4,11 +4,13 @@ 1 False True - 203 + 0 + + + - - - + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamProtector.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamProtector.xml index 8b3553ac..4183d5d6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamProtector.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamProtector.xml @@ -1,27 +1,150 @@ - + REINFORCE_PARAM_PROTECTOR_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + 物理防御力 + 物理防御力の補正値 + %.2f + 0 + 99.99 + 100 + + + 魔法防御力 + 魔法防御力の補正値 + %.2f + 0 + 99.99 + 200 + + + 炎防御力 + 炎防御力の補正値 + %.2f + 0 + 99.99 + 300 + + + 電撃防御力 + 電撃防御力の補正値 + %.2f + 0 + 99.99 + 400 + + + 斬撃防御力 + 斬撃防御力の補正値 + %.2f + 0 + 99.99 + 500 + + + 打撃防御力 + 打撃防御力の補正値 + %.2f + 0 + 99.99 + 600 + + + 刺突防御力 + 刺突防御力の補正値 + %.2f + 0 + 99.99 + 700 + + + 毒耐性 + 毒耐性の補正値 + %.2f + 0 + 99.99 + 800 + + + 疫病耐性 + 疫病耐性の補正値 + %.2f + 0 + 99.99 + 810 + + + 出血耐性 + 出血耐性の補正値 + %.2f + 0 + 99.99 + 820 + + + 呪耐性 + 呪耐性の補正値 + %.2f + 0 + 99.99 + 830 + + + 常駐特殊効果ID1 + 常駐特殊効果ID1の加算補正値 + 1200 + + + 常駐特殊効果ID2 + 常駐特殊効果ID2の加算補正値 + 1300 + + + 常駐特殊効果ID3 + 常駐特殊効果ID3の加算補正値 + 1400 + + + 素材ID加算値 + 素材パラメータIDの加算補正値 + 1500 + + + 闇防御力 + 闇防御力の補正値 + %.2f + 0 + 99.99 + 410 + + + 冷気耐性 + 冷気耐性の補正値 + %.2f + 0 + 99.99 + 840 + + + 睡眠耐性 + 睡眠耐性の補正値 + %.2f + 0 + 99.99 + 850 + + + 発狂耐性 + 発狂耐性の補正値 + %.2f + 0 + 99.99 + 860 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamWeapon.xml index 779041b9..732afb78 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ReinforceParamWeapon.xml @@ -1,44 +1,296 @@ - + REINFORCE_PARAM_WEAPON_ST 1 False True - 203 + 0 + + 物理攻撃力基本値 + 物理攻撃力の補正値 + %.2f + 0 + 99.99 + 100 + + + 魔法攻撃力基本値 + 魔法攻撃力の補正値 + %.2f + 0 + 99.99 + 200 + + + 炎攻撃力基本値 + 炎攻撃力の補正値 + %.2f + 0 + 99.99 + 300 + + + 電撃攻撃力基本値 + 電撃攻撃力の補正値 + %.2f + 0 + 99.99 + 400 + + + スタミナ攻撃力 + スタミナ攻撃力の補正値 + %.2f + 0 + 99.99 + 500 + + + SA武器攻撃力 + スーパーアーマー武器攻撃色の補正値 + %.2f + 0 + 99.99 + 600 + + + SA耐久値 + SA耐久力の補正値 + %.2f + 0 + 99.99 + 700 + + + 筋力補正 + 筋力補正の補正値 + %.2f + 0 + 99.99 + 800 + + + 俊敏補正 + 俊敏補正の補正値 + %.2f + 0 + 99.99 + 900 + + + 魔力補正 + 魔力補正の補正値 + %.2f + 0 + 99.99 + 1000 + + + 信仰補正 + 信仰補正の補正値 + %.2f + 0 + 99.99 + 1100 + + + ガード時物理攻撃カット率 + ガード時物理攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1200 + + + ガード時魔法攻撃カット率 + ガード時魔法攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1210 + + + ガード時炎攻撃カット率 + ガード時炎攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1220 + + + ガード時電撃攻撃カット率 + ガード時電撃攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1230 + + + ガード時毒攻撃カット率 + ガード時毒攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1300 + + + ガード時疫病攻撃カット率 + ガード時疫病攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1310 + + + ガード時出血攻撃カット率 + ガード時出血攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1320 + + + ガード時呪攻撃カット率 + ガード時呪い攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1330 + + + ガード時スタミナ防御力 + ガード時スタミナ防御力の補正値 + %.2f + 0 + 99.99 + 2000 + + + 特殊効果ID1 + 特殊効果ID1の加算補正値 + 2100 + + + 特殊効果ID2 + 特殊効果ID2の加算補正値 + 2200 + + + 特殊効果ID3 + 特殊効果ID3の加算補正値 + 2300 + + + 常駐特殊効果ID1 + 常駐特殊効果ID1の加算補正値 + 2400 + + + 常駐特殊効果ID2 + 常駐特殊効果ID2の加算補正値 + 2500 + + + 常駐特殊効果ID3 + 常駐特殊効果ID3の加算補正値 + 2600 + + + 素材ID加算値 + 素材パラメータIDの加算補正値 + 2700 + + + 最大強化武器レベル用レベル値 + 最大強化武器レベル用レベル値 + 99 + 3000 + + + 闇攻撃力基本値 + 闇攻撃力の補正値 + %.2f + 0 + 99.99 + 410 + + + ガード時闇攻撃カット率 + ガード時闇攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1240 + + + 運補正 + 運補正の補正値 + %.2f + 0 + 99.99 + 1150 + + + ガード時冷気攻撃カット率 + ガード時冷気攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1340 + + + 強化価格補正値 + 武器パラメータの強化価格に乗算する補正値 + %.2f + 0 + 99.99 + 2800 + + + 進化価格補正値 + 武器パラメータの進化価格に乗算する補正値 + %.2f + 0 + 99.99 + 2900 + + + 装着可能魔石ランク + 装着可能魔石ランク + 0 + 99 + 3100 + + + pad + 3101 + + + ガード時睡眠攻撃カット率 + ガード時睡眠攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1350 + + + ガード時発狂攻撃カット率 + ガード時発狂攻撃カット率の補正値 + %.2f + 0 + 99.99 + 1360 + + + 加算攻撃力倍率 + 加算攻撃力倍率 + %.2f + 0 + 99.99 + 450 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ResistCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ResistCorrectParam.xml index 2113fb21..4f6c39ae 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ResistCorrectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ResistCorrectParam.xml @@ -1,21 +1,100 @@ - + RESIST_CORRECT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - + + 1回目発動後加算pt + 状態異常が1回発動した後に耐性値に加算される値 + None + -999.99 + 999.99 + 0.1 + 1 + + + 2回目発動後加算pt + 状態異常が2回発動した後に耐性値に加算される値 + None + -999.99 + 999.99 + 0.1 + 2 + + + 3回目発動後加算pt + 状態異常が3回発動した後に耐性値に加算される値 + None + -999.99 + 999.99 + 0.1 + 3 + + + 4回目発動後加算pt + 状態異常が4回発動した後に耐性値に加算される値 + None + -999.99 + 999.99 + 0.1 + 4 + + + 5回目発動後加算pt + 状態異常が5回発動した後に耐性値に加算される値 + None + -999.99 + 999.99 + 0.1 + 5 + + + 1回目発動後倍率 + 状態異常が1回発動した後に耐性値に掛かる倍率 + None + -999.99 + 999.99 + 0.1 + 6 + + + 2回目発動後倍率 + 状態異常が2回発動した後に耐性値に掛かる倍率 + None + -999.99 + 999.99 + 0.1 + 7 + + + 3回目発動後倍率 + 状態異常が3回発動した後に耐性値に掛かる倍率 + None + -999.99 + 999.99 + 0.1 + 8 + + + 4回目発動後倍率 + 状態異常が4回発動した後に耐性値に掛かる倍率 + None + -999.99 + 999.99 + 0.1 + 9 + + + 5回目発動後倍率 + 状態異常が5回発動した後に耐性値に掛かる倍率 + None + -999.99 + 999.99 + 0.1 + 10 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ResultMenuPlaySpeedParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ResultMenuPlaySpeedParam.xml index 45157ed8..f0daf637 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ResultMenuPlaySpeedParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ResultMenuPlaySpeedParam.xml @@ -4,11 +4,11 @@ 1 False True - 203 + 0 - - - + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ReverbAuxSendBusParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ReverbAuxSendBusParam.xml index f24cdc2a..c5e7e893 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ReverbAuxSendBusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ReverbAuxSendBusParam.xml @@ -1,19 +1,18 @@ - + REVERB_AUX_SEND_BUS_PARAM_ST 1 False True - 203 + 202 - - - - - - - - - + + ReverbAuxSendBus名 + ReverbAuxSendBus名 + %f + 0 + 9999 + 1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/RideParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/RideParam.xml index 8128083e..4481b31c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/RideParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/RideParam.xml @@ -1,27 +1,107 @@ - + RIDE_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + 乗る側キャラID + 騎乗時に「乗る側」のキャラクタを特定するパラメータです + 10000 + 1000 + + + 乗られる側キャラID + 騎乗時に「乗られる側」のキャラクタを特定するパラメータです + 10000 + 1100 + + + 騎乗時カメラID + 騎乗時のカメラパラメータを専用のカメラに変更するパラメータです。PC専用のパラメータで、敵に設定しても機能しません。 + -1 + 999999 + 1200 + + + 乗る側_騎乗アニメの種類と方向変数値 + キャラクタアニメ再生を制御しているツール「HavokAnimationTool(HAT)」の「RideOn(騎乗時再生)ステート」内に設定しているvariable(変数)"RideOnAnimId"の値を書き換えるパラメータです + 10000 + 1300 + + + 乗られる側_騎乗アニメの種類と方向変数値 + キャラクタアニメ再生を制御しているツール「HavokAnimationTool(HAT)」の「RiddenOn(被騎乗時再生)ステート」内に設定しているvariable(変数)"RiddenOnAnimId"の値を書き換えるパラメータです + 10000 + 1400 + + + 騎乗アニメ開始時の乗られる側の位置合わせダミポリID + 乗られる側にのみ必要なダミポリ設定です(乗る側キャラクタには、設定の必要ありません) + -1 + 31999 + 1500 + + + 騎乗判定_乗られる側の判定基準ダミポリID + 乗る側のキャラには、ダミポリの設定はとくに必要ありません + -1 + 31999 + 1600 + + + 騎乗判定_乗る側の正面判定角度範囲[deg] + 乗る側の【向き】と、乗られる側の「正面判定ダミポリID」の角度差で判定します。値が大きいほど、「そっぽを向いていても乗れる」ようになります + 0 + 180 + 1700 + + + 騎乗判定_有効距離[m] + 「対象との騎乗可能距離」を決定するパラメータです + 0 + 10000 + 0.1 + 1800 + + + 騎乗判定_有効高さ上方向[m] + 乗られる対象が、乗る対象よりどの程度上方にいても騎乗可能か?を、メートル単位で設定します + 0 + 10000 + 0.1 + 1900 + + + 騎乗判定_有効高さ下方向[m] + 乗られる対象が、乗る対象よりどの程度下方にいても騎乗可能か?を、メートル単位で設定します + 0 + 10000 + 0.1 + 2000 + + + 騎乗判定_対象間の角度差範囲min[deg] + 乗る側が、乗られる側のどの範囲(角度)にいれば騎乗できるか?の最小値を設定します + -180 + 180 + 2100 + + + 騎乗判定_対象間の角度差範囲max[deg] + 乗る側が、乗られる側のどの範囲(角度)にいれば騎乗できるか?の最大値を設定します + -180 + 180 + 2200 + + + 予約 + 予約領域 + %d + Wrap + 2201 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/RollingObjLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/RollingObjLotParam.xml index f5c17309..551eac61 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/RollingObjLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/RollingObjLotParam.xml @@ -1,27 +1,123 @@ - + ROLLING_OBJ_LOT_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 702 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 703 + + + AssetId_0 (-1:無視) + -1 + 999999 + + + AssetId_1 (-1:無視) + -1 + 999999 + 100 + + + AssetId_2 (-1:無視) + -1 + 999999 + 200 + + + AssetId_3 (-1:無視) + -1 + 999999 + 300 + + + AssetId_4 (-1:無視) + -1 + 999999 + 400 + + + AssetId_5 (-1:無視) + -1 + 999999 + 500 + + + AssetId_6 (-1:無視) + -1 + 999999 + 600 + + + AssetId_7 (-1:無視) + -1 + 999999 + 700 + + + 出現ウェイト_0 + 出現の比率ポイント(ウェイト)_0: 0だと無視 + 1 + + + 出現ウェイト_1 + 出現の比率ポイント(ウェイト)_1 + 101 + + + 出現ウェイト_2 + 出現の比率ポイント(ウェイト)_2 + 201 + + + 出現ウェイト_3 + 出現の比率ポイント(ウェイト)_3 + 301 + + + 出現ウェイト_4 + 出現の比率ポイント(ウェイト)_4 + 401 + + + 出現ウェイト_5 + 出現の比率ポイント(ウェイト)_5 + 501 + + + 出現ウェイト_6 + 出現の比率ポイント(ウェイト)_6 + 601 + + + 出現ウェイト_7 + 出現の比率ポイント(ウェイト)_7 + 701 + + + リザーブ + リザーブ + %d + Wrap + 704 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/RuntimeBoneControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/RuntimeBoneControlParam.xml index 87d1e99f..a888845c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/RuntimeBoneControlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/RuntimeBoneControlParam.xml @@ -1,39 +1,41 @@ - + RUNTIME_BONE_CONTROL_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + キャラID + キャラID + 9999 + 1000 + + + 制御タイプ + RUNTIME_BONE_CONTROL_TYPE + 制御タイプ + 1 + 1100 + + + 1401 + + + 適用関節 + 適用関節 + 1200 + + + ターゲット関節1 + ターゲット関節1 + 1300 + + + ターゲット関節2 + ターゲット関節2 + 1400 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ScenarioPlacementParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ScenarioPlacementParam.xml index c10684fc..cc51749e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ScenarioPlacementParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ScenarioPlacementParam.xml @@ -1,17 +1,23 @@ SCENARIO_PLACEMENT_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ScratchedPartsParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ScratchedPartsParam.xml index 2827b24b..a6a48dba 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ScratchedPartsParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ScratchedPartsParam.xml @@ -4,13 +4,16 @@ 1 False True - 203 + 0 - - - - - + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SeActivationRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SeActivationRangeParam.xml index b983a73b..b2bc8fdd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SeActivationRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SeActivationRangeParam.xml @@ -1,12 +1,18 @@ - + SE_ACTIVATION_RANGE_PARAM_ST 1 False True - 203 + 0 - - + + アクティベート距離 + 配置SEを有効化する距離(m) (0以下:常に有効化) + -1 + 9999 + 1 + 1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SeMaterialConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SeMaterialConvertParam.xml index c0ac910f..664a31bf 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SeMaterialConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SeMaterialConvertParam.xml @@ -1,12 +1,21 @@ - + SE_MATERIAL_CONVERT_PARAM_ST 1 False True - 203 + 0 - - + + SE材質ID + MATERIAL_SE_TYPE + SFX材質ID(3桁)からSE材質ID(2桁)への変換 + 1 + + + パディング + パディング + 3 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SessionRandomAssetTexReplaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRandomAssetTexReplaceParam.xml index 9761a241..bc0acf36 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SessionRandomAssetTexReplaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRandomAssetTexReplaceParam.xml @@ -1,61 +1,22 @@ SESSION_RANDOM_ASSET_TEX_REPLACE_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardByModeRankParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardByModeRankParam.xml new file mode 100644 index 00000000..960d297b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardByModeRankParam.xml @@ -0,0 +1,27 @@ + + + SESSION_REWARD_BY_MODE_RANK_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardCommonParam.xml new file mode 100644 index 00000000..28185868 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SessionRewardCommonParam.xml @@ -0,0 +1,27 @@ + + + SESSION_REWARD_COMMON_PARAM_ST + 1 + False + True + 0 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SfxBlockResShareParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SfxBlockResShareParam.xml index c07d4d9a..28d7d81c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SfxBlockResShareParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SfxBlockResShareParam.xml @@ -4,9 +4,9 @@ 1 False True - 203 + 0 - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ShopLineupParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ShopLineupParam.xml index 497af98c..d3c2e921 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ShopLineupParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ShopLineupParam.xml @@ -1,27 +1,160 @@ - + SHOP_LINEUP_PARAM - 1 + 5 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 30101 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 30102 + - - - - - - - - - - - - - - - - + + 装備ID + 販売している装備品のID + 0 + 99999999 + 400 + 販売品 + + + 価格 + 上書きする販売価格(-1:上書きしない) + -1 + 999999999 + 500 + 販売価格上書き + + + 購入に必要な素材ID + 購入に必要な素材ID(-1:なし) + -1 + 99999999 + 600 + + + 個数保持イベントフラグ + 個数を保持してあるイベントフラグ値 + %u + -294967297 + 700 + + + 販売解禁イベントフラグ + 販売解禁イベントフラグ + %u + -294967297 + 900 + + + 販売個数 + 販売個数 + -1 + 9999 + 800 + + + + + + 装備タイプ + SHOP_LINEUP_EQUIPTYPE + 販売している装備品の種類 + 6 + 200 + 販売品 + + + 価格タイプ + SHOP_LINEUP_COSTTYPE + 価格の種類。販売価格を上書きするときだけ適用される + 1 + 505 + 販売価格上書き + + + パディング + %d + Wrap + 1012 + + + 販売セット数 + 販売セット数。1回の購入で手に入る個数(デフォルト: 1) + %u + 1 + 810 + + + 加算 + 装備品の販売価格に対する補正(加算)。装備品パラの販売価格×倍率+加算 + 0 + 999999999 + 520 + 販売価格補正 + + + 倍率 + 装備品の販売価格に対する補正(倍率)。装備品パラの販売価格×倍率+加算 + 0.1 + 9999 + 0.1 + 510 + 販売価格補正 + + + アイコンID + メニュー表示用_アイコンID(-1:上書きしない) + -1 + 65535 + 1000 + メニュー表示用(上書き) + + + テキストID + メニュー表示用_テキストID(-1:上書きしない) + -1 + 99999999 + 1010 + メニュー表示用(上書き) + + + メニュータイトルテキストID + ショップのメニュータイトルのテキストID(-1:上書きしない)。ショップを起動するときに渡されたパラID範囲の中で最初に見つかったパラのこの値が参照されます + -1 + 99999999 + 100 + ショップ設定(上書き) + + + メニューアイコンID + ショップのメニューアイコンID(-1:上書きしない)。ショップを起動するときに渡されたパラID範囲の中で最初に見つかったパラのこの値が参照されます + -1 + 110 + ショップ設定(上書き) + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SignPuddleParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SignPuddleParam.xml index 5849589d..b60a3c55 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SignPuddleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SignPuddleParam.xml @@ -1,19 +1,38 @@ - + SIGN_PUDDLE_PARAM_ST 1 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1001 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1002 + + + 簡易マッチエリアID + 属している簡易マッチエリアのID + 0 + 99999999 + 1000 + - - - - - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotAttachPoint.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotAttachPoint.xml index a0a5b9c6..c366633f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotAttachPoint.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotAttachPoint.xml @@ -1,36 +1,66 @@ SMALLBASE_AND_SPOT_ATTACH_POINT_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotDefine.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotDefine.xml index bdfc4b9f..0ea1e340 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotDefine.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseAndSpotDefine.xml @@ -1,35 +1,57 @@ SMALLBASE_AND_SPOT_DEFINE_ST - 1 + 8 False True - 203 + 0 + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseEnemyLotMapCombinationParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseEnemyLotMapCombinationParam.xml index 0bf7a08d..d13908a9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseEnemyLotMapCombinationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseEnemyLotMapCombinationParam.xml @@ -1,17 +1,22 @@ SMALLBASE_LOT_MAP_COMBINATION_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseMapVariationParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseMapVariationParam.xml index dae3abad..e8b16a01 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseMapVariationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseMapVariationParam.xml @@ -1,27 +1,41 @@ SMALLBASE_MAP_VARIATION_PARAM_ST - 1 + 5 False True - 203 + 0 + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseSfxLodExclusionList.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseSfxLodExclusionList.xml index c47f7188..e25bcbd8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseSfxLodExclusionList.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallBaseSfxLodExclusionList.xml @@ -4,9 +4,9 @@ 1 False True - 203 + 0 - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SmallbaseInvationNpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SmallbaseInvationNpcParam.xml index dc269505..19edbb0f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SmallbaseInvationNpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SmallbaseInvationNpcParam.xml @@ -1,16 +1,16 @@ SMALLBASE_INVATION_NPC_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SortieStartingPoint.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SortieStartingPoint.xml index 6fa514b0..4b6e7217 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SortieStartingPoint.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SortieStartingPoint.xml @@ -1,19 +1,32 @@ SORTIE_STARTING_POINT_ST - 1 + 2 False True - 203 + 0 - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAssetSoundObjEnableDistParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAssetSoundObjEnableDistParam.xml index ef5598e6..d6acbd3b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAssetSoundObjEnableDistParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAssetSoundObjEnableDistParam.xml @@ -1,12 +1,18 @@ - + SOUND_ASSET_SOUND_OBJ_ENABLE_DIST_PARAM_ST 1 False True - 203 + 0 - - + + アセットサウンド音源有効距離設定[m] + アセットサウンド音源有効距離[m](0より小さい:無効) + None + -1 + 9999 + 0.1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoEnvSoundGroupParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoEnvSoundGroupParam.xml index ce29144e..c7689c31 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoEnvSoundGroupParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoEnvSoundGroupParam.xml @@ -1,15 +1,45 @@ - + SOUND_AUTO_ENV_SOUND_GROUP_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - + + サウンドNo + 再生するサウンドNo (サウンドタイプはa固定) + None + -1 + 999999999 + 1 + + + 判定拡張距離 + 再生判定領域の拡張距離 + None + 0 + 99999 + 1 + 2 + + + 音源追従スピード + 実音源の目標位置への追従速度(固定速度) + None + 0 + 999 + 0.001 + 3 + + + 音源追従率 + 実音源の目標位置への追従速度(差分割合) + None + 0 + 999 + 0.001 + 4 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbEvaluationDistParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbEvaluationDistParam.xml index b04167a3..27ff3143 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbEvaluationDistParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbEvaluationDistParam.xml @@ -1,16 +1,73 @@ - + SOUND_AUTO_REVERB_EVALUATION_DIST_PARAM_ST 1 False True - 203 + 0 - - - - - - + + NoHitとする距離[m] + この距離[m]以上の衝突点をNoHitとして判定する(0より小さい:無効) + None + -1 + 1024 + 0.1 + + + NoHitの衝突点含めるか? + BOOL_CIRCLECROSS_TYPE + NoHitの衝突点含めるか? + None + 1 + 1 + + + 屋外の衝突点含めるか? + BOOL_CIRCLECROSS_TYPE + 屋外の衝突点含めるか? + None + 1 + 2 + + + 床の衝突点含めるか? + BOOL_CIRCLECROSS_TYPE + 床の衝突点含めるか? + None + 1 + 3 + + + 評価距離計算タイプ + 評価距離計算タイプ(0:通常,1:Maxからの平均) + None + 1 + 100 + + + 有効な衝突点寿命[秒] + この寿命[秒]以上の衝突点は無効扱いにする。共通設定の寿命以下に設定すること + None + -1 + 128 + 0.1 + 4 + + + Max衝突点レコード数 + Max衝突点レコード数 + None + 10 + 50 + 101 + + + Max距離間引き数 + Max距離間引き数(0:間引かない)(「Max衝突点レコード数-1」の値に設定する必要がある。不正な値は修正される) + None + 50 + 102 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbSelectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbSelectParam.xml index ba443da5..a112f226 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbSelectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundAutoReverbSelectParam.xml @@ -1,19 +1,97 @@ - + SOUND_AUTO_REVERB_SELECT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + リバーブタイプ + リバーブタイプ + None + 16 + 1 + + + エリアNo + 条件:エリアNo(-1:無効) + None + -1 + 99 + 2 + + + 屋内外 + 条件:屋内外指定(0:屋外,1:屋内)(-1:無効) + None + -1 + 1 + 3 + + + 使用評価距離番号A + 条件:使用する評価距離の番号A(-1:無効) + None + -1 + 8 + 100 + + + 使用評価距離番号B + 条件:使用する評価距離の番号B(-1:無効) + None + -1 + 8 + 200 + + + pad0 + 9999 + + + 距離MinA[m] + 条件:評価距離最小指定A用(0より小さい:無効) + None + -1 + 512 + 0.1 + 101 + + + 距離MaxA[m] + 条件:評価距離最大指定A用(0より小さい:無効) + None + -1 + 512 + 0.1 + 102 + + + 距離MinB[m] + 条件:評価距離最小指定A用(0より小さい:無効) + None + -1 + 512 + 0.1 + 201 + + + 距離MaxB[m] + 条件:評価距離最大指定A用(0より小さい:無効) + None + -1 + 512 + 0.1 + 202 + + + 衝突点NoHit数最小数 + 条件:NoHit数(-1:無効) + None + -1 + 4096 + 300 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundChrPhysicsSeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundChrPhysicsSeParam.xml index 2381dc00..bc7d516d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundChrPhysicsSeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundChrPhysicsSeParam.xml @@ -1,25 +1,224 @@ - + SOUND_CHR_PHYSICS_SE_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 30 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 31 + + + 地面接触SEID + 死亡後、地面と接触したときに発音するSEID。(-1:無効)。SEIDカテゴリーはc固定 + None + -1 + 999999999 + 1 + + + 地面接触追加SEID(材質用) + 死亡後、地面と接触したときに発音する追加SEID(材質用)。(-1:無効)。SEIDカテゴリーはc固定 + None + -1 + 999999999 + 2 + + + 地面接触発音回数 + 死亡後、地面接触時に発音する回数 + None + 1 + 16 + 3 + + + 地面接触発音回数を剛体単位でカウントするか? + BOOL_CIRCLECROSS_TYPE + 死亡後地、面接触発音回数を剛体単位でカウントするか?(〇:剛体単位、×:キャラ単位) + None + 1 + 4 + + + 32 + + + 地面接触最小力積値 + 死亡後、地面接触判定に必要な最小力積値 + %d + None + 0 + 99999 + 1 + 5 + + + 地面接触最小速度値 + 死亡後、地面接触判定に必要な最小速度値 + %d + None + 0 + 99999 + 1 + 6 + + + Player接触SEID + 死亡後、Playerと接触したときに鳴らすSEID。(-1:無効)。SEIDカテゴリーはc固定 + None + -1 + 999999999 + 7 + + + Player接触最小力積値 + 死亡後、Player接触判定に必要な最小力積値 + %d + None + 0 + 99999 + 1 + 8 + + + Player接触最小速度値 + 死亡後、Player接触判定に必要な最小速度値 + %d + None + 0 + 99999 + 1 + 9 + + + 接触判定剛体IDX0 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 10 + + + 接触判定剛体IDX1 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 11 + + + 接触判定剛体IDX2 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 12 + + + 接触判定剛体IDX3 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 13 + + + 接触判定剛体IDX4 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 14 + + + 接触判定剛体IDX5 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 15 + + + 接触判定剛体IDX6 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 16 + + + 接触判定剛体IDX7 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 17 + + + 接触判定剛体IDX8 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 18 + + + 接触判定剛体IDX9 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 19 + + + 接触判定剛体IDX10 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 20 + + + 接触判定剛体IDX11 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 21 + + + 接触判定剛体IDX12 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 22 + + + 接触判定剛体IDX13 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 23 + + + 接触判定剛体IDX14 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 24 + + + 接触判定剛体IDX15 + 接触判定する剛体のINDEXを指定します。SEを付けたい剛体だけ指定します + None + -1 + 25 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonIngameParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonIngameParam.xml index b21eacf8..3a5143a0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonIngameParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonIngameParam.xml @@ -1,27 +1,24 @@ - + SOUND_COMMON_INGAME_PARAM_ST - 1 + 0 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + パラメータのKey文字列 + パラメータのKey文字列です + + None + 1 + + + パラメータのValue文字列 + パラメータのValue文字列です + + None + 2 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonSystemParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonSystemParam.xml index cd9a593b..b5e1c844 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonSystemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCommonSystemParam.xml @@ -1,27 +1,30 @@ - + SOUND_COMMON_SYSTEM_PARAM_ST - 1 + 0 False True - 203 + 202 - - - - - - - - - - - - - - - - - + + パラメータのKey文字列 + パラメータのKey文字列です + + None + 0 + 0 + 0 + 1 + + + パラメータのValue文字列 + パラメータのValue文字列です + + None + 0 + 0 + 0 + 2 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCutsceneParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCutsceneParam.xml index c4d78d73..2ea7567b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SoundCutsceneParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SoundCutsceneParam.xml @@ -1,20 +1,85 @@ - + SOUND_CUTSCENE_PARAM_ST - 1 + 6 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 10000 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 10001 + + + カットシーン中のリバーブタイプ + カットシーン中に適応するリバーブタイプを指定します + None + 16 + + + 9999 + + + カットシーン開始時通常BGM挙動 + SOUND_CUTSCENE_BGM_BEHAVIOR_TYPE + カットシーン開始時通常BGM挙動を指定します + None + 0 + 8 + 10 + + + カットシーン開始時ワンショットBGM挙動 + SOUND_CUTSCENE_BGM_BEHAVIOR_TYPE + カットシーン開始時ワンショットBGM挙動を指定します + None + 0 + 8 + 11 + + + カットシーン終了時にポストするSEID(カテゴリ:p)指定(-1:ポストしない) + カットシーン終了時にポストするSEID(カテゴリ:p)指定(-1:ポストしない) + None + -1 + 999999999 + 12 + + + カットシーン終了時にポストするSEID_スキップ時(カテゴリ:p)指定(-1:ポストしない) + カットシーン終了時にポストするSEID_スキップ時用(カテゴリ:p)指定(-1:ポストしない) + None + -1 + 999999999 + 13 + + + 入場直後ミュート解除するカットシーン描画時間[秒](0より小さい:描画時間で解除しない) + 入場直後のミュート解除するカットシーン描画時間[秒](0より小さい:描画時間で解除しない) + None + -1 + 9999 + 0.1 + 14 + - - - - - - - - - + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectParam.xml index 710b4640..e7855be8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectParam.xml @@ -1,255 +1,444 @@ SP_EFFECT_PARAM_ST - 1 + 4 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectSetParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectSetParam.xml index 4788d469..10f92925 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectSetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectSetParam.xml @@ -1,15 +1,42 @@ - + SP_EFFECT_SET_PARAM_ST 1 False True - 203 + 0 - - - - - + + 特殊効果ID1 + 特殊効果ID1 + None + -1 + 999999 + 1000 + + + 特殊効果ID2 + 特殊効果ID2 + None + -1 + 999999 + 1001 + + + 特殊効果ID3 + 特殊効果ID3 + None + -1 + 999999 + 1002 + + + 特殊効果ID4 + 特殊効果ID4 + None + -1 + 999999 + 1003 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectVfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectVfxParam.xml index 4a4a3cfe..c521187c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectVfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SpEffectVfxParam.xml @@ -1,52 +1,453 @@ - + SP_EFFECT_VFX_PARAM_ST 1 False True - 203 + 0 + + 効果中SfxID + 効果中SfxID(-1:無効) + -1 + 999999999 + 1100 + + + 効果中SeID + 効果中SeID(-1:無効) + -1 + 999999999 + 1200 + + + 発動時SfxID + 発動時SfxID(-1:無効) + -1 + 999999999 + 1500 + + + 発動時SeID + 発動時SeID(-1:無効) + -1 + 999999999 + 1600 + + + 解除時SfxID + 解除時SfxID(-1:無効) + -1 + 999999999 + 1900 + + + 解除時SeID + 解除時SeID(-1:無効) + -1 + 999999999 + 2000 + + + 姿隠し開始距離[m] + カムフラージュ開始距離です + -1 + 100 + 0.1 + 2100 + + + 姿隠し終了距離[m] + カムフラージュ終了距離です + -1 + 100 + 0.1 + 2200 + + + 変身防具ID + 変身防具ID(-1:なし) + -1 + 999999999 + 2300 + + + 効果中ダミポリID + 効果中ダミポリID(-1:ルート) + -1 + 31999 + 1000 + + + 発動時ダミポリID + 発動時ダミポリID(-1:ルート) + -1 + 31999 + 1400 + + + 解除時ダミポリID + 解除時ダミポリID(-1:ルート) + -1 + 31999 + 1800 + + + エフェクトタイプ + SP_EFFECT_VFX_EFFECT_TYPE + エフェクトタイプ + 100 + + + 武器エンチャント用ソウルパラムID + SP_EFFECT_VFX_SOUL_PARAM_TYPE + 武器エンチャント用ソウルパラムID(-1:なし).適用されるファントムパラムを変更します。 + 7 + 200 + + + VFX再生カテゴリ + SP_EFFECT_VFX_PLAYCATEGORY + 重複効果によるエフェクト再生を制御します + 10 + + + カテゴリ内優先度 + カテゴリ一致した場合の再生優先度を設定(低い方が優先) + 20 + + + 大型用エフェクトがあるか + SP_EFFECT_BOOL + 大型用エフェクトがあるか + 1 + 300 + + + ソウル体用エフェクトがあるか + SP_EFFECT_BOOL + ソウル体用エフェクトがあるか + 1 + 400 + + + 姿隠し時にエフェクトを非表示にするか + SP_EFFECT_BOOL + 姿隠し時にエフェクトを非表示にするか + 1 + 500 + + + 姿隠しするか + SP_EFFECT_BOOL + 姿隠しするか + 1 + 600 + + + 姿隠し時に味方でも非表示か + SP_EFFECT_BOOL + 姿隠し時に味方でも非表示か + 1 + 700 + + + 姿隠し時にフットエフェクトを消すか + SP_EFFECT_BOOL + 姿隠し時にフットエフェクトを消すか + 1 + 550 + + + 半透明の姿隠しか + SP_EFFECT_BOOL + 半透明の姿隠しか + 1 + 750 + + + 変身防具IDが全身用か + SP_EFFECT_BOOL + 変身防具IDが全身用か + 1 + 2310 + + + 武器エンチャント用インビジブルウェポンか + SP_EFFECT_BOOL + 武器エンチャント用インビジブルウェポンか(0:武器表示, 1:武器非表示) + 1 + 250 + + + サイレンスか + SP_EFFECT_BOOL + サイレンスか(0:ちがう, 1:そう) + 1 + 775 + + + 全身か(効果中) + SP_EFFECT_BOOL + 効果中SFXを装備用全身ダミポリを使用するか。1の時に胴:190,頭:191,手:192,脚:193からSFXを再生する + 1 + 1001 + + + 全身か(発動時) + SP_EFFECT_BOOL + 発動中SFXを装備用全身ダミポリを使用するか。1の時に胴:190,頭:191,手:192,脚:193からSFXを再生する + 1 + 1401 + + + 全身か(解除時) + SP_EFFECT_BOOL + 解除時SFXを装備用全身ダミポリを使用するか。1の時に胴:190,頭:191,手:192,脚:193からSFXを再生する + 1 + 1801 + + + 死体時でも表示を行うか + SP_EFFECT_BOOL + ○の場合、死体時でもVFXが表示されるようになります。 + 1 + 290 + + + エンチャントSFXサイズオフセット適応か + SP_EFFECT_BOOL + 武器パラの「エンチャントSfxサイズ」に従ってSfxIdをオフセットするか + 1 + 350 + + + + + + デカールID1 + デカールID1(-1:無効) + -1 + 999999999 + 2400 + + + デカールID2 + デカールID2(-1:無効) + -1 + 999999999 + 2500 + + + フットエフェクト優先度 + フットエフェクトオフセットの優先度(低いほうが優先) + 2600 + + + フットエフェクトオフセット + この特殊効果がかかっている場合にフットエフェクトIDにオフセットする量 + 99 + 2610 + + + 剣閃SFXIDオフセットタイプ + SP_EFFECT_VFX_SOUL_PARAM_TYPE + 剣閃SFXIDにかけるオフセット値です。エンチャントと剣の軌跡エフェクトに使われる + 7 + 260 + + + プレイヤー見た目強制上書き + SP_EFFECT_VFX_FORCE_DECEASED_TYPE + キャラクターの見た目を強制的に生者/亡者にできる機能 + 7100 + + + エンチャント時根元ダミポリID_0 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2010 + + + エンチャント時剣先ダミポリID_0 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2011 + + + エンチャント時根元ダミポリID_1 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2012 + + + エンチャント時剣先ダミポリID_1 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2013 + + + エンチャント時根元ダミポリID_2 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2014 + + + エンチャント時剣先ダミポリID_2 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2015 + + + エンチャント時根元ダミポリID_3 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2016 + + + エンチャント時剣先ダミポリID_3 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2017 + + + エンチャント時根元ダミポリID_4 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2018 + + + エンチャント時剣先ダミポリID_4 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2019 + + + エンチャント時根元ダミポリID_5 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2020 + + + エンチャント時剣先ダミポリID_5 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2021 + + + エンチャント時根元ダミポリID_6 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2022 + + + エンチャント時剣先ダミポリID_6 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2023 + + + エンチャント時根元ダミポリID_7 + エンチャント時の根元に発生させるダミポリID + -1 + 99999999 + 2024 + + + エンチャント時剣先ダミポリID_7 + エンチャント時の剣先に発生させるダミポリID。-1指定で自動的に連番になってるところまで出す。 + -1 + 99999999 + 2025 + + + SfxIDオフセットタイプ + SP_EFFECT_VFX_SFX_ID_OFFSET_TYPE + SfxIDオフセットタイプ + %u + 100 + 799 + + + ファントムパラメータ強制指定 + SP_EFFECT_OVERWRITE_PHANTOM_PARAM_TYPE + ファントムパラメータの強制上書きタイプ + %u + 270 + + + 姿隠し時最小α値[%] + 姿隠し時最小α値[%] + %u + 760 + + + 水濡れ効果 + SP_EFFECT_VFX_WET_ASPECT_TYPE + ウェットパラメータを参照して水濡れ表現を発生させる + 7200 + + + ファントムパラメータ上書きID + ファントムパラメータの強制Id + 0 + 999999999 + 280 + + + マテリアル拡張パラメータID + ID0~99はGSの予約IDです。ID100以降を指定した場合、マテリアル拡張パラメータを参照します(-1:無効値) + -1 + 999999999 + 6000 + + + マテリアルパラメータの初期値 + マテリアルパラメータのフェード開始時の値。対象はマテリアルパラメータIDで指定する。マテリアルパラメータIDが -1 なら何もしない + 0 + 16 + 6100 + + + マテリアルパラメータの目標値 + マテリアルパラメータのフェード終了時の値。対象はマテリアルパラメータIDで指定する。マテリアルパラメータIDが -1 なら何もしない + 0 + 16 + 6200 + + + マテリアルパラメータ値のフェード時間 + マテリアルパラメータ値のフェード時間。この時間かけて徐々に目標値へ行く。マテリアルパラメータIDが -1 なら何もしない + 0 + 9999999 + 6300 + + + フットデカール材質オフセット強制上書きID + フットデカールの床材質IDオフセットを強制的に書き換える(-1未使用) + -1 + 999 + 7000 + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SpeedtreeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SpeedtreeParam.xml index 58d527bf..4d8b6767 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SpeedtreeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SpeedtreeParam.xml @@ -1,21 +1,89 @@ - + SPEEDTREE_MODEL_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - + + Leafの最小フェード値 + Lock + 0 + 1 + 0.1 + 1 + + + Frondの最小フェード値 + Lock + 0 + 1 + 0.1 + 2 + + + Branchの最小フェード値 + Lock + 0 + 1 + 0.1 + 3 + + + Leafの透過光最小値 + Lock + 0 + 10 + 0.1 + 4 + + + Leafの透過光最大値 + Lock + 0 + 10 + 0.1 + 5 + + + Frondの透過光最小値 + Lock + 0 + 10 + 0.1 + 6 + + + Frondの透過光最大値 + Lock + 0 + 10 + 0.1 + 7 + + + Branchの透過光最小値 + Lock + 0 + 10 + 0.1 + 8 + + + Branchの透過光最大値 + Lock + 0 + 10 + 0.1 + 9 + + + ビルボードのSpecular抑制値 + Lock + 0 + 1 + 10 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SubstoryLinkParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SubstoryLinkParam.xml index d40c475f..6992d7ef 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SubstoryLinkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SubstoryLinkParam.xml @@ -4,10 +4,10 @@ 1 False True - 203 + 0 - - + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsParam.xml index 83b58af7..61f216a2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsParam.xml @@ -1,22 +1,88 @@ - + SWORD_ARTS_PARAM_ST - 1 + 3 False True - 203 + 0 + + + + + + + + + - - - - - - - - - - - + + + + + + テキストID + アーツ説明用のテキストID + 0 + 999999999 + 300 + + + 消費MP L1 + L1によりアーツを出したときに消費するMP + -1 + 999 + 810 + + + 消費MP L2 + L2によりアーツを出したときに消費するMP + -1 + 999 + 820 + + + 消費MP R1 + R1によりアーツを出したときに消費するMP + -1 + 999 + 830 + + + 消費MP R2 + R2によりアーツを出したときに消費するMP + -1 + 999 + 840 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsTableParam.xml index 0f0643f4..27783a9d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/SwordArtsTableParam.xml @@ -1,14 +1,14 @@ SWORDARTS_TABLE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/TalkParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/TalkParam.xml index c5535a46..264acddf 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/TalkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/TalkParam.xml @@ -1,63 +1,89 @@ - + TALK_PARAM_ST - 1 + 4 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1501 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1502 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/TextEmbedImageParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/TextEmbedImageParam.xml index 6f1e3b3e..414c1abd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/TextEmbedImageParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/TextEmbedImageParam.xml @@ -4,12 +4,13 @@ 1 False True - 203 + 0 - - - - + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowCounterParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowCounterParam.xml index 7ebd6a53..6c6a2140 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowCounterParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowCounterParam.xml @@ -4,12 +4,12 @@ 1 False True - 203 + 0 - - - - + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowDirectionSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowDirectionSfxParam.xml index f3c758a0..08d33054 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowDirectionSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowDirectionSfxParam.xml @@ -1,47 +1,232 @@ - + THROW_DIRECTION_SFX_PARAM_ST 1 False True - 203 + 106 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 0 + 使用するSFXのID + 0 + 9999999 + 1000 + + + 1 + 使用するSFXのID + 0 + 9999999 + 1001 + + + 2 + 使用するSFXのID + 0 + 9999999 + 1002 + + + 3 + 使用するSFXのID + 0 + 9999999 + 1003 + + + 4 + 使用するSFXのID + 0 + 9999999 + 1004 + + + 5 + 使用するSFXのID + 0 + 9999999 + 1005 + + + 6 + 使用するSFXのID + 0 + 9999999 + 1006 + + + 7 + 使用するSFXのID + 0 + 9999999 + 1007 + + + 8 + 使用するSFXのID + 0 + 9999999 + 1008 + + + 9 + 使用するSFXのID + 0 + 9999999 + 1009 + + + 10 + 使用するSFXのID + 0 + 9999999 + 1010 + + + 11 + 使用するSFXのID + 0 + 9999999 + 1011 + + + 12 + 使用するSFXのID + 0 + 9999999 + 1012 + + + 13 + 使用するSFXのID + 0 + 9999999 + 1013 + + + 14 + 使用するSFXのID + 0 + 9999999 + 1014 + + + 15 + 使用するSFXのID + 0 + 9999999 + 1015 + + + 16 + 使用するSFXのID + 0 + 9999999 + 1016 + + + 17 + 使用するSFXのID + 0 + 9999999 + 1017 + + + 18 + 使用するSFXのID + 0 + 9999999 + 1018 + + + 19 + 使用するSFXのID + 0 + 9999999 + 1019 + + + 20 + 使用するSFXのID + 0 + 9999999 + 1020 + + + 21 + 使用するSFXのID + 0 + 9999999 + 1021 + + + 22 + 使用するSFXのID + 0 + 9999999 + 1022 + + + 23 + 使用するSFXのID + 0 + 9999999 + 1023 + + + 24 + 使用するSFXのID + 0 + 9999999 + 1024 + + + 25 + 使用するSFXのID + 0 + 9999999 + 1025 + + + 26 + 使用するSFXのID + 0 + 9999999 + 1026 + + + 27 + 使用するSFXのID + 0 + 9999999 + 1027 + + + 28 + 使用するSFXのID + 0 + 9999999 + 1028 + + + 29 + 使用するSFXのID + 0 + 9999999 + 1029 + + + 30 + 使用するSFXのID + 0 + 9999999 + 1030 + + + パッド + pad + 1031 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowParam.xml index 591dda51..e3236a49 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ThrowParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ThrowParam.xml @@ -1,43 +1,321 @@ - + THROW_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 投げ側キャラID + 投げ側キャラID + 0 + 10000 + 100 + + + 受け側キャラID + 受け側キャラID + None + 0 + 10000 + 200 + + + 有効距離[m] + この値より近い距離じゃないと投げない[m] + None + 0 + 10000 + 0.1 + 800 + + + 自分の向きと相手の向きの角度差範囲min + 投げ側と受け側の角度差(Y軸)がこの角度より大きくないと投げない + -180 + 180 + 1100 + + + 自分の向きと相手の向きの角度差範囲max + 投げ側と受け側の角度差(Y軸)がこの角度より小さくないと投げない + -180 + 180 + 1200 + + + 高さ範囲上[m] + 投げ側から受け側のY軸の相対距離がこの値より小さくないと投げない + None + 0 + 10000 + 900 + + + 高さ範囲下[m] + 投げ側から受け側のY軸の相対距離がこの値より小さくないと投げない + None + 0 + 10000 + 1000 + + + 自分の向きと自分から相手への方向の角度差 + 自分の正面のベクトルと、自分から相手への方向のベクトルの角度差。この値より大きいと投げない + None + 0 + 180 + 0.1 + 1300 + + + 投げタイプID + 投げの種類を特定するID(攻撃パラメタと紐付け) + None + 0 + 99999999 + 600 + + + 投げ側アニメID + 攻撃アニメIDを設定(EzStateと紐付け) + None + 0 + 99999999 + 300 + + + 受け側アニメID + ダメージアニメIDを設定(EzStateと紐付け) + None + 0 + 99999999 + 400 + + + 投げ抜けHP + 投げ抜けに耐えられる値 + None + 9999 + 2000 + + + 自力投げ抜けサイクル時間[ms] + 自力投げ抜けのサイクル時間[ms] + None + 2030 + + + スフィアキャスト半径比率_上[1/100Rate] + スフィアキャストの上側半径の比率[80->0.8] + 999 + 2500 + + + スフィアキャスト半径比率_下[1/100Rate] + スフィアキャストの下側半径の比率[80->0.8] + 999 + 2600 + + + 操作タイプ + THROW_PAD_TYPE + 操作タイプ + None + 10 + 2100 + + + 投げ側の投げ可能状態タイプ + THROW_ENABLE_STATE + 投げ側の投げが可能な状態タイプを設定してください + None + 650 + + + 投げ追従方式 + THROW_FOLLOWING_TYPE + 投げ実行中、吸着ダミポリ所持キャラにどのように追従するか。※追従期間はTAEアクションでコントロール + None + 1800 + + + pad + pad + %d + 999999 + + + 投げ種別 + THROW_TYPE + 投げの種別 + None + 500 + + + 自力投げ抜けサイクル回数 + 自力投げ抜けのサイクル回数 + None + 2050 + + + 投げ発生時のダミポリ所持キャラの向き + THROW_DMY_CHR_DIR_TYPE + 投げ発生時のダミポリ所持キャラの向き + None + 1600 + + + 投げ側が旋回するか? + 投げ側が旋回するか? + None + 1 + 1700 + + + 武器カテゴリチェックをスキップするか? + 攻撃側の武器カテゴリチェックをスキップするか? + None + 1 + 2300 + + + スフィアキャストをスキップするか? + スフィアキャストをスキップするか? + None + 1 + 2400 + + + 投げ吸着時、平地相当の位置関係に戻すか + BOOL_CIRCLECROSS_TYPE + ◯にすると投げ位置合わせの場所が「平地相当の位置関係に戻した吸着ダミポリの位置」になる + None + 1 + 1810 + + + 投げ追従解除時の落下を防止するか? + BOOL_CIRCLECROSS_TYPE + 追従解除時に段差から落下しないよう、壁抜け防止と同じ処理を落下防止壁に対しても行うか? + None + 1 + 1830 + + + 投げ追従中の壁めり込みを抑制するか? + BOOL_CIRCLECROSS_TYPE + 追従中壁にめり込んだり段差から落下しそうな見た目にならないよう、ヒットや落下防止壁に接触したときに吸着ダミポリ所持キャラごと戻す処理を行うか? + None + 1 + 1840 + + + pad + pad + 99999998 + + + 投げ側 吸着ダミポリID + 投げ側のどこに受け側を吸着させるか? + None + 0 + 31999 + 1400 + + + 受け側 吸着ダミポリID + 受け側のどこに投げ側を吸着させるか? + None + 0 + 31999 + 1500 + + + 有効距離(投げ開始)[m] + この値より近い距離じゃないと投げない[m] バックスタブ開始時の投げに使われる + None + 0 + 10000 + 0.1 + 710 + + + 自分の向きと相手の向きの角度差範囲min(投げ開始) + 投げ側と受け側の角度差(Y軸)がこの角度より大きくないと投げない バックスタブ開始時の投げに使われる + -180 + 180 + 740 + + + 自分の向きと相手の向きの角度差範囲max(投げ開始) + 投げ側と受け側の角度差(Y軸)がこの角度より小さくないと投げない バックスタブ開始時の投げに使われる + -180 + 180 + 750 + + + 高さ範囲上(投げ開始)[m] + 投げ側から受け側のY軸の相対距離がこの値より小さくないと投げない バックスタブ開始時の投げに使われる + None + 0 + 10000 + 720 + + + 高さ範囲下(投げ開始)[m] + 投げ側から受け側のY軸の相対距離がこの値より小さくないと投げない バックスタブ開始時の投げに使われる + None + 0 + 10000 + 730 + + + 自分の向きと自分から相手への方向の角度差(投げ開始) + 自分の正面のベクトルと、自分から相手への方向のベクトルの角度差。この値より大きいと投げない バックスタブ開始時の投げに使われる + None + 0 + 180 + 0.1 + 760 + + + 投げ側の投げ範囲判定基準ダミポリId + 投げ側が、投げ範囲を計算するときに自分の位置と見なすダミポリ。-1ならカプセル原点 + None + -1 + 99999999 + 660 + + + 投られ側の投げ範囲判定基準ダミポリId + 投げられ側が、投げ範囲を計算するときに自分の位置と見なすダミポリ。-1ならカプセル原点 + None + -1 + 99999999 + 670 + + + 吸着時モデル位置補間時間[s] + カプセルが吸着ダミポリに吸着したあと、キャラモデルが投げアニメデータ通りの位置に補間移動する時間(0を設定した場合はモデル位置の補間が行われず、吸着直後からアニメデータ通りの位置関係で再生開始される) + None + 0 + 10 + 1820 + + + 追従終了時モデル位置補間時間[s] + 追従終了時モデル位置補間時間 + None + 0 + 10 + 1825 + + + pad + pad + 99999999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/ToughnessParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/ToughnessParam.xml index 7f32a8be..f1358d9d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/ToughnessParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/ToughnessParam.xml @@ -1,19 +1,53 @@ - + TOUGHNESS_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + 武器強靭度補正倍率 + 強靭度を求める際に武器の「強靭度補正倍率」に掛かる補正倍率です + 0 + 10 + 100 + + + 最低 強靭度 + 強靭度期間開始時に適用される現在強靭度の下限値です。強靭度開始時に強靭度がこの値を下回る場合は、この値まで回復します。 + 999 + 200 + + + 最低強靭値が強靭度倍率の影響を受けない + 強靭度 補正倍率を、最低 強靭度に、適用しなくなります + 1 + 250 + + + パッド + pad + 301 + + + 特殊効果ID + 強靭度期間中にかかる差換え特殊効果Idです。-1の場合は通常の差換えルールが適用されます。プレイヤーキャラでしか使われません + -1 + 9999999 + 300 + + + 防具強靭度補正倍率 + 強靭度を求める際に防具の「強靭度補正倍率」に掛かる補正倍率です + 0 + 10 + 150 + + + パッド + pad + 302 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/TutorialCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/TutorialCategoryParam.xml index 783d032b..7558e0f9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/TutorialCategoryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/TutorialCategoryParam.xml @@ -4,12 +4,12 @@ 1 False True - 203 + 0 - - - - + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/TutorialParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/TutorialParam.xml index cfd23ae1..59244704 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/TutorialParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/TutorialParam.xml @@ -1,23 +1,119 @@ - + TUTORIAL_PARAM_ST 1 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 501 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 502 + + + 表示タイプ + TUTORIAL_MENU_TYPE + 表示するチュートリアルメニューの種類を指定します + %u + None + 100 + + + 表示タイミング + TUTORIAL_TRIGGER_TYPE + 表示タイミング(デフォルト: 0:"-")。このメニューを開いたときに、このチュートリアルを表示します。メニューを開いたときに表示しない場合は 0:"-" を指定します + %u + None + 400 + + + 表示回数 + TUTORIAL_REPEAT_TYPE + 表示する回数(デフォルト: 0:ゲーム中1回) + %u + None + 410 + + + パディング + 503 + + + イメージID + 表示するチュートリアル画像IDを指定します(デフォルト: 0)。画像を表示しない場合は、0 を指定します + %u + None + 9999 + 300 + モーダル用 + + + パディング + 504 + + + 表示許可フラグ + 表示許可用のイベントフラグID(デフォルト: 0)。このフラグが立つまでは表示されません。常に許可したい場合は 0 を指定します + %u + None + -294967297 + 500 + + + テキストID + チュートリアルに表示するテキストのID[TutorialText.xlsm]。「タイトル」も「本文」もこのテキストIDが使われる + None + -1 + 99999999 + 200 + + + 最短 + 最短表示保障時間[秒]。イベントなどから閉じられたとしても、少なくともこの時間は表示してから閉じられるます。トースト専用なのでモーダルでは無視されます + %.1f + None + 0.1 + 600 + 0.1 + 405 + トースト用:表示時間[秒] + + + 最長 + 表示時間[秒]。トーストが表示されてからこの時間経過すると自動的に閉じられます。トースト専用なのでモーダルでは無視されます + %.1f + None + 0.1 + 600 + 0.1 + 406 + トースト用:表示時間[秒] + - - - - - - - - - - - - + + + + + + + + パディング + 505 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/UserDispLogParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/UserDispLogParam.xml index 652594d1..a5d2cde0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/UserDispLogParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/UserDispLogParam.xml @@ -4,16 +4,17 @@ 1 False True - 203 + 0 - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WaypointParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WaypointParam.xml index e60ee3ad..d5ed73c2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WaypointParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WaypointParam.xml @@ -1,15 +1,46 @@ - + WAYPOINT_PARAM_ST 1 False True - 203 + 0 - - - - - + + 属性1 + WAYPOINT_ATTRIBUTE + None + -1 + 32768 + 100 + + + 属性2 + WAYPOINT_ATTRIBUTE + None + -1 + 32768 + 200 + + + 属性3 + WAYPOINT_ATTRIBUTE + None + -1 + 32768 + 300 + + + 属性4 + WAYPOINT_ATTRIBUTE + None + -1 + 32768 + 400 + + + パディング4 + 100040 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetCreateParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetCreateParam.xml index fbcab268..60c3e8e8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetCreateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetCreateParam.xml @@ -1,27 +1,189 @@ - + WEATHER_ASSET_CREATE_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + アセットId + 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + 999999 + + + スロット番号 + 生成制御用の番号です。同一スロットには1個のアセットのみ生成が可能です。重複して生成させたい、させたくない制御ができます。 + None + 4 + 1 + + + 発生条件 + WEATHER_ASSET_CREATE_CONDITION_TYPE + 発生の条件のタイプです + None + 1 + 2 + + + 9999 + + + 遷移元天候 + WEATHER_TYPE + 遷移元の天候を指定します。発生条件が「遷移」のときだけ参照されます + None + -9999 + 9999 + 100 + + + 遷移先天候 + WEATHER_TYPE + 遷移先の天候を指定します。発生条件が「遷移」のときだけ参照されます + None + -9999 + 9999 + 100 + + + 経過時間チェック天候 + WEATHER_TYPE + 経過時間をチェックする天候を指定します。 + None + -9999 + 9999 + 200 + + + 9999 + + + 経過時間[Second] + 経過時間を指定します。発生条件が「時間経過」のときだけ参照されます。現実時間[秒]単位で指定します。 + None + 0 + 99999 + 1 + 200 + + + 生成遅延時間[Second] + 生成が決定してから遅延する時間を指定します。遅延している間は作成したスロットは使用中になります。0以下で即時作成。 + None + -1 + 999 + 0.1 + 200 + + + 発生確率[%] + 天候遷移、または経過時間の条件を満たした際に発生する確率を指定します + None + 100 + 200 + + + 寿命[Second] + 生成したアセットの寿命を指定します。現実時間[秒]単位で指定します。 + None + 10 + 99999 + 1 + 200 + + + フェード時間[Second] + フェードイン、フェードアウトに使用される時間[秒]。0以下でフェードなし。 + None + -1 + 64 + 0.1 + 200 + + + 生成可能開始時刻[Hour] + 生成可能な開始時刻を指定します[0.0 - 24.0]。開始、終了どちらかに-1を入れると無制限(全時間で生成可能)の扱いになります。 + None + -1 + 24 + 0.1 + 300 + + + 生成可能終了時刻[Hour] + 生成可能な終了時刻を指定します[0.0 - 24.0]。開始、終了どちらかに-1を入れると無制限(全時間で生成可能)の扱いになります。 + None + -1 + 24 + 0.1 + 300 + + + 生成ポイント0 + 生成ポイント番号を指定します。MapStudioの「天候アセット生成ポイント」の末尾3桁の数値を指定してください。-1だと無効になります + None + -1 + 999 + 300 + + + 生成ポイント1 + 生成ポイント番号を指定します。MapStudioの「天候アセット生成ポイント」の末尾3桁の数値を指定してください。-1だと無効になります + None + -1 + 999 + 300 + + + 生成ポイント2 + 生成ポイント番号を指定します。MapStudioの「天候アセット生成ポイント」の末尾3桁の数値を指定してください。-1だと無効になります + None + -1 + 999 + 300 + + + 生成ポイント3 + 生成ポイント番号を指定します。MapStudioの「天候アセット生成ポイント」の末尾3桁の数値を指定してください。-1だと無効になります + None + -1 + 999 + 300 + + + 生成制限ID0 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 350 + + + 生成制限ID1 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 350 + + + 生成制限ID2 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 350 + + + 生成制限ID3 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 350 + + + %d + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetReplaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetReplaceParam.xml index 2546ded0..20102818 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetReplaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherAssetReplaceParam.xml @@ -1,27 +1,146 @@ - + WEATHER_ASSET_REPLACE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + マップ番号 + マップ番号を8桁で指定します。オープン、レガシーの天球配置マップのみ指定可能です + None + 999999999 + + + 天候 + WEATHER_TYPE + この天候で有効になるアセットを指定します。 + None + -9999 + 9999 + 2 + + + reserved0 + 9999 + + + 「火の灰」後か? + BOOL_CIRCLECROSS_TYPE + マップの「火の灰」状態での適応の有無を指定します。 + None + 1 + 1 + + + padding0 + 9999 + + + %f + None + 0 + 0 + 9999 + + + 表示アセット1 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 10 + + + 表示アセット2 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 11 + + + 表示アセット3 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 12 + + + 表示アセット4 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 13 + + + 表示アセット5 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 14 + + + 表示アセット6 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 15 + + + 表示アセット7 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 16 + + + 表示アセット8 + -1:無効 生成するアセットIDを指定します。AEG999_999 -> 999999 + None + -1 + 999999 + 17 + + + 9999 + + + 生成制限ID0 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 100 + + + 生成制限ID1 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 100 + + + 生成制限ID2 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 100 + + + 生成制限ID3 + 生成制限用のIDです。-1:無制限。「マップデフォルトパラメータ.xlsm」の生成制限IDと一致した場合のみ生成が許可されます(SEQ08921) + None + -1 + 100 + + + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotParam.xml index 9bc6f1eb..334a8179 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotParam.xml @@ -1,33 +1,310 @@ - + WEATHER_LOT_PARAM_ST - 1 + 5 False True - 203 + 0 - - - - - - - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 10000 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 10001 + + + 天候種類0 + WEATHER_TYPE + 天候種類0 + None + -2 + 9999 + 50 + + + 天候種類1 + WEATHER_TYPE + 天候種類1 + None + -2 + 9999 + 100 + + + 天候種類2 + WEATHER_TYPE + 天候種類2 + None + -2 + 9999 + 200 + + + 天候種類3 + WEATHER_TYPE + 天候種類3 + None + -2 + 9999 + 300 + + + 天候種類4 + WEATHER_TYPE + 天候種類4 + None + -2 + 9999 + 400 + + + 天候種類5 + WEATHER_TYPE + 天候種類5 + None + -2 + 9999 + 500 + + + 天候種類6 + WEATHER_TYPE + 天候種類6 + None + -2 + 9999 + 600 + + + 天候種類7 + WEATHER_TYPE + 天候種類7 + None + -2 + 9999 + 700 + + + 天候種類8 + WEATHER_TYPE + 天候種類8 + None + -2 + 9999 + 800 + + + 天候種類9 + WEATHER_TYPE + 天候種類9 + None + -2 + 9999 + 900 + + + 天候種類10 + WEATHER_TYPE + 天候種類10 + None + -2 + 9999 + 1000 + + + 天候種類11 + WEATHER_TYPE + 天候種類11 + None + -2 + 9999 + 1100 + + + 天候種類12 + WEATHER_TYPE + 天候種類12 + None + -2 + 9999 + 1200 + + + 天候種類13 + WEATHER_TYPE + 天候種類13 + None + -2 + 9999 + 1300 + + + 天候種類14 + WEATHER_TYPE + 天候種類14 + None + -2 + 9999 + 1400 + + + 天候種類15 + WEATHER_TYPE + 天候種類15 + None + -2 + 9999 + 1500 + + + 抽選ウェイト0 + 抽選ウェイト0 + None + 51 + + + 抽選ウェイト1 + 抽選ウェイト1 + None + 101 + + + 抽選ウェイト2 + 抽選ウェイト2 + None + 201 + + + 抽選ウェイト3 + 抽選ウェイト3 + None + 301 + + + 抽選ウェイト4 + 抽選ウェイト4 + None + 401 + + + 抽選ウェイト5 + 抽選ウェイト5 + None + 501 + + + 抽選ウェイト6 + 抽選ウェイト6 + None + 601 + + + 抽選ウェイト7 + 抽選ウェイト7 + None + 701 + + + 抽選ウェイト8 + 抽選ウェイト8 + None + 801 + + + 抽選ウェイト9 + 抽選ウェイト9 + None + 901 + + + 抽選ウェイト10 + 抽選ウェイト10 + None + 1001 + + + 抽選ウェイト11 + 抽選ウェイト11 + None + 1101 + + + 抽選ウェイト12 + 抽選ウェイト12 + None + 1201 + + + 抽選ウェイト13 + 抽選ウェイト13 + None + 1301 + + + 抽選ウェイト14 + 抽選ウェイト14 + None + 1401 + + + 抽選ウェイト15 + 抽選ウェイト15 + None + 1501 + + + 時間帯条件リスト + WEATHER_LOT_TIMEZONE_TYPE + 時間帯条件リスト + None + 99 + 1 + + + 直接時間指定_開始_時 + 直接時間指定_開始_時 + None + 23 + 2 + + + 直接時間指定_開始_分 + 直接時間指定_開始_分 + None + 59 + 3 + + + 直接時間指定_開始_時 + 直接時間指定_開始_時 + None + 23 + 4 + + + 直接時間指定_開始_分 + 直接時間指定_開始_分 + None + 59 + 5 + + + リザーブ + 予約領域 + 9999 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotTexParam.xml index 2dbbbb05..a55b0068 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherLotTexParam.xml @@ -1,15 +1,67 @@ - + WEATHER_LOT_TEX_PARAM_ST 1 False True - 203 + 0 - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + 201 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + 202 + + + R + 変換前の地図画像のカラー情報(R)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 110 + 画像色情報 + + + G + 変換前の地図画像のカラー情報(G)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 120 + 画像色情報 + + + B + 変換前の地図画像のカラー情報(B)。RGB値が一致したピクセルとこのパラメータが紐づく + %u + None + 130 + 画像色情報 + + + パッド + パッド。一応「画像色情報(A)」用で空けておく + 203 + + + 天候抽選ID + 天候抽選ID(-1:設定なし(デフォルト値)) + None + -1 + 200 + + + パッド2 + 204 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherParam.xml index 1baab08a..758f5241 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WeatherParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WeatherParam.xml @@ -1,29 +1,139 @@ - + WEATHER_PARAM_ST - 1 + 4 False True - 203 + 0 + + 天候SfxId(共通) + 天候用SfxId -1:天候Sfxなし 屋内屋外共通で出すものを設定。インタラクティブパーティクルの雨粒など、雨遮蔽(AboveShadow)で消せるものはこちらでOK + None + -1 + + + 風SfxId(屋外) + 風SfxId -1:風Sfxなし 屋外のみ作成されます + None + -1 + 3 + + + 地面ヒットエフェクト用SfxId + 地面ヒットエフェクト用SfxId -1:地面ヒットエフェクト用なし + None + -1 + 10 + + + 天候用SoundId(共通) + 天候用SoundId -1:Soundなし + None + -1 + 1000 + + + 濡れ時間(秒) + 完全に濡れるまでの時間(m00_00_0000_WeatherBaseのウェイトが1.0になるまでの時間) -1:濡れなし(m00_00_0000_WeatherBaseは0.0のまま) + None + -1 + 128 + 1 + 2001 + + + 天候用GparamId + 屋外天候用Gparam(m00_00_?XXX_WeatherOutdoor.gparamxml)のXXXの部分を指定する。天候間で使用するGparamの共有が可能。 + None + 999 + 2000 + + + 次回天候抽選までの最小時間(インゲーム秒) + 次回天候抽選までの時間の最最小値をインゲーム秒単位で指定します。この天候に遷移時、次の天候までの時間が最小から最大の間のランダムな時間になります。 + None + 0 + 3000 + + + 次回天候抽選までの最大時間(インゲーム秒) + 次回天候抽選までの時間の最大値をインゲーム秒単位で指定します。この天候に遷移時、次の天候までの時間が最小から最大の間のランダムな時間になります。 + None + 3001 + + + 濡れ特殊効果ID_00 + キャラに掛かる特殊効果ID(-1:なし) + None + -1 + 99999999 + 4000 + + + 濡れ特殊効果ID_01 + キャラに掛かる特殊効果ID(-1:なし) + None + -1 + 99999999 + 4001 + + + 濡れ特殊効果ID_02 + キャラに掛かる特殊効果ID(-1:なし) + None + -1 + 99999999 + 4002 + + + 濡れ特殊効果ID_03 + キャラに掛かる特殊効果ID(-1:なし) + None + -1 + 99999999 + 4003 + + + 濡れ特殊効果ID_04 + キャラに掛かる特殊効果ID(-1:なし) + None + -1 + 99999999 + 4004 + + + 天候SfxId(屋内) + 天候用SfxId -1:天候Sfxなし 屋内のみ + None + -1 + 1 + + + 天候SfxId(屋外) + 天候用SfxId -1:天候Sfxなし 屋外のみ + None + -1 + 2 + + + AI視界倍率 + AI視界倍率 + None + 0 + 1 + 2100 + + + 遠見台カメラ中ウェイト値上書き + 遠見台カメラ中ウェイト値上書き(SEQ16724) + None + -1 + 1 + 2050 + + + - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WepAbsorpPosParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WepAbsorpPosParam.xml index f883b86e..ec47c6f4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WepAbsorpPosParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WepAbsorpPosParam.xml @@ -1,35 +1,381 @@ - + WEP_ABSORP_POS_PARAM_ST - 1 + 2 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1501 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1502 + + + 格納場所タイプ + WEP_HANG_POS_TYPE + この値によって納刀時アニメが変わります + 1 + + + スケルトン結合するか + BOOL_CIRCLECROSS_TYPE + スケルトン結合するか + 1 + 1500 + + + + モデル0_右手時吸着ダミポリ + 武器を右手に片手で持っているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 100 + + + モデル0_左手時吸着ダミポリ + 武器を左手に片手で持っているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 101 + + + モデル0_右手両手時吸着ダミポリ + 右手武器を両手で持っているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 102 + + + モデル0_左手納刀時吸着ダミポリ + 武器を左手に持っていて、その武器を納刀しているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 111 + + + モデル0_右手納刀時吸着ダミポリ + 武器を右手に持っていて、その武器を納刀しているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 110 + + + モデル1_右手時吸着ダミポリ + 武器を右手に片手で持っているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 200 + + + モデル1_左手時吸着ダミポリ + 武器を左手に片手で持っているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 201 + + + モデル1_右手両手時吸着ダミポリ + 右手武器を両手で持っているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 202 + + + モデル1_左手納刀時吸着ダミポリ + 武器を左手に持っていて、その武器を納刀しているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 211 + + + モデル1_右手納刀時吸着ダミポリ + 武器を右手に持っていて、その武器を納刀しているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 210 + + + モデル2_右手時吸着ダミポリ + 武器を右手に片手で持っているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 300 + + + モデル2_左手時吸着ダミポリ + 武器を左手に片手で持っているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 301 + + + モデル2_右手両手時吸着ダミポリ + 右手武器を両手で持っているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 302 + + + モデル2_左手納刀時吸着ダミポリ + 武器を左手に持っていて、その武器を納刀しているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 311 + + + モデル2_右手納刀時吸着ダミポリ + 武器を右手に持っていて、その武器を納刀しているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 310 + + + モデル3_右手時吸着ダミポリ + 武器を右手に片手で持っているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 400 + + + モデル3_左手時吸着ダミポリ + 武器を左手に片手で持っているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 401 + + + モデル3_右手両手時吸着ダミポリ + 右手武器を両手で持っているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 402 + + + モデル3_左手納刀時吸着ダミポリ + 武器を左手に持っていて、その武器を納刀しているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 411 + + + モデル3_右手納刀時吸着ダミポリ + 武器を右手に持っていて、その武器を納刀しているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 410 + + + モデル0_武器非表示タイプ + WEP_INVISIBLE_TYPE + モデル0の非表示タイプ。TAEで武器非表示にする際にこれと一致するものを消す + 120 + + + モデル1_武器非表示タイプ + WEP_INVISIBLE_TYPE + モデル1の非表示タイプ。TAEで武器非表示にする際にこれと一致するものを消す + 220 + + + モデル2_武器非表示タイプ + WEP_INVISIBLE_TYPE + モデル2の非表示タイプ。TAEで武器非表示にする際にこれと一致するものを消す + 320 + + + モデル3_武器非表示タイプ + WEP_INVISIBLE_TYPE + モデル3の非表示タイプ。TAEで武器非表示にする際にこれと一致するものを消す + 420 + + + モデル0_左手両手時吸着ダミポリ + 左手武器を両手で持っているときのモデル0の吸着ダミポリ。 + -1 + 31999 + 103 + + + モデル1_左手両手時吸着ダミポリ + 左手武器を両手で持っているときのモデル1の吸着ダミポリ。 + -1 + 31999 + 203 + + + モデル2_左手両手時吸着ダミポリ + 左手武器を両手で持っているときのモデル2の吸着ダミポリ。 + -1 + 31999 + 303 + + + モデル3_左手両手時吸着ダミポリ + 左手武器を両手で持っているときのモデル3の吸着ダミポリ。 + -1 + 31999 + 403 + + + モデル0_右手時表示位置 + WEP_DISP_POS_TYPE + モデル0_右手時表示位置(TAE から非表示位置を指定するのに使用する) + 1100 + + + モデル0_左手時表示位置 + WEP_DISP_POS_TYPE + モデル0_左手時表示位置(TAE から非表示位置を指定するのに使用する) + 1101 + + + モデル0_右手両手時表示位置 + WEP_DISP_POS_TYPE + モデル0_右手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1102 + + + モデル0_左手両手時表示位置 + WEP_DISP_POS_TYPE + モデル0_左手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1103 + + + モデル0_右手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル0_右手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1110 + + + モデル0_左手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル0_左手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1111 + + + モデル1_右手時表示位置 + WEP_DISP_POS_TYPE + モデル1_右手時表示位置(TAE から非表示位置を指定するのに使用する) + 1200 + + + モデル1_左手時表示位置 + WEP_DISP_POS_TYPE + モデル1_左手時表示位置(TAE から非表示位置を指定するのに使用する) + 1201 + + + モデル1_右手両手時表示位置 + WEP_DISP_POS_TYPE + モデル1_右手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1202 + + + モデル1_左手両手時表示位置 + WEP_DISP_POS_TYPE + モデル1_左手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1203 + + + モデル1_右手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル1_右手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1210 + + + モデル1_左手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル1_左手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1211 + + + モデル2_右手時表示位置 + WEP_DISP_POS_TYPE + モデル2_右手時表示位置(TAE から非表示位置を指定するのに使用する) + 1300 + + + モデル2_左手時表示位置 + WEP_DISP_POS_TYPE + モデル2_左手時表示位置(TAE から非表示位置を指定するのに使用する) + 1301 + + + モデル2_右手両手時表示位置 + WEP_DISP_POS_TYPE + モデル2_右手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1302 + + + モデル2_左手両手時表示位置 + WEP_DISP_POS_TYPE + モデル2_左手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1303 + + + モデル2_右手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル2_右手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1310 + + + モデル2_左手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル2_左手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1311 + + + モデル3_右手時表示位置 + WEP_DISP_POS_TYPE + モデル3_右手時表示位置(TAE から非表示位置を指定するのに使用する) + 1400 + + + モデル3_左手時表示位置 + WEP_DISP_POS_TYPE + モデル3_左手時表示位置(TAE から非表示位置を指定するのに使用する) + 1401 + + + モデル3_右手両手時表示位置 + WEP_DISP_POS_TYPE + モデル3_右手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1402 + + + モデル3_左手両手時表示位置 + WEP_DISP_POS_TYPE + モデル3_左手両手時表示位置(TAE から非表示位置を指定するのに使用する) + 1403 + + + モデル3_右手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル3_右手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1410 + + + モデル3_左手納刀時表示位置 + WEP_DISP_POS_TYPE + モデル3_左手納刀時表示位置(TAE から非表示位置を指定するのに使用する) + 1411 + - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WetAspectParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WetAspectParam.xml index db04f782..1a9834f6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WetAspectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WetAspectParam.xml @@ -1,19 +1,98 @@ - + WET_ASPECT_PARAM_ST 1 False True - 203 + 0 - - - - - - - - - + + ベースカラー 値R + ベースカラー色Rです。 + %u + None + ベースカラー + + + ベースカラー 値G + ベースカラー色Gです。 + %u + None + 1 + ベースカラー + + + ベースカラー 値B + ベースカラー色Bです。 + %u + None + 2 + ベースカラー + + + 予備1 + 1000 + + + ベースカラー % + ベースカラーのオーバーライド率です。 + None + 0 + 1 + 3 + ベースカラー + + + メタリック 値 + メタリックです。 + %u + None + 4 + メタリック + + + 予備2 + %u + 1001 + + + 予備3 + %u + 1002 + + + 予備4 + 1003 + + + メタリック % + メタリックのオーバーライド率です。 + None + 0 + 1 + 7 + メタリック + + + シャイニネス % + シャイニネスのオーバーライド率です。 + None + 0 + 1 + 9 + シャイニネス + + + シャイニネス 値 + シャイニネスです。 + %u + None + 8 + シャイニネス + + + 予備5 + 1004 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WhiteSignCoolTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WhiteSignCoolTimeParam.xml index 88477152..0f6d640e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WhiteSignCoolTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WhiteSignCoolTimeParam.xml @@ -1,15 +1,50 @@ - + WHITE_SIGN_COOL_TIME_PARAM_ST 1 False True - 203 + 0 - - - - - + + 制限時間(通常・指なし) + 制限時間[sec](通常・干からびた指無) + %.2f + None + 0 + 9999 + 0.1 + 1 + + + 制限時間(通常・指あり) + 制限時間[sec](通常・干からびた指有) + %.2f + None + 0 + 9999 + 0.1 + 2 + + + 制限時間(マップ守護・指なし) + 制限時間[sec](マップ守護・干からびた指無) + %.2f + None + 0 + 9999 + 0.1 + 3 + + + 制限時間(マップ守護・指あり) + 制限時間[sec](マップ守護・干からびた指有) + %.2f + None + 0 + 9999 + 0.1 + 4 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapLegacyConvParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapLegacyConvParam.xml index 204d15ab..49108c47 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapLegacyConvParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapLegacyConvParam.xml @@ -1,23 +1,140 @@ - + WORLD_MAP_LEGACY_CONV_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 8001 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 8002 + + + 変換元マップID:エリア番号 + 変換元マップID:エリア番号 + %u + 99 + 100 + + + 変換元マップID:グリッドX + 変換元マップID:グリッドX + %u + 99 + 200 + + + 変換元マップID:グリッドZ + 変換元マップID:グリッドZ + %u + 99 + 300 + + + パディング1 + パディング1 + 8003 + + + 変換元マップ基準座標X + 変換元マップ基準座標X + -10000 + 10000 + 1100 + + + 変換元マップ基準座標Y + 変換元マップ基準座標Y + -10000 + 10000 + 1200 + + + 変換元マップ基準座標Z + 変換元マップ基準座標Z + -10000 + 10000 + 1300 + + + 変換先マップID:エリア番号 + 変換先マップID:エリア番号 + %u + 99 + 4100 + + + 変換先マップID:グリッドX + 変換先マップID:グリッドX + %u + 99 + 4200 + + + 変換先マップID:グリッドZ + 変換先マップID:グリッドZ + %u + 99 + 4300 + + + パディング2 + パディング2 + 8004 + + + 変換先マップ基準座標X + 変換先マップ基準座標X + -10000 + 10000 + 5100 + + + 変換先マップ基準座標Y + 変換先マップ基準座標Y + -10000 + 10000 + 5200 + + + 変換先マップ基準座標Z + 変換先マップ基準座標Z + -10000 + 10000 + 5300 + + + 基準となる接続点か + BOOL_CIRCLECROSS_TYPE + 基準となる接続点か。1つの変換元マップIDには必ず一つは基準となる接続点が設定される + 1 + 8000 + + + パディング3 + パディング3 + 8005 + + + パディング4 + パディング4 + 8006 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPieceParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPieceParam.xml index bc00e771..94e97853 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPieceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPieceParam.xml @@ -1,27 +1,137 @@ - + WORLD_MAP_PIECE_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1221 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1222 + + + 開放イベントフラグID + 開放条件のイベントフラグID + %u + -294967297 + 100 + + + 開放される踏破エリア:Xmin + 開放時に拡張する踏破エリアの座標(Xmin) + %.1f + 0 + 20000 + 1 + 200 + + + 開放される踏破エリア:Xmax + 開放時に拡張する踏破エリアの座標(Xmax) + %.1f + 0 + 20000 + 1 + 210 + + + 開放される踏破エリア:Ymin + 開放時に拡張する踏破エリアの座標(Ymin) + %.1f + 0 + 20000 + 1 + 220 + + + 開放される踏破エリア:Ymax + 開放時に拡張する踏破エリアの座標(Ymax) + %.1f + 0 + 20000 + 1 + 230 + + + 入手演出イベントフラグID + 入手演出開始条件のイベントフラグID。いずれかの地図断片ひとつのみがOnになっている想定 + %u + -294967297 + 1000 + + + 入手演出:表示倍率 + 入手演出時の表示倍率 + %.4f + 0.0001 + 2 + 0.0001 + 1100 + + + 入手演出:中心座標X + 入手演出時の中心座標(X) + %.1f + 0 + 20000 + 1 + 1110 + + + 入手演出:中心座標Y + 入手演出時の中心座用(Y) + %.1f + 0 + 20000 + 1 + 1120 + + + 入手演出:リソース倍率 + 入手演出用目隠しリソースの表示倍率 + %.4f + 0.0001 + 2 + 0.0001 + 1200 + + + 入手演出:リソースオフセットX + 入手演出用目隠しリソースの表示位置オフセット(X) + %.1f + 0 + 20000 + 1 + 1210 + + + 入手演出:リソースオフセットY + 入手演出用目隠しリソースの表示位置オフセット(Y) + %.1f + 0 + 20000 + 1 + 1220 + + + パッド + 1223 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPlaceNameParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPlaceNameParam.xml index 38884b1e..b09bcdf5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPlaceNameParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPlaceNameParam.xml @@ -1,19 +1,94 @@ - + WORLD_MAP_PLACE_NAME_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 1601 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 1602 + + + 地図断片パラメータID + 地図断片パラメータID。この地図断片を持っていればテキストを表示する + -1 + 99999999 + 100 + + + テキストID + 表示するテキストID。PlaceName.xlsm + -1 + 99999999 + 500 + + + パディング + 1603 + + + エリア番号 + mAA_BB_CC_DD の AA 部分 + %u + 99 + 1100 + + + グリッドX番号 + mAA_BB_CC_DD の BB 部分 + %u + 99 + 1200 + + + グリッドZ番号 + mAA_BB_CC_DD の CC 部分 + %u + 99 + 1300 + + + パディング + パディング + 1604 + + + X座標 + X座標 + -20000 + 20000 + 1400 + + + Y座標 + Y座標(使っていない) + -20000 + 20000 + 1500 + + + Z座標 + Z座標 + -20000 + 20000 + 1600 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointIconParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointIconParam.xml index 3ffb3c7f..45068606 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointIconParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointIconParam.xml @@ -4,9 +4,9 @@ 1 False True - 203 + 0 - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointParam.xml index 2bc83e2d..e7bc2615 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WorldMapPointParam.xml @@ -1,37 +1,200 @@ WORLD_MAP_POINT_PARAM_ST - 1 + 6 False True - 203 + 0 + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 2901 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 2902 + + + 開放イベントフラグID + 開放条件のイベントフラグID + %u + -294967297 + 100 + + + 遠見台発見イベントフラグID + 遠見台で発見した際に立てるイベントフラグID + %u + -294967297 + 2100 + 遠見台 + + + + 範囲アイコンか + BOOL_CIRCLECROSS_TYPE + 範囲を表すアイコンか。地図に対して等倍になる + 1 + 700 + + + 遠見台目印_座標上書きするか + BOOL_CIRCLECROSS_TYPE + 遠見台目印として使うときに座標を上書きするか + 1 + 2300 + 遠見台 + + + テキストが無いときに表示するか + BOOL_CIRCLECROSS_TYPE + テキストが無いときにも表示するか。基本的にはテキストがなければポイントは表示しない。このフラグが有効なときにはテキストがなくても表示する + 1 + 710 + + + + + + + + 遠見台目印上書き_エリア番号 + mAA_BB_CC_DD の AA 部分 + %u + 99 + 2400 + 遠見台 + + + 遠見台目印上書き_グリッドX番号 + mAA_BB_CC_DD の BB 部分 + %u + 99 + 2500 + 遠見台 + + + 遠見台目印上書き_グリッドZ番号 + mAA_BB_CC_DD の CC 部分 + %u + 99 + 2600 + 遠見台 + + + + 表示設定M00 + BOOL_CIRCLECROSS_TYPE + M00で表示するか + 1 + 800 + + + 表示設定M01 + BOOL_CIRCLECROSS_TYPE + M01で表示するか + 1 + 810 + + + + パッド + pad2 + 2905 + + + 遠見台発見時アイコンID + 遠見台発見時アイコンID + %u + 2200 + 遠見台 + + + エリア番号 + mAA_BB_CC_DD の AA 部分 + %u + 99 + 1100 + + + グリッドX番号 + mAA_BB_CC_DD の BB 部分 + %u + 99 + 1200 + + + グリッドZ番号 + mAA_BB_CC_DD の CC 部分 + %u + 99 + 1300 + + + パディング + パディング + 2906 + + + X座標 + X座標 + -20000 + 20000 + 1400 + + + Y座標 + Y座標(使っていない) + -20000 + 20000 + 1500 + + + Z座標 + Z座標 + -20000 + 20000 + 1600 + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - \ No newline at end of file + diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam.xml index 4c21970a..74dbc094 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam.xml @@ -1,20 +1,36 @@ - + WWISE_VALUE_TO_STR_CONVERT_PARAM_ST - 1 + 2 False True - 203 + 0 - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 5 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 6 + + + Wwiseパラメータ文字列 + Wwiseパラメータ文字列 + + None + 1 + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam_BgmEnemyType.xml b/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam_BgmEnemyType.xml index 0bc39530..875c8e6a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam_BgmEnemyType.xml +++ b/WitchyBND/Assets/Paramdex/NR/Defs/WwiseValueToStrParam_BgmEnemyType.xml @@ -1,21 +1,37 @@ - + EVENT_BGM_BOSSCHRID_CONVERT_PARAM_ST - 1 + 3 False True - 203 + 0 - - - - - - - - - - - + + NT版出力から外すか + BOOL_CIRCLECROSS_TYPE + ○をつけたパラメータをNT版パッケージでは除外します + None + 1 + + + パッケージ出力用リザーブ1 + パッケージ出力用リザーブ1 + %d + 5 + + + パッケージ出力用リザーブ2 + パッケージ出力用リザーブ2 + %d + 6 + + + Wwiseパラメータ文字列 + Wwiseパラメータ文字列 + + None + 1 + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ActionButtonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ActionButtonParam.xml index 32afd90b..7bf8c557 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ActionButtonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ActionButtonParam.xml @@ -1,12 +1,183 @@ + Wiki="Determines the parameters used for interactable prompts." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AiSoundParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AiSoundParam.xml index 32afd90b..9bf0bc6a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AiSoundParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AiSoundParam.xml @@ -1,12 +1,113 @@ + Wiki="Determines the AI response to a sound. Typically triggered along side the actual sound event." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AntiqueStandParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AntiqueStandParam.xml index 32afd90b..23c357f9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AntiqueStandParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AntiqueStandParam.xml @@ -1,12 +1,92 @@ + Wiki="Defines the parameters for relic vessels." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AssetEnvironmentGeometryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AssetEnvironmentGeometryParam.xml index 32afd90b..2de1c429 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AssetEnvironmentGeometryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AssetEnvironmentGeometryParam.xml @@ -2,11 +2,417 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + DefaultValue="-1" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AssetMaterialSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AssetMaterialSfxParam.xml index 32afd90b..a27b8a8e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AssetMaterialSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AssetMaterialSfxParam.xml @@ -2,11 +2,40 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AssetModelSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AssetModelSfxParam.xml index 32afd90b..bbe91378 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AssetModelSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AssetModelSfxParam.xml @@ -2,11 +2,33 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AtkParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AtkParam.xml index 32afd90b..6f382cc8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AtkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AtkParam.xml @@ -1,12 +1,499 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterCategoryParam.xml index 32afd90b..7881f7ed 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterCategoryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterCategoryParam.xml @@ -4,7 +4,14 @@ Wiki="" /> + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterParam.xml index 32afd90b..d422533c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterParam.xml @@ -4,6 +4,37 @@ Wiki="" /> + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterSubCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterSubCategoryParam.xml new file mode 100644 index 00000000..945d7ebc --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectFilterSubCategoryParam.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectParam.xml index 32afd90b..c0ed844e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectParam.xml @@ -4,7 +4,154 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectTableParam.xml index 32afd90b..184fcb2d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttachEffectTableParam.xml @@ -4,6 +4,18 @@ Wiki="" /> + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AttackElementCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AttackElementCorrectParam.xml index 32afd90b..0539eec6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AttackElementCorrectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AttackElementCorrectParam.xml @@ -1,12 +1,85 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/AutoCreateEnvSoundParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/AutoCreateEnvSoundParam.xml index 32afd90b..ea41261b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/AutoCreateEnvSoundParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/AutoCreateEnvSoundParam.xml @@ -2,11 +2,16 @@ - - + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BehaviorParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BehaviorParam.xml index 32afd90b..1d9574c4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BehaviorParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BehaviorParam.xml @@ -1,12 +1,45 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BonfireWarpParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BonfireWarpParam.xml index 32afd90b..f22877fb 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BonfireWarpParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BonfireWarpParam.xml @@ -2,11 +2,104 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BuddyParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BuddyParam.xml index 32afd90b..18729dd7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BuddyParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BuddyParam.xml @@ -2,11 +2,67 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BuddyStoneParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BuddyStoneParam.xml index 32afd90b..2302df3d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BuddyStoneParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BuddyStoneParam.xml @@ -2,11 +2,24 @@ - - + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BudgetParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BudgetParam.xml index 32afd90b..e3179c96 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BudgetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BudgetParam.xml @@ -2,11 +2,36 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Bullet.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Bullet.xml index 32afd90b..3d49c691 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Bullet.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Bullet.xml @@ -1,12 +1,203 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/BulletCreateLimitParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/BulletCreateLimitParam.xml index 32afd90b..1e03a53f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/BulletCreateLimitParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/BulletCreateLimitParam.xml @@ -2,11 +2,12 @@ - - + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CalcCorrectGraph.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CalcCorrectGraph.xml index 32afd90b..f1df105b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CalcCorrectGraph.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CalcCorrectGraph.xml @@ -1,12 +1,30 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CameraFadeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CameraFadeParam.xml index 32afd90b..9c8897e8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CameraFadeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CameraFadeParam.xml @@ -2,11 +2,14 @@ - - + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Ceremony.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Ceremony.xml index 32afd90b..90eed5aa 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Ceremony.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Ceremony.xml @@ -2,11 +2,14 @@ - - + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingCorrectParam.xml new file mode 100644 index 00000000..822f26c7 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingCorrectParam.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationCategoryParam.xml new file mode 100644 index 00000000..32afd90b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationCategoryParam.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationEnemyTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationEnemyTableParam.xml new file mode 100644 index 00000000..32afd90b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingMutationEnemyTableParam.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingRankControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingRankControlParam.xml new file mode 100644 index 00000000..b3f5a63f --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingRankControlParam.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureCommon.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureCommon.xml new file mode 100644 index 00000000..32afd90b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureCommon.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureTable.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureTable.xml new file mode 100644 index 00000000..32afd90b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChaosMatchingReplaceTreasureTable.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuListItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuListItemParam.xml index 32afd90b..47102640 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuListItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuListItemParam.xml @@ -2,11 +2,12 @@ - - + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuTopParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuTopParam.xml index 32afd90b..9e298f75 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuTopParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CharMakeMenuTopParam.xml @@ -2,11 +2,53 @@ - - + + + + + + + + + + + + + - + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CharaInitParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CharaInitParam.xml index 32afd90b..9dece67a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CharaInitParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CharaInitParam.xml @@ -1,12 +1,202 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChrModelParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChrModelParam.xml index 32afd90b..8f06aa2a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ChrModelParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChrModelParam.xml @@ -2,11 +2,25 @@ - - + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ChrPhysicsVelocityChangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ChrPhysicsVelocityChangeParam.xml index 32afd90b..1692e817 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ChrPhysicsVelocityChangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ChrPhysicsVelocityChangeParam.xml @@ -4,6 +4,30 @@ Wiki="" /> + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ClearCountCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ClearCountCorrectParam.xml index 32afd90b..c3ea37b8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ClearCountCorrectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ClearCountCorrectParam.xml @@ -2,11 +2,40 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CommonSystemParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CommonSystemParam.xml index 32afd90b..6253e7f2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CommonSystemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CommonSystemParam.xml @@ -2,11 +2,10 @@ - - + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CoolTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CoolTimeParam.xml index 32afd90b..13281230 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CoolTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CoolTimeParam.xml @@ -2,11 +2,16 @@ - - + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutSceneTextureLoadParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutSceneTextureLoadParam.xml index 32afd90b..c50e4234 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutSceneTextureLoadParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutSceneTextureLoadParam.xml @@ -2,11 +2,28 @@ - - + + + + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamTimeParam.xml index 32afd90b..8898cf2d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamTimeParam.xml @@ -1,12 +1,31 @@ - - - + + + + + + + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamWeatherParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamWeatherParam.xml index 32afd90b..59508bea 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamWeatherParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneGparamWeatherParam.xml @@ -2,11 +2,67 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneMapIdParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneMapIdParam.xml index 32afd90b..2370a1af 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneMapIdParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneMapIdParam.xml @@ -2,11 +2,22 @@ - - + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneTimezoneConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneTimezoneConvertParam.xml index 32afd90b..e4ac2a28 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneTimezoneConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneTimezoneConvertParam.xml @@ -2,11 +2,10 @@ - - + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneWeatherOverrideGparamConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneWeatherOverrideGparamConvertParam.xml index 32afd90b..c7fb19bd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneWeatherOverrideGparamConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/CutsceneWeatherOverrideGparamConvertParam.xml @@ -2,11 +2,9 @@ - - + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/DecalParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/DecalParam.xml index 32afd90b..f0b7b157 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/DecalParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/DecalParam.xml @@ -2,11 +2,116 @@ - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/DefaultKeyAssign.xml b/WitchyBND/Assets/Paramdex/NR/Meta/DefaultKeyAssign.xml index 32afd90b..b9a45351 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/DefaultKeyAssign.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/DefaultKeyAssign.xml @@ -2,11 +2,145 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/DirectionCameraParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/DirectionCameraParam.xml index 32afd90b..1f7babc0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/DirectionCameraParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/DirectionCameraParam.xml @@ -2,11 +2,11 @@ - - + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EnemyCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EnemyCommonParam.xml index 32afd90b..49c75957 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EnemyCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EnemyCommonParam.xml @@ -2,11 +2,17 @@ - - + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EnvObjLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EnvObjLotParam.xml index 32afd90b..b2fb36c3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EnvObjLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EnvObjLotParam.xml @@ -2,11 +2,25 @@ - - + + + + + + + + + + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipMtrlSetParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipMtrlSetParam.xml index 32afd90b..ad507671 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipMtrlSetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipMtrlSetParam.xml @@ -1,12 +1,42 @@ - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAccessory.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAccessory.xml index 32afd90b..d7046e61 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAccessory.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAccessory.xml @@ -2,9 +2,96 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAntique.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAntique.xml index 32afd90b..36e3cfa1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAntique.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamAntique.xml @@ -4,9 +4,88 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamCustomWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamCustomWeapon.xml index 32afd90b..36e5d79b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamCustomWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamCustomWeapon.xml @@ -2,8 +2,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamGoods.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamGoods.xml index 32afd90b..c4267a04 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamGoods.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamGoods.xml @@ -1,12 +1,393 @@ - + Wiki="Defines an item, both consumable and key items.\nNote that many key items are placebo and the item's effect is granted through scripting. Passive effects from ownership are not defined here."/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamProtector.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamProtector.xml index 32afd90b..25d88b25 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamProtector.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamProtector.xml @@ -1,12 +1,464 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamWeapon.xml index 32afd90b..b8239ad7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EquipParamWeapon.xml @@ -1,12 +1,633 @@ - + Wiki="Defines weapon types and each affinity.\nIncludes arrows and bolts. Responsible for scaling shown on certain consumables.\nIDs not ending in a multiple of 100 are ignored.\nPermitting affinities on a weapon without affinity rows at the correct IDs will result in the nearest 10000 being used.\nSpEffects specified here can be modified by upgrades in ReinforceParamWeapon." + OffsetSize="100" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EstusFlaskRecoveryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EstusFlaskRecoveryParam.xml index 32afd90b..bd94ec10 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/EstusFlaskRecoveryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EstusFlaskRecoveryParam.xml @@ -1,12 +1,29 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/EventFlagUsageParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/EventFlagUsageParam.xml new file mode 100644 index 00000000..c9a49148 --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/EventFlagUsageParam.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/FaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/FaceParam.xml index 32afd90b..6b0656e3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/FaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/FaceParam.xml @@ -1,12 +1,282 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/FaceRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/FaceRangeParam.xml index 32afd90b..745c196d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/FaceRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/FaceRangeParam.xml @@ -1,12 +1,236 @@ - + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/FallControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/FallControlParam.xml index 32afd90b..4d4dd667 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/FallControlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/FallControlParam.xml @@ -4,7 +4,13 @@ Wiki="" /> + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/FeTextEffectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/FeTextEffectParam.xml index 32afd90b..551c8c17 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/FeTextEffectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/FeTextEffectParam.xml @@ -1,12 +1,15 @@ - - - - - - + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/FootSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/FootSfxParam.xml index 32afd90b..565639d1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/FootSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/FootSfxParam.xml @@ -1,12 +1,208 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GameSystemCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GameSystemCommonParam.xml index 32afd90b..e97d63cf 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GameSystemCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GameSystemCommonParam.xml @@ -1,12 +1,375 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_AAQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_AAQuality.xml index 32afd90b..34b47ab3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_AAQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_AAQuality.xml @@ -1,12 +1,11 @@ - - - - - - + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DOFQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DOFQuality.xml index 32afd90b..0bd29031 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DOFQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DOFQuality.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DecalQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DecalQuality.xml index 32afd90b..77f11b98 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DecalQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_DecalQuality.xml @@ -1,12 +1,10 @@ - - - - - - + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_EffectQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_EffectQuality.xml index 32afd90b..2d617ecb 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_EffectQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_EffectQuality.xml @@ -1,12 +1,22 @@ - - - - - - + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_LightingQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_LightingQuality.xml index 32afd90b..78b80468 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_LightingQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_LightingQuality.xml @@ -1,12 +1,13 @@ - - - - - - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_MotionBlurQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_MotionBlurQuality.xml index 32afd90b..4a8579c6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_MotionBlurQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_MotionBlurQuality.xml @@ -1,12 +1,15 @@ - - - - - - + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_RaytracingQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_RaytracingQuality.xml index 32afd90b..8acc2158 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_RaytracingQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_RaytracingQuality.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ReflectionQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ReflectionQuality.xml index 32afd90b..b380792c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ReflectionQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ReflectionQuality.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_SSAOQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_SSAOQuality.xml index 32afd90b..0a5f1e77 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_SSAOQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_SSAOQuality.xml @@ -1,12 +1,15 @@ - - - - - - + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShaderQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShaderQuality.xml index 32afd90b..b0f280d9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShaderQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShaderQuality.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShadowQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShadowQuality.xml index 32afd90b..c6158d93 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShadowQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_ShadowQuality.xml @@ -1,12 +1,18 @@ - - - - - - + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_TextureFilterQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_TextureFilterQuality.xml index 32afd90b..cd19ed3c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_TextureFilterQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_TextureFilterQuality.xml @@ -1,12 +1,13 @@ - - - - - - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_VolumetricEffectQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_VolumetricEffectQuality.xml index 32afd90b..39ffb2cb 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_VolumetricEffectQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_VolumetricEffectQuality.xml @@ -1,12 +1,31 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_WaterQuality.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_WaterQuality.xml index 32afd90b..174e004e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_WaterQuality.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Gconfig_WaterQuality.xml @@ -1,12 +1,10 @@ - - - - - - + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GestureParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GestureParam.xml index 32afd90b..9da2c020 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GestureParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GestureParam.xml @@ -1,12 +1,16 @@ - - - - - - + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GparamRefSettings.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GparamRefSettings.xml index 32afd90b..f9f4a48b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GparamRefSettings.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GparamRefSettings.xml @@ -1,12 +1,13 @@ - - - - - - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsCommonParam.xml index 32afd90b..3a4d6e0b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsCommonParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsConfig.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsConfig.xml index 32afd90b..8eda81fd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsConfig.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GraphicsConfig.xml @@ -1,12 +1,29 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GrassLodRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GrassLodRangeParam.xml index 32afd90b..9898650c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GrassLodRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GrassLodRangeParam.xml @@ -1,12 +1,14 @@ - - - - - - + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/GrassTypeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/GrassTypeParam.xml index 32afd90b..57c0ee85 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/GrassTypeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/GrassTypeParam.xml @@ -1,12 +1,73 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HeroMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HeroMenuParam.xml index 32afd90b..32b1e049 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HeroMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HeroMenuParam.xml @@ -1,10 +1,95 @@ + Wiki="Handles various visual information for Heros, such as appearances in menus and Visual Codex stats." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HeroOperationExplanationParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HeroOperationExplanationParam.xml index 32afd90b..af54e0f4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HeroOperationExplanationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HeroOperationExplanationParam.xml @@ -4,9 +4,54 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HeroParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HeroParam.xml index 32afd90b..8b37c688 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HeroParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HeroParam.xml @@ -4,9 +4,152 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HeroStatusParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HeroStatusParam.xml index 32afd90b..67ad7f2f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HeroStatusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HeroStatusParam.xml @@ -1,10 +1,73 @@ + Wiki="Determines the level break points from which the stat curves are calculated." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxConceptParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxConceptParam.xml index 32afd90b..e616d9c6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxConceptParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxConceptParam.xml @@ -1,12 +1,24 @@ - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxParam.xml index 32afd90b..3d79b2b2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HitEffectSfxParam.xml @@ -1,12 +1,28 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/HitMtrlParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/HitMtrlParam.xml index 32afd90b..d2e0a24b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/HitMtrlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/HitMtrlParam.xml @@ -1,12 +1,57 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ItemLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ItemLotParam.xml index 32afd90b..cf5a6d15 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ItemLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ItemLotParam.xml @@ -1,12 +1,188 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ItemTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ItemTableParam.xml index 32afd90b..22827ff5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ItemTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ItemTableParam.xml @@ -4,9 +4,137 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignMenuItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignMenuItemParam.xml index 32afd90b..7dbd045c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignMenuItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignMenuItemParam.xml @@ -1,12 +1,130 @@ + Wiki="Determines the parameters relating the display of key assignments."/> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignParam.xml index 32afd90b..2b551405 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/KeyAssignParam.xml @@ -1,12 +1,184 @@ + Wiki=""/> + + + + + + + + + + + + + + - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/KnockBackParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/KnockBackParam.xml index 32afd90b..fd690dd9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/KnockBackParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/KnockBackParam.xml @@ -1,12 +1,39 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/KnowledgeLoadScreenItemParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/KnowledgeLoadScreenItemParam.xml index 32afd90b..0a31afb4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/KnowledgeLoadScreenItemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/KnowledgeLoadScreenItemParam.xml @@ -1,12 +1,14 @@ - - - - - - + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LegacyDistantViewPartsReplaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LegacyDistantViewPartsReplaceParam.xml index 32afd90b..3be48797 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LegacyDistantViewPartsReplaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LegacyDistantViewPartsReplaceParam.xml @@ -1,12 +1,27 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerDrawDistScaleParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerDrawDistScaleParam.xml index 32afd90b..210c84a1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerDrawDistScaleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerDrawDistScaleParam.xml @@ -1,12 +1,30 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerNewDrawDistScaleParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerNewDrawDistScaleParam.xml index 32afd90b..7f085f7e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerNewDrawDistScaleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerNewDrawDistScaleParam.xml @@ -1,12 +1,19 @@ - - - - - - + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerParam.xml index 32afd90b..299d2168 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LoadBalancerParam.xml @@ -1,12 +1,41 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuNpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuNpcParam.xml index 32afd90b..82b09189 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuNpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuNpcParam.xml @@ -4,7 +4,30 @@ Wiki="" /> + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuParam.xml index 32afd90b..4a0efc85 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LobbyMenuParam.xml @@ -4,7 +4,35 @@ Wiki="" /> + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LockCamParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LockCamParam.xml index 32afd90b..47fef748 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LockCamParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LockCamParam.xml @@ -2,11 +2,29 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseMapPatternFlag.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseMapPatternFlag.xml index 32afd90b..2163cf5d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseMapPatternFlag.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseMapPatternFlag.xml @@ -4,6 +4,37 @@ Wiki="" /> + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseSmallBaseAndSpot.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseSmallBaseAndSpot.xml index 32afd90b..8ff80b56 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseSmallBaseAndSpot.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LotBaseSmallBaseAndSpot.xml @@ -4,7 +4,13 @@ Wiki="" /> + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultMapPatternFlag.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultMapPatternFlag.xml index 32afd90b..8be31f85 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultMapPatternFlag.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultMapPatternFlag.xml @@ -4,7 +4,34 @@ Wiki="" /> + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultPlayAreaParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultPlayAreaParam.xml index 32afd90b..5d82cbef 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultPlayAreaParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultPlayAreaParam.xml @@ -4,7 +4,51 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultSmallBaseAndSpot.xml b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultSmallBaseAndSpot.xml index 32afd90b..ea4abc8b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/LotResultSmallBaseAndSpot.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/LotResultSmallBaseAndSpot.xml @@ -4,6 +4,31 @@ Wiki="" /> + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/Magic.xml b/WitchyBND/Assets/Paramdex/NR/Meta/Magic.xml index 32afd90b..9691f4ac 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/Magic.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/Magic.xml @@ -1,12 +1,243 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MagicTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MagicTableParam.xml index 32afd90b..c970b7d0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MagicTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MagicTableParam.xml @@ -4,9 +4,26 @@ Wiki="" /> + + + + + + + + - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapDefaultInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapDefaultInfoParam.xml index 32afd90b..ea660770 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapDefaultInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapDefaultInfoParam.xml @@ -1,12 +1,104 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionDrawParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionDrawParam.xml index 32afd90b..77fe158c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionDrawParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionDrawParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionInfoParam.xml index 32afd90b..4c0d5c23 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapGdRegionInfoParam.xml @@ -1,12 +1,13 @@ - - - - - - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapGridCreateHeightLimitInfoParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapGridCreateHeightLimitInfoParam.xml index 32afd90b..62b1bc47 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapGridCreateHeightLimitInfoParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapGridCreateHeightLimitInfoParam.xml @@ -1,12 +1,11 @@ - - - - - - + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapMimicryEstablishmentParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapMimicryEstablishmentParam.xml index 32afd90b..4152e91a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapMimicryEstablishmentParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapMimicryEstablishmentParam.xml @@ -1,12 +1,59 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapNameTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapNameTexParam.xml index 32afd90b..a93e2e62 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapNameTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapNameTexParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternMapLotCondition.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternMapLotCondition.xml index 32afd90b..922cb06a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternMapLotCondition.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternMapLotCondition.xml @@ -4,7 +4,21 @@ Wiki="" /> + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternSet.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternSet.xml index 32afd90b..9199223c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternSet.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapPatternSet.xml @@ -4,7 +4,137 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MapPieceTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MapPieceTexParam.xml index 32afd90b..a1c1894c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MapPieceTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MapPieceTexParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MaterialExParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MaterialExParam.xml index 32afd90b..395a30e4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MaterialExParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MaterialExParam.xml @@ -1,12 +1,16 @@ - - - - - - + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuColorTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuColorTableParam.xml index 32afd90b..2d23b12a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuColorTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuColorTableParam.xml @@ -1,12 +1,23 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuCommonParam.xml index 32afd90b..6bb01a49 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuCommonParam.xml @@ -1,12 +1,68 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuOffscrRendParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuOffscrRendParam.xml index 32afd90b..815771ce 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuOffscrRendParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuOffscrRendParam.xml @@ -1,12 +1,24 @@ - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertyLayoutParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertyLayoutParam.xml index 32afd90b..0f726708 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertyLayoutParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertyLayoutParam.xml @@ -1,12 +1,31 @@ - + Wiki="Determines layout parameters relating to menu elements." /> + + + + + + + + + - - - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertySpecParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertySpecParam.xml index 32afd90b..ea7bb969 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertySpecParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuPropertySpecParam.xml @@ -1,12 +1,113 @@ + Wiki="Determines the data sources for various menu elements." /> + + + + + + + + + + + + - + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuValueTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuValueTableParam.xml index 32afd90b..83880bc7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuValueTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuValueTableParam.xml @@ -1,12 +1,17 @@ - - - - - - + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MenuWindowParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MenuWindowParam.xml index 32afd90b..e165c91f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MenuWindowParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MenuWindowParam.xml @@ -4,7 +4,31 @@ Wiki="" /> - + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MimicryEstablishmentTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MimicryEstablishmentTexParam.xml index 32afd90b..81783eed 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MimicryEstablishmentTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MimicryEstablishmentTexParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MissionManagementParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MissionManagementParam.xml index 32afd90b..2bfd949d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MissionManagementParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MissionManagementParam.xml @@ -4,7 +4,25 @@ Wiki="" /> + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MixcraftMagicParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MixcraftMagicParam.xml index 32afd90b..8d6e8f05 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MixcraftMagicParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MixcraftMagicParam.xml @@ -4,9 +4,33 @@ Wiki="" /> + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MoveParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MoveParam.xml index 32afd90b..2a27cea9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MoveParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MoveParam.xml @@ -1,12 +1,47 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MultiEstusFlaskBonusParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MultiEstusFlaskBonusParam.xml index 32afd90b..17598116 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MultiEstusFlaskBonusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MultiEstusFlaskBonusParam.xml @@ -1,12 +1,25 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MultiPlayCorrectionParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MultiPlayCorrectionParam.xml index 32afd90b..2ca4b4d0 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MultiPlayCorrectionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MultiPlayCorrectionParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/MultiSoulBonusRateParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/MultiSoulBonusRateParam.xml index 32afd90b..b31521f4 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/MultiSoulBonusRateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/MultiSoulBonusRateParam.xml @@ -1,12 +1,25 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NPCBotTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NPCBotTableParam.xml index 32afd90b..6dc7bcbe 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NPCBotTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NPCBotTableParam.xml @@ -4,7 +4,20 @@ Wiki="" /> + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NetworkMsgParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NetworkMsgParam.xml index 32afd90b..532cff9b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NetworkMsgParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NetworkMsgParam.xml @@ -1,12 +1,52 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NetworkParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NetworkParam.xml index 32afd90b..592c275b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NetworkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NetworkParam.xml @@ -1,12 +1,164 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NightBossMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NightBossMenuParam.xml index 32afd90b..aa43eb42 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NightBossMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NightBossMenuParam.xml @@ -4,9 +4,100 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiActionParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiActionParam.xml index 32afd90b..9dae050d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiActionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiActionParam.xml @@ -1,12 +1,55 @@ - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiBehaviorProbability.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiBehaviorProbability.xml index 32afd90b..f4f02fd7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiBehaviorProbability.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NpcAiBehaviorProbability.xml @@ -1,12 +1,208 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NpcParam.xml index 32afd90b..7ed0e47b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NpcParam.xml @@ -1,12 +1,764 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/NpcThinkParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/NpcThinkParam.xml index 32afd90b..773180c3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/NpcThinkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/NpcThinkParam.xml @@ -1,12 +1,179 @@ - - + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ObjActParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ObjActParam.xml index 32afd90b..38869a07 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ObjActParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ObjActParam.xml @@ -1,12 +1,46 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/OperationGuideParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/OperationGuideParam.xml index 32afd90b..3d82c4a5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/OperationGuideParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/OperationGuideParam.xml @@ -4,7 +4,10 @@ Wiki="" /> - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/OverlayMaterialParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/OverlayMaterialParam.xml index 32afd90b..f5b06358 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/OverlayMaterialParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/OverlayMaterialParam.xml @@ -4,7 +4,21 @@ Wiki="" /> + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PartsDrawParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PartsDrawParam.xml index 32afd90b..24576723 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PartsDrawParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PartsDrawParam.xml @@ -1,12 +1,63 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PermanentBuffParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PermanentBuffParam.xml index 32afd90b..4f9ca3b1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PermanentBuffParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PermanentBuffParam.xml @@ -4,6 +4,38 @@ Wiki="" /> + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PersonalScenarioParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PersonalScenarioParam.xml index 32afd90b..ed8dc57b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PersonalScenarioParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PersonalScenarioParam.xml @@ -4,7 +4,44 @@ Wiki="" /> + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PhantomParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PhantomParam.xml index 32afd90b..705cb692 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PhantomParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PhantomParam.xml @@ -1,12 +1,51 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateCommonParam.xml index 32afd90b..87781bf8 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateCommonParam.xml @@ -4,7 +4,81 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateDefaultParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateDefaultParam.xml index 32afd90b..dc6ec896 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateDefaultParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateDefaultParam.xml @@ -4,7 +4,42 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateParam.xml index 32afd90b..d352e77d 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PlayAreaCreateParam.xml @@ -4,7 +4,79 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PlayRegionParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PlayRegionParam.xml index 32afd90b..9cfd8b33 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PlayRegionParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PlayRegionParam.xml @@ -1,12 +1,93 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PlayerCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PlayerCommonParam.xml index 32afd90b..9de054ee 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PlayerCommonParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PlayerCommonParam.xml @@ -1,12 +1,308 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_Pro.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_Pro.xml index 32afd90b..e9f2bc10 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_Pro.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_Pro.xml @@ -1,12 +1,45 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepLeft.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepLeft.xml index 32afd90b..c39f20e6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepLeft.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepLeft.xml @@ -1,12 +1,27 @@ - - + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepRight.xml b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepRight.xml index 32afd90b..a7358a85 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepRight.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/PostureControlParam_WepRight.xml @@ -1,12 +1,117 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/RandomAppearParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/RandomAppearParam.xml index 32afd90b..2bed9479 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/RandomAppearParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/RandomAppearParam.xml @@ -1,12 +1,109 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/RareMapInfoMenuParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/RareMapInfoMenuParam.xml index 32afd90b..7cb11db6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/RareMapInfoMenuParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/RareMapInfoMenuParam.xml @@ -4,7 +4,26 @@ Wiki="" /> + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamProtector.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamProtector.xml index 32afd90b..8ae27bfe 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamProtector.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamProtector.xml @@ -1,12 +1,27 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamWeapon.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamWeapon.xml index 32afd90b..0ca19bf5 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamWeapon.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ReinforceParamWeapon.xml @@ -1,12 +1,54 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ResistCorrectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ResistCorrectParam.xml index 32afd90b..c0a19931 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ResistCorrectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ResistCorrectParam.xml @@ -1,12 +1,18 @@ - - - - - - + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ResultMenuPlaySpeedParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ResultMenuPlaySpeedParam.xml index 32afd90b..1d582c6c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ResultMenuPlaySpeedParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ResultMenuPlaySpeedParam.xml @@ -4,7 +4,14 @@ Wiki="" /> - + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ReverbAuxSendBusParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ReverbAuxSendBusParam.xml index 32afd90b..a628c7ef 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ReverbAuxSendBusParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ReverbAuxSendBusParam.xml @@ -1,12 +1,9 @@ - - - - - - + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/RideParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/RideParam.xml index 32afd90b..a9847f7b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/RideParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/RideParam.xml @@ -1,12 +1,24 @@ - - - - - - + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/RollingObjLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/RollingObjLotParam.xml index 32afd90b..0598ed8e 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/RollingObjLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/RollingObjLotParam.xml @@ -1,12 +1,28 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/RuntimeBoneControlParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/RuntimeBoneControlParam.xml index 32afd90b..15365079 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/RuntimeBoneControlParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/RuntimeBoneControlParam.xml @@ -1,12 +1,18 @@ - - - - - - + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ScenarioPlacementParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ScenarioPlacementParam.xml index 32afd90b..f0a82037 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ScenarioPlacementParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ScenarioPlacementParam.xml @@ -4,7 +4,16 @@ Wiki="" /> + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ScratchedPartsParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ScratchedPartsParam.xml index 32afd90b..b85676df 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ScratchedPartsParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ScratchedPartsParam.xml @@ -1,10 +1,33 @@ + Wiki="Handles Ironeye's Marking, such as damage and animations of characters" /> - + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SeActivationRangeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SeActivationRangeParam.xml index 32afd90b..d4f4e0bd 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SeActivationRangeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SeActivationRangeParam.xml @@ -1,12 +1,9 @@ - - - - - - + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SeMaterialConvertParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SeMaterialConvertParam.xml index 32afd90b..73912d2b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SeMaterialConvertParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SeMaterialConvertParam.xml @@ -1,12 +1,103 @@ - - - - - - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardByModeRankParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardByModeRankParam.xml new file mode 100644 index 00000000..9e63f24c --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardByModeRankParam.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardCommonParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardCommonParam.xml new file mode 100644 index 00000000..32afd90b --- /dev/null +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SessionRewardCommonParam.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ShopLineupParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ShopLineupParam.xml index 32afd90b..05f84c80 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ShopLineupParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ShopLineupParam.xml @@ -1,12 +1,117 @@ + Wiki="Defines trades available in shops.\nAvailable trades in a given shop are determined by a range defined in ESD and by game flags.\nItems sold for less than their sell price will not appear in shops.\nMaterial costs may not be shown in shop variants." /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SignPuddleParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SignPuddleParam.xml index 32afd90b..62e7c0df 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SignPuddleParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SignPuddleParam.xml @@ -1,12 +1,14 @@ - - + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotAttachPoint.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotAttachPoint.xml index 32afd90b..a5fdb665 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotAttachPoint.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotAttachPoint.xml @@ -4,7 +4,40 @@ Wiki="" /> + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotDefine.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotDefine.xml index 32afd90b..c23a7def 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotDefine.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseAndSpotDefine.xml @@ -4,7 +4,145 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseEnemyLotMapCombinationParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseEnemyLotMapCombinationParam.xml index 32afd90b..33588d7b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseEnemyLotMapCombinationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseEnemyLotMapCombinationParam.xml @@ -4,7 +4,29 @@ Wiki="" /> + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseMapVariationParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseMapVariationParam.xml index 32afd90b..286ab1c7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseMapVariationParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SmallBaseMapVariationParam.xml @@ -4,6 +4,119 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SmallbaseInvationNpcParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SmallbaseInvationNpcParam.xml index 32afd90b..6816384c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SmallbaseInvationNpcParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SmallbaseInvationNpcParam.xml @@ -4,7 +4,20 @@ Wiki="" /> + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SortieStartingPoint.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SortieStartingPoint.xml index 32afd90b..9dacd846 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SortieStartingPoint.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SortieStartingPoint.xml @@ -4,7 +4,66 @@ Wiki="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAssetSoundObjEnableDistParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAssetSoundObjEnableDistParam.xml index 32afd90b..e21a1164 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAssetSoundObjEnableDistParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAssetSoundObjEnableDistParam.xml @@ -1,12 +1,9 @@ - - - - - - + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoEnvSoundGroupParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoEnvSoundGroupParam.xml index 32afd90b..62ce424c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoEnvSoundGroupParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoEnvSoundGroupParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbEvaluationDistParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbEvaluationDistParam.xml index 32afd90b..673691b1 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbEvaluationDistParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbEvaluationDistParam.xml @@ -1,12 +1,16 @@ - - - - - - + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbSelectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbSelectParam.xml index 32afd90b..cd9f29a3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbSelectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundAutoReverbSelectParam.xml @@ -1,12 +1,19 @@ - - - - - - + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundChrPhysicsSeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundChrPhysicsSeParam.xml index 32afd90b..336c0c4a 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundChrPhysicsSeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundChrPhysicsSeParam.xml @@ -1,12 +1,37 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonIngameParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonIngameParam.xml index 32afd90b..dd174936 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonIngameParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonIngameParam.xml @@ -1,12 +1,10 @@ - - - - - - + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonSystemParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonSystemParam.xml index 32afd90b..dd174936 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonSystemParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCommonSystemParam.xml @@ -1,12 +1,10 @@ - - - - - - + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCutsceneParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCutsceneParam.xml index 32afd90b..00781abb 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SoundCutsceneParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SoundCutsceneParam.xml @@ -1,12 +1,23 @@ - - - - - - + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectParam.xml index 32afd90b..ac0e2e03 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectParam.xml @@ -1,12 +1,2511 @@ + + Wiki="Defines various effects that can be applied to the player and to enemies.\nCan define passive, activated, single-use and repeated or continuous application effects with indefinite duration.\nSuccessful application may depend on spCategory or invocationConditions." + Row0Dummy="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectSetParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectSetParam.xml index 32afd90b..819b4e9c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectSetParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectSetParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectVfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectVfxParam.xml index 32afd90b..d0701748 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectVfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SpEffectVfxParam.xml @@ -1,12 +1,126 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SpeedtreeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SpeedtreeParam.xml index 32afd90b..0a8e93c3 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SpeedtreeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SpeedtreeParam.xml @@ -1,12 +1,18 @@ - - - - - - + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsParam.xml index 32afd90b..cfb8313b 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsParam.xml @@ -1,12 +1,194 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsTableParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsTableParam.xml index 32afd90b..95030784 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsTableParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/SwordArtsTableParam.xml @@ -4,7 +4,14 @@ Wiki="" /> + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/TalkParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/TalkParam.xml index 32afd90b..ded37836 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/TalkParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/TalkParam.xml @@ -1,12 +1,33 @@ + Wiki=""/> + + + + + + + + + + + - - - diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowCounterParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowCounterParam.xml index 32afd90b..5c5ac628 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowCounterParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowCounterParam.xml @@ -4,7 +4,10 @@ Wiki="" /> - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowDirectionSfxParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowDirectionSfxParam.xml index 32afd90b..aeecfe38 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowDirectionSfxParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowDirectionSfxParam.xml @@ -1,12 +1,40 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowParam.xml index 32afd90b..d0896d28 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ThrowParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ThrowParam.xml @@ -1,12 +1,74 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/ToughnessParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/ToughnessParam.xml index 32afd90b..841a434f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/ToughnessParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/ToughnessParam.xml @@ -1,12 +1,15 @@ - - - - - - + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/TutorialCategoryParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/TutorialCategoryParam.xml index 32afd90b..e7e81efa 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/TutorialCategoryParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/TutorialCategoryParam.xml @@ -4,7 +4,10 @@ Wiki="" /> - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/TutorialParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/TutorialParam.xml index 32afd90b..655f9b77 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/TutorialParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/TutorialParam.xml @@ -1,12 +1,59 @@ - - + + + + + + + + + + + + + + + + + + + + + + + - - - + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/UserDispLogParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/UserDispLogParam.xml index 32afd90b..b7364281 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/UserDispLogParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/UserDispLogParam.xml @@ -4,7 +4,15 @@ Wiki="" /> + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WaypointParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WaypointParam.xml index 32afd90b..6fe332d9 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WaypointParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WaypointParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetCreateParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetCreateParam.xml index 32afd90b..a515c581 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetCreateParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetCreateParam.xml @@ -1,12 +1,36 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetReplaceParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetReplaceParam.xml index 32afd90b..f3c213ec 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetReplaceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherAssetReplaceParam.xml @@ -1,12 +1,28 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotParam.xml index 32afd90b..9fa431a6 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotParam.xml @@ -1,12 +1,54 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotTexParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotTexParam.xml index 32afd90b..8013c7f7 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotTexParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherLotTexParam.xml @@ -1,12 +1,20 @@ - - - - - - + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherParam.xml index 32afd90b..83d04cb2 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WeatherParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WeatherParam.xml @@ -1,12 +1,25 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WepAbsorpPosParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WepAbsorpPosParam.xml index 32afd90b..fc37966c 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WepAbsorpPosParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WepAbsorpPosParam.xml @@ -1,12 +1,87 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WetAspectParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WetAspectParam.xml index 32afd90b..fded05ab 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WetAspectParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WetAspectParam.xml @@ -1,12 +1,24 @@ - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WhiteSignCoolTimeParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WhiteSignCoolTimeParam.xml index 32afd90b..2da19636 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WhiteSignCoolTimeParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WhiteSignCoolTimeParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapLegacyConvParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapLegacyConvParam.xml index 32afd90b..ec0e6983 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapLegacyConvParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapLegacyConvParam.xml @@ -1,12 +1,28 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPieceParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPieceParam.xml index 32afd90b..7edb8d1f 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPieceParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPieceParam.xml @@ -1,12 +1,24 @@ - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPlaceNameParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPlaceNameParam.xml index 32afd90b..08c76889 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPlaceNameParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPlaceNameParam.xml @@ -1,12 +1,21 @@ - - - - - - + + + + + + + + + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointIconParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointIconParam.xml index 32afd90b..8eafb559 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointIconParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointIconParam.xml @@ -4,6 +4,10 @@ Wiki="" /> + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointParam.xml index 32afd90b..95472daa 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WorldMapPointParam.xml @@ -1,12 +1,296 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam.xml index 32afd90b..dc5aa902 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam_BgmEnemyType.xml b/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam_BgmEnemyType.xml index 32afd90b..dc5aa902 100644 --- a/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam_BgmEnemyType.xml +++ b/WitchyBND/Assets/Paramdex/NR/Meta/WwiseValueToStrParam_BgmEnemyType.xml @@ -1,12 +1,12 @@ - - - - - - + + + + + + + diff --git a/WitchyBND/Assets/Templates/TAE.Template.ER.xml b/WitchyBND/Assets/Templates/TAE.Template.ER.xml index 7b322019..9b3e4ec5 100644 --- a/WitchyBND/Assets/Templates/TAE.Template.ER.xml +++ b/WitchyBND/Assets/Templates/TAE.Template.ER.xml @@ -1104,7 +1104,7 @@ - + @@ -1243,9 +1243,9 @@ - - - + + + diff --git a/WitchyBND/CliModes/ConfigMode.cs b/WitchyBND/CliModes/ConfigMode.cs index c5d1588c..bfc3f0dc 100644 --- a/WitchyBND/CliModes/ConfigMode.cs +++ b/WitchyBND/CliModes/ConfigMode.cs @@ -2,7 +2,6 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.InteropServices; -using PPlus.Controls; using WitchyBND.Parsers; using WitchyBND.Services; using WitchyLib; @@ -25,10 +24,6 @@ private enum ConfigMenuItem "Enable to extract certain BND types into a custom, user-friendly structure. Disable for standard handling.")] ToggleBnd, - [Display(Name = "DCX decompression only", - Description = "Enable to exclusively decompress DCX files and leave their contents intact.")] - ToggleDcx, - [Display(Name = "Recursive binder processing", Description = "Enable to recursively attempt to process any file inside unpacked binders. Very performance-intensive.")] @@ -123,9 +118,6 @@ directory and select ""WitchyBND"" in the context menu. case ConfigMenuItem.ToggleBnd: toggled = Configuration.Stored.Bnd; break; - case ConfigMenuItem.ToggleDcx: - toggled = Configuration.Stored.Dcx; - break; case ConfigMenuItem.ToggleRecursive: toggled = Configuration.Stored.Recursive; break; @@ -172,16 +164,12 @@ directory and select ""WitchyBND"" in the context menu. if (select.IsAborted) return; - switch (select.Value) + switch (select.Content) { case ConfigMenuItem.ToggleBnd: Configuration.Stored.Bnd = !Configuration.Stored.Bnd; updateConfig(); break; - case ConfigMenuItem.ToggleDcx: - Configuration.Stored.Dcx = !Configuration.Stored.Dcx; - updateConfig(); - break; case ConfigMenuItem.ToggleRecursive: Configuration.Stored.Recursive = !Configuration.Stored.Recursive; updateConfig(); @@ -210,10 +198,10 @@ directory and select ""WitchyBND"" in the context menu. while (true) { var thresholdSelect = output.Input("Input new threshold (between 0.0 and 1.0") - .AddValidators(PromptValidators.IsTypeFloat()) + // .AddValidators(PromptValidators.IsTypeFloat()) .Run(); if (thresholdSelect.IsAborted) break; - var threshold = float.Parse(thresholdSelect.Value); + var threshold = float.Parse(thresholdSelect.Content); if (threshold < 0f) { output.WriteError("Number cannot be less than 0."); @@ -238,7 +226,7 @@ directory and select ""WitchyBND"" in the context menu. var cellSelect = output.Select("Select PARAM field style").Run(); if (!cellSelect.IsAborted) { - Configuration.Stored.ParamCellStyle = cellSelect.Value; + Configuration.Stored.ParamCellStyle = cellSelect.Content; updateConfig(); } break; @@ -246,7 +234,7 @@ directory and select ""WitchyBND"" in the context menu. var backupSelect = output.Select("Select backup method").Run(); if (!backupSelect.IsAborted) { - Configuration.Stored.BackupMethod = backupSelect.Value; + Configuration.Stored.BackupMethod = backupSelect.Content; updateConfig(); } break; @@ -260,12 +248,12 @@ directory and select ""WitchyBND"" in the context menu. case ConfigMenuItem.ConfigureDelay: var input = output.Input("Input new delay (in milliseconds)") .AcceptInput(char.IsNumber) - .AddValidators(PromptValidators.IsTypeUInt16("Input is not within valid range")) - .ValidateOnDemand() + // .AddValidators(PromptValidators.IsTypeUInt16("Input is not within valid range")) + // .ValidateOnDemand() .Run(); if (!input.IsAborted) { - Configuration.Stored.EndDelay = Convert.ToUInt16(input.Value); + Configuration.Stored.EndDelay = Convert.ToUInt16(input.Content); updateConfig(); } break; diff --git a/WitchyBND/CliModes/ConfigMode/DeferredFormatMode.cs b/WitchyBND/CliModes/ConfigMode/DeferredFormatMode.cs index 0910c482..25f03bf6 100644 --- a/WitchyBND/CliModes/ConfigMode/DeferredFormatMode.cs +++ b/WitchyBND/CliModes/ConfigMode/DeferredFormatMode.cs @@ -3,7 +3,7 @@ using System.IO; using System.Linq; using NativeFileDialogSharp; -using PPlus.Controls; +using PromptPlusLibrary; using WitchyBND.Services; using WitchyLib; @@ -20,95 +20,93 @@ static DeferredFormatMode() public static void Run(CliOptions opt) { - using (output.EscapeColorTokens()) + while (true) { - while (true) + output.Clear(); + output.DoubleDash("Deferred formats"); + + var select = output.Select("Configure deferred tools") + .TextSelector(format => { + var checkbox = Configuration.Stored.DeferTools.ContainsKey(format) ? "[x]" : "[ ]"; + var path = Configuration.Stored.DeferTools.ContainsKey(format) + ? Configuration.Stored.DeferTools[format].Path + : "Not configured"; + return $"{checkbox} {format.GetAttribute().Name}: {path}"; + }) + .Run(); + + if (select.IsAborted) return; + + var format = select.Content; + var name = format.GetAttribute().Name; + output.WriteLine( + @"In the following dialog, please select the executable that will be used to process the given format. +Cancel the dialog to reset the configuration for that format."); + output.KeyPress().Run(); + var openDialog = Dialog.FileOpen("exe"); + if (openDialog.IsError) { - output.Clear(); - output.DoubleDash("Deferred formats"); - - var select = output.Select("Configure deferred tools") - .TextSelector(format => { - var checkbox = Configuration.Stored.DeferTools.ContainsKey(format) ? "[x]" : "[ ]"; - var path = Configuration.Stored.DeferTools.ContainsKey(format) - ? Configuration.Stored.DeferTools[format].Path - : "Not configured"; - return $"{checkbox} {format.GetAttribute().Name}: {path}"; - }) - .Run(); - - if (select.IsAborted) return; + output.WriteError( + $"There was an error while picking the executable: {openDialog.ErrorMessage}"); + output.KeyPress().Run(); + continue; + } - var format = select.Value; - var name = format.GetAttribute().Name; - output.WriteLine( - @"In the following dialog, please select the executable that will be used to process the given format. -Cancel the dialog to reset the configuration for that format."); + if (openDialog.IsCancelled || string.IsNullOrWhiteSpace(openDialog.Path) || + !File.Exists(openDialog.Path)) + { + Configuration.Stored.DeferTools.Remove(format); + Configuration.SaveConfiguration(); + output.WriteLine($"{name} files will no longer be processed."); output.KeyPress().Run(); - var openDialog = Dialog.FileOpen("exe"); - if (openDialog.IsError) - { - output.WriteError( - $"There was an error while picking the executable: {openDialog.ErrorMessage}"); - output.KeyPress().Run(); - continue; - } - - if (openDialog.IsCancelled || string.IsNullOrWhiteSpace(openDialog.Path) || - !File.Exists(openDialog.Path)) - { - Configuration.Stored.DeferTools.Remove(format); - Configuration.SaveConfiguration(); - output.WriteLine($"{name} files will no longer be processed."); - output.KeyPress().Run(); - continue; - } - - - IControlSelect argsSelect = output.Select("Select the arguments provided to the tool"); - - var hasDefArgs = - DeferredFormatHandling.DefaultDeferToolArguments.TryGetValue(format, out var defArgs); - if (hasDefArgs) - { - argsSelect.AddItems(defArgs.Select(a => a.Name)); - } - - argsSelect.AddItems(new List - { - "Default", - "Custom..." - }); - var argsVal = argsSelect.Run(); - - if (argsVal.IsAborted) continue; - - bool breakOut = false; - string unpackArgsDefault = ""; - string repackArgsDefault = ""; - bool hasRepack = true; - switch (argsVal.Value) - { - case "Custom...": - break; - case "Default": - Configuration.Stored.DeferTools[format] = - new DeferConfig(Path.GetFileNameWithoutExtension(openDialog.Path), openDialog.Path); - break; - default: - var myArgs = defArgs!.First(a => a.Name == argsVal.Value); - unpackArgsDefault = myArgs.UnpackArgs; - if (myArgs.RepackArgs == null) - hasRepack = false; - else - repackArgsDefault = myArgs.RepackArgs; - Configuration.Stored.DeferTools[format] = new DeferConfig(myArgs.Name, openDialog.Path, - myArgs.UnpackArgs, myArgs.RepackArgs); - break; - } + continue; + } - output.WriteLine( - @"Please input the arguments provided to the program when unpacking the format. + + ISelectControl argsSelect = output.Select("Select the arguments provided to the tool"); + + var hasDefArgs = + DeferredFormatHandling.DefaultDeferToolArguments.TryGetValue(format, out var defArgs); + if (hasDefArgs) + { + argsSelect.AddItems(defArgs.Select(a => a.Name)); + } + + argsSelect.AddItems(new List + { + "Default", + "Custom..." + }); + var argsVal = argsSelect.Run(); + + if (argsVal.IsAborted) continue; + + bool breakOut = false; + string unpackArgsDefault = ""; + string repackArgsDefault = ""; + bool hasRepack = true; + switch (argsVal.Content) + { + case "Custom...": + break; + case "Default": + Configuration.Stored.DeferTools[format] = + new DeferConfig(OSPath.GetFileNameWithoutExtension(openDialog.Path), openDialog.Path, "$name", null); + break; + default: + var myArgs = defArgs!.First(a => a.Name == argsVal.Content); + unpackArgsDefault = myArgs.UnpackArgs; + if (myArgs.RepackArgs == null) + hasRepack = false; + else + repackArgsDefault = myArgs.RepackArgs; + Configuration.Stored.DeferTools[format] = new DeferConfig(myArgs.Name, openDialog.Path, + myArgs.UnpackArgs, myArgs.RepackArgs); + break; + } + + output.WriteLine( + @"Please input the arguments provided to the program when unpacking the format. Available placeholders: $path - Full path of file being processed @@ -116,20 +114,20 @@ public static void Run(CliOptions opt) $filename - Filename (without extension) of file being processed $fileext - Extension of file being processed (starts with .)"); - var unpackArgsInput = output.Input("Enter custom unpack arguments") - .Default(unpackArgsDefault) - .Run(); - if (unpackArgsInput.IsAborted) - { - breakOut = true; - break; - } + var unpackArgsInput = output.Input("Enter custom unpack arguments") + .Default(unpackArgsDefault) + .Run(); + if (unpackArgsInput.IsAborted) + { + breakOut = true; + break; + } - string? repackArgs = null; - if (hasRepack) - { - output.WriteLine( - @"Please input the arguments provided to the program when repacking the format. + string? repackArgs = null; + if (hasRepack) + { + output.WriteLine( + @"Please input the arguments provided to the program when repacking the format. Press the Esc key if your program does not support repacking. @@ -139,22 +137,21 @@ public static void Run(CliOptions opt) $dirname - Directory path of file being processed $filename - Filename (without extension) of file being processed $fileext - Extension of file being processed (starts with .)"); - var repackArgsInput = output.Input("Enter custom repack arguments") - .Default(repackArgsDefault) - .Run(); + var repackArgsInput = output.Input("Enter custom repack arguments") + .Default(repackArgsDefault) + .Run(); - repackArgs = !repackArgsInput.IsAborted ? repackArgsInput.Value : null; - } + repackArgs = !repackArgsInput.IsAborted ? repackArgsInput.Content : null; + } - Configuration.Stored.DeferTools[format] = new DeferConfig( - Path.GetFileNameWithoutExtension(openDialog.Path), openDialog.Path, unpackArgsInput.Value, - repackArgs); + Configuration.Stored.DeferTools[format] = new DeferConfig( + OSPath.GetFileNameWithoutExtension(openDialog.Path), openDialog.Path, unpackArgsInput.Content, + repackArgs); - if (breakOut) continue; - Configuration.SaveConfiguration(); - output.WriteLine($"{name} files will now be processed by program \"{openDialog.Path}\"."); - output.KeyPress().Run(); - } + if (breakOut) continue; + Configuration.SaveConfiguration(); + output.WriteLine($"{name} files will now be processed by program \"{openDialog.Path}\"."); + output.KeyPress().Run(); } } } \ No newline at end of file diff --git a/WitchyBND/CliModes/ConfigMode/IntegrationMode.cs b/WitchyBND/CliModes/ConfigMode/IntegrationMode.cs index 3d1cd202..09c1721c 100644 --- a/WitchyBND/CliModes/ConfigMode/IntegrationMode.cs +++ b/WitchyBND/CliModes/ConfigMode/IntegrationMode.cs @@ -1,7 +1,8 @@ using System; using System.ComponentModel.DataAnnotations; +using System.Runtime.InteropServices; using Microsoft.Win32; -using PPlus; +using PromptPlusLibrary; using WitchyBND.Services; using WitchyLib; @@ -39,6 +40,7 @@ private enum IntegrationChoices public static void CliShellIntegrationMode(CliOptions opt) { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; while (true) { output.Clear(); @@ -46,7 +48,7 @@ public static void CliShellIntegrationMode(CliOptions opt) var select = output.Select("Select an option") .Run(); if (select.IsAborted) return; - switch (select.Value) + switch (select.Content) { case IntegrationChoices.Register: RegisterContext(); @@ -59,7 +61,7 @@ public static void CliShellIntegrationMode(CliOptions opt) @"Explorer needs to be restarted to complete the process. Your taskbar will briefly disappear for a few seconds. Witchy will try to restore any open Explorer windows."); var choice = output.Confirm("Proceed with restarting the Explorer process?").Run(); - if (choice.Value.IsYesResponseKey()) + if (choice.Content.Value.IsYesResponseKey()) { output.WriteLine("Restarting the Explorer process..."); Shell.RestartExplorer(); @@ -89,6 +91,7 @@ public static void CliShellIntegrationMode(CliOptions opt) public static void UnregisterYabberContext() { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; RegistryKey classes = Registry.CurrentUser.OpenSubKey("Software\\Classes", true); classes.DeleteSubKeyTree("*\\shell\\yabber", false); classes.DeleteSubKeyTree("directory\\shell\\yabber", false); @@ -97,12 +100,14 @@ public static void UnregisterYabberContext() public static void UnregisterContext() { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; Shell.UnregisterComplexContextMenu(); SendTo.DeleteSendToShortcuts(); } public static void RegisterContext() { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; UnregisterContext(); Shell.RegisterComplexContextMenu(); SendTo.AddSendToShortcuts(); diff --git a/WitchyBND/CliModes/ParseMode.cs b/WitchyBND/CliModes/ParseMode.cs index e90ed509..f699a214 100644 --- a/WitchyBND/CliModes/ParseMode.cs +++ b/WitchyBND/CliModes/ParseMode.cs @@ -57,7 +57,7 @@ static ParseMode() new WBXF4(), new WFFXDLSE(), new WFMG(), - new WGPARAM(), + // new WGPARAM(), new WLUAGNL(), new WLUAINFO(), new WTPF(), @@ -73,6 +73,7 @@ static ParseMode() new WTAEFolder(), new WTAEFile(), new WMSBEFolder(), + new WAIP(), new WDCX(false) }; } @@ -81,7 +82,7 @@ internal static void CliParseMode(CliOptions opt) { var paths = opt.Paths.ToList(); - paths = WBUtil.ProcessPathGlobs(paths).ToList(); + paths = OSPath.ProcessPathGlobs(paths).ToList(); ParseFiles(paths, false); } @@ -197,7 +198,7 @@ public static void PrintParseSuccess(string path, bool parsed, bool error, bool case true: if (Configuration.Active.Parallel) { - string fileName = Path.GetFileName(path); + string fileName = OSPath.GetFileName(path); if (recursive) output.WriteLine($"Successfully parsed {fileName.PromptPlusEscape()} (recursive)."); else @@ -218,7 +219,7 @@ public static void PrintParseSuccess(string path, bool parsed, bool error, bool public static void Unpack(string path, ISoulsFile? file, DCX.CompressionInfo compression, WFileParser? parser, bool recursive) { - string fileName = Path.GetFileName(path); + string fileName = OSPath.GetFileName(path); if (compression.Type > file?.Compression.Type) file.Compression = compression; @@ -245,7 +246,7 @@ public static void Unpack(string path, ISoulsFile? file, DCX.CompressionInfo com public static void Repack(string path, WFileParser parser, bool recursive) { - string fileName = Path.GetFileName(path); + string fileName = OSPath.GetFileName(path); switch (parser.Verb) { diff --git a/WitchyBND/CliModes/WatcherMode.cs b/WitchyBND/CliModes/WatcherMode.cs index 05ee79f8..7b783cb9 100644 --- a/WitchyBND/CliModes/WatcherMode.cs +++ b/WitchyBND/CliModes/WatcherMode.cs @@ -69,7 +69,7 @@ public WatchedFileUnpack(string path, FileSystemWatcher watcher, WFileParser par internal static void CliWatcherMode(CliOptions opt) { var paths = opt.Paths.ToList(); - paths = WBUtil.ProcessPathGlobs(paths); + paths = OSPath.ProcessPathGlobs(paths); WatchFiles(paths); } @@ -93,7 +93,7 @@ public static void WatchFiles(List paths) } } - output.WriteError($"No valid unpacking parser found for {Path.GetFileName(p)}." + output.WriteError($"No valid unpacking parser found for {OSPath.GetFileName(p)}." .PromptPlusEscape()); }); @@ -119,14 +119,14 @@ public static void WatchFiles(List paths) ParseMode.PrintParseSuccess(path, parsed, error, false); var watcher = new FileSystemWatcher(); - watcher.Path = Path.GetDirectoryName(Path.GetFullPath(path))!; - watcher.Filter = Path.GetFileName(path); + watcher.Path = OSPath.GetDirectoryName(OSPath.GetFullPath(path))!; + watcher.Filter = OSPath.GetFileName(path); watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Changed += WatchUnpack; watcher.Deleted += WatchRemoval; watcher.Renamed += WatchRemoval; - string fullPath = Path.Combine(watcher.Path, watcher.Filter); + string fullPath = OSPath.Combine(watcher.Path, watcher.Filter); output.WriteLine($"Watching path \"{fullPath}\" for unpacking...".PromptPlusEscape()); _watchedFiles.TryAdd(fullPath, new WatchedFileUnpack(fullPath, watcher, parser, file)); @@ -143,14 +143,14 @@ public static void WatchFiles(List paths) ParseMode.PrintParseSuccess(path, parsed, error, false); var watcher = new FileSystemWatcher(); - watcher.Path = Path.GetDirectoryName(Path.GetFullPath(path))!; - watcher.Filter = Path.GetFileName(path); + watcher.Path = OSPath.GetDirectoryName(OSPath.GetFullPath(path))!; + watcher.Filter = OSPath.GetFileName(path); watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Changed += WatchRepack; watcher.Deleted += WatchRemoval; watcher.Renamed += WatchRemoval; - string fullPath = Path.Combine(watcher.Path, watcher.Filter); + string fullPath = OSPath.Combine(watcher.Path, watcher.Filter); output.WriteLine($"Watching path \"{fullPath}\" for repacking...".PromptPlusEscape()); _watchedFiles.TryAdd(fullPath, new WatchedFile(fullPath, watcher, parser)); @@ -163,9 +163,9 @@ public static void WatchFiles(List paths) XElement xml = WFileParser.LoadXml(folderParser!.GetFolderXmlPath(path)); XElement? filesEl = xml.Element("files"); if (filesEl == null) continue; - var files = WFolderParser.GetFolderFilePaths(filesEl, path).Select(p => Path.GetFullPath(p)).ToList(); + var files = WFolderParser.GetFolderFilePaths(filesEl, path).Select(p => OSPath.GetFullPath(p)).ToList(); var watcher = new FileSystemWatcher(); - watcher.Path = Path.GetFullPath(path); + watcher.Path = OSPath.GetFullPath(path); watcher.Filter = "*.*"; watcher.IncludeSubdirectories = true; watcher.NotifyFilter = NotifyFilters.LastWrite; @@ -190,7 +190,7 @@ public static void WatchFiles(List paths) private static void WatchRemoval(object sender, FileSystemEventArgs e) { output.WriteLine( - $"Path {Path.GetFileName(e.Name)} was renamed or deleted, aborting watch.".PromptPlusEscape()); + $"Path {OSPath.GetFileName(e.Name)} was renamed or deleted, aborting watch.".PromptPlusEscape()); _watchedFiles[e.FullPath].Watcher.EnableRaisingEvents = false; _watchedFiles.Remove(e.FullPath); } @@ -239,7 +239,7 @@ private static void WatchFolder(object sender, FileSystemEventArgs e) return; file.LastChange = DateTime.Now; // In case of exceptions Thread.Sleep(ProcessDelay); - output.WriteLine($"[{DateTime.Now:T}] Detected change in {e.FullPath.Replace(Path.GetDirectoryName(file.Path) + "\\", "")}." + output.WriteLine($"[{DateTime.Now:T}] Detected change in {e.FullPath.Replace(OSPath.GetDirectoryName(file.Path) + Path.DirectorySeparatorChar, "")}." .PromptPlusEscape()); bool parsed = errorService.Catch(() => { ParseMode.Repack(file.Path, file.Parser, false); diff --git a/WitchyBND/Configuration.cs b/WitchyBND/Configuration.cs index 465b62f8..df8a5278 100644 --- a/WitchyBND/Configuration.cs +++ b/WitchyBND/Configuration.cs @@ -17,7 +17,6 @@ namespace WitchyBND; public interface IStoredConfig { public bool Bnd { get; set; } - public bool Dcx { get; set; } public float ParamDefaultValueThreshold { get; set; } public WPARAM.CellStyle ParamCellStyle { get; set; } @@ -49,6 +48,7 @@ public interface ITempConfig { public bool UnpackOnly { get; set; } public bool RepackOnly { get; set; } + public bool Dcx { get; set; } public bool Passive { get; set; } public bool Silent { get; set; } @@ -64,7 +64,6 @@ public static class Configuration public class StoredConfig : IStoredConfig, IStoredOnlyConfig { public bool Bnd { get; set; } - public bool Dcx { get; set; } public float ParamDefaultValueThreshold { get; set; } public WPARAM.CellStyle ParamCellStyle { get; set; } @@ -122,7 +121,7 @@ public class ActiveConfig : IStoredConfig, ITempConfig public static StoredConfig Default; public static ActiveConfig Active; - public static string AppDataDirectory => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "WitchyBND"); + public static string AppDataDirectory => OSPath.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "WitchyBND"); public static OSPlatform Platform { get; set; } public static bool ParamDefaultValues => Active.ParamDefaultValueThreshold > 0f; @@ -151,7 +150,7 @@ public static void LoadConfiguration() { var builder = new ConfigurationBuilder(); bool breakOut = false; - string userSettingsPath = Path.Combine(AppDataDirectory, "appsettings.user.json"); + string userSettingsPath = OSPath.Combine(AppDataDirectory, "appsettings.user.json"); string defaultSettingsPath = WBUtil.GetExeLocation("appsettings.json"); string debugSettingsPath = WBUtil.GetExeLocation("appsettings.debug.json"); string overrideSettingsPath = WBUtil.GetExeLocation("appsettings.override.json"); @@ -199,14 +198,13 @@ public static void SaveConfiguration() if (IsDebug || IsTest) File.WriteAllText(WBUtil.GetExeLocation("appsettings.debug.json"), newStored); else - File.WriteAllText(Path.Combine(AppDataDirectory, "appsettings.user.json"), newStored); + File.WriteAllText(OSPath.Combine(AppDataDirectory, "appsettings.user.json"), newStored); } public static void ActivateStoredConfiguration(StoredConfig? stored = null) { stored ??= Stored; Active.Bnd = stored.Bnd; - Active.Dcx = stored.Dcx; Active.ParamDefaultValueThreshold = stored.ParamDefaultValueThreshold; Active.ParamCellStyle = stored.ParamCellStyle; Active.Recursive = stored.Recursive; diff --git a/WitchyBND/DeferredFormats.cs b/WitchyBND/DeferredFormats.cs index a31442f6..e3131920 100644 --- a/WitchyBND/DeferredFormats.cs +++ b/WitchyBND/DeferredFormats.cs @@ -17,14 +17,14 @@ public enum DeferFormat [Display(Name = "GFX")] Gfx } -public class DeferArgs(string name, string unpackArgs = "$path", string? repackArgs = null) +public class DeferArgs(string name, string unpackArgs, string? repackArgs) { public string Name { get; private set; } = name; public string UnpackArgs { get; private set; } = unpackArgs; public string? RepackArgs { get; private set; } = repackArgs; } -public class DeferConfig(string name, string path, string unpackArgs = "$path", string? repackArgs = null) : DeferArgs(name, unpackArgs, repackArgs) +public class DeferConfig(string name, string path, string unpackArgs, string? repackArgs) : DeferArgs(name, unpackArgs, repackArgs) { public string Path { get; private set; } = path; } @@ -91,9 +91,9 @@ static DeferredFormatHandling() public static string BuildArgs(string args, string srcPath) { - var dirname = Path.GetDirectoryName(srcPath); - var filename = WBUtil.GetFileNameWithoutAnyExtensions(srcPath); - var fileext = WBUtil.GetFullExtensions(srcPath); + var dirname = OSPath.GetDirectoryName(srcPath); + var filename = OSPath.GetFileNameWithoutAnyExtensions(srcPath); + var fileext = OSPath.GetFullExtensions(srcPath); return args .Replace("$dirname", dirname) .Replace("$filename", filename) @@ -107,7 +107,7 @@ public static void Unpack(DeferFormat format, string srcPath) output.WriteLine($"Running deferred tool: \"{conf.Path} {args}\""); var process = ProcessHandling.RunProcess(conf.Path, out var text, - out var error, args, Path.GetDirectoryName(srcPath)); + out var error, args, OSPath.GetDirectoryName(srcPath)); output.WriteLine(text); if (process != 0) @@ -124,7 +124,7 @@ public static void Repack(DeferFormat format, string srcPath) output.WriteLine($"Running deferred tool: \"{conf.Path} {args}\""); var process = ProcessHandling.RunProcess(conf.Path, out var text, - out var error, args, Path.GetDirectoryName(srcPath)); + out var error, args, OSPath.GetDirectoryName(srcPath)); output.WriteLine(text); if (process != 0) diff --git a/WitchyBND/Parsers/Binder/Special/WANIBND4.cs b/WitchyBND/Parsers/Binder/Special/WANIBND4.cs index fbfa1aea..3b311df4 100644 --- a/WitchyBND/Parsers/Binder/Special/WANIBND4.cs +++ b/WitchyBND/Parsers/Binder/Special/WANIBND4.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Data; using System.IO; using System.Linq; using System.Text.RegularExpressions; @@ -31,9 +32,8 @@ public class WANIBND4 : WBinderParser public override bool Is(string path, byte[]? data, out ISoulsFile? file) { file = null; - path = path.ToLower(); return Configuration.Active.Bnd && - path.Contains(".anibnd") && IsRead(path, data, out file); + path.ToLower().Contains(".anibnd") && IsRead(path, data, out file); } public override bool? IsSimple(string path) @@ -55,7 +55,7 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) var root = ""; if (Binder.HasNames(bnd.Format)) { - root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); + root = BndPath.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); } var xml = PrepareXmlManifest(srcPath, recursive, false, bnd.Compression, out XDocument xDoc, root); @@ -81,11 +81,11 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) void Callback(BinderFile bndFile) { - var ext = Path.GetExtension(bndFile.Name); + var ext = BndPath.GetExtension(bndFile.Name).ToLower(); if (!ProcessedExtensions.Contains(ext) || bndFile.ID >= 7000000 && bndFile.ID <= 7999999 || // BB behaviors - (bndFile.Name.EndsWith(".hkx") && bndFile.Name.ToLower().Contains("skeleton")) || - (bndFile.Name.EndsWith(".tae") && Path.GetFileName(bndFile.Name).StartsWith("c")) + (bndFile.Name.ToLower().EndsWith(".hkx") && bndFile.Name.ToLower().Contains("skeleton")) || + (bndFile.Name.ToLower().EndsWith(".tae") && BndPath.GetFileName(bndFile.Name).ToLower().StartsWith("c")) ) { newFiles.Add(bndFile); @@ -93,11 +93,11 @@ void Callback(BinderFile bndFile) } byte[] bytes = bndFile.Bytes; - var path = WBUtil.UnrootBNDPath(bndFile.Name, root); - path = path.Replace('\\', Path.DirectorySeparatorChar); - var destPath = Path.Combine(destDir, path); - if (!Directory.Exists(Path.GetDirectoryName(destPath))) - Directory.CreateDirectory(Path.GetDirectoryName(destPath)!); + var path = BndPath.Unroot(bndFile.Name, root); + path = path.ToOSPath(); + var destPath = OSPath.Combine(destDir, path); + if (!Directory.Exists(OSPath.GetDirectoryName(destPath))) + Directory.CreateDirectory(OSPath.GetDirectoryName(destPath)!); File.WriteAllBytes(destPath, bytes); resultingPaths.Push(destPath); } @@ -143,7 +143,7 @@ public override void Repack(string srcPath, bool recursive) if (filesElement != null) ReadBinderFiles(bnd, filesElement, srcPath, root, recursive); var pathsToSkip = filesElement != null - ? filesElement.Elements("file").Select(file => Path.Combine(root, file.Element("path")!.Value)).ToList() + ? filesElement.Elements("file").Select(file => BndPath.Combine(root, file.Element("path")!.Value)).ToList() : new List(); ConcurrentBag fileBag = new(); @@ -151,11 +151,10 @@ public override void Repack(string srcPath, bool recursive) void FileCallback(string ext, string filePath) { var pathDir = filePath.Substring(srcPath.Length + 1); - var binderPath = Path.Combine(root, pathDir); - if (pathsToSkip.Contains(binderPath)) return; + var binderPath = BndPath.Combine(root, pathDir.ToBndPath()); RecursiveRepackFile(filePath, recursive); - string fileName = Path.GetFileNameWithoutExtension(filePath); + string fileName = OSPath.GetFileNameWithoutExtension(filePath); var regex = Regex.Match(pathDir.ToLower(), "c[1-9][0-9][0-9][0-9]"); bool isEnemy = regex.Success; bool isPlayer = pathDir.ToLower().Contains("c0000"); @@ -240,12 +239,27 @@ void FileCallback(string ext, string filePath) void ExtensionCallback(string ext) { + var files = Directory.EnumerateFiles(srcPath, "*", SearchOption.AllDirectories).Where(f => OSPath.GetExtension(f).ToLower() == ext).ToList(); + files = files.Where(filePath => { + var pathDir = filePath.Substring(srcPath.Length + 1); + var binderPath = BndPath.Combine(root, pathDir.ToBndPath()); + return !pathsToSkip.Contains(binderPath); + }).ToList(); + var dupes = files.GroupBy(f => OSPath.GetFileName(f).ToLower()).Where(g => g.Count() > 1).ToList(); + if (dupes.Any()) + { + throw new DuplicateNameException(@$"Found the following duplicate files across different folders: + +{String.Join("\n", dupes.SelectMany(g => g.ToList()).Select(f => $"- {f}"))} + +Please address this issue before trying again."); + } if (Configuration.Active.Parallel) - Parallel.ForEach(Directory.EnumerateFiles(srcPath, $"*{ext}", SearchOption.AllDirectories), + Parallel.ForEach(files, filePath => FileCallback(ext, filePath)); else { - foreach (string filePath in Directory.EnumerateFiles(srcPath, $"*{ext}", SearchOption.AllDirectories)) + foreach (string filePath in files) { FileCallback(ext, filePath); } diff --git a/WitchyBND/Parsers/Binder/Special/WBND4Unsorted.cs b/WitchyBND/Parsers/Binder/Special/WBND4Unsorted.cs index 6942331d..d8b4439c 100644 --- a/WitchyBND/Parsers/Binder/Special/WBND4Unsorted.cs +++ b/WitchyBND/Parsers/Binder/Special/WBND4Unsorted.cs @@ -29,7 +29,7 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) var root = ""; if (Binder.HasNames(bnd.Format)) { - root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); + root = BndPath.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); } WriteBinderFiles(bnd, destDir, root); diff --git a/WitchyBND/Parsers/Binder/Special/WFFXBNDModern.cs b/WitchyBND/Parsers/Binder/Special/WFFXBNDModern.cs index d0e143c5..d6039e60 100644 --- a/WitchyBND/Parsers/Binder/Special/WFFXBNDModern.cs +++ b/WitchyBND/Parsers/Binder/Special/WFFXBNDModern.cs @@ -22,14 +22,13 @@ public class WFFXBNDModern : WBinderParser public override bool Is(string path, byte[]? data, out ISoulsFile? file) { file = null; - path = path.ToLower(); return Configuration.Active.Bnd && - path.Contains(".ffxbnd") && IsRead(path, data, out file); + path.ToLower().Contains(".ffxbnd") && IsRead(path, data, out file); } public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".ffxbnd") || filename.EndsWith(".ffxbnd.dcx"); } @@ -69,34 +68,40 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) var rootPath = rootFile.Name.Substring(0, rootFile.Name.IndexOf("\\sfx\\", StringComparison.Ordinal) + 5); xml.Add(new XElement("root", rootPath)); - var firstEffect = bnd.Files.FirstOrDefault(f => f.Name.EndsWith(".fxr")); + var firstEffect = bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith(".fxr")); var effectDir = firstEffect != null - ? new DirectoryInfo(Path.GetDirectoryName(firstEffect.Name)!).Name + ? BndPath.GetFileName(BndPath.GetDirectoryName(firstEffect.Name)) : "effect"; if (firstEffect != null) xml.Add(new XElement("effectDir", effectDir)); - var effectTargetDir = Path.Combine(destDir, effectDir); + var effectTargetDir = OSPath.Combine(destDir, effectDir.ToOSPath()); - var firstTexture = bnd.Files.FirstOrDefault(f => f.Name.EndsWith(".tpf")); + var firstTexture = bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith(".tpf")); var textureDir = firstTexture != null - ? new DirectoryInfo(Path.GetDirectoryName(firstTexture.Name)!).Name + ? BndPath.GetFileName(BndPath.GetDirectoryName(firstTexture.Name)) : "texture"; if (firstTexture != null) xml.Add(new XElement("textureDir", textureDir)); - var textureTargetDir = Path.Combine(destDir, textureDir); + var textureTargetDir = OSPath.Combine(destDir, textureDir.ToOSPath()); - var firstModel = bnd.Files.FirstOrDefault(f => f.Name.EndsWith(".flver")); - var modelDir = firstModel != null ? new DirectoryInfo(Path.GetDirectoryName(firstModel.Name)!).Name : "model"; + var firstModel = bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith(".flver")); + var modelDir = firstModel != null ? + BndPath.GetFileName(BndPath.GetDirectoryName(firstModel.Name)) + : "model"; if (firstModel != null) xml.Add(new XElement("modelDir", modelDir)); - var modelTargetDir = Path.Combine(destDir, modelDir); + var modelTargetDir = OSPath.Combine(destDir, modelDir.ToOSPath()); - var firstAnim = bnd.Files.FirstOrDefault(f => f.Name.EndsWith(".anibnd")); - var animDir = firstAnim != null ? new DirectoryInfo(Path.GetDirectoryName(firstAnim.Name)!).Name : "animation"; + var firstAnim = bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith(".anibnd")); + var animDir = firstAnim != null + ? BndPath.GetFileName(BndPath.GetDirectoryName(firstAnim.Name)) + : "animation"; if (firstAnim != null) xml.Add(new XElement("animDir", animDir)); - var animTargetDir = Path.Combine(destDir, animDir); + var animTargetDir = OSPath.Combine(destDir, animDir.ToOSPath()); - var firstRes = bnd.Files.FirstOrDefault(f => f.Name.EndsWith(".ffxreslist")); - var resDir = firstRes != null ? new DirectoryInfo(Path.GetDirectoryName(firstRes.Name)!).Name : "resource"; + var firstRes = bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith(".ffxreslist")); + var resDir = firstRes != null + ? BndPath.GetFileName(BndPath.GetDirectoryName(firstRes.Name)) + : "resource"; if (firstRes != null) xml.Add(new XElement("resDir", resDir)); - var resTargetDir = Path.Combine(destDir, resDir); + var resTargetDir = OSPath.Combine(destDir, resDir.ToOSPath()); if (firstTexture != null) { @@ -110,8 +115,8 @@ void Callback(BinderFile bndFile) { byte[] bytes = bndFile.Bytes; string fileTargetDir; - string fileTargetName = Path.GetFileName(bndFile.Name); - switch (Path.GetExtension(bndFile.Name)) + string fileTargetName = BndPath.GetFileName(bndFile.Name); + switch (BndPath.GetExtension(fileTargetName)) { case ".fxr": fileTargetDir = effectTargetDir; @@ -119,7 +124,7 @@ void Callback(BinderFile bndFile) case ".tpf": var tpf = TPF.Read(bytes); bytes = tpf.Textures[0].Headerize(); - fileTargetName = $"{Path.GetFileName(tpf.Textures[0].Name)}.dds"; + fileTargetName = $"{BndPath.GetFileName(tpf.Textures[0].Name)}.dds"; fileTargetDir = textureTargetDir; break; case ".flver": @@ -132,13 +137,13 @@ void Callback(BinderFile bndFile) fileTargetDir = resTargetDir; break; default: - fileTargetDir = Path.Combine(destDir, "other"); + fileTargetDir = OSPath.Combine(destDir, "other"); break; } if (!Directory.Exists(fileTargetDir)) Directory.CreateDirectory(fileTargetDir); - File.WriteAllBytes(Path.Combine(fileTargetDir, fileTargetName), bytes); + File.WriteAllBytes(OSPath.Combine(fileTargetDir, fileTargetName.ToOSPath()), bytes); } if (Configuration.Active.Parallel) @@ -171,20 +176,20 @@ public override void Repack(string srcPath, bool recursive) XElement? resDirElement = xml.Element("resDir"); List effectPaths = Directory.GetFiles(srcPath, "*.fxr", SearchOption.AllDirectories) - .OrderBy(Path.GetFileName).ToList(); + .OrderBy(OSPath.GetFileName).ToList(); List texturePaths = Directory.GetFiles(srcPath, "*.dds", SearchOption.AllDirectories) - .OrderBy(Path.GetFileName).ToList(); + .OrderBy(OSPath.GetFileName).ToList(); List modelPaths = Directory.GetFiles(srcPath, "*.flver", SearchOption.AllDirectories) - .OrderBy(Path.GetFileName).ToList(); + .OrderBy(OSPath.GetFileName).ToList(); List animPaths = Directory.GetFiles(srcPath, "*.anibnd", SearchOption.AllDirectories) - .OrderBy(Path.GetFileName).ToList(); + .OrderBy(OSPath.GetFileName).ToList(); List resPaths = Directory.GetFiles(srcPath, "*.ffxreslist", SearchOption.AllDirectories) - .OrderBy(Path.GetFileName).ToList(); + .OrderBy(OSPath.GetFileName).ToList(); // Sanity check duplicate file names bool duplicateCallback(List files) { - var duplicates = files.GroupBy(f => Path.GetFileName(f)).Where(g => g.Count() > 1).ToList(); + var duplicates = files.GroupBy(f => OSPath.GetFileName(f).ToLower()).Where(g => g.Count() > 1).ToList(); if (duplicates.Any()) { var duplicateNames = duplicates.SelectMany(f => f).Select(f => $"- {f.Substring(srcPath.Length)}").ToList(); @@ -210,8 +215,8 @@ bool duplicateCallback(List files) { if (effectPaths.Count > 0) { - var effectNames = new SortedSet(effectPaths.Select(p => Path.GetFileNameWithoutExtension(p))); - var resNames = new SortedSet(resPaths.Select(p => Path.GetFileNameWithoutExtension(p))); + var effectNames = new SortedSet(effectPaths.Select(p => OSPath.GetFileNameWithoutExtension(p))); + var resNames = new SortedSet(resPaths.Select(p => OSPath.GetFileNameWithoutExtension(p))); if (!effectNames.SetEquals(resNames)) { missingReslists = effectNames.Except(resNames).ToList(); @@ -247,7 +252,7 @@ void effectCallback() if (!effectPaths.Any()) return; string dir = xml.Element("effectDir")?.Value ?? ""; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(effectPaths, inEffectCallback); @@ -260,10 +265,10 @@ void inEffectCallback(string path) var i = effectPaths!.IndexOf(path); var filePath = effectPaths[i]; - var fileName = Path.GetFileName(filePath); + var fileName = OSPath.GetFileName(filePath); RecursiveRepackFile(filePath, recursive, effectParser); var bytes = File.ReadAllBytes(filePath); - var file = new BinderFile(Binder.FileFlags.Flag1, i, Path.Combine(basePath, fileName), + var file = new BinderFile(Binder.FileFlags.Flag1, i, BndPath.Combine(basePath, fileName), bytes); bag.Add(file); } @@ -274,7 +279,7 @@ void textureCallback() if (!texturePaths.Any()) return; string dir = xml.Element("textureDir")?.Value ?? ""; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(texturePaths, inTextureCallback); @@ -287,7 +292,7 @@ void inTextureCallback(string path) var i = texturePaths!.IndexOf(path); var filePath = texturePaths[i]; - var fileName = Path.GetFileName(filePath); + var fileName = OSPath.GetFileName(filePath); var bytes = File.ReadAllBytes(filePath); var tpf = new TPF(); @@ -296,26 +301,25 @@ void inTextureCallback(string path) tpf.Flag2 = 0x03; tpf.Platform = platform; - var tex = new TPF.Texture(); - tex.Name = Path.GetFileNameWithoutExtension(fileName).Trim(); - tex.Format = 0; - if (fileName.ToLower().EndsWith("_m")) + string texName = OSPath.GetFileNameWithoutExtension(fileName).Trim(); + byte texFormat = 0; + if (fileName.ToLower().EndsWith("_m") || fileName.ToLower().EndsWith("_r")) { - tex.Format = 103; + texFormat = 103; } else if (fileName.ToLower().EndsWith("_n")) { - tex.Format = 106; + texFormat = 106; } - tex.Bytes = bytes; + var tex = new TPF.Texture(texName, texFormat, 0x0, bytes, platform); tpf.Textures.Add(tex); bytes = tpf.Write(); var file = new BinderFile(Binder.FileFlags.Flag1, 100000 + i, - Path.Combine(basePath, Path.ChangeExtension(fileName, "tpf")), + BndPath.Combine(basePath, BndPath.ChangeExtension(fileName, "tpf")), bytes); bag.Add(file); } @@ -326,7 +330,7 @@ void modelCallback() if (!modelPaths.Any()) return; string dir = xml.Element("modelDir")?.Value ?? ""; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(modelPaths, inModelCallback); @@ -339,9 +343,9 @@ void inModelCallback(string path) var i = modelPaths!.IndexOf(path); var filePath = modelPaths[i]; - var fileName = Path.GetFileName(filePath); + var fileName = OSPath.GetFileName(filePath); var bytes = File.ReadAllBytes(filePath); - var file = new BinderFile(Binder.FileFlags.Flag1, 200000 + i, Path.Combine(basePath, fileName), + var file = new BinderFile(Binder.FileFlags.Flag1, 200000 + i, BndPath.Combine(basePath, fileName), bytes); bag.Add(file); } @@ -352,7 +356,7 @@ void animCallback() if (!animPaths.Any()) return; string dir = xml.Element("animDir")?.Value ?? ""; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(animPaths, inAnimCallback); @@ -365,9 +369,9 @@ void inAnimCallback(string path) var i = animPaths!.IndexOf(path); var filePath = animPaths[i]; - var fileName = Path.GetFileName(filePath); + var fileName = OSPath.GetFileName(filePath); var bytes = File.ReadAllBytes(filePath); - var file = new BinderFile(Binder.FileFlags.Flag1, 300000 + i, Path.Combine(basePath, fileName), + var file = new BinderFile(Binder.FileFlags.Flag1, 300000 + i, BndPath.Combine(basePath, fileName), bytes); bag.Add(file); } @@ -378,7 +382,7 @@ void resCallback() if (!resPaths.Any()) return; string dir = xml.Element("resDir")?.Value ?? "ResourceList"; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(resPaths, inResCallback); @@ -388,7 +392,7 @@ void resCallback() void inResCallback(string path) { - var name = Path.GetFileNameWithoutExtension(path); + var name = OSPath.GetFileNameWithoutExtension(path); var i = effectPaths.IndexOf(effectPaths.FirstOrDefault(a => a.Contains(name))); if (i == -1) { @@ -396,9 +400,9 @@ void inResCallback(string path) return; } - var fileName = Path.GetFileName(path); + var fileName = OSPath.GetFileName(path); var bytes = File.ReadAllBytes(path); - var file = new BinderFile(Binder.FileFlags.Flag1, 400000 + i, Path.Combine(basePath, fileName), + var file = new BinderFile(Binder.FileFlags.Flag1, 400000 + i, BndPath.Combine(basePath, fileName), bytes); bag.Add(file); } @@ -409,7 +413,7 @@ void missingResCallback() if (resDirElement == null || !missingReslists.Any()) return; string dir = resDirElement.Value; - string basePath = Path.Combine(rootPath, dir); + string basePath = BndPath.Combine(rootPath, dir); if (Configuration.Active.Parallel) Parallel.ForEach(missingReslists, inMissingResCallback); @@ -422,7 +426,7 @@ void inMissingResCallback(string effectName) var fileName = $"{effectName}.ffxreslist"; var effect = effectPaths.First(f => f.ToLower().EndsWith($"{effectName.ToLower()}.fxr")); var file = new BinderFile(Binder.FileFlags.Flag1, 400000 + effectPaths.IndexOf(effect), - Path.Combine(basePath, fileName), "\n"u8.ToArray()); + BndPath.Combine(basePath, fileName), "\n"u8.ToArray()); bag.Add(file); } } diff --git a/WitchyBND/Parsers/Binder/WBND3.cs b/WitchyBND/Parsers/Binder/WBND3.cs index cbf8d87d..a3b037e1 100644 --- a/WitchyBND/Parsers/Binder/WBND3.cs +++ b/WitchyBND/Parsers/Binder/WBND3.cs @@ -36,7 +36,7 @@ public void Unpack(string srcPath, ISoulsFile? file, bool recursive, WBUtil.Game var root = ""; if (Binder.HasNames(bnd.Format)) { - root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); + root = BndPath.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); } XElement files = WriteBinderFiles(bnd, destDir, root); diff --git a/WitchyBND/Parsers/Binder/WBND4.cs b/WitchyBND/Parsers/Binder/WBND4.cs index 6e488c16..a3d1ae42 100644 --- a/WitchyBND/Parsers/Binder/WBND4.cs +++ b/WitchyBND/Parsers/Binder/WBND4.cs @@ -35,7 +35,7 @@ public void Unpack(string srcPath, ISoulsFile? file, bool recursive, WBUtil.Game var root = ""; if (Binder.HasNames(bnd.Format)) { - root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); + root = BndPath.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); } XElement files = WriteBinderFiles(bnd, destDir, root); diff --git a/WitchyBND/Parsers/Binder/WBXF3.cs b/WitchyBND/Parsers/Binder/WBXF3.cs index 81c8020b..b99e1a69 100644 --- a/WitchyBND/Parsers/Binder/WBXF3.cs +++ b/WitchyBND/Parsers/Binder/WBXF3.cs @@ -28,27 +28,27 @@ public override void Unpack(string srcPath, ISoulsFile? _, bool recursive) string bdtName; string bhdPath; string bhdName; - string srcDirPath = Path.GetDirectoryName(srcPath); - string nameWithoutExt = Path.GetFileNameWithoutExtension(srcPath); + string srcDirPath = OSPath.GetDirectoryName(srcPath)!; + string nameWithoutExt = OSPath.GetFileNameWithoutExtension(srcPath); string destDir = GetUnpackDestPath(srcPath, recursive); if (BXF3.IsHeader(srcPath)) { bhdPath = srcPath; - bhdName = Path.GetFileName(srcPath); + bhdName = OSPath.GetFileName(srcPath); - string bdtExtension = Path.GetExtension(srcPath).Replace("bhd", "bdt"); + string bdtExtension = OSPath.GetExtension(srcPath).Replace("bhd", "bdt"); bdtName = $"{nameWithoutExt}{bdtExtension}"; - bdtPath = Path.Combine(srcDirPath, bdtName); + bdtPath = OSPath.Combine(srcDirPath, bdtName); } else { bdtPath = srcPath; - bdtName = Path.GetFileName(srcPath); + bdtName = OSPath.GetFileName(srcPath); - string bhdExtension = Path.GetExtension(srcPath).Replace("bdt", "bhd"); + string bhdExtension = OSPath.GetExtension(srcPath).Replace("bdt", "bhd"); bhdName = $"{nameWithoutExt}{bhdExtension}"; - bhdPath = Path.Combine(srcDirPath, bhdName); + bhdPath = OSPath.Combine(srcDirPath, bhdName); } var bxf = BXF3.Read(bhdPath, bdtPath); @@ -57,7 +57,7 @@ public override void Unpack(string srcPath, ISoulsFile? _, bool recursive) var root = ""; if (Binder.HasNames(bxf.Format)) { - root = WBUtil.FindCommonBndRootPath(bxf.Files.Select(bxfFile => bxfFile.Name)); + root = BndPath.FindCommonBndRootPath(bxf.Files.Select(bxfFile => bxfFile.Name)); } XElement files = WriteBinderFiles(bxf, destDir, root); diff --git a/WitchyBND/Parsers/Binder/WBXF4.cs b/WitchyBND/Parsers/Binder/WBXF4.cs index 32b48185..d6c323fc 100644 --- a/WitchyBND/Parsers/Binder/WBXF4.cs +++ b/WitchyBND/Parsers/Binder/WBXF4.cs @@ -28,27 +28,27 @@ public override void Unpack(string srcPath, ISoulsFile? _, bool recursive) string bdtName; string bhdPath; string bhdName; - string srcDirPath = Path.GetDirectoryName(srcPath); - string nameWithoutExt = Path.GetFileNameWithoutExtension(srcPath); + string srcDirPath = OSPath.GetDirectoryName(srcPath)!; + string nameWithoutExt = OSPath.GetFileNameWithoutExtension(srcPath); string destDir = GetUnpackDestPath(srcPath, recursive); if (BXF4.IsHeader(srcPath)) { bhdPath = srcPath; - bhdName = Path.GetFileName(srcPath); + bhdName = OSPath.GetFileName(srcPath); - string bdtExtension = Path.GetExtension(srcPath).Replace("bhd", "bdt"); + string bdtExtension = OSPath.GetExtension(srcPath).Replace("bhd", "bdt"); bdtName = $"{nameWithoutExt}{bdtExtension}"; - bdtPath = Path.Combine(srcDirPath, bdtName); + bdtPath = OSPath.Combine(srcDirPath, bdtName); } else { bdtPath = srcPath; - bdtName = Path.GetFileName(srcPath); + bdtName = OSPath.GetFileName(srcPath); - string bhdExtension = Path.GetExtension(srcPath).Replace("bdt", "bhd"); + string bhdExtension = OSPath.GetExtension(srcPath).Replace("bdt", "bhd"); bhdName = $"{nameWithoutExt}{bhdExtension}"; - bhdPath = Path.Combine(srcDirPath, bhdName); + bhdPath = OSPath.Combine(srcDirPath, bhdName); } var bxf = BXF4.Read(bhdPath, bdtPath); @@ -57,7 +57,7 @@ public override void Unpack(string srcPath, ISoulsFile? _, bool recursive) var root = ""; if (Binder.HasNames(bxf.Format)) { - root = WBUtil.FindCommonBndRootPath(bxf.Files.Select(bxfFile => bxfFile.Name)); + root = BndPath.FindCommonBndRootPath(bxf.Files.Select(bxfFile => bxfFile.Name)); } XElement files = WriteBinderFiles(bxf, destDir, root); diff --git a/WitchyBND/Parsers/Binder/WPARAMBND3.cs b/WitchyBND/Parsers/Binder/WPARAMBND3.cs index bf33c21b..8dbc2e5d 100644 --- a/WitchyBND/Parsers/Binder/WPARAMBND3.cs +++ b/WitchyBND/Parsers/Binder/WPARAMBND3.cs @@ -1,7 +1,6 @@ using System.IO; using System.Linq; using System.Xml.Linq; -using PPlus; using SoulsFormats; using WitchyBND.CliModes; using WitchyLib; @@ -17,27 +16,27 @@ public class WPARAMBND3 : WBinderParser private static bool IsPTDEParamBND(BND3 bnd) { - return bnd.Files.FirstOrDefault(f => f.Name.ToLower().Contains("default_aistandardinfobank.param"), null) != null; + return bnd.Files.FirstOrDefault(f => f?.Name.ToLower().Contains("default_aistandardinfobank.param") ?? false, null) != null; } private static bool IsDSRParamBND(BND3 bnd) { - return IsPTDEParamBND(bnd) && bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith("levelsyncparam.param"), null) != null; + return IsPTDEParamBND(bnd) && bnd.Files.FirstOrDefault(f => f?.Name.ToLower().EndsWith("levelsyncparam.param") ?? false, null) != null; } private static bool IsAC4Regulation(BND3 bnd) { - return bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith("comment_uk.fmg"), null) != null; + return bnd.Files.FirstOrDefault(f => f?.Name.ToLower().EndsWith("comment_uk.fmg") ?? false, null) != null; } private static bool IsACFARegulation(BND3 bnd) { - return bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith("comment_es.fmg"), null) != null; + return bnd.Files.FirstOrDefault(f => f?.Name.ToLower().EndsWith("comment_es.fmg") ?? false, null) != null; } private static bool IsACFABoot(BND3 bnd) { - return bnd.Files.FirstOrDefault(f => f.Name.ToLower().EndsWith("ac45_allsound.mgs"), null) != null; + return bnd.Files.FirstOrDefault(f => f?.Name.ToLower().EndsWith("ac45_allsound.mgs") ?? false, null) != null; } public override bool Is(string path, byte[]? data, out ISoulsFile? file) @@ -64,7 +63,7 @@ public override bool IsUnpacked(string path) { if (!Directory.Exists(path)) return false; - string xmlPath = Path.Combine(path, GetFolderXmlFilename("bnd3")); + string xmlPath = OSPath.Combine(path, GetFolderXmlFilename("bnd3")); if (!File.Exists(xmlPath)) return false; var doc = XDocument.Load(xmlPath); @@ -84,7 +83,7 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) else if (IsACFARegulation(bnd) || IsACFABoot(bnd)) game = WBUtil.GameType.ACFA; else - throw new InvalidDataException($"Could not determine param type for {Path.GetFileName(srcPath)}."); + throw new InvalidDataException($"Could not determine param type for {OSPath.GetFileName(srcPath)}."); ParseMode.GetParser().Unpack(srcPath, file, recursive, game); } diff --git a/WitchyBND/Parsers/Binder/WPARAMBND4.cs b/WitchyBND/Parsers/Binder/WPARAMBND4.cs index a56e4cf5..dc526979 100644 --- a/WitchyBND/Parsers/Binder/WPARAMBND4.cs +++ b/WitchyBND/Parsers/Binder/WPARAMBND4.cs @@ -2,9 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Threading.Tasks; using System.Xml; using System.Xml.Linq; -using PPlus; +using PromptPlusLibrary; using SoulsFormats; using SoulsFormats.Cryptography; using WitchyBND.CliModes; @@ -28,19 +29,19 @@ private static bool FilenameIsDS2Regulation(string path) private static bool FilenameIsDS2SRegulation(string path) { - var filename = Path.GetFileName(path).ToLower(); + var filename = OSPath.GetFileName(path).ToLower(); return filename.Contains("enc_regulation") && (filename.EndsWith(".bnd.dcx") || filename.EndsWith(".bnd")); } private static bool FilenameIsDS3Regulation(string path) { - var filename = Path.GetFileName(path).ToLower(); + var filename = OSPath.GetFileName(path).ToLower(); return filename.StartsWith("data0") && filename.EndsWith(".bdt"); } private static bool FilenameIsModernRegulation(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.Contains("regulation") && filename.EndsWith(".bin"); } @@ -113,7 +114,7 @@ public override bool IsUnpacked(string path) { if (!Directory.Exists(path)) return false; - string xmlPath = Path.Combine(path, GetFolderXmlFilename("bnd4")); + string xmlPath = OSPath.Combine(path, GetFolderXmlFilename("bnd4")); if (!File.Exists(xmlPath)) return false; var doc = XDocument.Load(xmlPath); @@ -183,21 +184,33 @@ public override void Repack(string srcPath, bool recursive) var filePaths = files.Select(file => { var path = file.Element("path"); if (path == null) throw new XmlException($"File element {files.ToList().IndexOf(file)} has no path."); - return path.Value; + return path.Value.ToOSPath(); }); - foreach (string filePath in filePaths) - { + var sanityCheckCallback = (string filePath) => { + try { - paramParser.Unpack(Path.Combine(srcPath, filePath), null, recursive, true, (game, regVer)); + paramParser.Unpack(OSPath.Combine(srcPath, filePath), null, false, true, (game, regVer)); } catch (Exception e) when (!Configuration.IsDebug) { throw new MalformedBinderException( - @$"The regulation binder is malformed: {Path.GetFileNameWithoutExtension(filePath)} has thrown an exception during read.", + @$"The regulation binder is malformed: {OSPath.GetFileNameWithoutExtension(filePath)} has thrown an exception during read.", e); } + }; + + if (Configuration.Active.Parallel) + { + Parallel.ForEach(filePaths, sanityCheckCallback); + } + else + { + foreach (var filePath in filePaths) + { + sanityCheckCallback(filePath); + } } } @@ -211,7 +224,7 @@ public override void Repack(string srcPath, bool recursive) "DS2 files cannot be re-encrypted, yet, so re-packing this folder might ruin your encrypted bnd."); var confirm = output.Confirm("Proceed to repack BND (without encryption)?") .Run(); - if (confirm.IsAborted || confirm.Value.IsNoResponseKey()) + if (confirm.IsAborted || confirm.Content.Value.IsNoResponseKey()) { return; } diff --git a/WitchyBND/Parsers/Binder/WTPF.cs b/WitchyBND/Parsers/Binder/WTPF.cs index 83f3f007..234db72b 100644 --- a/WitchyBND/Parsers/Binder/WTPF.cs +++ b/WitchyBND/Parsers/Binder/WTPF.cs @@ -39,7 +39,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".tpf") || filename.EndsWith(".tpf.dcx"); } @@ -81,7 +81,7 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) texElement.Add(floatStruct); } - File.WriteAllBytes(Path.Combine(destDir, $"{WBUtil.SanitizeFilename(texture.Name)}.dds"), texture.Headerize()); + File.WriteAllBytes(OSPath.Combine(destDir, $"{OSPath.SanitizeFilename(texture.Name.ToOSPath())}.dds"), texture.Headerize()); textures.Add(texElement); } @@ -122,8 +122,8 @@ public override void Repack(string srcPath, bool recursive) foreach (XElement texNode in xml.Element("textures")!.Elements("texture")) { - string inName = Path.GetFileNameWithoutExtension(texNode.GetSanitizedBinderFilePath("name")); - string outName = Path.GetFileNameWithoutExtension(texNode.GetSanitizedBinderFilePath("name", true)); + string inName = BndPath.GetFileNameWithoutExtension(texNode.GetSanitizedBinderFilePath("name")); + string outName = BndPath.GetFileNameWithoutExtension(texNode.GetSanitizedBinderFilePath("name", true)); byte format = Convert.ToByte(texNode.Element("format")!.Value); byte flags1 = Convert.ToByte(texNode.Element("flags1")!.Value, 16); @@ -137,7 +137,7 @@ public override void Repack(string srcPath, bool recursive) floatStruct.Values.Add(float.Parse(valueNode.Value)); } - byte[] bytes = File.ReadAllBytes(Path.Combine(srcPath, $"{outName}.dds")); + byte[] bytes = File.ReadAllBytes(OSPath.Combine(srcPath, $"{outName}.dds")); var texture = new TPF.Texture(inName, format, flags1, bytes, platform); if (platform == TPF.TPFPlatform.PS4) { diff --git a/WitchyBND/Parsers/Binder/WZERO3.cs b/WitchyBND/Parsers/Binder/WZERO3.cs index 7b0d3157..a2f97555 100644 --- a/WitchyBND/Parsers/Binder/WZERO3.cs +++ b/WitchyBND/Parsers/Binder/WZERO3.cs @@ -2,6 +2,7 @@ using System.IO; using SoulsFormats; using SoulsFormats.Other; +using WitchyLib; namespace WitchyBND.Parsers; @@ -12,7 +13,7 @@ public class WZERO3 : WFolderParser public override bool Is(string path, byte[]? _, out ISoulsFile? file) { file = null; - return Path.GetExtension(path) == ".000"; + return OSPath.GetExtension(path) == ".000"; } public override bool? IsSimple(string path) @@ -31,8 +32,8 @@ public override void Unpack(string srcPath, ISoulsFile? _, bool recursive) var targetDir = GetUnpackDestPath(srcPath, recursive); foreach (Zero3.File file in z3.Files) { - string outPath = $@"{targetDir}{Path.DirectorySeparatorChar}{file.Name.Replace('/', Path.DirectorySeparatorChar)}"; - Directory.CreateDirectory(Path.GetDirectoryName(outPath)); + string outPath = OSPath.Combine(targetDir, file.Name.ToOSPath()); + Directory.CreateDirectory(OSPath.GetDirectoryName(outPath)!); File.WriteAllBytes(outPath, file.Bytes); } } diff --git a/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Repack.cs b/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Repack.cs index 0fb57b2c..bf9db13f 100644 --- a/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Repack.cs +++ b/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Repack.cs @@ -94,7 +94,7 @@ public override void Repack(string srcPath, bool recursive) private MSBE.Event RepackEvent(string srcPath, string type, string fileName) { - var filePath = Path.Combine(srcPath, "Event", type, $"{fileName}.xml"); + var filePath = OSPath.Combine(srcPath, "Event", type, $"{fileName}.xml"); switch (type) { case "Generator": @@ -128,7 +128,7 @@ private MSBE.Event RepackEvent(string srcPath, string type, string fileName) private MSBE.Region RepackRegion(string srcPath, string type, string fileName) { - var filePath = Path.Combine(srcPath, "Region", type, $"{fileName}.xml"); + var filePath = OSPath.Combine(srcPath, "Region", type, $"{fileName}.xml"); switch (type) { @@ -219,7 +219,7 @@ private MSBE.Region RepackRegion(string srcPath, string type, string fileName) private MSBE.Model RepackModel(string srcPath, string type, string fileName) { - var filePath = Path.Combine(srcPath, "Model", type, $"{fileName}.xml"); + var filePath = OSPath.Combine(srcPath, "Model", type, $"{fileName}.xml"); switch (type) { @@ -241,7 +241,7 @@ private MSBE.Model RepackModel(string srcPath, string type, string fileName) private MSBE.Part RepackPart(string srcPath, string type, string fileName) { - var filePath = Path.Combine(srcPath, "Part", type, $"{fileName}.xml"); + var filePath = OSPath.Combine(srcPath, "Part", type, $"{fileName}.xml"); switch (type) { @@ -270,7 +270,7 @@ private MSBE.Part RepackPart(string srcPath, string type, string fileName) private MSBE.Route RepackRoute(string srcPath, string type, string fileName) { - var filePath = Path.Combine(srcPath, "Route", type, $"{fileName}.xml"); + var filePath = OSPath.Combine(srcPath, "Route", type, $"{fileName}.xml"); switch (type) { diff --git a/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Unpack.cs b/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Unpack.cs index bca57e83..9e37db73 100644 --- a/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Unpack.cs +++ b/WitchyBND/Parsers/Folder/WMSB/WMSBE.Folder.Unpack.cs @@ -32,21 +32,21 @@ public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) var taskList = new List(); - if (Directory.Exists(Path.Combine(destDir, "Event"))) - Directory.Delete(Path.Combine(destDir, "Event"), true); - Directory.CreateDirectory(Path.Combine(destDir, "Event")); - if (Directory.Exists(Path.Combine(destDir, "Region"))) - Directory.Delete(Path.Combine(destDir, "Region"), true); - Directory.CreateDirectory(Path.Combine(destDir, "Region")); - if (Directory.Exists(Path.Combine(destDir, "Part"))) - Directory.Delete(Path.Combine(destDir, "Part"), true); - Directory.CreateDirectory(Path.Combine(destDir, "Part")); - if (Directory.Exists(Path.Combine(destDir, "Model"))) - Directory.Delete(Path.Combine(destDir, "Model"), true); - Directory.CreateDirectory(Path.Combine(destDir, "Model")); - if (Directory.Exists(Path.Combine(destDir, "Route"))) - Directory.Delete(Path.Combine(destDir, "Route"), true); - Directory.CreateDirectory(Path.Combine(destDir, "Route")); + if (Directory.Exists(OSPath.Combine(destDir, "Event"))) + Directory.Delete(OSPath.Combine(destDir, "Event"), true); + Directory.CreateDirectory(OSPath.Combine(destDir, "Event")); + if (Directory.Exists(OSPath.Combine(destDir, "Region"))) + Directory.Delete(OSPath.Combine(destDir, "Region"), true); + Directory.CreateDirectory(OSPath.Combine(destDir, "Region")); + if (Directory.Exists(OSPath.Combine(destDir, "Part"))) + Directory.Delete(OSPath.Combine(destDir, "Part"), true); + Directory.CreateDirectory(OSPath.Combine(destDir, "Part")); + if (Directory.Exists(OSPath.Combine(destDir, "Model"))) + Directory.Delete(OSPath.Combine(destDir, "Model"), true); + Directory.CreateDirectory(OSPath.Combine(destDir, "Model")); + if (Directory.Exists(OSPath.Combine(destDir, "Route"))) + Directory.Delete(OSPath.Combine(destDir, "Route"), true); + Directory.CreateDirectory(OSPath.Combine(destDir, "Route")); var eventsEl = new XElement("events"); xml.Add(eventsEl); @@ -110,7 +110,7 @@ private void UnpackEntries(XElement parentEl, List entries, string r _ => throw new ArgumentOutOfRangeException(nameof(entry)) }; - string entryDir = Path.Combine(rootDir, entryDirName); + string entryDir = OSPath.Combine(rootDir, entryDirName); var el = new XElement(entryDirName.ToLower()); parentEl.Add(el); @@ -124,368 +124,368 @@ private void UnpackEntries(XElement parentEl, List entries, string r switch (entry) { case MSBE.Event.Generator generator: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, generator.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, generator.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(generator, filePath); el.SetAttributeValue("type", generator.GetType().Name); break; case MSBE.Event.Mount mount: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mount.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mount.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mount, filePath); el.SetAttributeValue("type", mount.GetType().Name); break; case MSBE.Event.Navmesh navmesh: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, navmesh.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, navmesh.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(navmesh, filePath); el.SetAttributeValue("type", navmesh.GetType().Name); break; case MSBE.Event.ObjAct objAct: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, objAct.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, objAct.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(objAct, filePath); el.SetAttributeValue("type", objAct.GetType().Name); break; case MSBE.Event.Other other: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, other.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, other.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(other, filePath); el.SetAttributeValue("type", other.GetType().Name); break; case MSBE.Event.PatrolInfo patrolInfo: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, patrolInfo.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, patrolInfo.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(patrolInfo, filePath); el.SetAttributeValue("type", patrolInfo.GetType().Name); break; case MSBE.Event.PlatoonInfo platoonInfo: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, platoonInfo.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, platoonInfo.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(platoonInfo, filePath); el.SetAttributeValue("type", platoonInfo.GetType().Name); break; case MSBE.Event.PseudoMultiplayer pseudoMultiplayer: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, pseudoMultiplayer.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, pseudoMultiplayer.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(pseudoMultiplayer, filePath); el.SetAttributeValue("type", pseudoMultiplayer.GetType().Name); break; case MSBE.Event.RetryPoint retryPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, retryPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, retryPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(retryPoint, filePath); el.SetAttributeValue("type", retryPoint.GetType().Name); break; case MSBE.Event.SignPool signPool: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, signPool.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, signPool.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(signPool, filePath); el.SetAttributeValue("type", signPool.GetType().Name); break; case MSBE.Event.Treasure treasure: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, treasure.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, treasure.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(treasure, filePath); el.SetAttributeValue("type", treasure.GetType().Name); break; case MSBE.Event.AreaTeam areaTeam: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, areaTeam.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, areaTeam.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(areaTeam, filePath); el.SetAttributeValue("type", areaTeam.GetType().Name); break; case MSBE.Model.Asset asset: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, asset.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, asset.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(asset, filePath); el.SetAttributeValue("type", asset.GetType().Name); break; case MSBE.Model.Collision collision: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, collision.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, collision.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(collision, filePath); el.SetAttributeValue("type", collision.GetType().Name); break; case MSBE.Model.Enemy enemy: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, enemy.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, enemy.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(enemy, filePath); el.SetAttributeValue("type", enemy.GetType().Name); break; case MSBE.Model.MapPiece mapPiece: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapPiece.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapPiece.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapPiece, filePath); el.SetAttributeValue("type", mapPiece.GetType().Name); break; case MSBE.Model.Player player: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, player.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, player.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(player, filePath); el.SetAttributeValue("type", player.GetType().Name); break; case MSBE.Part.Asset asset1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, asset1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, asset1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(asset1, filePath); el.SetAttributeValue("type", asset1.GetType().Name); break; case MSBE.Part.Collision collision1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, collision1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, collision1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(collision1, filePath); el.SetAttributeValue("type", collision1.GetType().Name); break; case MSBE.Part.ConnectCollision connectCollision: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, connectCollision.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, connectCollision.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(connectCollision, filePath); el.SetAttributeValue("type", connectCollision.GetType().Name); break; case MSBE.Part.DummyAsset dummyAsset: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, dummyAsset.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, dummyAsset.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(dummyAsset, filePath); el.SetAttributeValue("type", dummyAsset.GetType().Name); break; case MSBE.Part.DummyEnemy dummyEnemy: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, dummyEnemy.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, dummyEnemy.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(dummyEnemy, filePath); el.SetAttributeValue("type", dummyEnemy.GetType().Name); break; case MSBE.Part.Enemy enemy1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, enemy1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, enemy1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(enemy1, filePath); el.SetAttributeValue("type", enemy1.GetType().Name); break; case MSBE.Part.MapPiece mapPiece1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapPiece1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapPiece1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapPiece1, filePath); el.SetAttributeValue("type", mapPiece1.GetType().Name); break; case MSBE.Part.Player player1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, player1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, player1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(player1, filePath); el.SetAttributeValue("type", player1.GetType().Name); break; case MSBE.Region.AutoDrawGroupPoint autoDrawGroupPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, autoDrawGroupPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, autoDrawGroupPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(autoDrawGroupPoint, filePath); el.SetAttributeValue("type", autoDrawGroupPoint.GetType().Name); break; case MSBE.Region.BuddySummonPoint buddySummonPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, buddySummonPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, buddySummonPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(buddySummonPoint, filePath); el.SetAttributeValue("type", buddySummonPoint.GetType().Name); break; case MSBE.Region.Connection connection: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, connection.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, connection.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(connection, filePath); el.SetAttributeValue("type", connection.GetType().Name); break; case MSBE.Region.DisableTumbleweed disableTumbleweed: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, disableTumbleweed.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, disableTumbleweed.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(disableTumbleweed, filePath); el.SetAttributeValue("type", disableTumbleweed.GetType().Name); break; case MSBE.Region.Dummy dummy: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, dummy.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, dummy.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(dummy, filePath); el.SetAttributeValue("type", dummy.GetType().Name); break; case MSBE.Region.EnvironmentMapEffectBox environmentMapEffectBox: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, environmentMapEffectBox.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, environmentMapEffectBox.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(environmentMapEffectBox, filePath); el.SetAttributeValue("type", environmentMapEffectBox.GetType().Name); break; case MSBE.Region.EnvironmentMapOutput environmentMapOutput: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, environmentMapOutput.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, environmentMapOutput.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(environmentMapOutput, filePath); el.SetAttributeValue("type", environmentMapOutput.GetType().Name); break; case MSBE.Region.EnvironmentMapPoint environmentMapPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, environmentMapPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, environmentMapPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(environmentMapPoint, filePath); el.SetAttributeValue("type", environmentMapPoint.GetType().Name); break; case MSBE.Region.FallPreventionRemoval fallPreventionRemoval: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, fallPreventionRemoval.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, fallPreventionRemoval.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(fallPreventionRemoval, filePath); el.SetAttributeValue("type", fallPreventionRemoval.GetType().Name); break; case MSBE.Region.FastTravelRestriction fastTravelRestriction: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, fastTravelRestriction.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, fastTravelRestriction.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(fastTravelRestriction, filePath); el.SetAttributeValue("type", fastTravelRestriction.GetType().Name); break; case MSBE.Region.GroupDefeatReward groupDefeatReward: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, groupDefeatReward.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, groupDefeatReward.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(groupDefeatReward, filePath); el.SetAttributeValue("type", groupDefeatReward.GetType().Name); break; case MSBE.Region.Hitset hitset: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, hitset.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, hitset.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(hitset, filePath); el.SetAttributeValue("type", hitset.GetType().Name); break; case MSBE.Region.HorseRideOverride horseRideOverride: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, horseRideOverride.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, horseRideOverride.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(horseRideOverride, filePath); el.SetAttributeValue("type", horseRideOverride.GetType().Name); break; case MSBE.Region.LockedMountJump lockedMountJump: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, lockedMountJump.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, lockedMountJump.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(lockedMountJump, filePath); el.SetAttributeValue("type", lockedMountJump.GetType().Name); break; case MSBE.Region.LockedMountJumpFall lockedMountJumpFall: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, lockedMountJumpFall.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, lockedMountJumpFall.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(lockedMountJumpFall, filePath); el.SetAttributeValue("type", lockedMountJumpFall.GetType().Name); break; case MSBE.Region.InvasionPoint invasionPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, invasionPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, invasionPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(invasionPoint, filePath); el.SetAttributeValue("type", invasionPoint.GetType().Name); break; case MSBE.Region.MapNameOverride mapNameOverride: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapNameOverride.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapNameOverride.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapNameOverride, filePath); el.SetAttributeValue("type", mapNameOverride.GetType().Name); break; case MSBE.Region.MapPoint mapPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapPoint, filePath); el.SetAttributeValue("type", mapPoint.GetType().Name); break; case MSBE.Region.MapPointDiscoveryOverride mapPointDiscoveryOverride: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapPointDiscoveryOverride.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapPointDiscoveryOverride.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapPointDiscoveryOverride, filePath); el.SetAttributeValue("type", mapPointDiscoveryOverride.GetType().Name); break; case MSBE.Region.MapPointParticipationOverride mapPointParticipationOverride: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mapPointParticipationOverride.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mapPointParticipationOverride.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mapPointParticipationOverride, filePath); el.SetAttributeValue("type", mapPointParticipationOverride.GetType().Name); break; case MSBE.Region.Message message: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, message.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, message.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(message, filePath); el.SetAttributeValue("type", message.GetType().Name); break; case MSBE.Region.MountJump mountJump: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mountJump.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mountJump.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mountJump, filePath); el.SetAttributeValue("type", mountJump.GetType().Name); break; case MSBE.Region.MountJumpFall mountJumpFall: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mountJumpFall.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mountJumpFall.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mountJumpFall, filePath); el.SetAttributeValue("type", mountJumpFall.GetType().Name); break; case MSBE.Region.MufflingBox mufflingBox: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mufflingBox.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mufflingBox.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mufflingBox, filePath); el.SetAttributeValue("type", mufflingBox.GetType().Name); break; case MSBE.Region.MufflingPlane mufflingPlane: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mufflingPlane.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mufflingPlane.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mufflingPlane, filePath); el.SetAttributeValue("type", mufflingPlane.GetType().Name); break; case MSBE.Region.MufflingPortal mufflingPortal: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mufflingPortal.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mufflingPortal.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mufflingPortal, filePath); el.SetAttributeValue("type", mufflingPortal.GetType().Name); break; case MSBE.Region.NavmeshCutting navmeshCutting: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, navmeshCutting.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, navmeshCutting.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(navmeshCutting, filePath); el.SetAttributeValue("type", navmeshCutting.GetType().Name); break; case MSBE.Region.Other other1: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, other1.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, other1.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(other1, filePath); el.SetAttributeValue("type", other1.GetType().Name); break; case MSBE.Region.PatrolRoute patrolRoute: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, patrolRoute.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, patrolRoute.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(patrolRoute, filePath); el.SetAttributeValue("type", patrolRoute.GetType().Name); break; case MSBE.Region.PatrolRoute22 patrolRoute22: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, patrolRoute22.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, patrolRoute22.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(patrolRoute22, filePath); el.SetAttributeValue("type", patrolRoute22.GetType().Name); break; case MSBE.Region.PlayArea playArea: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, playArea.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, playArea.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(playArea, filePath); el.SetAttributeValue("type", playArea.GetType().Name); break; case MSBE.Region.SFX sfx: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, sfx.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, sfx.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(sfx, filePath); el.SetAttributeValue("type", sfx.GetType().Name); break; case MSBE.Region.Sound sound: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, sound.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, sound.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(sound, filePath); el.SetAttributeValue("type", sound.GetType().Name); break; case MSBE.Region.SoundRegion soundRegion: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, soundRegion.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, soundRegion.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(soundRegion, filePath); el.SetAttributeValue("type", soundRegion.GetType().Name); break; case MSBE.Region.SpawnPoint spawnPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, spawnPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, spawnPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(spawnPoint, filePath); el.SetAttributeValue("type", spawnPoint.GetType().Name); break; case MSBE.Region.WeatherCreateAssetPoint weatherCreateAssetPoint: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, weatherCreateAssetPoint.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, weatherCreateAssetPoint.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(weatherCreateAssetPoint, filePath); el.SetAttributeValue("type", weatherCreateAssetPoint.GetType().Name); break; case MSBE.Region.WeatherOverride weatherOverride: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, weatherOverride.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, weatherOverride.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(weatherOverride, filePath); el.SetAttributeValue("type", weatherOverride.GetType().Name); break; case MSBE.Region.WindArea windArea: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, windArea.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, windArea.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(windArea, filePath); el.SetAttributeValue("type", windArea.GetType().Name); break; case MSBE.Region.WindSFX windSfx: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, windSfx.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, windSfx.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(windSfx, filePath); el.SetAttributeValue("type", windSfx.GetType().Name); break; case MSBE.Route.MufflingBoxLink mufflingBoxLink: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mufflingBoxLink.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mufflingBoxLink.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mufflingBoxLink, filePath); el.SetAttributeValue("type", mufflingBoxLink.GetType().Name); break; case MSBE.Route.MufflingPortalLink mufflingPortalLink: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, mufflingPortalLink.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, mufflingPortalLink.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(mufflingPortalLink, filePath); el.SetAttributeValue("type", mufflingPortalLink.GetType().Name); break; case MSBE.Route.Other other2: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, other2.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, other2.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(other2, filePath); el.SetAttributeValue("type", other2.GetType().Name); break; case MSBE.Event @event: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, @event.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, @event.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(@event, filePath); el.SetAttributeValue("type", @event.GetType().Name); break; case MSBE.Model model: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, model.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, model.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(model, filePath); el.SetAttributeValue("type", model.GetType().Name); break; case MSBE.Part.EnemyBase enemyBase: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, enemyBase.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, enemyBase.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(enemyBase, filePath); el.SetAttributeValue("type", enemyBase.GetType().Name); break; case MSBE.Region region: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, region.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, region.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(region, filePath); el.SetAttributeValue("type", region.GetType().Name); break; case MSBE.Route route: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, route.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, route.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(route, filePath); el.SetAttributeValue("type", route.GetType().Name); break; case MSBE.Part part: - filePath = WBUtil.NextAvailableFilename(Path.Combine(entryDir, part.GetType().Name, $"{fileName}.xml")); + filePath = WBUtil.NextAvailableFilename(OSPath.Combine(entryDir, part.GetType().Name, $"{fileName}.xml")); WBUtil.XmlSerialize(part, filePath); el.SetAttributeValue("type", part.GetType().Name); break; @@ -493,7 +493,7 @@ private void UnpackEntries(XElement parentEl, List entries, string r throw new ArgumentOutOfRangeException(nameof(entry)); } - fileName = Path.GetFileNameWithoutExtension(filePath); + fileName = OSPath.GetFileNameWithoutExtension(filePath); el.SetAttributeValue("name", fileName); } } diff --git a/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Repack.cs b/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Repack.cs index 0bd11776..3c8f7089 100644 --- a/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Repack.cs +++ b/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Repack.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using System.Xml.Linq; using SoulsFormats; +using WitchyFormats; using WitchyLib; namespace WitchyBND.Parsers; @@ -60,7 +61,7 @@ void Callback(string file) animFiles.ForEach(Callback); } - tae.Animations = bag.OrderBy(a => a.ID).ToList(); + tae.Animations = bag.ToList(); tae.ApplyTemplate(gameService.GetTAETemplate(game)); @@ -71,11 +72,12 @@ void Callback(string file) private TAE.Animation RepackAnim(string file, TAE tae, TAE.Template template) { - var id = int.Parse(new string(Path.GetFileNameWithoutExtension(file).Where(c => char.IsDigit(c)).ToArray())); + var id = int.Parse(new string(OSPath.GetFileNameWithoutExtension(file).Where(c => char.IsDigit(c)).ToArray())); var animXml = XDocument.Load(file).Root!; var animName = animXml.Element("name")!.Value; var headerEl = animXml.Element("header")!; var headerType = Enum.Parse(headerEl.Element("type")!.Value); + var headerIsNull = bool.Parse(headerEl.Element("null")?.Value ?? "False"); TAE.Animation.AnimMiniHeader header; switch (headerType) { @@ -96,13 +98,49 @@ private TAE.Animation RepackAnim(string file, TAE tae, TAE.Template template) throw new ArgumentOutOfRangeException(); } + header.IsNullHeader = headerIsNull; + var anim = new TAE.Animation(id, header, animName); anim.Events = new(); anim.EventGroups = new(); - foreach (XElement groupEl in animXml.Element("animGroups")!.Elements("animGroup")) + foreach (XElement evEl in animXml.Element("events")!.Elements("event")) + { + var evType = int.Parse(evEl.Element("type")!.Value); + var unk04 = int.Parse(evEl.Element("unk04")!.Value); + var startTime = float.Parse(evEl.Element("startTime")!.Value); + var endTime = float.Parse(evEl.Element("endTime")!.Value); + var isUnk = bool.Parse(evEl.Element("isUnk")?.Value ?? "False"); + var hasTemplate = template.Any(t => t.Value.ContainsKey(evType)); + if (!hasTemplate) + errorService.RegisterNotice($"Missing template for TAE event type {evType}."); + if (!isUnk && hasTemplate) + { + var ev = new TAE.Event(startTime, endTime, evType, unk04, tae.BigEndian, template.First(t => t.Value.ContainsKey(evType)).Value[evType]); + + var paramsEl = evEl.Element("params"); + if (paramsEl != null) + { + foreach (XElement paramEl in paramsEl.Elements("param")) + { + var key = paramEl.Attribute("name")!.Value; + var value = paramEl.Attribute("value")!.Value; + + ev.Parameters[key] = ev.Parameters.Template[key].StorageToValue(value); + } + } + anim.Events.Add(ev); + } + else + { + var paramBytes = evEl.Element("unkParams")!.Value.Split(",").Select(s => byte.Parse(s)).ToArray(); + var ev = new TAE.Event(startTime, endTime, evType, unk04, paramBytes, tae.BigEndian); + anim.Events.Add(ev); + } + } + foreach (XElement groupEl in animXml.Element("eventGroups")!.Elements("eventGroup")) { - var type = long.Parse(groupEl.Element("type")!.Value); + var type = int.Parse(groupEl.Element("type")!.Value); var group = new TAE.EventGroup(type); var data = new TAE.EventGroup.EventGroupDataStruct(); @@ -122,40 +160,9 @@ private TAE.Animation RepackAnim(string file, TAE tae, TAE.Template template) { foreach (XElement evEl in eventsEl.Elements("event")) { - var evType = int.Parse(evEl.Element("type")!.Value); - var unk04 = int.Parse(evEl.Element("unk04")!.Value); - var startTime = float.Parse(evEl.Element("startTime")!.Value); - var endTime = float.Parse(evEl.Element("endTime")!.Value); - var isUnk = bool.Parse(evEl.Element("isUnk")?.Value ?? "False"); - var hasTemplate = template.Any(t => t.Value.ContainsKey(evType)); - if (!hasTemplate) - errorService.RegisterNotice($"Missing template for TAE event type {evType}."); - if (!isUnk && hasTemplate) - { - var ev = new TAE.Event(startTime, endTime, evType, unk04, tae.BigEndian, template.First(t => t.Value.ContainsKey(evType)).Value[evType]); - ev.Group = group; - - var paramsEl = evEl.Element("params"); - if (paramsEl != null) - { - foreach (XElement paramEl in paramsEl.Elements("param")) - { - var key = paramEl.Attribute("name")!.Value; - var value = paramEl.Attribute("value")!.Value; - - ev.Parameters[key] = ev.Parameters.Template[key].StringToValue(value); - } - } - anim.Events.Add(ev); - } - else - { - var paramBytes = evEl.Element("unkParams")!.Value.Split(",").Select(s => byte.Parse(s)).ToArray(); - var ev = new TAE.Event(startTime, endTime, evType, unk04, paramBytes, tae.BigEndian); - ev.Group = group; - anim.Events.Add(ev); - } - + var idx = int.Parse(evEl.Attribute("index")!.Value); + var ev = anim.Events.ElementAt(idx)!; + ev.Group = group; } } } diff --git a/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Unpack.cs b/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Unpack.cs index 49237aa3..d9781b51 100644 --- a/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Unpack.cs +++ b/WitchyBND/Parsers/Folder/WTAE/WTAE.Folder.Unpack.cs @@ -4,6 +4,7 @@ using System.Xml.Linq; using SoulsFormats; using WitchyBND.Services; +using WitchyFormats; using WitchyLib; namespace WitchyBND.Parsers; @@ -18,7 +19,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return Configuration.Active.TaeFolder && filename.EndsWith(".tae"); } @@ -70,6 +71,8 @@ public void UnpackAnim(string destDir, TAE tae, TAE.Animation anim, bool addDigi var header = new XElement("header"); root.Add(header); header.AddE("type", anim.MiniHeader.Type); + if (anim.MiniHeader.IsNullHeader) + header.AddE("null", anim.MiniHeader.IsNullHeader); if (anim.MiniHeader is TAE.Animation.AnimMiniHeader.Standard standard) { header.AddE("allowDelayLoad", standard.AllowDelayLoad); @@ -82,8 +85,33 @@ public void UnpackAnim(string destDir, TAE tae, TAE.Animation anim, bool addDigi header.AddE("animId", import.ImportFromAnimID); } - root.AddE("animGroups", anim.EventGroups.Select(group => { - var groupEl = new XElement("animGroup"); + root.AddE("events", anim.Events.Select(ev => { + var eventEl = new XElement("event"); + eventEl.AddE("type", ev.Type); + eventEl.AddE("unk04", ev.Unk04); + eventEl.AddE("startTime", ev.StartTime); + eventEl.AddE("endTime", ev.EndTime); + + if (ev.Parameters != null && ev.Parameters.Template != null) + { + eventEl.AddE("params", ev.Parameters?.Values.Select(p => { + var paramEl = new XElement("param"); + paramEl.SetAttributeValue("name", p.Key); + paramEl.SetAttributeValue("value", ev.Parameters.Template[p.Key].ValueToStorage(p.Value)); + return paramEl; + })); + } + else + { + errorService.RegisterNotice($"Missing template for TAE event type {ev.Type}."); + eventEl.AddE("isUnk", "True"); + eventEl.AddE("unkParams", string.Join(",", ev.GetParameterBytes(tae.BigEndian))); + } + return eventEl; + })); + + root.AddE("eventGroups", anim.EventGroups.Select(group => { + var groupEl = new XElement("eventGroup"); groupEl.AddE("type", group.GroupType); groupEl.AddE("dataType", group.GroupData.DataType); groupEl.AddE("area", group.GroupData.Area); @@ -95,27 +123,9 @@ public void UnpackAnim(string destDir, TAE tae, TAE.Animation anim, bool addDigi if (events.Any()) { groupEl.AddE("events", events.Select(ev => { + var idx = anim.Events.IndexOf(ev); var eventEl = new XElement("event"); - eventEl.AddE("type", ev.Type); - eventEl.AddE("unk04", ev.Unk04); - eventEl.AddE("startTime", ev.StartTime); - eventEl.AddE("endTime", ev.EndTime); - - if (ev.Parameters != null && ev.Parameters.Template != null) - { - eventEl.AddE("params", ev.Parameters?.Values.Select(p => { - var paramEl = new XElement("param"); - paramEl.SetAttributeValue("name", p.Key); - paramEl.SetAttributeValue("value", ev.Parameters.Template[p.Key].ValueToString(p.Value)); - return paramEl; - })); - } - else - { - errorService.RegisterNotice($"Missing template for TAE event type {ev.Type}."); - eventEl.AddE("isUnk", "True"); - eventEl.AddE("unkParams", string.Join(",", ev.GetParameterBytes(tae.BigEndian))); - } + eventEl.SetAttributeValue("index", idx.ToString()); return eventEl; })); } @@ -123,6 +133,6 @@ public void UnpackAnim(string destDir, TAE tae, TAE.Animation anim, bool addDigi })); var digits = addDigits ? anim.ID.ToString("000000000") : anim.ID.ToString("000000"); - xDoc.Save(Path.Combine(destDir, $"anim-{digits}.xml")); + xDoc.Save(OSPath.Combine(destDir, $"anim-{digits}.xml")); } } \ No newline at end of file diff --git a/WitchyBND/Parsers/WBinderParser.cs b/WitchyBND/Parsers/WBinderParser.cs index 6165e797..f4b53801 100644 --- a/WitchyBND/Parsers/WBinderParser.cs +++ b/WitchyBND/Parsers/WBinderParser.cs @@ -34,22 +34,22 @@ public override bool Preprocess(string srcPath, bool recursive, foreach (var bndFile in bnd.Files) { - string path = GetBinderFilePath(bnd, bndFile, null); + string bndPath = GetBinderFilePath(bnd, bndFile, null); string suffix = ""; - if (pathCounts.ContainsKey(path)) + if (pathCounts.ContainsKey(bndPath)) { - pathCounts[path]++; - suffix = $" ({pathCounts[path]})"; + pathCounts[bndPath]++; + suffix = $" ({pathCounts[bndPath]})"; } else { - pathCounts[path] = 1; + pathCounts[bndPath] = 1; } - path = path.Replace('\\', Path.DirectorySeparatorChar); - string destFilePath = Path.Combine(destDir, Path.GetDirectoryName(path)!, - $"{Path.GetFileNameWithoutExtension(path)}{suffix}{Path.GetExtension(path)}"); + var path = bndPath.ToOSPath(); + string destFilePath = OSPath.Combine(destDir, OSPath.GetDirectoryName(path)!, + $"{OSPath.GetFileNameWithoutExtension(path)}{suffix}{OSPath.GetExtension(path)}"); foreach (var parser in parsers) { bool toBreak = parser.Preprocess(destFilePath, true, ref files); @@ -76,11 +76,11 @@ public override bool Preprocess(string srcPath, bool recursive, protected static string GetBinderFilePath(IBinder bnd, BinderFile file, string? root) { - root ??= WBUtil.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); + root ??= BndPath.FindCommonBndRootPath(bnd.Files.Select(bndFile => bndFile.Name)); string path; if (Binder.HasNames(bnd.Format)) { - path = WBUtil.UnrootBNDPath(file.Name, root); + path = BndPath.Unroot(file.Name, root); } else if (Binder.HasIDs(bnd.Format)) { @@ -104,7 +104,7 @@ protected static XElement WriteBinderFiles(IBinder bnd, string destDirPath, stri void Callback(BinderFile file) { - string path = GetBinderFilePath(bnd, file, root); + string bndPath = GetBinderFilePath(bnd, file, root); var fileElement = new XElement("file", new XElement("flags", file.Flags.ToString())); @@ -115,28 +115,28 @@ void Callback(BinderFile file) else if (bnd.Format == Binder.Format.Names1 && bnd.Files.Any(f => f.Name.StartsWith("USER_DATA"))) fileElement.Add(new XElement("id", file.ID.ToString())); - fileElement.Add(new XElement("path", path)); + fileElement.Add(new XElement("path", bndPath)); string suffix = ""; - if (pathCounts.ContainsKey(path)) + if (pathCounts.ContainsKey(bndPath)) { - pathCounts[path]++; - suffix = $" ({pathCounts[path]})"; + pathCounts[bndPath]++; + suffix = $" ({pathCounts[bndPath]})"; fileElement.Add(new XElement("suffix", suffix)); } else { - pathCounts[path] = 1; + pathCounts[bndPath] = 1; } if (file.CompressionInfo.Type != DCX.Type.Zlib) WriteCompressionInfoToXml(fileElement, file.CompressionInfo); byte[] bytes = file.Bytes; - path = path.Replace('\\', Path.DirectorySeparatorChar); - string destPath = Path.Combine(destDirPath, Path.GetDirectoryName(path)!, - $"{Path.GetFileNameWithoutExtension(path)}{suffix}{Path.GetExtension(path)}"); - Directory.CreateDirectory(Path.GetDirectoryName(destPath)!); + bndPath = bndPath.ToOSPath(); + string destPath = OSPath.Combine(destDirPath, OSPath.GetDirectoryName(bndPath)!, + $"{OSPath.GetFileNameWithoutExtension(bndPath)}{suffix}{OSPath.GetExtension(bndPath)}"); + Directory.CreateDirectory(OSPath.GetDirectoryName(destPath)!); resultingPaths.Push(destPath); File.WriteAllBytes(destPath, bytes); @@ -193,7 +193,7 @@ protected static void ReadBinderFiles(IBinder bnd, XElement filesElement, string bool recursive) { var bag = new ConcurrentDictionary(); - var nameList = filesElement.Elements("file").Select(file => Path.Combine(root, file.Element("path")!.Value)) + var nameList = filesElement.Elements("file").Select(file => BndPath.Combine(root, file.Element("path")!.Value)) .ToList(); void Callback(XElement file) @@ -204,7 +204,7 @@ void Callback(XElement file) string strFlags = file.Element("flags")?.Value ?? "Flag1"; string strId = file.Element("id")?.Value ?? "-1"; // Edge case for PC save files - string path = file.Element("path")!.Value; + string bndPath = file.Element("path")!.Value; string suffix = file.Element("suffix")?.Value ?? ""; string? strCompression = file.Element("compression")?.Value; DCX.CompressionInfo compression; @@ -216,7 +216,7 @@ void Callback(XElement file) { compression = new DCX.ZlibCompressionInfo(); } - string name = Path.Combine(root, path); + string bndName = BndPath.Combine(root, bndPath); if (!Enum.TryParse(strFlags, out Binder.FileFlags flags)) throw new FriendlyException( @@ -225,17 +225,17 @@ void Callback(XElement file) if (!int.TryParse(strId, out int id)) throw new FriendlyException($"Could not parse file ID: {strId}\nID must be a 32-bit signed integer."); - path = path.Replace('\\', Path.DirectorySeparatorChar); + var path = bndPath.ToOSPath(); - string inPath = Path.Combine(srcDirPath, Path.GetDirectoryName(path)!, - $"{Path.GetFileNameWithoutExtension(path)}{suffix}{Path.GetExtension(path)}"); + string inPath = OSPath.Combine(srcDirPath, OSPath.GetDirectoryName(path)!, + $"{OSPath.GetFileNameWithoutExtension(path)}{suffix}{OSPath.GetExtension(path)}"); if (!File.Exists(inPath)) throw new FriendlyException($"File not found: {inPath}"); RecursiveRepackFile(inPath, recursive); byte[] bytes = File.ReadAllBytes(inPath); - bag.TryAdd(name, new BinderFile(flags, id, name, bytes) + bag.TryAdd(bndName, new BinderFile(flags, id, bndName, bytes) { CompressionInfo = compression }); @@ -291,14 +291,14 @@ protected virtual void ReadUnsortedBinderFiles(IBinder bnd, string srcDirPath, s var i = 0; foreach (string filePath in Directory.GetFiles(srcDirPath, searchPattern, SearchOption.AllDirectories)) { - string filename = Path.GetFileName(filePath); + string filename = OSPath.GetFileName(filePath); UnsortedFileFormat format = PackedFormats.FirstOrDefault(a => FileSystemName.MatchesWin32Expression(a.SearchPattern.AsSpan(), filename)); if (format == null) throw new InvalidDataException( $"File {filename} passed pattern checks, but was not found among formats."); string name = !string.IsNullOrEmpty(root) - ? Path.Combine(root, Path.GetRelativePath(srcDirPath, filePath)) + ? BndPath.Combine(root, OSPath.GetRelativePath(srcDirPath, filePath).ToBndPath()) : filePath; RecursiveRepackFile(filePath, recursive); diff --git a/WitchyBND/Parsers/WDCX.cs b/WitchyBND/Parsers/WDCX.cs index 5590f85a..8460cee4 100644 --- a/WitchyBND/Parsers/WDCX.cs +++ b/WitchyBND/Parsers/WDCX.cs @@ -3,6 +3,7 @@ using System.Xml; using System.Xml.Linq; using SoulsFormats; +using WitchyLib; namespace WitchyBND.Parsers; @@ -40,20 +41,20 @@ public override string GetUnpackDestPath(string srcPath, bool recursive) { string sourceDir = new FileInfo(srcPath).Directory?.FullName!; string? location = Configuration.Active.Location; - string fileName = Path.GetFileName(srcPath); + string fileName = OSPath.GetFileName(srcPath); if (!string.IsNullOrEmpty(location) && !recursive) sourceDir = location; - sourceDir = Path.GetFullPath(sourceDir); + sourceDir = OSPath.GetFullPath(sourceDir); if (srcPath.ToLower().EndsWith(".dcx")) - return Path.Combine(sourceDir, Path.GetFileNameWithoutExtension(srcPath)); - return Path.Combine(sourceDir, $"{fileName}.undcx"); + return OSPath.Combine(sourceDir, OSPath.GetFileNameWithoutExtension(srcPath)); + return OSPath.Combine(sourceDir, $"{fileName}.undcx"); } public override string GetRepackDestPath(string srcPath, XElement? xml) { var path = xml?.Element("sourcePath")?.Value; if (path != null) - srcPath = Path.Combine(path.Replace('\\', Path.DirectorySeparatorChar), Path.GetFileName(srcPath)); + srcPath = OSPath.Combine(path.ToOSPath(), OSPath.GetFileName(srcPath)); if (srcPath.ToLower().EndsWith(".undcx")) return srcPath.Substring(0, srcPath.Length - 6); return srcPath + ".dcx"; diff --git a/WitchyBND/Parsers/WFolderParser.cs b/WitchyBND/Parsers/WFolderParser.cs index 7b797f6b..9af7832f 100644 --- a/WitchyBND/Parsers/WFolderParser.cs +++ b/WitchyBND/Parsers/WFolderParser.cs @@ -44,11 +44,16 @@ public override string GetUnpackDestPath(string srcPath, bool recursive) { string sourceDir = new FileInfo(srcPath).Directory?.FullName!; string? location = Configuration.Active.Location; - string fileName = Path.GetFileName(srcPath); + string fileName = OSPath.GetFileName(srcPath); if (!string.IsNullOrEmpty(location) && !recursive) sourceDir = location; - sourceDir = Path.GetFullPath(sourceDir); - return Path.Combine(sourceDir, fileName.Replace('.', '-')); + sourceDir = OSPath.GetFullPath(sourceDir); + string tarDir = fileName.Replace('.', '-'); + if (fileName == tarDir) + { + tarDir += "-unpacked"; + } + return OSPath.Combine(sourceDir, tarDir); } public override XElement PrepareXmlManifest(string srcPath, bool recursive, bool skipFilename, @@ -78,10 +83,10 @@ public virtual string GetRepackDestPath(string srcDirPath, XElement xml, string var sourceDir = xml.Element("sourcePath")?.Value; if (sourceDir != null) { - return Path.GetFullPath(Path.Combine(srcDirPath, "..", sourceDir.Replace('\\', Path.DirectorySeparatorChar), filename)); + return OSPath.GetFullPath(OSPath.Combine(srcDirPath, "..", sourceDir.ToOSPath(), filename)); } string targetDir = new DirectoryInfo(srcDirPath).Parent?.FullName!; - return Path.GetFullPath(Path.Combine(targetDir, filename)); + return OSPath.GetFullPath(OSPath.Combine(targetDir, filename)); } // public virtual string GetRepackDestPath(string srcDirPath, string destFileName) // { @@ -103,7 +108,7 @@ public override bool IsUnpacked(string path) { if (!Directory.Exists(path)) return false; - string xmlPath = Path.Combine(path, GetFolderXmlFilename()); + string xmlPath = OSPath.Combine(path, GetFolderXmlFilename()); if (!File.Exists(xmlPath)) return false; var doc = XDocument.Load(xmlPath); @@ -119,7 +124,7 @@ public virtual string GetFolderXmlFilename(string? name = null) public virtual string GetFolderXmlPath(string dir, string? name = null) { name ??= XmlTag.ToLower(); - return Path.Combine(dir, GetFolderXmlFilename(name)); + return OSPath.Combine(dir, GetFolderXmlFilename(name)); } public static List GetFolderFilePaths(XElement filesElement, string srcDirPath) @@ -130,7 +135,7 @@ public static List GetFolderFilePaths(XElement filesElement, string srcD throw new FriendlyException("File node missing path tag."); string path = pathEl.Value; string suffix = file.Element("suffix")?.Value ?? ""; - string inPath = Path.Combine(srcDirPath, Path.GetDirectoryName(path)!, $"{Path.GetFileNameWithoutExtension(path)}{suffix}{Path.GetExtension(path)}"); + string inPath = OSPath.Combine(srcDirPath, OSPath.GetDirectoryName(path)!, $"{OSPath.GetFileNameWithoutExtension(path)}{suffix}{OSPath.GetExtension(path)}"); if (!File.Exists(inPath)) throw new FriendlyException($"File not found: {inPath}"); return inPath; diff --git a/WitchyBND/Parsers/WParser.cs b/WitchyBND/Parsers/WParser.cs index 0767d5eb..ec94d994 100644 --- a/WitchyBND/Parsers/WParser.cs +++ b/WitchyBND/Parsers/WParser.cs @@ -134,26 +134,26 @@ public static void AddLocationToXml(string path, bool recursive, XmlWriter xw, b string? location = Configuration.Active.Location; if (!string.IsNullOrEmpty(location) && !recursive) { - string srcPath = Path.GetDirectoryName(path)!; + string srcPath = OSPath.GetDirectoryName(path)!; if (location.StartsWith(srcPath)) - srcPath = Path.GetRelativePath(location, srcPath); - xw.WriteElementString("sourcePath", srcPath.Replace(Path.DirectorySeparatorChar, '\\')); + srcPath = OSPath.GetRelativePath(location, srcPath); + xw.WriteElementString("sourcePath", srcPath.ToBndPath()); } if (!skipFilename) - xw.WriteElementString("filename", Path.GetFileName(path)); + xw.WriteElementString("filename", OSPath.GetFileName(path)); } public static void AddLocationToXml(string path, bool recursive, XElement xml, bool skipFilename = false) { string? location = Configuration.Active.Location; if (!string.IsNullOrEmpty(location) && !recursive) { - string srcPath = Path.GetDirectoryName(path)!; + string srcPath = OSPath.GetDirectoryName(path)!; if (location.StartsWith(srcPath)) - srcPath = Path.GetRelativePath(location, srcPath); - xml.AddFirst(new XElement("sourcePath", srcPath.Replace(Path.DirectorySeparatorChar, '\\'))); + srcPath = OSPath.GetRelativePath(location, srcPath); + xml.AddFirst(new XElement("sourcePath", srcPath)); } if (!skipFilename) - xml.AddFirst(new XElement("filename", Path.GetFileName(path))); + xml.AddFirst(new XElement("filename", OSPath.GetFileName(path))); } public static WBUtil.GameType GetGameTypeFromXml(XElement xml) @@ -359,7 +359,7 @@ public abstract class WDeferredFileParser : WSingleFileParser public override bool Is(string path, byte[]? _, out ISoulsFile? file) { file = null; - var extension = WBUtil.GetFullExtensions(path).ToLower(); + var extension = OSPath.GetFullExtensions(path).ToLower(); var cond = UnpackExtensions.Contains(extension); if (cond && !Configuration.Active.DeferTools.ContainsKey(DeferFormat)) throw new DeferToolPathException(DeferFormat); @@ -373,7 +373,7 @@ public override bool Is(string path, byte[]? _, out ISoulsFile? file) public override bool IsUnpacked(string path) { - var extension = WBUtil.GetFullExtensions(path).ToLower(); + var extension = OSPath.GetFullExtensions(path).ToLower(); var cond = RepackExtensions.Contains(extension); if (cond && !Configuration.Active.DeferTools.ContainsKey(DeferFormat)) throw new DeferToolPathException(DeferFormat); @@ -411,8 +411,8 @@ public override string GetUnpackDestPath(string srcPath, bool recursive) string? location = Configuration.Active.Location; if (!string.IsNullOrEmpty(location) && !recursive) sourceDir = location; - sourceDir = Path.GetFullPath(sourceDir); - return Path.Combine(sourceDir, $"{Path.GetFileName(srcPath)}.xml"); + sourceDir = OSPath.GetFullPath(sourceDir); + return OSPath.Combine(sourceDir, $"{OSPath.GetFileName(srcPath)}.xml"); } public override string GetRepackDestPath(string srcPath, XElement xml) @@ -420,15 +420,14 @@ public override string GetRepackDestPath(string srcPath, XElement xml) var path = xml.Element("sourcePath")?.Value; if (path != null) { - path = path.Replace('\\', Path.DirectorySeparatorChar); - return Path.Combine(path, Path.GetFileName(srcPath).Replace(".xml", String.Empty)); + return OSPath.Combine(path, OSPath.GetFileName(srcPath).Replace(".xml", String.Empty).Replace(".XML", String.Empty)); } - return srcPath.Replace(".xml", ""); + return srcPath.Replace(".xml", "").Replace(".XML", ""); } public override bool IsUnpacked(string path) { - if (Path.GetExtension(path) != ".xml") + if (OSPath.GetExtension(path).ToLower() != ".xml") return false; var doc = XDocument.Load(path); diff --git a/WitchyBND/Parsers/XML/Serialized/WAIP.cs b/WitchyBND/Parsers/XML/Serialized/WAIP.cs new file mode 100644 index 00000000..017d63e5 --- /dev/null +++ b/WitchyBND/Parsers/XML/Serialized/WAIP.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; +using SoulsFormats; +using WitchyLib; + +namespace WitchyBND.Parsers; + +public class WAIP : WSerializedXMLParser +{ + public override string Name => "AIP"; + + public override Type SerializedType => typeof(AIP); + + public override bool Is(string path, byte[]? data, out ISoulsFile? file) + { + return IsRead(path, data, out file); + } + + public override bool? IsSimple(string path) + { + string filename = OSPath.GetFileName(path).ToLower(); + return filename.EndsWith(".aip"); + } +} \ No newline at end of file diff --git a/WitchyBND/Parsers/XML/Serialized/WENFL.cs b/WitchyBND/Parsers/XML/Serialized/WENFL.cs index 7f759eed..6a7fc864 100644 --- a/WitchyBND/Parsers/XML/Serialized/WENFL.cs +++ b/WitchyBND/Parsers/XML/Serialized/WENFL.cs @@ -1,6 +1,6 @@ using System; -using System.IO; using SoulsFormats; +using WitchyLib; namespace WitchyBND.Parsers; @@ -15,7 +15,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".entryfilelist"); } diff --git a/WitchyBND/Parsers/XML/Serialized/WFXR1.cs b/WitchyBND/Parsers/XML/Serialized/WFXR1.cs index b26d111d..663743ab 100644 --- a/WitchyBND/Parsers/XML/Serialized/WFXR1.cs +++ b/WitchyBND/Parsers/XML/Serialized/WFXR1.cs @@ -20,7 +20,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".ffx") ; } diff --git a/WitchyBND/Parsers/XML/Serialized/WFXR3.cs b/WitchyBND/Parsers/XML/Serialized/WFXR3.cs index 9a9803a3..55961609 100644 --- a/WitchyBND/Parsers/XML/Serialized/WFXR3.cs +++ b/WitchyBND/Parsers/XML/Serialized/WFXR3.cs @@ -20,7 +20,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".fxr") ; } } \ No newline at end of file diff --git a/WitchyBND/Parsers/XML/Serialized/WMATBIN.cs b/WitchyBND/Parsers/XML/Serialized/WMATBIN.cs index 10834237..757df1b7 100644 --- a/WitchyBND/Parsers/XML/Serialized/WMATBIN.cs +++ b/WitchyBND/Parsers/XML/Serialized/WMATBIN.cs @@ -21,13 +21,13 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".matbin") || filename.EndsWith(".matbin.dcx"); } public override bool IsUnpacked(string path) { - if (Path.GetExtension(path) != ".xml") + if (OSPath.GetExtension(path).ToLower() != ".xml") return false; var doc = XDocument.Load(path); diff --git a/WitchyBND/Parsers/XML/Serialized/WMTD.cs b/WitchyBND/Parsers/XML/Serialized/WMTD.cs index 36cb749e..bd5765b7 100644 --- a/WitchyBND/Parsers/XML/Serialized/WMTD.cs +++ b/WitchyBND/Parsers/XML/Serialized/WMTD.cs @@ -20,7 +20,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".mtd") || filename.EndsWith(".mtd.dcx"); } } \ No newline at end of file diff --git a/WitchyBND/Parsers/XML/WDBSUB.cs b/WitchyBND/Parsers/XML/WDBSUB.cs index 6aa35b89..e376d701 100644 --- a/WitchyBND/Parsers/XML/WDBSUB.cs +++ b/WitchyBND/Parsers/XML/WDBSUB.cs @@ -1,7 +1,5 @@ -using System; using System.Text; using System.IO; -using System.Text; using System.Xml; using System.Xml.Linq; using SoulsFormats; @@ -23,8 +21,8 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - var filename = Path.GetFileName(path).ToLower(); - return Path.GetExtension(filename) == ".bin" && (filename.StartsWith("chapter_") || + var filename = OSPath.GetFileName(path).ToLower(); + return OSPath.GetExtension(filename) == ".bin" && (filename.StartsWith("chapter_") || filename.EndsWith("_b0.bin") || filename.EndsWith("_d0.bin")); } diff --git a/WitchyBND/Parsers/XML/WFMG.cs b/WitchyBND/Parsers/XML/WFMG.cs index 6cf1169b..9e92a21f 100644 --- a/WitchyBND/Parsers/XML/WFMG.cs +++ b/WitchyBND/Parsers/XML/WFMG.cs @@ -14,7 +14,7 @@ public class WFMG : WXMLParser public override bool Is(string path, byte[]? _, out ISoulsFile? file) { file = null; - return Path.GetExtension(path).ToLower() == ".fmg"; + return OSPath.GetExtension(path).ToLower() == ".fmg"; } public override bool? IsSimple(string path) diff --git a/WitchyBND/Parsers/XML/WGPARAM.cs b/WitchyBND/Parsers/XML/WGPARAM.cs index eefc4814..47eed9fe 100644 --- a/WitchyBND/Parsers/XML/WGPARAM.cs +++ b/WitchyBND/Parsers/XML/WGPARAM.cs @@ -1,242 +1,242 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Numerics; -using System.Xml.Linq; -using SoulsFormats; -using WitchyLib; - -namespace WitchyBND.Parsers; - -public class WGPARAM : WXMLParser -{ - public override string Name => "GPARAM"; - - public override bool Is(string path, byte[]? data, out ISoulsFile? file) - { - return IsRead(path, data, out file); - } - - public override bool? IsSimple(string path) - { - string filename = Path.GetFileName(path).ToLower(); - return filename.EndsWith(".gparam") || filename.EndsWith(".gparam.dcx"); - } - - public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) - { - GPARAM gparam = (file as GPARAM)!; - var xml = PrepareXmlManifest(srcPath, recursive, false, gparam.Compression, out XDocument xDoc, null); - - xml.Add(new XElement("game", gparam.Game.ToString())); - xml.Add(new XElement("unk0D", gparam.Unk0D.ToString())); - xml.Add(new XElement("unk14", gparam.Unk14.ToString())); - xml.Add(new XElement("unk40", gparam.Unk40.ToString(CultureInfo.InvariantCulture))); - if (gparam.Game == GPARAM.GPGame.Sekiro) - xml.Add(new XElement("unk50", gparam.Unk50.ToString(CultureInfo.InvariantCulture))); - - var groupsXml = new XElement("groups"); - xml.Add(groupsXml); - foreach (GPARAM.Group group in gparam.Groups) - { - var groupXml = new XElement("group"); - groupsXml.Add(groupXml); - groupXml.Add(new XAttribute("name1", group.Name1)); - if (gparam.Game == GPARAM.GPGame.DarkSouls3 || gparam.Game == GPARAM.GPGame.Sekiro) - { - groupXml.Add(new XAttribute("name2", group.Name2)); - var commentsXml = new XElement("comments"); - groupXml.Add(commentsXml); - foreach (string comment in group.Comments) - commentsXml.Add(new XElement("comment", comment)); - } - - foreach (GPARAM.Param param in group.Params) - { - var paramXml = new XElement("param"); - groupXml.Add(paramXml); - paramXml.Add(new XAttribute("name1", param.Name1)); - if (gparam.Game == GPARAM.GPGame.DarkSouls3 || gparam.Game == GPARAM.GPGame.Sekiro) - paramXml.Add(new XAttribute("name2", param.Name2)); - paramXml.Add(new XAttribute("type", param.Type.ToString())); - for (int index = 0; index < param.Values.Count; ++index) - { - var valueXml = new XElement("value"); - paramXml.Add(valueXml); - valueXml.Add(new XAttribute("id", param.ValueIDs[index].ToString())); - - if (gparam.Game == GPARAM.GPGame.Sekiro) - valueXml.Add(new XAttribute("timeOfDay", param.TimeOfDay[index].ToString(CultureInfo.InvariantCulture))); - - if (param.Type == GPARAM.ParamType.Float2) - { - Vector2 vector2 = (Vector2)param.Values[index]; - valueXml.Value = $"{vector2.X} {vector2.Y}"; - } - else if (param.Type == GPARAM.ParamType.Float3) - { - Vector3 vector3 = (Vector3)param.Values[index]; - valueXml.Value = $"{vector3.X} {vector3.Y} {vector3.Z}"; - } - else if (param.Type == GPARAM.ParamType.Float4) - { - Vector4 vector4 = (Vector4)param.Values[index]; - valueXml.Value = $"{vector4.X} {vector4.Y} {vector4.Z} {vector4.W}"; - } - else if (param.Type == GPARAM.ParamType.Byte4) - { - byte[] numArray = (byte[])param.Values[index]; - valueXml.Value = $"{numArray[0]:X2} {numArray[1]:X2} {numArray[2]:X2} {numArray[3]:X2}"; - } - else - valueXml.Value = param.Values[index].ToString(); - } - } - } - - var unk3sXml = new XElement("unk3s"); - xml.Add(unk3sXml); - foreach (GPARAM.Unk3 unk3 in gparam.Unk3s) - { - var unk3Xml = new XElement("unk3"); - unk3sXml.Add(unk3Xml); - unk3Xml.Add(new XAttribute("group_index", unk3.GroupIndex.ToString())); - if (gparam.Game == GPARAM.GPGame.Sekiro) - unk3Xml.Add(new XAttribute("unk0C", unk3.Unk0C.ToString())); - foreach (int valueId in unk3.ValueIDs) - unk3Xml.Add(new XElement("value_id", valueId.ToString())); - } - - xml.Add(new XElement("unk_block_2", string.Join(" ", gparam.UnkBlock2.Select((Func)(b => b.ToString("X2")))))); - - WriteXmlManifest(xDoc, srcPath, recursive); - } - - public override void Repack(string srcPath, bool recursive) - { - GPARAM gparam = new GPARAM(); - XElement xml = LoadXml(srcPath); - gparam.Compression = ReadCompressionInfoFromXml(xml); - Enum.TryParse(xml.Element("game")!.Value, out gparam.Game); - gparam.Unk0D = bool.Parse(xml.Element("unk0D")!.Value); - gparam.Unk14 = int.Parse(xml.Element("unk14")!.Value); - gparam.Unk40 = float.Parse(xml.Element("unk40")!.Value); - if (gparam.Game == GPARAM.GPGame.Sekiro) - gparam.Unk50 = float.Parse(xml.Element("unk50")!.Value); - foreach (XElement selectNode1 in xml.Element("groups")!.Elements("group")) - { - string value1 = selectNode1.Attribute("name1")!.Value; - GPARAM.Group group; - if (gparam.Game == GPARAM.GPGame.DarkSouls2) - { - group = new GPARAM.Group(value1, null); - } - else - { - string value2 = selectNode1.Attribute("name2")!.Value; - group = new GPARAM.Group(value1, value2); - foreach (XElement selectNode2 in selectNode1.Element("comments")!.Elements("comment")) - group.Comments.Add(selectNode2.Value); - } - - foreach (XElement selectNode3 in selectNode1.Elements("param")) - { - string value3 = selectNode3.Attribute("name1")!.Value; - GPARAM.ParamType type = - (GPARAM.ParamType)Enum.Parse(typeof(GPARAM.ParamType), selectNode3.Attribute("type")!.Value); - GPARAM.Param obj; - if (gparam.Game == GPARAM.GPGame.DarkSouls2) - { - obj = new GPARAM.Param(value3, null, type); - } - else - { - string Value4 = selectNode3.Attribute("name2")!.Value; - obj = new GPARAM.Param(value3, Value4, type); - if (gparam.Game == GPARAM.GPGame.Sekiro) - obj.TimeOfDay = new List(); - } - - foreach (XElement selectNode4 in selectNode3.Elements("value")) - { - obj.ValueIDs.Add(int.Parse(selectNode4.Attribute("id")!.Value)); - if (gparam.Game == GPARAM.GPGame.Sekiro) - obj.TimeOfDay.Add(float.Parse(selectNode4.Attribute("timeOfDay")!.Value)); - switch (obj.Type) - { - case GPARAM.ParamType.Byte: - obj.Values.Add(byte.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.Short: - obj.Values.Add(short.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.IntA: - obj.Values.Add(int.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.BoolA: - obj.Values.Add(bool.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.IntB: - obj.Values.Add(int.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.Float: - obj.Values.Add(float.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.BoolB: - obj.Values.Add(bool.Parse(selectNode4.Value)); - continue; - case GPARAM.ParamType.Float2: - float[] array1 = selectNode4.Value.Split(' ') - .Select((Func)(f => float.Parse(f))).ToArray(); - obj.Values.Add(new Vector2(array1[0], array1[1])); - continue; - case GPARAM.ParamType.Float3: - float[] array2 = selectNode4.Value.Split(' ') - .Select((Func)(f => float.Parse(f))).ToArray(); - obj.Values.Add(new Vector3(array2[0], array2[1], array2[1])); - continue; - case GPARAM.ParamType.Float4: - float[] array3 = selectNode4.Value.Split(' ') - .Select((Func)(f => float.Parse(f))).ToArray(); - obj.Values.Add(new Vector4(array3[0], array3[1], array3[2], array3[3])); - continue; - case GPARAM.ParamType.Byte4: - byte[] array4 = selectNode4.Value.Split(' ') - .Select((Func)(b => byte.Parse(b, NumberStyles.AllowHexSpecifier))) - .ToArray(); - obj.Values.Add(array4); - continue; - default: - continue; - } - } - - group.Params.Add(obj); - } - - gparam.Groups.Add(group); - } - - foreach (XElement selectNode5 in xml.Element("unk3s")!.Elements("unk3")) - { - GPARAM.Unk3 unk3 = new GPARAM.Unk3(int.Parse(selectNode5.Attribute("group_index")!.Value)); - if (gparam.Game == GPARAM.GPGame.Sekiro) - unk3.Unk0C = int.Parse(selectNode5.Attribute("unk0C")!.Value); - foreach (XElement selectNode6 in selectNode5.Elements("value_id")) - unk3.ValueIDs.Add(int.Parse(selectNode6.Value)); - gparam.Unk3s.Add(unk3); - } - - gparam.UnkBlock2 = xml.Element("unk_block_2")!.Value.Split(new char[1] - { - ' ' - }, StringSplitOptions.RemoveEmptyEntries).Select((Func)(s => Convert.ToByte(s, 16))).ToArray(); - - string path = GetRepackDestPath(srcPath, xml); - if (File.Exists(path)) - Backup(path); - gparam.Write(path); - } -} \ No newline at end of file +// using System; +// using System.Collections.Generic; +// using System.Globalization; +// using System.IO; +// using System.Linq; +// using System.Numerics; +// using System.Xml.Linq; +// using SoulsFormats; +// using WitchyLib; +// +// namespace WitchyBND.Parsers; +// +// public class WGPARAM : WXMLParser +// { +// public override string Name => "GPARAM"; +// +// public override bool Is(string path, byte[]? data, out ISoulsFile? file) +// { +// return IsRead(path, data, out file); +// } +// +// public override bool? IsSimple(string path) +// { +// string filename = Path.GetFileName(path).ToLower(); +// return filename.EndsWith(".gparam") || filename.EndsWith(".gparam.dcx"); +// } +// +// public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) +// { +// GPARAM gparam = (file as GPARAM)!; +// var xml = PrepareXmlManifest(srcPath, recursive, false, gparam.Compression, out XDocument xDoc, null); +// +// xml.Add(new XElement("game", gparam.Version.ToString())); +// xml.Add(new XElement("unk0D", gparam.Unk0D.ToString())); +// xml.Add(new XElement("Count14", gparam.Count14.ToString())); +// xml.Add(new XElement("unk40", gparam.Unk40.ToString(CultureInfo.InvariantCulture))); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// xml.Add(new XElement("unk50", gparam.Unk50.ToString(CultureInfo.InvariantCulture))); +// +// var groupsXml = new XElement("groups"); +// xml.Add(groupsXml); +// foreach (GPARAM.Group group in gparam.Groups) +// { +// var groupXml = new XElement("group"); +// groupsXml.Add(groupXml); +// groupXml.Add(new XAttribute("name1", group.Name1)); +// if (gparam.Version == GPARAM.GparamVersion.V3 || gparam.Version == GPARAM.GparamVersion.V5) +// { +// groupXml.Add(new XAttribute("name2", group.Name2)); +// var commentsXml = new XElement("comments"); +// groupXml.Add(commentsXml); +// foreach (string comment in group.Comments) +// commentsXml.Add(new XElement("comment", comment)); +// } +// +// foreach (GPARAM.Param param in group.Params) +// { +// var paramXml = new XElement("param"); +// groupXml.Add(paramXml); +// paramXml.Add(new XAttribute("name1", param.Name1)); +// if (gparam.Version == GPARAM.GparamVersion.V3 || gparam.Version == GPARAM.GparamVersion.V5) +// paramXml.Add(new XAttribute("name2", param.Name2)); +// paramXml.Add(new XAttribute("type", param.Type.ToString())); +// for (int index = 0; index < param.Values.Count; ++index) +// { +// var valueXml = new XElement("value"); +// paramXml.Add(valueXml); +// valueXml.Add(new XAttribute("id", param.ValueIDs[index].ToString())); +// +// if (gparam.Version == GPARAM.GparamVersion.V5) +// valueXml.Add(new XAttribute("timeOfDay", param.TimeOfDay[index].ToString(CultureInfo.InvariantCulture))); +// +// if (param.Type == GPARAM.ParamType.Float2) +// { +// Vector2 vector2 = (Vector2)param.Values[index]; +// valueXml.Value = $"{vector2.X} {vector2.Y}"; +// } +// else if (param.Type == GPARAM.ParamType.Float3) +// { +// Vector3 vector3 = (Vector3)param.Values[index]; +// valueXml.Value = $"{vector3.X} {vector3.Y} {vector3.Z}"; +// } +// else if (param.Type == GPARAM.ParamType.Float4) +// { +// Vector4 vector4 = (Vector4)param.Values[index]; +// valueXml.Value = $"{vector4.X} {vector4.Y} {vector4.Z} {vector4.W}"; +// } +// else if (param.Type == GPARAM.ParamType.Byte4) +// { +// byte[] numArray = (byte[])param.Values[index]; +// valueXml.Value = $"{numArray[0]:X2} {numArray[1]:X2} {numArray[2]:X2} {numArray[3]:X2}"; +// } +// else +// valueXml.Value = param.Values[index].ToString(); +// } +// } +// } +// +// var unk3sXml = new XElement("unk3s"); +// xml.Add(unk3sXml); +// foreach (GPARAM.Unk3 unk3 in gparam.Unk3s) +// { +// var unk3Xml = new XElement("unk3"); +// unk3sXml.Add(unk3Xml); +// unk3Xml.Add(new XAttribute("group_index", unk3.GroupIndex.ToString())); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// unk3Xml.Add(new XAttribute("unk0C", unk3.Unk0C.ToString())); +// foreach (int valueId in unk3.ValueIDs) +// unk3Xml.Add(new XElement("value_id", valueId.ToString())); +// } +// +// xml.Add(new XElement("unk_block_2", string.Join(" ", gparam.UnkBlock2.Select((Func)(b => b.ToString("X2")))))); +// +// WriteXmlManifest(xDoc, srcPath, recursive); +// } +// +// public override void Repack(string srcPath, bool recursive) +// { +// GPARAM gparam = new GPARAM(); +// XElement xml = LoadXml(srcPath); +// gparam.Compression = ReadCompressionInfoFromXml(xml); +// Enum.TryParse(xml.Element("game")!.Value, out gparam.Version); +// gparam.Unk0D = bool.Parse(xml.Element("unk0D")!.Value); +// gparam.Count14 = int.Parse(xml.Element("Count14")!.Value); +// gparam.Unk40 = float.Parse(xml.Element("unk40")!.Value); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// gparam.Unk50 = float.Parse(xml.Element("unk50")!.Value); +// foreach (XElement selectNode1 in xml.Element("groups")!.Elements("group")) +// { +// string value1 = selectNode1.Attribute("name1")!.Value; +// GPARAM.Group group; +// if (gparam.Version == GPARAM.GPGame.DarkSouls2) +// { +// group = new GPARAM.Group(value1, null); +// } +// else +// { +// string value2 = selectNode1.Attribute("name2")!.Value; +// group = new GPARAM.Group(value1, value2); +// foreach (XElement selectNode2 in selectNode1.Element("comments")!.Elements("comment")) +// group.Comments.Add(selectNode2.Value); +// } +// +// foreach (XElement selectNode3 in selectNode1.Elements("param")) +// { +// string value3 = selectNode3.Attribute("name1")!.Value; +// GPARAM.ParamType type = +// (GPARAM.ParamType)Enum.Parse(typeof(GPARAM.ParamType), selectNode3.Attribute("type")!.Value); +// GPARAM.Param obj; +// if (gparam.Version == GPARAM.GPGame.DarkSouls2) +// { +// obj = new GPARAM.Param(value3, null, type); +// } +// else +// { +// string Value4 = selectNode3.Attribute("name2")!.Value; +// obj = new GPARAM.Param(value3, Value4, type); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// obj.TimeOfDay = new List(); +// } +// +// foreach (XElement selectNode4 in selectNode3.Elements("value")) +// { +// obj.ValueIDs.Add(int.Parse(selectNode4.Attribute("id")!.Value)); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// obj.TimeOfDay.Add(float.Parse(selectNode4.Attribute("timeOfDay")!.Value)); +// switch (obj.Type) +// { +// case GPARAM.ParamType.Byte: +// obj.Values.Add(byte.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.Short: +// obj.Values.Add(short.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.IntA: +// obj.Values.Add(int.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.BoolA: +// obj.Values.Add(bool.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.IntB: +// obj.Values.Add(int.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.Float: +// obj.Values.Add(float.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.BoolB: +// obj.Values.Add(bool.Parse(selectNode4.Value)); +// continue; +// case GPARAM.ParamType.Float2: +// float[] array1 = selectNode4.Value.Split(' ') +// .Select((Func)(f => float.Parse(f))).ToArray(); +// obj.Values.Add(new Vector2(array1[0], array1[1])); +// continue; +// case GPARAM.ParamType.Float3: +// float[] array2 = selectNode4.Value.Split(' ') +// .Select((Func)(f => float.Parse(f))).ToArray(); +// obj.Values.Add(new Vector3(array2[0], array2[1], array2[1])); +// continue; +// case GPARAM.ParamType.Float4: +// float[] array3 = selectNode4.Value.Split(' ') +// .Select((Func)(f => float.Parse(f))).ToArray(); +// obj.Values.Add(new Vector4(array3[0], array3[1], array3[2], array3[3])); +// continue; +// case GPARAM.ParamType.Byte4: +// byte[] array4 = selectNode4.Value.Split(' ') +// .Select((Func)(b => byte.Parse(b, NumberStyles.AllowHexSpecifier))) +// .ToArray(); +// obj.Values.Add(array4); +// continue; +// default: +// continue; +// } +// } +// +// group.Params.Add(obj); +// } +// +// gparam.Groups.Add(group); +// } +// +// foreach (XElement selectNode5 in xml.Element("unk3s")!.Elements("unk3")) +// { +// GPARAM.Unk3 unk3 = new GPARAM.Unk3(int.Parse(selectNode5.Attribute("group_index")!.Value)); +// if (gparam.Version == GPARAM.GparamVersion.V5) +// unk3.Unk0C = int.Parse(selectNode5.Attribute("unk0C")!.Value); +// foreach (XElement selectNode6 in selectNode5.Elements("value_id")) +// unk3.ValueIDs.Add(int.Parse(selectNode6.Value)); +// gparam.Unk3s.Add(unk3); +// } +// +// gparam.UnkBlock2 = xml.Element("unk_block_2")!.Value.Split(new char[1] +// { +// ' ' +// }, StringSplitOptions.RemoveEmptyEntries).Select((Func)(s => Convert.ToByte(s, 16))).ToArray(); +// +// string path = GetRepackDestPath(srcPath, xml); +// if (File.Exists(path)) +// Backup(path); +// gparam.Write(path); +// } +// } \ No newline at end of file diff --git a/WitchyBND/Parsers/XML/WLUAGNL.cs b/WitchyBND/Parsers/XML/WLUAGNL.cs index d6553ed2..d920a298 100644 --- a/WitchyBND/Parsers/XML/WLUAGNL.cs +++ b/WitchyBND/Parsers/XML/WLUAGNL.cs @@ -14,7 +14,7 @@ public class WLUAGNL : WXMLParser public override bool Is(string path, byte[]? data, out ISoulsFile? file) { file = null; - return Path.GetExtension(path).ToLower() == ".luagnl"; + return OSPath.GetExtension(path).ToLower() == ".luagnl"; } public override bool? IsSimple(string path) diff --git a/WitchyBND/Parsers/XML/WLUAINFO.cs b/WitchyBND/Parsers/XML/WLUAINFO.cs index ef2eee49..64cd414e 100644 --- a/WitchyBND/Parsers/XML/WLUAINFO.cs +++ b/WitchyBND/Parsers/XML/WLUAINFO.cs @@ -18,7 +18,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path); + string filename = OSPath.GetFileName(path); return filename.EndsWith(".luainfo"); } diff --git a/WitchyBND/Parsers/XML/WMQB/WMQB.Unpack.cs b/WitchyBND/Parsers/XML/WMQB/WMQB.Unpack.cs index 39e35bce..ecaabb62 100644 --- a/WitchyBND/Parsers/XML/WMQB/WMQB.Unpack.cs +++ b/WitchyBND/Parsers/XML/WMQB/WMQB.Unpack.cs @@ -13,7 +13,7 @@ public partial class WMQB public override void Unpack(string srcPath, ISoulsFile? file, bool recursive) { var mqb = (file as MQB)!; - var filename = Path.GetFileName(srcPath); + var filename = OSPath.GetFileName(srcPath); var xml = PrepareXmlManifest(srcPath, recursive, true, mqb.Compression, out XDocument xDoc, null); diff --git a/WitchyBND/Parsers/XML/WPARAM/WPARAM.Unpack.cs b/WitchyBND/Parsers/XML/WPARAM/WPARAM.Unpack.cs index 2196ef51..cc0a25ad 100644 --- a/WitchyBND/Parsers/XML/WPARAM/WPARAM.Unpack.cs +++ b/WitchyBND/Parsers/XML/WPARAM/WPARAM.Unpack.cs @@ -33,7 +33,7 @@ public void Unpack(string srcPath, ISoulsFile? file, bool recursive, bool dry, ( var param = (file as FsParam)!; string? paramTypeToParamdef = param.ParamType; - string paramName = Path.GetFileNameWithoutExtension(srcPath); + string paramName = OSPath.GetFileNameWithoutExtension(srcPath); // Fixed cell style for now. CellStyle cellStyle = Configuration.Active.ParamCellStyle; diff --git a/WitchyBND/Parsers/XML/WPARAM/WPARAM.cs b/WitchyBND/Parsers/XML/WPARAM/WPARAM.cs index 4d51da06..ef70e273 100644 --- a/WitchyBND/Parsers/XML/WPARAM/WPARAM.cs +++ b/WitchyBND/Parsers/XML/WPARAM/WPARAM.cs @@ -60,7 +60,7 @@ public override bool Is(string path, byte[]? _, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return filename.EndsWith(".param"); } diff --git a/WitchyBND/Parsers/XML/WTAE/WTAE.File.Repack.cs b/WitchyBND/Parsers/XML/WTAE/WTAE.File.Repack.cs index 5d4a4fec..7fce3f76 100644 --- a/WitchyBND/Parsers/XML/WTAE/WTAE.File.Repack.cs +++ b/WitchyBND/Parsers/XML/WTAE/WTAE.File.Repack.cs @@ -5,6 +5,7 @@ using System.Xml.Linq; using WitchyLib; using SoulsFormats; +using WitchyFormats; namespace WitchyBND.Parsers; @@ -77,6 +78,7 @@ private TAE.Animation RepackAnim(XElement animEl, TAE tae, TAE.Template template var id = long.Parse(animEl.Element("id")!.Value); var headerEl = animEl.Element("header")!; var headerType = Enum.Parse(headerEl.Element("type")!.Value); + var headerIsNull = bool.Parse(headerEl.Element("null")?.Value ?? "False"); TAE.Animation.AnimMiniHeader header; switch (headerType) { @@ -97,22 +99,55 @@ private TAE.Animation RepackAnim(XElement animEl, TAE tae, TAE.Template template throw new ArgumentOutOfRangeException(); } + header.IsNullHeader = headerIsNull; + var anim = new TAE.Animation(id, header, animName); anim.Events = new(); anim.EventGroups = new(); + foreach (XElement evEl in animEl.Element("events")!.Elements("event")) + { + var evType = int.Parse(evEl.Element("type")!.Value); + var unk04 = int.Parse(evEl.Element("unk04")!.Value); + var startTime = float.Parse(evEl.Element("startTime")!.Value); + var endTime = float.Parse(evEl.Element("endTime")!.Value); + var isUnk = bool.Parse(evEl.Element("isUnk")?.Value ?? "False"); + var hasTemplate = template.Any(t => t.Value.ContainsKey(evType)); + if (!hasTemplate) + errorService.RegisterNotice($"Missing template for TAE event type {evType}."); + if (!isUnk && hasTemplate) + { + var ev = new TAE.Event(startTime, endTime, evType, unk04, tae.BigEndian, template.First(t => t.Value.ContainsKey(evType)).Value[evType]); - foreach (XElement groupEl in animEl.Element("animGroups")!.Elements("animGroup")) + var paramsEl = evEl.Element("params"); + if (paramsEl != null) + { + foreach (XElement paramEl in paramsEl.Elements("param")) + { + var key = paramEl.Attribute("name")!.Value; + var value = paramEl.Attribute("value")!.Value; + + ev.Parameters[key] = ev.Parameters.Template[key].StorageToValue(value); + } + } + anim.Events.Add(ev); + } + else + { + var paramBytes = evEl.Element("unkParams")!.Value.Split(",").Select(s => byte.Parse(s)).ToArray(); + var ev = new TAE.Event(startTime, endTime, evType, unk04, paramBytes, tae.BigEndian); + anim.Events.Add(ev); + } + } + foreach (XElement groupEl in animEl.Element("eventGroups")!.Elements("eventGroup")) { - var type = long.Parse(groupEl.Element("type")!.Value); + var type = int.Parse(groupEl.Element("type")!.Value); var group = new TAE.EventGroup(type); var data = new TAE.EventGroup.EventGroupDataStruct(); data.DataType = Enum.Parse(groupEl.Element("dataType")!.Value); data.Area = sbyte.Parse(groupEl.Element("area")!.Value); data.Block = sbyte.Parse(groupEl.Element("block")!.Value); - data.CutsceneEntityType = - Enum.Parse( - groupEl.Element("cutsceneEntityType")!.Value); + data.CutsceneEntityType = Enum.Parse(groupEl.Element("cutsceneEntityType")!.Value); data.CutsceneEntityIDPart1 = short.Parse(groupEl.Element("cutsceneEntityId1")!.Value); data.CutsceneEntityIDPart2 = short.Parse(groupEl.Element("cutsceneEntityId2")!.Value); @@ -125,39 +160,9 @@ private TAE.Animation RepackAnim(XElement animEl, TAE tae, TAE.Template template { foreach (XElement evEl in eventsEl.Elements("event")) { - var evType = int.Parse(evEl.Element("type")!.Value); - var unk04 = int.Parse(evEl.Element("unk04")!.Value); - var startTime = float.Parse(evEl.Element("startTime")!.Value); - var endTime = float.Parse(evEl.Element("endTime")!.Value); - var isUnk = bool.Parse(evEl.Element("isUnk")?.Value ?? "false"); - if (!isUnk) - { - var ev = new TAE.Event(startTime, endTime, evType, unk04, tae.BigEndian, - template[tae.EventBank][evType]); - ev.Group = group; - - var paramsEl = evEl.Element("params"); - if (paramsEl != null) - { - foreach (XElement paramEl in paramsEl.Elements("param")) - { - var key = paramEl.Attribute("name")!.Value; - var value = paramEl.Attribute("value")!.Value; - - ev.Parameters[key] = ev.Parameters.Template[key].StringToValue(value); - } - } - - anim.Events.Add(ev); - } - else - { - var paramBytes = evEl.Element("unkParams")!.Value.Split(",").Select(s => byte.Parse(s)) - .ToArray(); - var ev = new TAE.Event(startTime, endTime, evType, unk04, paramBytes, tae.BigEndian); - ev.Group = group; - anim.Events.Add(ev); - } + var idx = int.Parse(evEl.Attribute("index")!.Value); + var ev = anim.Events.ElementAt(idx)!; + ev.Group = group; } } } diff --git a/WitchyBND/Parsers/XML/WTAE/WTAE.File.Unpack.cs b/WitchyBND/Parsers/XML/WTAE/WTAE.File.Unpack.cs index b44c38a7..d8c2f1d0 100644 --- a/WitchyBND/Parsers/XML/WTAE/WTAE.File.Unpack.cs +++ b/WitchyBND/Parsers/XML/WTAE/WTAE.File.Unpack.cs @@ -5,6 +5,7 @@ using System.Xml.Linq; using SoulsFormats; using WitchyBND.Services; +using WitchyFormats; using WitchyLib; namespace WitchyBND.Parsers; @@ -20,7 +21,7 @@ public override bool Is(string path, byte[]? data, out ISoulsFile? file) public override bool? IsSimple(string path) { - string filename = Path.GetFileName(path).ToLower(); + string filename = OSPath.GetFileName(path).ToLower(); return !Configuration.Active.TaeFolder && filename.EndsWith(".tae"); } @@ -72,12 +73,14 @@ void Callback(TAE.Animation anim) public XElement UnpackAnim(TAE tae, TAE.Animation anim) { - XElement animEl = new XElement("anim"); - animEl.AddE("id", anim.ID); - animEl.AddE("name", anim.AnimFileName); + XElement root = new XElement("anim"); + root.AddE("id", anim.ID); + root.AddE("name", anim.AnimFileName); var header = new XElement("header"); - animEl.Add(header); + root.Add(header); header.AddE("type", anim.MiniHeader.Type); + if (anim.MiniHeader.IsNullHeader) + header.AddE("null", anim.MiniHeader.IsNullHeader); if (anim.MiniHeader is TAE.Animation.AnimMiniHeader.Standard standard) { header.AddE("allowDelayLoad", standard.AllowDelayLoad); @@ -90,8 +93,33 @@ public XElement UnpackAnim(TAE tae, TAE.Animation anim) header.AddE("animId", import.ImportFromAnimID); } - animEl.AddE("animGroups", anim.EventGroups.Select(group => { - var groupEl = new XElement("animGroup"); + root.AddE("events", anim.Events.Select(ev => { + var eventEl = new XElement("event"); + eventEl.AddE("type", ev.Type); + eventEl.AddE("unk04", ev.Unk04); + eventEl.AddE("startTime", ev.StartTime); + eventEl.AddE("endTime", ev.EndTime); + + if (ev.Parameters != null && ev.Parameters.Template != null) + { + eventEl.AddE("params", ev.Parameters?.Values.Select(p => { + var paramEl = new XElement("param"); + paramEl.SetAttributeValue("name", p.Key); + paramEl.SetAttributeValue("value", ev.Parameters.Template[p.Key].ValueToStorage(p.Value)); + return paramEl; + })); + } + else + { + errorService.RegisterNotice($"Missing template for TAE event type {ev.Type}."); + eventEl.AddE("isUnk", "True"); + eventEl.AddE("unkParams", string.Join(",", ev.GetParameterBytes(tae.BigEndian))); + } + return eventEl; + })); + + root.AddE("eventGroups", anim.EventGroups.Select(group => { + var groupEl = new XElement("eventGroup"); groupEl.AddE("type", group.GroupType); groupEl.AddE("dataType", group.GroupData.DataType); groupEl.AddE("area", group.GroupData.Area); @@ -103,33 +131,15 @@ public XElement UnpackAnim(TAE tae, TAE.Animation anim) if (events.Any()) { groupEl.AddE("events", events.Select(ev => { + var idx = anim.Events.IndexOf(ev); var eventEl = new XElement("event"); - eventEl.AddE("type", ev.Type); - eventEl.AddE("unk04", ev.Unk04); - eventEl.AddE("startTime", ev.StartTime); - eventEl.AddE("endTime", ev.EndTime); - if (tae.AppliedTemplate[tae.EventBank].ContainsKey(ev.Type)) - { - eventEl.AddE("params", ev.Parameters?.Values.Select(p => { - var paramEl = new XElement("param"); - paramEl.SetAttributeValue("name", p.Key); - paramEl.SetAttributeValue("value", p.Value); - return paramEl; - })); - } - else - { - eventEl.AddE("isUnk", true); - eventEl.AddE("unkParams", string.Join(",", ev.GetParameterBytes(tae.BigEndian))); - } - + eventEl.SetAttributeValue("index", idx.ToString()); return eventEl; })); } - return groupEl; })); - return animEl; + return root; } } \ No newline at end of file diff --git a/WitchyBND/ProcessHandling.cs b/WitchyBND/ProcessHandling.cs index b512ed37..30191009 100644 --- a/WitchyBND/ProcessHandling.cs +++ b/WitchyBND/ProcessHandling.cs @@ -13,8 +13,8 @@ public static int RunProcess(string exePath, out string output, out string error { Process process = new Process(); // Configure the process using the StartInfo properties. - process.StartInfo.FileName = Path.GetFullPath(exePath); - process.StartInfo.WorkingDirectory = workingDir ?? Path.GetDirectoryName(exePath)!; + process.StartInfo.FileName = OSPath.GetFullPath(exePath); + process.StartInfo.WorkingDirectory = workingDir ?? OSPath.GetDirectoryName(exePath)!; process.StartInfo.Arguments = args; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardError = true; diff --git a/WitchyBND/Program.cs b/WitchyBND/Program.cs index b6a84790..38ff3a7b 100644 --- a/WitchyBND/Program.cs +++ b/WitchyBND/Program.cs @@ -143,7 +143,7 @@ static int Main(string[] args) if (!string.IsNullOrEmpty(location)) { - location = Path.GetFullPath(location); + location = OSPath.GetFullPath(location); if (!Directory.Exists(location)) { @@ -167,7 +167,7 @@ static int Main(string[] args) Stopwatch watch = new Stopwatch(); watch.Start(); - Oodle.GrabOodle(message => _output.WriteLine(message), false, true); + Oodle.GrabOodle(_ => { }, false, true); ParseMode.CliParseMode(opt); watch.Stop(); @@ -261,7 +261,6 @@ private static void PrintConfiguration(CliMode mode) { { "Selected mode", (mode.ToString(), null) }, { "Specialized BND handling", (Configuration.Active.Bnd.ToString(), Configuration.Default.Bnd.ToString()) }, - { "DCX decompression only", (Configuration.Active.Dcx.ToString(), Configuration.Default.Dcx.ToString()) }, { "Store PARAM field default values", (Configuration.ParamDefaultValues.ToString(), true.ToString()) }, { "Recursive binder processing", (Configuration.Active.Recursive.ToString(), Configuration.Default.Recursive.ToString()) }, { "Parallel processing", (Configuration.Active.Parallel.ToString(), Configuration.Default.Parallel.ToString()) }, @@ -300,7 +299,7 @@ public static void DisplayHelp(ParserResult result = null, IEnumerab public static void DisplayHelp(ParserResult result = null, IEnumerable errors = null) { var assembly = Assembly.GetExecutingAssembly(); - var versionInfo = FileVersionInfo.GetVersionInfo(Path.Combine(AppContext.BaseDirectory, "WitchyBND.exe")); + var versionInfo = FileVersionInfo.GetVersionInfo(OSPath.Combine(AppContext.BaseDirectory, "WitchyBND.exe")); var companyName = versionInfo.CompanyName; if (result == null) diff --git a/WitchyBND/Properties/launchSettings.json b/WitchyBND/Properties/launchSettings.json new file mode 100644 index 00000000..1f7ad23b --- /dev/null +++ b/WitchyBND/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "Settings": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "\"$(SolutionDir)/bin/$(Configuration)/$(TargetFramework)/$(RuntimeIdentifier)/WitchyBND.dll\"", + "workingDirectory": "$(SolutionDir)" + } + } +} \ No newline at end of file diff --git a/WitchyBND/SendTo.cs b/WitchyBND/SendTo.cs index 918ea6cf..7d74236e 100644 --- a/WitchyBND/SendTo.cs +++ b/WitchyBND/SendTo.cs @@ -1,34 +1,35 @@ using System; using System.IO; using ShellLink; +using WitchyLib; namespace WitchyBND; public static class SendTo { private static readonly string sendToPath = Environment.GetFolderPath(Environment.SpecialFolder.SendTo); - private static readonly string witchyPath = Path.Combine(AppContext.BaseDirectory, "WitchyBND.exe"); - private static readonly string shortcutPath = Path.Combine(sendToPath, "WitchyBND.lnk"); - private static readonly string shortcutPathRecursive = Path.Combine(sendToPath, "WitchyBND (Recursive).lnk"); - private static readonly string shortcutPathDcx = Path.Combine(sendToPath, "WitchyBND (DCX).lnk"); - private static readonly string shortcutPathTo = Path.Combine(sendToPath, "WitchyBND to....lnk"); - private static readonly string shortcutPathRecursiveTo = Path.Combine(sendToPath, "WitchyBND to... (Recursive).lnk"); - private static readonly string shortcutPathDcxTo = Path.Combine(sendToPath, "WitchyBND to... (DCX).lnk"); + private static readonly string witchyPath = OSPath.Combine(AppContext.BaseDirectory, "WitchyBND.exe"); + private static readonly string shortcutPath = OSPath.Combine(sendToPath, "WitchyBND.lnk"); + private static readonly string shortcutPathRecursive = OSPath.Combine(sendToPath, "WitchyBND (Recursive).lnk"); + private static readonly string shortcutPathDcx = OSPath.Combine(sendToPath, "WitchyBND (DCX).lnk"); + private static readonly string shortcutPathTo = OSPath.Combine(sendToPath, "WitchyBND to....lnk"); + private static readonly string shortcutPathRecursiveTo = OSPath.Combine(sendToPath, "WitchyBND to... (Recursive).lnk"); + private static readonly string shortcutPathDcxTo = OSPath.Combine(sendToPath, "WitchyBND to... (DCX).lnk"); public static void AddSendToShortcuts() { DeleteSendToShortcuts(); - Shortcut.CreateShortcut(witchyPath, "", Path.GetDirectoryName(witchyPath)) + Shortcut.CreateShortcut(witchyPath, "", OSPath.GetDirectoryName(witchyPath)) .WriteToFile(shortcutPath); - Shortcut.CreateShortcut(witchyPath, "--recursive", Path.GetDirectoryName(witchyPath), witchyPath, 0) + Shortcut.CreateShortcut(witchyPath, "--recursive", OSPath.GetDirectoryName(witchyPath), witchyPath, 0) .WriteToFile(shortcutPathRecursive); - Shortcut.CreateShortcut(witchyPath, "--dcx", Path.GetDirectoryName(witchyPath), witchyPath, 0) + Shortcut.CreateShortcut(witchyPath, "--dcx", OSPath.GetDirectoryName(witchyPath), witchyPath, 0) .WriteToFile(shortcutPathDcx); - Shortcut.CreateShortcut(witchyPath, "--location prompt", Path.GetDirectoryName(witchyPath)) + Shortcut.CreateShortcut(witchyPath, "--location prompt", OSPath.GetDirectoryName(witchyPath)) .WriteToFile(shortcutPathTo); - Shortcut.CreateShortcut(witchyPath, "--location prompt --recursive", Path.GetDirectoryName(witchyPath), witchyPath, 0) + Shortcut.CreateShortcut(witchyPath, "--location prompt --recursive", OSPath.GetDirectoryName(witchyPath), witchyPath, 0) .WriteToFile(shortcutPathRecursiveTo); - Shortcut.CreateShortcut(witchyPath, "--location prompt --dcx", Path.GetDirectoryName(witchyPath), witchyPath, 0) + Shortcut.CreateShortcut(witchyPath, "--location prompt --dcx", OSPath.GetDirectoryName(witchyPath), witchyPath, 0) .WriteToFile(shortcutPathDcxTo); } diff --git a/WitchyBND/Services/GameService.cs b/WitchyBND/Services/GameService.cs index e7cc8529..8ecc8322 100644 --- a/WitchyBND/Services/GameService.cs +++ b/WitchyBND/Services/GameService.cs @@ -7,7 +7,6 @@ using System.Runtime.InteropServices; using System.Text.RegularExpressions; using System.Xml.Linq; -using PPlus.Controls; using SoulsFormats; using WitchyBND.Errors; using WitchyBND.Parsers; @@ -105,7 +104,7 @@ public GameService(IErrorService errorService, IOutputService outputService) public void PopulateTentativeAC6Types() { - var tentativeTypePath = Path.Combine(WBUtil.GetParamdexPath(), "AC6", "Defs", "TentativeParamType.csv"); + var tentativeTypePath = OSPath.Combine(WBUtil.GetParamdexPath(), "AC6", "Defs", "TentativeParamType.csv"); if (File.Exists(tentativeTypePath)) { @@ -123,7 +122,7 @@ public void PopulateTentativeAC6Types() WBUtil.GameType? game = null, ulong regVer = 0) { UnpackParamdex(); - string knownPath = File.Exists(path) ? Path.GetDirectoryName(path)! : path; + string knownPath = File.Exists(path) ? OSPath.GetDirectoryName(path)! : path; // Determine what kind of PARAM we're dealing with here if (type == IGameService.GameDeterminationType.PARAM || type == IGameService.GameDeterminationType.PARAMBND) @@ -153,7 +152,7 @@ public void PopulateTentativeAC6Types() } } - knownPath = Path.GetDirectoryName(xmlPath); + knownPath = OSPath.GetDirectoryName(xmlPath); } } else @@ -175,7 +174,7 @@ public void PopulateTentativeAC6Types() Regex.Match(s, @"\s*?""GameType"":\s(.*?),")).FirstOrDefault(s => s.Success); var dsmsGameType = Enum.Parse(gameType.Groups[1].Value); game = DsmsGameTypeToWitchyGameType(dsmsGameType); - knownPath = Path.GetDirectoryName(pJsonPath); + knownPath = OSPath.GetDirectoryName(pJsonPath); } catch (Exception e) { @@ -193,7 +192,7 @@ public void PopulateTentativeAC6Types() if (traversePath != null) { game = exeGame; - knownPath = Path.GetDirectoryName(traversePath)!; + knownPath = OSPath.GetDirectoryName(traversePath)!; } } } @@ -215,8 +214,8 @@ public void PopulateTentativeAC6Types() throw new Exception("Could not determine PARAM type."); } - game = select.Value; - knownPath = Path.GetDirectoryName(path); + game = select.Content; + knownPath = OSPath.GetDirectoryName(path); } else { @@ -238,20 +237,20 @@ public void PopulateTentativeAC6Types() ""11001000"" for Elden Ring 1.10.1 Enter 0, or leave it empty, to use the latest available paramdef."); var input = output.Input("Input regulation version") - .AddValidators(PromptValidators.IsTypeULong()) - .ValidateOnDemand() + // .AddValidators(PromptValidators.IsTypeULong()) + // .ValidateOnDemand() .DefaultIfEmpty("0") - .Config(config => { - config.EnabledAbortKey(false); + .Options(o => { + o.EnabledAbortKey(false); }) .Run(); - if (input.IsAborted || input.Value == "0") + if (input.IsAborted || input.Content == "0") { output.WriteError("Defaulting to latest paramdef."); } else { - regVer = Convert.ToUInt64(input.Value); + regVer = Convert.ToUInt64(input.Content); } } else @@ -321,7 +320,7 @@ public void PopulateParamdex(WBUtil.GameType game) throw new DirectoryNotFoundException($"Could not locate Assets{Path.DirectorySeparatorChar}Paramdex folder."); var gameName = game.ToString(); - var paramdefPath = Path.Combine(paramdexPath, gameName, "Defs"); + var paramdefPath = OSPath.Combine(paramdexPath, gameName, "Defs"); if (!Directory.Exists(paramdefPath)) { @@ -390,7 +389,7 @@ public void PopulateNames(WBUtil.GameType game, string paramName) return; var gameName = game.ToString(); - var namePath = Path.Combine(WBUtil.GetParamdexPath($@"{gameName}\Names\{paramName}.txt")); + var namePath = OSPath.Combine(WBUtil.GetParamdexPath(OSPath.Combine(gameName, "Names", $"{paramName}.txt"))); if (!File.Exists(namePath)) { @@ -419,7 +418,7 @@ public void PopulateNames(WBUtil.GameType game, string paramName) } catch (Exception e) { - throw new InvalidDataException($"There was something wrong with the Paramdex names at \"{name}\" in {Path.GetFileNameWithoutExtension(namePath)}", + throw new InvalidDataException($"There was something wrong with the Paramdex names at \"{name}\" in {OSPath.GetFileNameWithoutExtension(namePath)}", e); } } diff --git a/WitchyBND/Services/LinuxOutputService.cs b/WitchyBND/Services/LinuxOutputService.cs deleted file mode 100644 index 1bd818a8..00000000 --- a/WitchyBND/Services/LinuxOutputService.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using PPlus; -using PPlus.Controls; - -namespace WitchyBND.Services; - -public class LinuxOutputService : IOutputService -{ - public object ConsoleWriterLock { get; } - public int WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) - { - throw new NotImplementedException(); - } - - public int WriteError(string? value = null, Style? style = null, bool clearrestofline = true) - { - throw new NotImplementedException(); - } - - public int DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, - Style? style = null) - { - throw new NotImplementedException(); - } - - public IControlSelect Select(string prompt, string? description = null) - { - throw new NotImplementedException(); - } - - public void Clear() - { - throw new NotImplementedException(); - } - - public IDisposable EscapeColorTokens() - { - throw new NotImplementedException(); - } - - public IControlKeyPress Confirm(string prompt, Action config = null) - { - throw new NotImplementedException(); - } - - public int SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, - Style? style = null) - { - throw new NotImplementedException(); - } - - public IControlInput Input(string prompt, Action config = null) - { - throw new NotImplementedException(); - } - - public IControlKeyPress KeyPress() - { - throw new NotImplementedException(); - } - - public IControlKeyPress KeyPress(string prompt, Action config = null) - { - throw new NotImplementedException(); - } - - public ConsoleKeyInfo ReadKey(bool intercept = false) - { - throw new NotImplementedException(); - } -} \ No newline at end of file diff --git a/WitchyBND/Services/OutputService.cs b/WitchyBND/Services/OutputService.cs index f1da17ab..25ad0e07 100644 --- a/WitchyBND/Services/OutputService.cs +++ b/WitchyBND/Services/OutputService.cs @@ -1,7 +1,6 @@ using System; using System.Globalization; -using PPlus; -using PPlus.Controls; +using PromptPlusLibrary; using WitchyLib; namespace WitchyBND.Services; @@ -9,35 +8,35 @@ namespace WitchyBND.Services; public interface IOutputService { public object ConsoleWriterLock { get; } - public int WriteLine( + public void WriteLine( string? value = null, Style? style = null, bool clearrestofline = true); - public int WriteError( + public void WriteError( string? value = null, Style? style = null, bool clearrestofline = true); - public int DoubleDash( + public void DoubleDash( string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null); - public IControlSelect Select(string prompt, string? description = null); + public ISelectControl Select(string prompt, string? description = null); public void Clear(); - public IDisposable EscapeColorTokens(); + // public IDisposable EscapeColorTokens(); - public IControlKeyPress Confirm(string prompt, Action config = null); - public int SingleDash( + public IKeyPressControl Confirm(string prompt, Action config = null); + public void SingleDash( string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null); - public IControlInput Input(string prompt, Action config = null); - public IControlKeyPress KeyPress(); - public IControlKeyPress KeyPress(string prompt, Action config = null); + public IInputControl Input(string prompt, Action config = null); + public IKeyPressControl KeyPress(); + public IKeyPressControl KeyPress(string prompt, Action config = null); public ConsoleKeyInfo ReadKey(bool intercept = false); } public class OutputService : IOutputService @@ -47,114 +46,106 @@ public OutputService() PromptPlus.Config.DefaultCulture = new CultureInfo("en-us"); if (!OperatingSystem.IsWindows()) { - PromptPlus.ResetColor(); + PromptPlus.Console.ResetColor(); } } public object ConsoleWriterLock => new(); - public int WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) { - if (Configuration.Active.Silent) return 0; + if (Configuration.Active.Silent) return; try { - int outCode; lock (ConsoleWriterLock) - outCode = PromptPlus.Write(value + Environment.NewLine, style, clearrestofline); - return outCode; + PromptPlus.Console.Write(value + Environment.NewLine, style, clearrestofline); } catch { - return -1; + // ignored } } - public int WriteError(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteError(string? value = null, Style? style = null, bool clearrestofline = true) { - if (Configuration.Active.Silent) return 0; + if (Configuration.Active.Silent) return; try { - int outCode; lock (ConsoleWriterLock) { - using (PromptPlus.OutputError()) + using (PromptPlus.Console.OutputError()) { - outCode = PromptPlus.Write(value + Environment.NewLine, style, clearrestofline); + PromptPlus.Console.Write(value + Environment.NewLine, style, clearrestofline); } } - - return outCode; } catch { - return -1; + // ignored } } - public int DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - if (Configuration.Active.Silent) return 0; - int outCode; + if (Configuration.Active.Silent) return; lock (ConsoleWriterLock) - outCode = PromptPlus.DoubleDash(value, dashOptions, extralines, style); - return outCode; + PromptPlus.Widgets.DoubleDash(value, dashOptions, extralines, style); } - public IControlSelect Select(string prompt, string? description = null) + public ISelectControl Select(string prompt, string? description = null) { lock (ConsoleWriterLock) - return PromptPlus.Select(prompt, description); + return PromptPlus.Controls.Select(prompt, description); } public void Clear() { if (Configuration.Active.Silent) return; lock (ConsoleWriterLock) - PromptPlus.Clear(); + PromptPlus.Console.Clear(); } - public IDisposable EscapeColorTokens() - { - return PromptPlus.EscapeColorTokens(); - } + // public IDisposable EscapeColorTokens() + // { + // return PromptPlus.Config.EscapeColorTokens(); + // } - public IControlKeyPress Confirm(string prompt, Action config = null) + public IKeyPressControl Confirm(string prompt, Action opt = null) { lock (ConsoleWriterLock) - return PromptPlus.Confirm(prompt, config); + return PromptPlus.Controls.Confirm(prompt).Options(opt); } - public int SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - if (Configuration.Active.Silent) return 0; - int outCode; + if (Configuration.Active.Silent) return; lock (ConsoleWriterLock) - outCode = PromptPlus.SingleDash(value, dashOptions, extralines, style); - return outCode; + PromptPlus.Widgets.SingleDash(value, dashOptions, extralines, style); } - public IControlInput Input(string prompt, Action config = null) + public IInputControl Input(string prompt, Action opt = null) { lock (ConsoleWriterLock) - return PromptPlus.Input(prompt, config); + return PromptPlus.Controls.Input(prompt).Options(opt); } - public IControlKeyPress KeyPress() + public IKeyPressControl KeyPress() { lock (ConsoleWriterLock) - return PromptPlus.KeyPress(); + return PromptPlus.Controls.KeyPress(); } - public IControlKeyPress KeyPress(string prompt, Action config = null) + public IKeyPressControl KeyPress(string prompt, Action? opt = null) { + opt ??= _ => { }; lock (ConsoleWriterLock) - return PromptPlus.KeyPress(prompt, config); + return PromptPlus.Controls.KeyPress(prompt).Options(opt); } public ConsoleKeyInfo ReadKey(bool intercept = false) { lock (ConsoleWriterLock) - return PromptPlus.ReadKey(intercept); + return PromptPlus.Console.ReadKey(intercept); } } \ No newline at end of file diff --git a/WitchyBND/Services/SilentOutputService.cs b/WitchyBND/Services/SilentOutputService.cs index 535db970..aeaf04dd 100644 --- a/WitchyBND/Services/SilentOutputService.cs +++ b/WitchyBND/Services/SilentOutputService.cs @@ -1,6 +1,5 @@ using System; -using PPlus; -using PPlus.Controls; +using PromptPlusLibrary; namespace WitchyBND.Services; @@ -8,23 +7,20 @@ public class SilentOutputService : IOutputService { public object ConsoleWriterLock { get; } - public int WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) { - return -1; } - public int WriteError(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteError(string? value = null, Style? style = null, bool clearrestofline = true) { - return -1; } - public int DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - return -1; } - public IControlSelect Select(string prompt, string? description = null) + public ISelectControl Select(string prompt, string? description = null) { throw new NotImplementedException(); } @@ -39,28 +35,27 @@ public IDisposable EscapeColorTokens() throw new NotImplementedException(); } - public IControlKeyPress Confirm(string prompt, Action config = null) + public IKeyPressControl Confirm(string prompt, Action opt = null) { throw new NotImplementedException(); } - public int SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - return -1; } - public IControlInput Input(string prompt, Action config = null) + public IInputControl Input(string prompt, Action opt = null) { throw new NotImplementedException(); } - public IControlKeyPress KeyPress() + public IKeyPressControl KeyPress() { throw new NotImplementedException(); } - public IControlKeyPress KeyPress(string prompt, Action config = null) + public IKeyPressControl KeyPress(string prompt, Action opt = null) { throw new NotImplementedException(); } diff --git a/WitchyBND/Services/UpdateService.cs b/WitchyBND/Services/UpdateService.cs index f1a0ead1..019a796a 100644 --- a/WitchyBND/Services/UpdateService.cs +++ b/WitchyBND/Services/UpdateService.cs @@ -11,7 +11,7 @@ using System.Threading.Tasks; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using PPlus; +using PromptPlusLibrary; using WitchyBND.CliModes; using WitchyLib; @@ -97,10 +97,10 @@ public bool CheckForUpdates(string[] args) while (loop) { var select = output.Select("Select an option") - .Config(c => c.EnabledAbortKey(false)) + .Options(c => c.EnabledAbortKey(false)) .Run(); - switch (select.Value) + switch (select.Content) { case UpdateOptions.Update: if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) @@ -118,7 +118,7 @@ public bool CheckForUpdates(string[] args) { output.WriteLine("Automatic updating is currently only supported for Windows. Please download the new version manually."); var downloadConfirm = output.Confirm("Would you like to go to the download page?").Run(); - if (downloadConfirm.Value.IsYesResponseKey()) + if (downloadConfirm.Content.Value.IsYesResponseKey()) { Process.Start(new ProcessStartInfo { FileName = ReleaseNotesUrl, UseShellExecute = true }); @@ -144,7 +144,7 @@ public bool CheckForUpdates(string[] args) var confirm = output.Confirm( "Are you sure? You will not receive any more update prompts for this version, and be unable to use the auto-updater for it.") .Run(); - if (confirm.Value.IsYesResponseKey()) + if (confirm.Content.Value.IsYesResponseKey()) { Configuration.Stored.LastUpdateCheck = DateTime.UtcNow; Configuration.Stored.SkipUpdateVersion = onlineVersion; @@ -192,7 +192,7 @@ public void PostUpdateActions() if (Configuration.Stored.LastLaunchedVersion < new Version(2, 9, 0, 0)) { var userConfig = WBUtil.GetExeLocation("appsettings.user.json"); - var newConfigPath = Path.Combine(Configuration.AppDataDirectory, "appsettings.user.json"); + var newConfigPath = OSPath.Combine(Configuration.AppDataDirectory, "appsettings.user.json"); if (File.Exists(userConfig)) File.Move(userConfig, newConfigPath, true); } @@ -207,7 +207,7 @@ public void PostUpdateActions() // 2.11.0.1: Fix old PATH if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && Configuration.Stored.LastLaunchedVersion < new Version(2, 11, 0, 1)) { - var exePath = Path.GetDirectoryName(AppContext.BaseDirectory)!; + var exePath = OSPath.GetDirectoryName(AppContext.BaseDirectory)!; var name = "PATH"; var scope = EnvironmentVariableTarget.User; var oldValue = Environment.GetEnvironmentVariable(name, scope); @@ -245,19 +245,15 @@ public void UpdateSelf(string[] args, bool dry = false) JObject doc = (JObject)JsonConvert.DeserializeObject(jsonString.Result)!; var version = Version.Parse(String.Concat(doc.Value("tag_name")!.Skip(1))); - var url = doc.Value("assets")!.First(a => a.Value("browser_download_url")!.EndsWith(".zip")) + var url = doc.Value("assets")!.First(a => { + var url = a.Value("browser_download_url")!.ToLower(); + return url.EndsWith(".zip") && url.Contains("win-x64"); + }) .Value("browser_download_url")!; return (version, url); } - Version getLocalVersion() - { - var exePath = WBUtil.GetExeLocation("WitchyBND.exe"); - var exe = FileVersionInfo.GetVersionInfo(exePath); - return Version.Parse(exe.FileVersion!); - } - void unregisterShell() { output.WriteLine("Unregistering WitchyBND context menu (this may take a moment)..."); @@ -349,9 +345,9 @@ async Task downloadLatest(Version onlineVersion, string downloadUrl) } await using Stream? data = e.Open(); - var filePath = Path.Combine(WBUtil.GetExeLocation(), + var filePath = OSPath.Combine(WBUtil.GetExeLocation(), e.FullName.Replace('/', Path.DirectorySeparatorChar)); - var fileDir = Path.GetDirectoryName(filePath)!; + var fileDir = OSPath.GetDirectoryName(filePath)!; if (File.Exists(filePath)) throw new Exception($"File {filePath} already exists and was not removed properly."); @@ -415,9 +411,9 @@ async Task downloadLatest(Version onlineVersion, string downloadUrl) var contextMenuQuery = output.Confirm( @"Would you like to enable Windows context menu integration? You'll be able to perform common WitchyBND operations by right-clicking on files and folders.") - .Config(c => c.EnabledAbortKey(false)) + .Options(c => c.EnabledAbortKey(false)) .Run(); - if (contextMenuQuery.Value.IsYesResponseKey()) + if (contextMenuQuery.Content.Value.IsYesResponseKey()) { IntegrationMode.RegisterContext(); output.WriteLine("Windows integration enabled."); diff --git a/WitchyBND/WitchyBND.csproj b/WitchyBND/WitchyBND.csproj index 52f4213b..155aaaee 100644 --- a/WitchyBND/WitchyBND.csproj +++ b/WitchyBND/WitchyBND.csproj @@ -1,14 +1,13 @@  - net8.0 + net10.0 x64 - win-x64 + win-x64;linux-x64 Exe true false WitchyBND WitchyBND - ..\bin\publish enable True true @@ -17,7 +16,17 @@ true true true + false + + + ..\bin\publish\win-x64 + + + + ..\bin\publish\linux-x64 + + ..\bin\Debug\ @@ -37,7 +46,6 @@ - @@ -47,6 +55,7 @@ + @@ -76,30 +85,37 @@ - - + + + + + + + - - - - + + + + + + + + - - - - + + - + diff --git a/WitchyBND/packages.linux-x64.lock.json b/WitchyBND/packages.linux-x64.lock.json new file mode 100644 index 00000000..b569c592 --- /dev/null +++ b/WitchyBND/packages.linux-x64.lock.json @@ -0,0 +1,241 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "CommandLineParser": { + "type": "Direct", + "requested": "[2.9.1, )", + "resolved": "2.9.1", + "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Direct", + "requested": "[8.0.0-preview.7.23375.6, )", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "8YjROL/QyuNg3++VJ/jCewanY16dW9uCWT3Coick0gPEnyO8yguGxqQ3Dr6cXb0leYMxT0WFJp9Fm3CyOkmAxA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[8.0.0-preview.7.23375.6, )", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "5QUIOCfDDXiJyp2u1u0e4ri8F8Lw9K3ZdIriMOhGFGhg6nxyZDDdD07ddcmSHtxlj2SNI29SQ/33uUWfaE8fsg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + } + }, + "Microsoft.NET.ILLink.Tasks": { + "type": "Direct", + "requested": "[10.0.1, )", + "resolved": "10.0.1", + "contentHash": "ISahzLHsHY7vrwqr2p1YWZ+gsxoBRtH7gWRDK8fDUst9pp2He0GiesaqEfeX0V8QMCJM3eNEHGGpnIcPjFo2NQ==" + }, + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "securifybv.ShellLink": { + "type": "Direct", + "requested": "[0.1.0, )", + "resolved": "0.1.0", + "contentHash": "VjJ8rJi6+yVla8DG1XRthwVneZq2Iojhf0KXwEKqJ+bIgbFTCIMpq33i0/HvPJSS1TdmaoGEnPHmjwP2ibenaA==", + "dependencies": { + "securifybv.PropertyStore": "0.1.0" + } + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "EastAsianWidthDotNet": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "IBOUkqIQb2VOaLzB6ljWaAqAyW8N1f2cZH34Em1lTfitGYUP18QjedzbW+/v9Gb8YqNTQ6rhL7rBsBi3mZyc1A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "bOysJh+1kLNCpKpJYm28jNVbydpdh7ORLGEkNd9HGV1aEmXve60T65leVsXAUCgByPZObElKsnhnL67jVWBORQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" + }, + "Microsoft.Extensions.Diagnostics.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "yeQKItAqoHvCdgE5IIVBiWPnJIWQ7B5dOhmfZ6or+kmDJcdNOWQT45PTzizIBQ2dKT2cB6BaAIK+6jAmMyUU5w==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "DTnRifpgJYjjxGgpTBsfJDK82Cq5algQHOQnd4f7R7R4bMeYcdjyaqd3NAKXn4RU47CfNqB9/dIZS8OlHVgckQ==" + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "securifybv.PropertyStore": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "N7oMyWl3RCbSi8SFK3vVtBpJD3OompLGZOwO2VQpyw6d8Qk8HTxCSuQzeSB4QzUWewQvMoQu5Qr5QgDQ1z5/5g==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "soulsoodlelib": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "SoulsFormats": "[3.0.0, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + }, + "witchylib": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )", + "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", + "Newtonsoft.Json": "[13.0.3, )", + "PromptPlus": "[5.0.1, )", + "WitchyFormats": "[3.0.0, )" + } + } + }, + "net10.0/linux-x64": { + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + } + } +} \ No newline at end of file diff --git a/WitchyBND/packages.lock.json b/WitchyBND/packages.lock.json index d9eaf37b..db6efd73 100644 --- a/WitchyBND/packages.lock.json +++ b/WitchyBND/packages.lock.json @@ -1,19 +1,13 @@ { "version": 1, "dependencies": { - "net8.0": { + "net10.0": { "CommandLineParser": { "type": "Direct", "requested": "[2.9.1, )", "resolved": "2.9.1", "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" }, - "Microsoft.CSharp": { - "type": "Direct", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" - }, "Microsoft.Extensions.Configuration.Binder": { "type": "Direct", "requested": "[8.0.0-preview.7.23375.6, )", @@ -32,8 +26,7 @@ "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", - "System.Text.Json": "8.0.0-preview.7.23375.6" + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" } }, "Microsoft.Extensions.DependencyInjection": { @@ -60,9 +53,9 @@ }, "Microsoft.NET.ILLink.Tasks": { "type": "Direct", - "requested": "[8.0.19, )", - "resolved": "8.0.19", - "contentHash": "IhHf+zeZiaE5EXRyxILd4qM+Hj9cxV3sa8MpzZgeEhpvaG3a1VEGF6UCaPFLO44Kua3JkLKluE0SWVamS50PlA==" + "requested": "[10.0.1, )", + "resolved": "10.0.1", + "contentHash": "ISahzLHsHY7vrwqr2p1YWZ+gsxoBRtH7gWRDK8fDUst9pp2He0GiesaqEfeX0V8QMCJM3eNEHGGpnIcPjFo2NQ==" }, "NativeFileDialogSharp": { "type": "Direct", @@ -134,8 +127,7 @@ "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" + "Microsoft.Extensions.Options": "8.0.0" } }, "Microsoft.Extensions.FileProviders.Abstractions": { @@ -183,126 +175,32 @@ "resolved": "8.0.0", "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, "Newtonsoft.Json": { "type": "Transitive", "resolved": "13.0.3", "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, - "PromptPlus": { - "type": "Transitive", - "resolved": "4.2.0", - "contentHash": "Won6lYBsdKarWafpfMjd81MlI7WPnW8cDQ7ODY5RBqlOaQ2vrHEOc22BMOEHHwJDm777DNLvcTN4Dy22fBrbBQ==", - "dependencies": { - "EastAsianWidthDotNet": "1.0.1", - "System.ComponentModel.Annotations": "5.0.0", - "System.IO": "4.3.0", - "System.Text.Json": "7.0.3" - } - }, "securifybv.PropertyStore": { "type": "Transitive", "resolved": "0.1.0", "contentHash": "N7oMyWl3RCbSi8SFK3vVtBpJD3OompLGZOwO2VQpyw6d8Qk8HTxCSuQzeSB4QzUWewQvMoQu5Qr5QgDQ1z5/5g==" }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==" - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0-preview.7.23375.6", - "contentHash": "vCdCGFDzYkDfcnNd5ck7ngX9IUhXoMkfUlLWWw0BWBs/6LOF596LtkoG15pGxLS4s/HuTHsyrQ6USZSZa8blNA==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0-preview.7.23375.6", - "contentHash": "xsCKwwq+cK/VwE61P1vr9yZh0p5LEQ+hG1MGKzpheA1gJgSKIQ6ArNp9nIYwoDX5WR+ichovXq117O0wHAZNLA==", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0-preview.7.23375.6" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.ValueTuple": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" - }, "ZstdNet": { "type": "Transitive", "resolved": "1.4.5", "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, "soulsformats": { "type": "Project", "dependencies": { "BouncyCastle.Cryptography": "[2.4.0, )", "DrSwizzler": "[1.1.1, )", - "System.Text.Encoding.CodePages": "[4.7.0, )", - "System.ValueTuple": "[4.5.0, )", "ZstdNet": "[1.4.5, )" } }, @@ -323,110 +221,28 @@ "witchylib": { "type": "Project", "dependencies": { - "Microsoft.CSharp": "[4.7.0, )", + "EastAsianWidthDotNet": "[1.0.1, )", "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", "Newtonsoft.Json": "[13.0.3, )", - "PromptPlus": "[4.2.0, )", + "PromptPlus": "[5.0.1, )", "WitchyFormats": "[2.17.0, )" } } }, - "net8.0/win-x64": { + "net10.0/linux-x64": { + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + }, + "net10.0/win-x64": { "NativeFileDialogSharp": { "type": "Direct", "requested": "[0.6.0-alpha, )", "resolved": "0.6.0-alpha", "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" - }, - "runtime.any.System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "SDZ5AD1DtyRoxYtEcqQ3HDlcrorMYXZeCt7ZhG9US9I5Vva+gpIWDGMkcwa5XiKL0ceQKRZIX2x0XEjLX7PDzQ==" - }, - "runtime.any.System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "fRS7zJgaG9NkifaAxGGclDDoRn9HC7hXACl52Or06a/fxdzDajWb5wov3c6a+gVSlekRoexfjwQSK9sh5um5LQ==", - "dependencies": { - "System.Private.Uri": "4.3.0" - } - }, - "runtime.any.System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "+ihI5VaXFCMVPJNstG4O4eo1CfbrByLxRrQQTqOTp1ttK0kUKDqOdBSTaCB2IBk/QtjDrs6+x4xuezyMXdm0HQ==" - }, - "runtime.any.System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OhBAVBQG5kFj1S+hCEQ3TUHBAEtZ3fbEMgZMRNdN8A0Pj4x+5nTELEqL59DU0TjKVE6II3dqKw4Dklb3szT65w==" - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.any.System.IO": "4.3.0" - } - }, - "System.Private.Uri": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "I4SwANiUGho1esj4V4oSlPllXjzCZDE+5XXso2P03LW2vOda2Enzh8DWOxwN6hnrJyp314c7KuVu31QYhRzOGg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "runtime.any.System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "runtime.any.System.Text.Encoding": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0-preview.7.23375.6", - "contentHash": "vCdCGFDzYkDfcnNd5ck7ngX9IUhXoMkfUlLWWw0BWBs/6LOF596LtkoG15pGxLS4s/HuTHsyrQ6USZSZa8blNA==" - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "runtime.any.System.Threading.Tasks": "4.3.0" - } } } } diff --git a/WitchyBND/packages.win-x64.lock.json b/WitchyBND/packages.win-x64.lock.json new file mode 100644 index 00000000..477fb899 --- /dev/null +++ b/WitchyBND/packages.win-x64.lock.json @@ -0,0 +1,241 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "CommandLineParser": { + "type": "Direct", + "requested": "[2.9.1, )", + "resolved": "2.9.1", + "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Direct", + "requested": "[8.0.0-preview.7.23375.6, )", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "8YjROL/QyuNg3++VJ/jCewanY16dW9uCWT3Coick0gPEnyO8yguGxqQ3Dr6cXb0leYMxT0WFJp9Fm3CyOkmAxA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[8.0.0-preview.7.23375.6, )", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "5QUIOCfDDXiJyp2u1u0e4ri8F8Lw9K3ZdIriMOhGFGhg6nxyZDDdD07ddcmSHtxlj2SNI29SQ/33uUWfaE8fsg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + } + }, + "Microsoft.NET.ILLink.Tasks": { + "type": "Direct", + "requested": "[10.0.1, )", + "resolved": "10.0.1", + "contentHash": "ISahzLHsHY7vrwqr2p1YWZ+gsxoBRtH7gWRDK8fDUst9pp2He0GiesaqEfeX0V8QMCJM3eNEHGGpnIcPjFo2NQ==" + }, + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "securifybv.ShellLink": { + "type": "Direct", + "requested": "[0.1.0, )", + "resolved": "0.1.0", + "contentHash": "VjJ8rJi6+yVla8DG1XRthwVneZq2Iojhf0KXwEKqJ+bIgbFTCIMpq33i0/HvPJSS1TdmaoGEnPHmjwP2ibenaA==", + "dependencies": { + "securifybv.PropertyStore": "0.1.0" + } + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "EastAsianWidthDotNet": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "IBOUkqIQb2VOaLzB6ljWaAqAyW8N1f2cZH34Em1lTfitGYUP18QjedzbW+/v9Gb8YqNTQ6rhL7rBsBi3mZyc1A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "bOysJh+1kLNCpKpJYm28jNVbydpdh7ORLGEkNd9HGV1aEmXve60T65leVsXAUCgByPZObElKsnhnL67jVWBORQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" + }, + "Microsoft.Extensions.Diagnostics.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "yeQKItAqoHvCdgE5IIVBiWPnJIWQ7B5dOhmfZ6or+kmDJcdNOWQT45PTzizIBQ2dKT2cB6BaAIK+6jAmMyUU5w==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "DTnRifpgJYjjxGgpTBsfJDK82Cq5algQHOQnd4f7R7R4bMeYcdjyaqd3NAKXn4RU47CfNqB9/dIZS8OlHVgckQ==" + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "securifybv.PropertyStore": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "N7oMyWl3RCbSi8SFK3vVtBpJD3OompLGZOwO2VQpyw6d8Qk8HTxCSuQzeSB4QzUWewQvMoQu5Qr5QgDQ1z5/5g==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "soulsoodlelib": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "SoulsFormats": "[3.0.0, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + }, + "witchylib": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )", + "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", + "Newtonsoft.Json": "[13.0.3, )", + "PromptPlus": "[5.0.1, )", + "WitchyFormats": "[3.0.0, )" + } + } + }, + "net10.0/win-x64": { + "NativeFileDialogSharp": { + "type": "Direct", + "requested": "[0.6.0-alpha, )", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + } + } +} \ No newline at end of file diff --git a/WitchyFormats/Formats/FormatExtensions.cs b/WitchyFormats/Formats/FormatExtensions.cs new file mode 100644 index 00000000..d86fc759 --- /dev/null +++ b/WitchyFormats/Formats/FormatExtensions.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using SoulsFormats; +namespace WitchyFormats; + +public static class FormatExtensions +{ + /// + /// Converts a value to a string based on this ParameterTemplate's type. + /// + public static string ValueToStorage(this TAE.Template.ParameterTemplate template, object val) + { + if (template.EnumEntries != null) + { + if (template.EnumEntries.Values.Contains(val)) + { + return val.ToString(); + } + } + + switch (template.Type) + { + case TAE.Template.ParamType.aob: return string.Join(" ", ((byte[])val).Select(b => b.ToString("X2"))); + case TAE.Template.ParamType.x8: return ((byte)val).ToString("X2"); + case TAE.Template.ParamType.x16: return ((ushort)val).ToString("X4"); + case TAE.Template.ParamType.x32: return ((uint)val).ToString("X8"); + case TAE.Template.ParamType.x64: return ((ulong)val).ToString("X16"); + case TAE.Template.ParamType.b: return ((bool)val) ? "True" : "False"; + case TAE.Template.ParamType.f32grad: + return $"{((System.Numerics.Vector2)val).X}|{((System.Numerics.Vector2)val).Y}"; + default: return val.ToString(); + } + } + + /// + /// Converts a string to a value based on this ParameterTemplate's type. + /// + public static object StorageToValue(this TAE.Template.ParameterTemplate template, string str) + { + if (str == null) + return null; + + IEnumerable GetArrayFromSingleLineString(string s) + { + return s.Split(' ') + .Where(st => !string.IsNullOrWhiteSpace(st)) + .Select(st => st.Trim()); + } + + List GetArrayFromString(string s) + { + List result = new List(); + var lines = s.Split('\n'); + foreach (var l in lines) + result.AddRange(GetArrayFromSingleLineString(l.Replace("\r", "").Replace("\n", "").Replace("\t", ""))); + return result; + } + + switch (template.Type) + { + case TAE.Template.ParamType.aob: + return GetArrayFromString(str).Select(b => byte.Parse(b, System.Globalization.NumberStyles.HexNumber)) + .ToArray(); + case TAE.Template.ParamType.u8: return byte.Parse(str); + case TAE.Template.ParamType.x8: return byte.Parse(str, System.Globalization.NumberStyles.HexNumber); + case TAE.Template.ParamType.s8: return sbyte.Parse(str); + case TAE.Template.ParamType.u16: return ushort.Parse(str); + case TAE.Template.ParamType.x16: return ushort.Parse(str, System.Globalization.NumberStyles.HexNumber); + case TAE.Template.ParamType.s16: return short.Parse(str); + case TAE.Template.ParamType.u32: return uint.Parse(str); + case TAE.Template.ParamType.x32: return uint.Parse(str, System.Globalization.NumberStyles.HexNumber); + case TAE.Template.ParamType.s32: return int.Parse(str); + case TAE.Template.ParamType.u64: return ulong.Parse(str); + case TAE.Template.ParamType.x64: return ulong.Parse(str, System.Globalization.NumberStyles.HexNumber); + case TAE.Template.ParamType.s64: return long.Parse(str); + case TAE.Template.ParamType.f32: return float.Parse(str); + case TAE.Template.ParamType.f32grad: + var floatSplit = str.Split('|'); + float gradStart = float.Parse(floatSplit[0]); + float gradEnd = float.Parse(floatSplit[1]); + return new System.Numerics.Vector2(gradStart, gradEnd); + case TAE.Template.ParamType.f64: return double.Parse(str); + case TAE.Template.ParamType.b: + string toLower = str.ToLower().Trim(); + if (toLower == "true") + return true; + else if (toLower == "false") + return false; + else + throw new FormatException("Boolean value must be either 'True' or 'False', case-insensitive."); + default: throw new Exception($"Invalid ParamTemplate ParamType: {template.Type.ToString()}"); + } + } +} \ No newline at end of file diff --git a/WitchyFormats/WitchyFormats.csproj b/WitchyFormats/WitchyFormats.csproj index 45164e3f..922d0da3 100644 --- a/WitchyFormats/WitchyFormats.csproj +++ b/WitchyFormats/WitchyFormats.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 true false WitchyFormats diff --git a/WitchyFormats/packages.linux-x64.lock.json b/WitchyFormats/packages.linux-x64.lock.json new file mode 100644 index 00000000..0dbcab0c --- /dev/null +++ b/WitchyFormats/packages.linux-x64.lock.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + } + }, + "net10.0/linux-x64": {} + } +} \ No newline at end of file diff --git a/WitchyFormats/packages.lock.json b/WitchyFormats/packages.lock.json index d8dfa697..2c6553ba 100644 --- a/WitchyFormats/packages.lock.json +++ b/WitchyFormats/packages.lock.json @@ -1,7 +1,7 @@ { "version": 1, "dependencies": { - "net8.0": { + "net10.0": { "BouncyCastle.Cryptography": { "type": "Transitive", "resolved": "2.4.0", @@ -12,18 +12,10 @@ "resolved": "1.1.1", "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==" - }, "System.Text.Encoding.CodePages": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" }, "System.ValueTuple": { "type": "Transitive", @@ -40,7 +32,7 @@ "dependencies": { "BouncyCastle.Cryptography": "[2.4.0, )", "DrSwizzler": "[1.1.1, )", - "System.Text.Encoding.CodePages": "[4.7.0, )", + "System.Text.Encoding.CodePages": "[8.0.0, )", "System.ValueTuple": "[4.5.0, )", "ZstdNet": "[1.4.5, )" } diff --git a/WitchyFormats/packages.win-x64.lock.json b/WitchyFormats/packages.win-x64.lock.json new file mode 100644 index 00000000..fa5c0104 --- /dev/null +++ b/WitchyFormats/packages.win-x64.lock.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + } + }, + "net10.0/win-x64": {} + } +} \ No newline at end of file diff --git a/WitchyLib/CrossPlatform.cs b/WitchyLib/CrossPlatform.cs new file mode 100644 index 00000000..e42189a3 --- /dev/null +++ b/WitchyLib/CrossPlatform.cs @@ -0,0 +1,1088 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml.Linq; +using Microsoft.Extensions.FileSystemGlobbing; + +namespace WitchyLib; + +public static class BndPath +{ + + private static readonly Regex DriveRx = new Regex(@"^(\w\:\\)(.+)$"); + private static readonly Regex TraversalRx = new Regex(@"^([(..)\\\/]+)(.+)?$"); + private static readonly Regex SlashRx = new Regex(@"^(\\+)(.+)$"); + + public static string Combine(params string[] paths) + { + ArgumentNullException.ThrowIfNull(paths); + return Combine((ReadOnlySpan)paths); + } + + /// + /// Combines a span of strings into a path. + /// + /// A span of parts of the path. + /// The combined paths. + public static string Combine(params ReadOnlySpan paths) + { + int maxSize = 0; + int firstComponent = 0; + + // We have two passes, the first calculates how large a buffer to allocate and does some precondition + // checks on the paths passed in. The second actually does the combination. + + for (int i = 0; i < paths.Length; i++) + { + ArgumentNullException.ThrowIfNull(paths[i], nameof(paths)); + + if (paths[i].Length == 0) + { + continue; + } + + if (IsPathRooted(paths[i])) + { + firstComponent = i; + maxSize = paths[i].Length; + } + else + { + maxSize += paths[i].Length; + } + + char ch = paths[i][^1]; + if (!IsDirectorySeparator(ch)) + maxSize++; + } + + var builder = new StringBuilder(); // MaxShortPath on Windows + builder.EnsureCapacity(maxSize); + + for (int i = firstComponent; i < paths.Length; i++) + { + if (paths[i].Length == 0) + { + continue; + } + + if (builder.Length == 0) + { + builder.Append(paths[i]); + } + else + { + char ch = builder[^1]; + if (!IsDirectorySeparator(ch)) + { + builder.Append('\\'); + } + + builder.Append(paths[i]); + } + } + + return builder.ToString(); + } + + [return: NotNullIfNotNull(nameof(path))] + public static string? GetFileName(string? path) + { + if (path == null) + return null; + + ReadOnlySpan result = GetFileName(path.AsSpan()); + if (path.Length == result.Length) + return path; + + return result.ToString(); + } + + internal static bool IsDirectorySeparator(char c) + { + return c == '\\'; + } + + /// + /// Normalize separators in the given path. Compresses forward slash runs. + /// + [return: NotNullIfNotNull(nameof(path))] + internal static string? NormalizeDirectorySeparators(string? path) + { + if (string.IsNullOrEmpty(path)) + return path; + + // Make a pass to see if we need to normalize so we can potentially skip allocating + bool normalized = true; + + for (int i = 0; i < path.Length; i++) + { + if (IsDirectorySeparator(path[i]) + && (i + 1 < path.Length && IsDirectorySeparator(path[i + 1]))) + { + normalized = false; + break; + } + } + + if (normalized) + return path; + + StringBuilder builder = new StringBuilder(path.Length); + + for (int i = 0; i < path.Length; i++) + { + char current = path[i]; + + // Skip if we have another separator following + if (IsDirectorySeparator(current) + && (i + 1 < path.Length && IsDirectorySeparator(path[i + 1]))) + continue; + + builder.Append(current); + } + + return builder.ToString(); + } + + /// + /// Returns the directory portion of a file path. This method effectively + /// removes the last segment of the given file path, i.e. it returns a + /// string consisting of all characters up to but not including the last + /// backslash ("\") in the file path. The returned value is null if the + /// specified path is null, empty, or a root (such as "\", "C:", or + /// "\\server\share"). + /// + /// + /// Directory separators are normalized in the returned string. + /// + public static string? GetDirectoryName(string? path) + { + if (path == null || IsEffectivelyEmpty(path.AsSpan())) + return null; + + int end = GetDirectoryNameOffset(path.AsSpan()); + return end >= 0 ? NormalizeDirectorySeparators(path.Substring(0, end)) : null; + } + + /// + /// Returns the directory portion of a file path. The returned value is empty + /// if the specified path is null, empty, or a root (such as "\", "C:", or + /// "\\server\share"). + /// + /// + /// Unlike the string overload, this method will not normalize directory separators. + /// + public static ReadOnlySpan GetDirectoryName(ReadOnlySpan path) + { + if (IsEffectivelyEmpty(path)) + return ReadOnlySpan.Empty; + + int end = GetDirectoryNameOffset(path); + return end >= 0 ? path.Slice(0, end) : ReadOnlySpan.Empty; + } + + internal static int GetRootLength(ReadOnlySpan path) + { + return path.Length > 0 && IsDirectorySeparator(path[0]) ? 1 : 0; + } + + internal static int GetDirectoryNameOffset(ReadOnlySpan path) + { + int rootLength = GetRootLength(path); + int end = path.Length; + if (end <= rootLength) + return -1; + + while (end > rootLength && !IsDirectorySeparator(path[--end])) ; + + // Trim off any remaining separators (to deal with C:\foo\\bar) + while (end > rootLength && IsDirectorySeparator(path[end - 1])) + end--; + + return end; + } + + /// + /// Returns true if the path is effectively empty for the current OS. + /// For unix, this is empty or null. For Windows, this is empty, null, or + /// just spaces ((char)32). + /// + internal static bool IsEffectivelyEmpty(string? path) + { + return string.IsNullOrEmpty(path); + } + + internal static bool IsEffectivelyEmpty(ReadOnlySpan path) + { + return path.IsEmpty; + } + + /// + /// Returns the path root or null if path is empty or null. + /// + public static string? GetPathRoot(string? path) + { + if (IsEffectivelyEmpty(path)) return null; + return IsPathRooted(path) ? "\\" : string.Empty; + } + + public static bool IsPathRooted(ReadOnlySpan path) + { + return path.StartsWith('\\'); + } + + public static ReadOnlySpan GetPathRoot(ReadOnlySpan path) + { + return IsPathRooted(path) ? "\\".AsSpan() : ReadOnlySpan.Empty; + } + + /// + /// The returned ReadOnlySpan contains the characters of the path that follows the last separator in path. + /// + public static ReadOnlySpan GetFileName(ReadOnlySpan path) + { + int root = GetPathRoot(path).Length; + + // We don't want to cut off "C:\file.txt:stream" (i.e. should be "file.txt:stream") + // but we *do* want "C:Foo" => "Foo". This necessitates checking for the root. + + int i = path.LastIndexOf("\\"); + + return path.Slice(i < root ? root : i + 1); + } + + private static string RemoveLeadingBackslashes(string path) + { + Match slash = SlashRx.Match(path); + if (slash.Success) + { + path = slash.Groups[2].Value; + } + + return path; + } + + /// + /// Removes common network path roots if present. + /// + public static string Unroot(string path, string root) + { + path = path.Substring(root?.Length ?? 0); + + Match drive = DriveRx.Match(path); + + if (drive.Success) + { + path = drive.Groups[2].Value; + } + + if (string.IsNullOrWhiteSpace(root)) + return RemoveLeadingBackslashes(path); + + Match traversal = TraversalRx.Match(path); + if (traversal.Success) + { + path = traversal.Groups[2].Value; + } + + if (path.Contains("..\\") || path.Contains("../")) + throw new InvalidDataException( + $"the path {path} contains invalid data, attempting to extract to a different folder."); + return RemoveLeadingBackslashes(path); + } + + /// + /// Finds common path prefix in a list of strings. + /// + public static string FindCommonBndRootPath(IEnumerable paths) + { + string root = ""; + + if (paths.Count() == 0) return root; + + var rootPath = new string( + paths.First().Substring(0, paths.Min(s => s.Length)) + .TakeWhile((c, i) => paths.All(s => s[i] == c)).ToArray()); + + // For safety, truncate this shared string down to the last slash/backslash. + var rootPathIndex = Math.Max(rootPath.LastIndexOf('\\'), rootPath.LastIndexOf('/')); + + if (rootPath != "" && rootPathIndex != -1) + { + root = rootPath.Substring(0, rootPathIndex); + } + + return root; + } + + [return: NotNullIfNotNull(nameof(path))] + public static string? GetFileNameWithoutExtension(string? path) + { + if (path == null) + return null; + + ReadOnlySpan result = GetFileNameWithoutExtension(path.AsSpan()); + if (path.Length == result.Length) + return path; + + return result.ToString(); + } + + /// + /// Returns the characters between the last separator and last (.) in the path. + /// + public static ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path) + { + ReadOnlySpan fileName = GetFileName(path); + int lastPeriod = fileName.LastIndexOf('.'); + return lastPeriod < 0 + ? fileName + : // No extension was found + fileName.Slice(0, lastPeriod); + } + + /// + /// Returns the extension of the given path. The returned value includes the period (".") character of the + /// extension except when you have a terminal period when you get string.Empty, such as ".exe" or ".cpp". + /// The returned value is null if the given path is null or empty if the given path does not include an + /// extension. + /// + [return: NotNullIfNotNull(nameof(path))] + public static string? GetExtension(string? path) + { + if (path == null) + return null; + + return GetExtension(path.AsSpan()).ToString(); + } + + /// + /// Returns the extension of the given path. + /// + /// + /// The returned value is an empty ReadOnlySpan if the given path does not include an extension. + /// + public static ReadOnlySpan GetExtension(ReadOnlySpan path) + { + int length = path.Length; + + for (int i = length - 1; i >= 0; i--) + { + char ch = path[i]; + if (ch == '.') + { + if (i != length - 1) + return path.Slice(i, length - i); + else + return ReadOnlySpan.Empty; + } + + if (IsDirectorySeparator(ch)) + break; + } + + return ReadOnlySpan.Empty; + } + + // Changes the extension of a file path. The path parameter + // specifies a file path, and the extension parameter + // specifies a file extension (with a leading period, such as + // ".exe" or ".cs"). + // + // The function returns a file path with the same root, directory, and base + // name parts as path, but with the file extension changed to + // the specified extension. If path is null, the function + // returns null. If path does not contain a file extension, + // the new file extension is appended to the path. If extension + // is null, any existing extension is removed from path. + [return: NotNullIfNotNull(nameof(path))] + public static string? ChangeExtension(string? path, string? extension) + { + if (path == null) + return null; + + int subLength = path.Length; + if (subLength == 0) + return string.Empty; + + for (int i = path.Length - 1; i >= 0; i--) + { + char ch = path[i]; + + if (ch == '.') + { + subLength = i; + break; + } + + if (IsDirectorySeparator(ch)) + { + break; + } + } + + if (extension == null) + { + return path.Substring(0, subLength); + } + + ReadOnlySpan subpath = path.AsSpan(0, subLength); + return extension.StartsWith('.') ? string.Concat(subpath, extension) : string.Concat(subpath, ".", extension); + } + + /// + /// Gets the count of common characters from the left optionally ignoring case + /// + internal static unsafe int EqualStartingCharacterCount(string? first, string? second, bool ignoreCase) + { + if (string.IsNullOrEmpty(first) || string.IsNullOrEmpty(second)) return 0; + + int commonChars = 0; + + fixed (char* f = first) + fixed (char* s = second) + { + char* l = f; + char* r = s; + char* leftEnd = l + first.Length; + char* rightEnd = r + second.Length; + + while (l != leftEnd && r != rightEnd + && (*l == *r || (ignoreCase && char.ToUpperInvariant(*l) == char.ToUpperInvariant(*r)))) + { + commonChars++; + l++; + r++; + } + } + + return commonChars; + } + + /// + /// Get the common path length from the start of the string. + /// + internal static int GetCommonPathLength(string first, string second, bool ignoreCase) + { + int commonChars = EqualStartingCharacterCount(first, second, ignoreCase: ignoreCase); + + // If nothing matches + if (commonChars == 0) + return commonChars; + + // Or we're a full string and equal length or match to a separator + if (commonChars == first.Length + && (commonChars == second.Length || IsDirectorySeparator(second[commonChars]))) + return commonChars; + + if (commonChars == second.Length && IsDirectorySeparator(first[commonChars])) + return commonChars; + + // It's possible we matched somewhere in the middle of a segment e.g. C:\Foodie and C:\Foobar. + while (commonChars > 0 && !IsDirectorySeparator(first[commonChars - 1])) + commonChars--; + + return commonChars; + } + + /// + /// Create a relative path from one path to another. Paths will be resolved before calculating the difference. + /// Default path comparison for the active platform will be used (OrdinalIgnoreCase for Windows or Mac, Ordinal for Unix). + /// + /// The source path the output should be relative to. This path is always considered to be a directory. + /// The destination path. + /// The relative path or if the paths don't share the same root. + /// Thrown if or is null or an empty string. + public static string GetRelativePath(string relativeTo, string path) + { + return GetRelativePath(relativeTo, path, StringComparison.CurrentCulture); + } + + private static string GetRelativePath(string relativeTo, string path, StringComparison comparisonType) + { + ArgumentNullException.ThrowIfNull(relativeTo); + ArgumentNullException.ThrowIfNull(path); + + if (IsEffectivelyEmpty(relativeTo.AsSpan())) + throw new ArgumentException(nameof(relativeTo)); + if (IsEffectivelyEmpty(path.AsSpan())) + throw new ArgumentException(nameof(path)); + + relativeTo = GetFullPath(relativeTo); + path = GetFullPath(path); + + // Need to check if the roots are different- if they are we need to return the "to" path. + if (!AreRootsEqual(relativeTo, path, comparisonType)) + return path; + + int commonLength = GetCommonPathLength(relativeTo, path, + ignoreCase: comparisonType == StringComparison.OrdinalIgnoreCase); + + // If there is nothing in common they can't share the same root, return the "to" path as is. + if (commonLength == 0) + return path; + + // Trailing separators aren't significant for comparison + int relativeToLength = relativeTo.Length; + if (EndsInDirectorySeparator(relativeTo.AsSpan())) + relativeToLength--; + + bool pathEndsInSeparator = EndsInDirectorySeparator(path.AsSpan()); + int pathLength = path.Length; + if (pathEndsInSeparator) + pathLength--; + + // If we have effectively the same path, return "." + if (relativeToLength == pathLength && commonLength >= relativeToLength) return "."; + + // We have the same root, we need to calculate the difference now using the + // common Length and Segment count past the length. + // + // Some examples: + // + // C:\Foo C:\Bar L3, S1 -> ..\Bar + // C:\Foo C:\Foo\Bar L6, S0 -> Bar + // C:\Foo\Bar C:\Bar\Bar L3, S2 -> ..\..\Bar\Bar + // C:\Foo\Foo C:\Foo\Bar L7, S1 -> ..\Bar + + var sb = new StringBuilder(); + sb.EnsureCapacity(Math.Max(relativeTo.Length, path.Length)); + + // Add parent segments for segments past the common on the "from" path + if (commonLength < relativeToLength) + { + sb.Append(".."); + + for (int i = commonLength + 1; i < relativeToLength; i++) + { + if (IsDirectorySeparator(relativeTo[i])) + { + sb.Append('\\'); + sb.Append(".."); + } + } + } + else if (IsDirectorySeparator(path[commonLength])) + { + // No parent segments and we need to eat the initial separator + // (C:\Foo C:\Foo\Bar case) + commonLength++; + } + + // Now add the rest of the "to" path, adding back the trailing separator + int differenceLength = pathLength - commonLength; + if (pathEndsInSeparator) + differenceLength++; + + if (differenceLength > 0) + { + if (sb.Length > 0) + { + sb.Append('\\'); + } + + sb.Append(path.AsSpan(commonLength, differenceLength)); + } + + return sb.ToString(); + } + + /// + /// Returns true if the path ends in a directory separator. + /// + internal static bool EndsInDirectorySeparator([NotNullWhen(true)] string? path) => + !string.IsNullOrEmpty(path) && IsDirectorySeparator(path[^1]); + + /// + /// Trims one trailing directory separator beyond the root of the path. + /// + internal static ReadOnlySpan TrimEndingDirectorySeparator(ReadOnlySpan path) => + EndsInDirectorySeparator(path) && !IsRoot(path) ? path.Slice(0, path.Length - 1) : path; + + /// + /// Returns true if the path ends in a directory separator. + /// + internal static bool EndsInDirectorySeparator(ReadOnlySpan path) => + path.Length > 0 && IsDirectorySeparator(path[^1]); + + internal static bool IsRoot(ReadOnlySpan path) + => path.Length == GetRootLength(path); + + + // Expands the given path to a fully qualified path. + public static string GetFullPath(string path) + { + ArgumentException.ThrowIfNullOrEmpty(path); + + if (path.Contains('\0')) + throw new ArgumentException(nameof(path)); + + return GetFullPathInternal(path); + } + + public static string GetFullPath(string path, string basePath) + { + ArgumentNullException.ThrowIfNull(path); + ArgumentNullException.ThrowIfNull(basePath); + + if (!IsPathFullyQualified(basePath)) + throw new ArgumentException(nameof(basePath)); + + if (basePath.Contains('\0') || path.Contains('\0')) + throw new ArgumentException("null char in path"); + + if (IsPathFullyQualified(path)) + return GetFullPathInternal(path); + + return GetFullPathInternal(CombineInternal(basePath, path)); + } + + // Gets the full path without argument validation + private static string GetFullPathInternal(string path) + { + // Expand with current directory if necessary + if (!IsPathRooted(path)) + { + path = Combine(WBUtil.GetExecutablePath().ToBndPath(), path); + } + + // We would ideally use realpath to do this, but it resolves symlinks and requires that the file actually exist. + string collapsedString = RemoveRelativeSegments(path, GetRootLength(path)); + + string result = collapsedString.Length == 0 ? "\\" : collapsedString; + + return result; + } + + public static bool IsPathFullyQualified(string path) + { + ArgumentNullException.ThrowIfNull(path); + + return IsPathFullyQualified(path.AsSpan()); + } + + public static bool IsPathFullyQualified(ReadOnlySpan path) + { + return !IsPartiallyQualified(path); + } + + internal static bool IsPartiallyQualified(ReadOnlySpan path) + { + // This is much simpler than Windows where paths can be rooted, but not fully qualified (such as Drive Relative) + // As long as the path is rooted in Unix it doesn't use the current directory and therefore is fully qualified. + return !IsPathRooted(path); + } + + + /// + /// Try to remove relative segments from the given path (without combining with a root). + /// + /// Input path + /// The length of the root of the given path + internal static string RemoveRelativeSegments(string path, int rootLength) + { + var sb = new StringBuilder(); + + if (RemoveRelativeSegments(path.AsSpan(), rootLength, ref sb)) + { + path = sb.ToString(); + } + + return path; + } + + /// + /// Try to remove relative segments from the given path (without combining with a root). + /// + /// Input path + /// The length of the root of the given path + /// String builder that will store the result + /// "true" if the path was modified + internal static bool RemoveRelativeSegments(ReadOnlySpan path, int rootLength, ref StringBuilder sb) + { + bool flippedSeparator = false; + + int skip = rootLength; + // We treat "\.." , "\." and "\\" as a relative segment. We want to collapse the first separator past the root presuming + // the root actually ends in a separator. Otherwise the first segment for RemoveRelativeSegments + // in cases like "\\?\C:\.\" and "\\?\C:\..\", the first segment after the root will be ".\" and "..\" which is not considered as a relative segment and hence not be removed. + if (IsDirectorySeparator(path[skip - 1])) + skip--; + + // Remove "//", "/./", and "/../" from the path by copying each character to the output, + // except the ones we're removing, such that the builder contains the normalized path + // at the end. + if (skip > 0) + { + sb.Append(path.Slice(0, skip)); + } + + for (int i = skip; i < path.Length; i++) + { + char c = path[i]; + + if (IsDirectorySeparator(c) && i + 1 < path.Length) + { + // Skip this character if it's a directory separator and if the next character is, too, + // e.g. "parent//child" => "parent/child" + if (IsDirectorySeparator(path[i + 1])) + { + continue; + } + + // Skip this character and the next if it's referring to the current directory, + // e.g. "parent/./child" => "parent/child" + if ((i + 2 == path.Length || IsDirectorySeparator(path[i + 2])) && + path[i + 1] == '.') + { + i++; + continue; + } + + // Skip this character and the next two if it's referring to the parent directory, + // e.g. "parent/child/../grandchild" => "parent/grandchild" + if (i + 2 < path.Length && + (i + 3 == path.Length || IsDirectorySeparator(path[i + 3])) && + path[i + 1] == '.' && path[i + 2] == '.') + { + // Unwind back to the last slash (and if there isn't one, clear out everything). + int s; + for (s = sb.Length - 1; s >= skip; s--) + { + if (IsDirectorySeparator(sb[s])) + { + sb.Length = (i + 3 >= path.Length && s == skip) + ? s + 1 + : s; // to avoid removing the complete "\tmp\" segment in cases like \\?\C:\tmp\..\, C:\tmp\.. + break; + } + } + + if (s < skip) + { + sb.Length = skip; + } + + i += 2; + continue; + } + } + + sb.Append(c); + } + + // If we haven't changed the source path, return the original + if (!flippedSeparator && sb.Length == path.Length) + { + return false; + } + + // We may have eaten the trailing separator from the root when we started and not replaced it + if (skip != rootLength && sb.Length < rootLength) + { + sb.Append(path[rootLength - 1]); + } + + return true; + } + + /// + /// Returns true if the two paths have the same root + /// + internal static bool AreRootsEqual(string? first, string? second, StringComparison comparisonType) + { + int firstRootLength = GetRootLength(first.AsSpan()); + int secondRootLength = GetRootLength(second.AsSpan()); + + return firstRootLength == secondRootLength + && string.Compare( + strA: first, + indexA: 0, + strB: second, + indexB: 0, + length: firstRootLength, + comparisonType: comparisonType) == 0; + } + + private static string CombineInternal(string first, string second) + { + if (string.IsNullOrEmpty(first)) + return second; + + if (string.IsNullOrEmpty(second)) + return first; + + if (IsPathRooted(second.AsSpan())) + return second; + + return JoinInternal(first.AsSpan(), second.AsSpan()); + } + + private static string JoinInternal(ReadOnlySpan first, ReadOnlySpan second) + { + bool hasSeparator = IsDirectorySeparator(first[^1]) || IsDirectorySeparator(second[0]); + + return hasSeparator ? string.Concat(first, second) : string.Concat(first, "\\", second); + } + + public static string GetFileNameWithoutAnyExtensions(string path) + { + return GetFileName(path).Split(".").First(); + } + + public static string GetFullExtensions(string path) + { + var split = GetFileName(path).Split("."); + if (split.Length > 1) + return "." + string.Join(".", GetFileName(path).Split(".").Skip(1)); + return ""; + } + + public static void WriteSanitizedBinderFilePath(this XElement element, string path, string pathElementName = "path") + { + string dir = Path.GetDirectoryName(path) ?? ""; + string filename = Path.GetFileName(path); + string sanitized = OSPath.SanitizeFilename(path); + + if (filename == sanitized) + { + element.Add(new XElement(pathElementName, path)); + } + else + { + element.Add(new XElement("in" + pathElementName.FirstCharToUpper(), path)); + element.Add(new XElement("out" + pathElementName.FirstCharToUpper(), Path.Combine(dir, sanitized))); + } + } + + public static string GetSanitizedBinderFilePath(this XElement element, string pathElementName = "path", + bool outName = false) + { + if (element.Element(pathElementName) != null) + return element.Element(pathElementName)!.Value; + var otherName = + outName ? "out" + pathElementName.FirstCharToUpper() : "in" + pathElementName.FirstCharToUpper(); + if (element.Element(otherName) != null) + return element.Element(otherName)!.Value; + + throw new InvalidDataException("File element is missing path."); + } +} + +public static class OSPath +{ + public static string Combine(params string[] paths) + { + return Path.Combine(paths); + } + + /// + /// Returns the name and extension parts of the given path. The resulting string contains + /// the characters of path that follow the last separator in path. The resulting string is + /// null if path is null. + /// + [return: NotNullIfNotNull(nameof(path))] + public static string? GetFileName(string? path) + { + return Path.GetFileName(path); + } + + /// + /// The returned ReadOnlySpan contains the characters of the path that follows the last separator in path. + /// + public static ReadOnlySpan GetFileName(ReadOnlySpan path) + { + return Path.GetFileName(path); + } + + /// + /// Returns the directory portion of a file path. This method effectively + /// removes the last segment of the given file path, i.e. it returns a + /// string consisting of all characters up to but not including the last + /// backslash ("\") in the file path. The returned value is null if the + /// specified path is null, empty, or a root (such as "\", "C:", or + /// "\\server\share"). + /// + /// + /// Directory separators are normalized in the returned string. + /// + public static string? GetDirectoryName(string? path) + { + return Path.GetDirectoryName(path); + } + + /// + /// Returns the directory portion of a file path. The returned value is empty + /// if the specified path is null, empty, or a root (such as "\", "C:", or + /// "\\server\share"). + /// + /// + /// Unlike the string overload, this method will not normalize directory separators. + /// + public static ReadOnlySpan GetDirectoryName(ReadOnlySpan path) + { + return Path.GetDirectoryName(path); + } + + // Expands the given path to a fully qualified path. + public static string GetFullPath(string path) + { + return Path.GetFullPath(path); + } + + public static string GetFullPath(string path, string basePath) + { + return Path.GetFullPath(path, basePath); + } + + [return: NotNullIfNotNull(nameof(path))] + public static string? GetFileNameWithoutExtension(string? path) + { + return Path.GetFileNameWithoutExtension(path); + } + + /// + /// Returns the characters between the last separator and last (.) in the path. + /// + public static ReadOnlySpan GetFileNameWithoutExtension(ReadOnlySpan path) + { + return Path.GetFileNameWithoutExtension(path); + } + + /// + /// Returns the extension of the given path. The returned value includes the period (".") character of the + /// extension except when you have a terminal period when you get string.Empty, such as ".exe" or ".cpp". + /// The returned value is null if the given path is null or empty if the given path does not include an + /// extension. + /// + [return: NotNullIfNotNull(nameof(path))] + public static string? GetExtension(string? path) + { + return Path.GetExtension(path); + } + + /// + /// Returns the extension of the given path. + /// + /// + /// The returned value is an empty ReadOnlySpan if the given path does not include an extension. + /// + public static ReadOnlySpan GetExtension(ReadOnlySpan path) + { + return Path.GetExtension(path); + } + + // Changes the extension of a file path. The path parameter + // specifies a file path, and the extension parameter + // specifies a file extension (with a leading period, such as + // ".exe" or ".cs"). + // + // The function returns a file path with the same root, directory, and base + // name parts as path, but with the file extension changed to + // the specified extension. If path is null, the function + // returns null. If path does not contain a file extension, + // the new file extension is appended to the path. If extension + // is null, any existing extension is removed from path. + [return: NotNullIfNotNull(nameof(path))] + public static string? ChangeExtension(string? path, string? extension) + { + return Path.ChangeExtension(path, extension); + } + + + /// + /// Create a relative path from one path to another. Paths will be resolved before calculating the difference. + /// Default path comparison for the active platform will be used (OrdinalIgnoreCase for Windows or Mac, Ordinal for Unix). + /// + /// The source path the output should be relative to. This path is always considered to be a directory. + /// The destination path. + /// The relative path or if the paths don't share the same root. + /// Thrown if or is null or an empty string. + public static string GetRelativePath(string relativeTo, string path) + { + return Path.GetRelativePath(relativeTo, path); + } + + public static string GetFileNameWithoutAnyExtensions(string path) + { + return GetFileName(path).Split(".").First(); + } + + public static string GetFullExtensions(string path) + { + var split = GetFileName(path).Split("."); + if (split.Length > 1) + return "." + string.Join(".", GetFileName(path).Split(".").Skip(1)); + return ""; + } + + public static string SanitizeFilename(string path) + { + return Path.GetInvalidFileNameChars() + .Aggregate(path, (current, c) => current.Replace(c, '_')); + } + + public static List ProcessPathGlobs(List paths) + { + var processedPaths = new List(); + foreach (string path in paths.Select(p => { + try + { + return Path.GetFullPath(p); + } + catch (Exception e) + { + Console.WriteLine($"Invalid path: {p} ({e.Message})"); + return null; + } + }).Where(p => p != null).Cast()) { + if (path.Contains('*')) + { + var matcher = new Matcher(); + var rootParts = path.Split(Path.DirectorySeparatorChar).TakeWhile(part => !part.Contains('*')).ToList(); + var root = string.Join(Path.DirectorySeparatorChar, rootParts); + var rest = path.Substring(root.Length + 1); + + matcher = matcher.AddInclude(rest.Replace(Path.DirectorySeparatorChar, '/')); + + var rootPath = Path.Combine(Environment.CurrentDirectory, root); + if (!Directory.Exists(rootPath)) + { + Console.Error.WriteLine($"Invalid path: {rootPath}"); + continue; + } + var files = Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, root), "*", + SearchOption.AllDirectories); + var fileMatch = matcher.Match(Path.Combine(Environment.CurrentDirectory, root), files); + if (fileMatch.HasMatches) + { + processedPaths.AddRange(fileMatch.Files.Select(m => Path.Combine(root, m.Path)).Where(globFilter).ToList()); + } + + var dirs = Directory.GetDirectories(Path.Combine(Environment.CurrentDirectory, root), "*", + SearchOption.AllDirectories); + var dirMatch = matcher.Match(Path.Combine(Environment.CurrentDirectory, root), dirs); + if (dirMatch.HasMatches) + { + processedPaths.AddRange(dirMatch.Files.Select(m => Path.Combine(root, m.Path)).Where(globFilter).ToList()); + } + } + else + { + processedPaths.Add(path); + } + } + + return processedPaths.Select(path => Path.GetFullPath(path)).ToList(); + + bool globFilter(string path) + { + return !path.EndsWith(".bak"); + } + } +} \ No newline at end of file diff --git a/WitchyLib/CryptographyUtil.cs b/WitchyLib/CryptographyUtil.cs index f4b4aef3..44d746f5 100644 --- a/WitchyLib/CryptographyUtil.cs +++ b/WitchyLib/CryptographyUtil.cs @@ -92,7 +92,7 @@ private static byte[] DecryptAes(Stream inputStream, BufferedBlockCipher cipher, byte[] input = new byte[paddedLength]; byte[] output = new byte[cipher.GetOutputSize(paddedLength)]; - inputStream.Read(input, 0, inputLength); + inputStream.ReadExactly(input, 0, inputLength); int len = cipher.ProcessBytes(input, 0, input.Length, output, 0); cipher.DoFinal(output, len); return output; diff --git a/WitchyLib/Extensions.cs b/WitchyLib/Extensions.cs index 956ca54f..140821aa 100644 --- a/WitchyLib/Extensions.cs +++ b/WitchyLib/Extensions.cs @@ -3,6 +3,7 @@ using System.ComponentModel; using System.Diagnostics; using System.Globalization; +using System.IO; using System.Linq; using System.Linq.Expressions; using System.Reflection; @@ -104,4 +105,20 @@ public static class WitchyExtensions { return null; } +} + +public static class CrossPlatformExtensions +{ + extension(string path) + { + public string ToOSPath() + { + return path.Replace('\\', Path.DirectorySeparatorChar); + } + + public string ToBndPath() + { + return path.Replace(Path.DirectorySeparatorChar, '\\'); + } + } } \ No newline at end of file diff --git a/WitchyLib/HexHelpers.cs b/WitchyLib/HexHelpers.cs index 021fa646..3d4f8044 100644 --- a/WitchyLib/HexHelpers.cs +++ b/WitchyLib/HexHelpers.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using PPlus; namespace WitchyLib; diff --git a/WitchyLib/Shell.cs b/WitchyLib/Shell.cs index 81872e5f..184bc9c8 100644 --- a/WitchyLib/Shell.cs +++ b/WitchyLib/Shell.cs @@ -14,14 +14,11 @@ static Shell() Root = Registry.CurrentUser; } - private static readonly string exePath = Path.GetDirectoryName(AppContext.BaseDirectory)!; + private static readonly string ExePath = Path.GetDirectoryName(AppContext.BaseDirectory)!; const int WmUser = 0x0400; //http://msdn.microsoft.com/en-us/library/windows/desktop/ms644931(v=vs.85).aspx - private static RegistryKey Root; - private static string ClassesKey = @"Software\Classes"; - private static string ProgIdQuick = "WitchyBND.A"; - private static string ProgId = "WitchyBND.B"; - public static readonly string WitchyPath = Path.Combine(exePath, "WitchyBND.exe"); + private static readonly RegistryKey Root; + public static readonly string WitchyPath = Path.Combine(ExePath, "WitchyBND.exe"); private const string ClsidRegistryKey = @"Software\Classes\CLSID"; private const string ClassesRegistryKey = @"Software\Classes"; @@ -32,6 +29,7 @@ static Shell() public static bool ComplexContextMenuIsRegistered(string path = null) { + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); if (path != null) path = $"file:///{path.Replace(Path.DirectorySeparatorChar, '/').TrimEnd('/')}/WitchyBND.Shell.dll"; var probeKey = string.Join(Path.DirectorySeparatorChar, [ClsidRegistryKey, ComplexMenuGuid, "InprocServer32"]); @@ -41,7 +39,8 @@ public static bool ComplexContextMenuIsRegistered(string path = null) public static void RegisterComplexContextMenu() { - var assemblyPath = $"file:///{exePath.Replace(Path.DirectorySeparatorChar, '/').TrimEnd('/')}/WitchyBND.Shell.dll"; + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); + var assemblyPath = $"file:///{ExePath.Replace(Path.DirectorySeparatorChar, '/').TrimEnd('/')}/WitchyBND.Shell.dll"; var runtimeVersion = "v4.0.30319"; var version = "1.0.0.0"; var assemblyFullName = $"WitchyBND.Shell, Version={version}, Culture=neutral, PublicKeyToken=1eff254c75ae9a19"; @@ -115,6 +114,7 @@ public static void RegisterComplexContextMenu() public static void UnregisterComplexContextMenu() { + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); using (RegistryKey key = Root.OpenSubKey(ClassesRegistryKey, true)) { if (key != null) @@ -145,6 +145,7 @@ public static void UnregisterComplexContextMenu() public static void RestartExplorer() { + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); RestartExplorer restartExplorer = new RestartExplorer(); restartExplorer.Execute(() => { }); @@ -156,7 +157,7 @@ public static void AddToPathVariable() var name = "PATH"; var scope = EnvironmentVariableTarget.User; var oldValue = Environment.GetEnvironmentVariable(name, scope); - var newValue = oldValue + $";{exePath}"; + var newValue = oldValue + $";{ExePath}"; Environment.SetEnvironmentVariable(name, newValue, scope); } @@ -165,12 +166,13 @@ public static void RemoveFromPathVariable() var name = "PATH"; var scope = EnvironmentVariableTarget.User; var oldValue = Environment.GetEnvironmentVariable(name, scope); - var newValue = oldValue.Replace($";{exePath}", ""); + var newValue = oldValue.Replace($";{ExePath}", ""); Environment.SetEnvironmentVariable(name, newValue, scope); } private static RegistryKey EnsureSubKey(RegistryKey root, string name) { + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); RegistryKey key = root.OpenSubKey(name, true); if (key != null) return key; @@ -187,6 +189,7 @@ private static RegistryKey EnsureSubKey(RegistryKey root, string name) private static RegistryKey EnsureSubKey(params string[] name) { + if (!OperatingSystem.IsWindows()) throw new PlatformNotSupportedException(); var joinedName = string.Join(Path.DirectorySeparatorChar, name); RegistryKey key = Root.OpenSubKey(joinedName, true); if (key != null) diff --git a/WitchyLib/WBUtil.cs b/WitchyLib/WBUtil.cs index cb46d176..0d83f281 100644 --- a/WitchyLib/WBUtil.cs +++ b/WitchyLib/WBUtil.cs @@ -1,7 +1,6 @@ #nullable enable using System; using System.Collections.Generic; -using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.IO; using System.Linq; @@ -12,12 +11,9 @@ using System.Xml.Linq; using System.Xml.Serialization; using Microsoft.Extensions.FileSystemGlobbing; -using Microsoft.Win32; -using Newtonsoft.Json; -using PPlus; +using PromptPlusLibrary; using SoulsFormats; using SoulsFormats.Cryptography; -using SoulsFormats.Exceptions; namespace WitchyLib; @@ -66,100 +62,6 @@ public static string FirstCharToUpper(this string input) => _ => string.Concat(input[0].ToString().ToUpper(), input.AsSpan(1)) }; - public static string SanitizeFilename(string path) - { - return Path.GetInvalidFileNameChars() - .Aggregate(path, (current, c) => current.Replace(c, '_')); - } - - public static void WriteSanitizedBinderFilePath(this XElement element, string path, string pathElementName = "path") - { - string dir = Path.GetDirectoryName(path) ?? ""; - string filename = Path.GetFileName(path); - string sanitized = SanitizeFilename(path); - - if (filename == sanitized) - { - element.Add(new XElement(pathElementName, path)); - } - else - { - element.Add(new XElement("in" + pathElementName.FirstCharToUpper(), path)); - element.Add(new XElement("out" + pathElementName.FirstCharToUpper(), Path.Combine(dir, sanitized))); - } - } - - public static string GetSanitizedBinderFilePath(this XElement element, string pathElementName = "path", - bool outName = false) - { - if (element.Element(pathElementName) != null) - return element.Element(pathElementName)!.Value; - var otherName = - outName ? "out" + pathElementName.FirstCharToUpper() : "in" + pathElementName.FirstCharToUpper(); - if (element.Element(otherName) != null) - return element.Element(otherName)!.Value; - - throw new InvalidDataException("File element is missing path."); - } - public static List ProcessPathGlobs(List paths) - { - var processedPaths = new List(); - foreach (string path in paths.Select(p => { - try - { - return Path.GetFullPath(p); - } - catch (Exception e) - { - Console.WriteLine($"Invalid path: {p} ({e.Message})"); - return null; - } - }).Where(p => p != null).Cast()) { - if (path.Contains('*')) - { - var matcher = new Matcher(); - var rootParts = path.Split(Path.DirectorySeparatorChar).TakeWhile(part => !part.Contains('*')).ToList(); - var root = string.Join(Path.DirectorySeparatorChar, rootParts); - var rest = path.Substring(root.Length + 1); - - matcher = matcher.AddInclude(rest.Replace(Path.DirectorySeparatorChar.ToString(), "/")); - - var rootPath = Path.Combine(Environment.CurrentDirectory, root); - if (!Directory.Exists(rootPath)) - { - Console.Error.WriteLine($"Invalid path: {rootPath}"); - continue; - } - var files = Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, root), "*", - SearchOption.AllDirectories); - var fileMatch = matcher.Match(Path.Combine(Environment.CurrentDirectory, root), files); - if (fileMatch.HasMatches) - { - processedPaths.AddRange(fileMatch.Files.Select(m => Path.Combine(root, m.Path)).Where(globFilter).ToList()); - } - - var dirs = Directory.GetDirectories(Path.Combine(Environment.CurrentDirectory, root), "*", - SearchOption.AllDirectories); - var dirMatch = matcher.Match(Path.Combine(Environment.CurrentDirectory, root), dirs); - if (dirMatch.HasMatches) - { - processedPaths.AddRange(dirMatch.Files.Select(m => Path.Combine(root, m.Path)).Where(globFilter).ToList()); - } - } - else - { - processedPaths.Add(path); - } - } - - return processedPaths.Select(path => Path.GetFullPath(path)).ToList(); - - bool globFilter(string path) - { - return !path.EndsWith(".bak"); - } - } - [DllImport("kernel32.dll")] public static extern IntPtr GetConsoleWindow(); @@ -222,14 +124,10 @@ public static string GetParamdexPath() public static string GetParamdexPath(params string[] parts) { + if (!parts.Any()) return GetParamdexPath(); return Path.Combine(new[] { GetParamdexPath() }.Union(parts).ToArray()); } - public static string GetParamdexPath(string path = null) - { - return path == null ? GetParamdexPath() : Path.Combine(GetParamdexPath(), path); - } - public static string GetParamdexPath(GameType game, params string[]? path) { return path == null @@ -365,74 +263,6 @@ public static Type TypeForParamDefType(PARAMDEF.DefType type, bool isArray) } } - private static readonly Regex DriveRx = new Regex(@"^(\w\:\\)(.+)$"); - private static readonly Regex TraversalRx = new Regex(@"^([(..)\\\/]+)(.+)?$"); - private static readonly Regex SlashRx = new Regex(@"^(\\+)(.+)$"); - - - /// - /// Finds common path prefix in a list of strings. - /// - public static string FindCommonBndRootPath(IEnumerable paths) - { - string root = ""; - - if (paths.Count() == 0) return root; - - var rootPath = new string( - paths.First().Substring(0, paths.Min(s => s.Length)) - .TakeWhile((c, i) => paths.All(s => s[i] == c)).ToArray()); - - // For safety, truncate this shared string down to the last slash/backslash. - var rootPathIndex = Math.Max(rootPath.LastIndexOf('\\'), rootPath.LastIndexOf('/')); - - if (rootPath != "" && rootPathIndex != -1) - { - root = rootPath.Substring(0, rootPathIndex); - } - - return root; - } - - /// - /// Removes common network path roots if present. - /// - public static string UnrootBNDPath(string path, string? root) - { - path = path.Substring(root?.Length ?? 0); - - Match drive = DriveRx.Match(path); - - if (drive.Success) - { - path = drive.Groups[2].Value; - } - - if (string.IsNullOrWhiteSpace(root)) - return RemoveLeadingBackslashes(path); - - Match traversal = TraversalRx.Match(path); - if (traversal.Success) - { - path = traversal.Groups[2].Value; - } - - if (path.Contains("..\\") || path.Contains("../")) - throw new InvalidDataException( - $"the path {path} contains invalid data, attempting to extract to a different folder."); - return RemoveLeadingBackslashes(path); - } - - private static string RemoveLeadingBackslashes(string path) - { - Match slash = SlashRx.Match(path); - if (slash.Success) - { - path = slash.Groups[2].Value; - } - - return path; - } public static bool IsInGit(string? path) { @@ -625,28 +455,28 @@ static string UnEscapeString(string src) public static bool ObnoxiousWarning(List lines) { - PromptPlus.WriteLine(""); + PromptPlus.Console.WriteLine(""); foreach (string line in lines) { - PromptPlus.WriteLine(line); - var cursor = PromptPlus.GetCursorPosition(); - PromptPlus.WriteLine(""); - PromptPlus.WaitTimer("Please read carefully, then press any key...", TimeSpan.FromSeconds(1)); - PromptPlus.ClearLine(); - PromptPlus.SetCursorPosition(cursor.Left, cursor.Top); - PromptPlus.WriteLine(""); - PromptPlus.KeyPress("Please read carefully, then press any key...") - .Config(a => a.EnabledAbortKey(false)) + PromptPlus.Console.WriteLine(line); + var cursor = PromptPlus.Console.GetCursorPosition(); + PromptPlus.Console.WriteLine(""); + PromptPlus.Controls.WaitTimer(TimeSpan.FromSeconds(1), "Please read carefully, then press any key..."); + // ClearLine(); + PromptPlus.Console.SetCursorPosition(cursor.Left, cursor.Top); + PromptPlus.Console.WriteLine(""); + PromptPlus.Controls.KeyPress("Please read carefully, then press any key...") + .Options(a => a.EnabledAbortKey(false)) .Run(); - PromptPlus.ClearLine(); - PromptPlus.SetCursorPosition(cursor.Left, cursor.Top); + // PromptPlus.Console.ClearLine(); + PromptPlus.Console.SetCursorPosition(cursor.Left, cursor.Top); } - PromptPlus.WriteLine(""); - var confirm = PromptPlus.Confirm(@"Do you still wish to proceed?").Run(); + PromptPlus.Console.WriteLine(""); + var confirm = PromptPlus.Controls.Confirm(@"Do you still wish to proceed?").Run(); - if (confirm.Value.IsNoResponseKey() || confirm.IsAborted) + if (confirm.Content.Value.IsAbortKeyPress() || confirm.IsAborted) return false; return true; @@ -708,17 +538,4 @@ static WBUtil() ExeLocation = Path.GetDirectoryName(AppContext.BaseDirectory); LatestKnownRegulationVersions = new(); } - - public static string GetFileNameWithoutAnyExtensions(string path) - { - return Path.GetFileName(path).Split(".").First(); - } - - public static string GetFullExtensions(string path) - { - var split = Path.GetFileName(path).Split("."); - if (split.Length > 1) - return "." + string.Join(".", Path.GetFileName(path).Split(".").Skip(1)); - return ""; - } } \ No newline at end of file diff --git a/WitchyLib/WitchyLib.csproj b/WitchyLib/WitchyLib.csproj index 3960f45a..35c5c023 100644 --- a/WitchyLib/WitchyLib.csproj +++ b/WitchyLib/WitchyLib.csproj @@ -1,24 +1,26 @@ - net8.0 + net10.0 + x64 true false WitchyLib WitchyLib true + true embedded - x64 false - - + + + diff --git a/WitchyLib/packages.linux-x64.lock.json b/WitchyLib/packages.linux-x64.lock.json new file mode 100644 index 00000000..770ce3b0 --- /dev/null +++ b/WitchyLib/packages.linux-x64.lock.json @@ -0,0 +1,74 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "EastAsianWidthDotNet": { + "type": "Direct", + "requested": "[1.0.1, )", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Direct", + "requested": "[8.0.0-preview.2.23128.3, )", + "resolved": "8.0.0-preview.2.23128.3", + "contentHash": "YfBY7fX0WRLa67zWQau09+zh0AQHBb7KmCuNd1OSCQoLGgKcHnu0IXoGm/Ueer0GhHreJFU7Gn3vwZr4YxwciQ==" + }, + "Newtonsoft.Json": { + "type": "Direct", + "requested": "[13.0.3, )", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "System.Text.Encodings.Web": { + "type": "Direct", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==" + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + } + }, + "net10.0/linux-x64": { + "System.Text.Encodings.Web": { + "type": "Direct", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==" + } + } + } +} \ No newline at end of file diff --git a/WitchyLib/packages.lock.json b/WitchyLib/packages.lock.json index a7e24d9c..ec1762cb 100644 --- a/WitchyLib/packages.lock.json +++ b/WitchyLib/packages.lock.json @@ -1,12 +1,12 @@ { "version": 1, "dependencies": { - "net8.0": { - "Microsoft.CSharp": { + "net10.0": { + "EastAsianWidthDotNet": { "type": "Direct", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + "requested": "[1.0.1, )", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Direct", @@ -20,17 +20,11 @@ "resolved": "13.0.3", "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, - "PromptPlus": { + "System.Text.Encodings.Web": { "type": "Direct", - "requested": "[4.2.0, )", - "resolved": "4.2.0", - "contentHash": "Won6lYBsdKarWafpfMjd81MlI7WPnW8cDQ7ODY5RBqlOaQ2vrHEOc22BMOEHHwJDm777DNLvcTN4Dy22fBrbBQ==", - "dependencies": { - "EastAsianWidthDotNet": "1.0.1", - "System.ComponentModel.Annotations": "5.0.0", - "System.IO": "4.3.0", - "System.Text.Json": "7.0.3" - } + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==" }, "BouncyCastle.Cryptography": { "type": "Transitive", @@ -42,87 +36,10 @@ "resolved": "1.1.1", "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" }, - "EastAsianWidthDotNet": { - "type": "Transitive", - "resolved": "1.0.1", - "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, "System.Text.Encoding.CodePages": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "7.0.3", - "contentHash": "AyjhwXN1zTFeIibHimfJn6eAsZ7rTBib79JQpzg8WAuR/HKDu9JGNHTuu3nbbXQ/bgI+U4z6HtZmCHNXB1QXrQ==", - "dependencies": { - "System.Text.Encodings.Web": "7.0.0" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } + "resolved": "8.0.0", + "contentHash": "OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==" }, "System.ValueTuple": { "type": "Transitive", @@ -134,12 +51,18 @@ "resolved": "1.4.5", "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, "soulsformats": { "type": "Project", "dependencies": { "BouncyCastle.Cryptography": "[2.4.0, )", "DrSwizzler": "[1.1.1, )", - "System.Text.Encoding.CodePages": "[4.7.0, )", + "System.Text.Encoding.CodePages": "[8.0.0, )", "System.ValueTuple": "[4.5.0, )", "ZstdNet": "[1.4.5, )" } diff --git a/WitchyLib/packages.win-x64.lock.json b/WitchyLib/packages.win-x64.lock.json new file mode 100644 index 00000000..47652a2a --- /dev/null +++ b/WitchyLib/packages.win-x64.lock.json @@ -0,0 +1,74 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "EastAsianWidthDotNet": { + "type": "Direct", + "requested": "[1.0.1, )", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Direct", + "requested": "[8.0.0-preview.2.23128.3, )", + "resolved": "8.0.0-preview.2.23128.3", + "contentHash": "YfBY7fX0WRLa67zWQau09+zh0AQHBb7KmCuNd1OSCQoLGgKcHnu0IXoGm/Ueer0GhHreJFU7Gn3vwZr4YxwciQ==" + }, + "Newtonsoft.Json": { + "type": "Direct", + "requested": "[13.0.3, )", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "System.Text.Encodings.Web": { + "type": "Direct", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==" + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + } + }, + "net10.0/win-x64": { + "System.Text.Encodings.Web": { + "type": "Direct", + "requested": "[10.0.0, )", + "resolved": "10.0.0", + "contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==" + } + } + } +} \ No newline at end of file diff --git a/WitchyTests/Properties/launchSettings.json b/WitchyTests/Properties/launchSettings.json new file mode 100644 index 00000000..cfc0fe78 --- /dev/null +++ b/WitchyTests/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "Run Tests": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "test -v", + "workingDirectory": "$(SolutionDir)" + } + } +} \ No newline at end of file diff --git a/WitchyTests/Samples/FFXBNDModern/BB/frpg_sfxbnd_commoneffects.ffxbnd b/WitchyTests/Samples/FFXBNDModern/BB/frpg_sfxbnd_commoneffects.ffxbnd new file mode 100644 index 00000000..d86e70b8 Binary files /dev/null and b/WitchyTests/Samples/FFXBNDModern/BB/frpg_sfxbnd_commoneffects.ffxbnd differ diff --git a/WitchyTests/Services/TestOutputService.cs b/WitchyTests/Services/TestOutputService.cs index 1d87cd74..6b290968 100644 --- a/WitchyTests/Services/TestOutputService.cs +++ b/WitchyTests/Services/TestOutputService.cs @@ -1,32 +1,27 @@ -using PPlus; -using PPlus.Controls; +using PromptPlusLibrary; using WitchyBND.Services; namespace WitchyTests.Services; public class TestOutputService : IOutputService { - public object ConsoleWriterLock { get; } - public int WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteLine(string? value = null, Style? style = null, bool clearrestofline = true) { TestContext.WriteLine(value); - return 1; } - public int WriteError(string? value = null, Style? style = null, bool clearrestofline = true) + public void WriteError(string? value = null, Style? style = null, bool clearrestofline = true) { TestContext.Error.WriteLine(value); - return 1; } - public int DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void DoubleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - return 0; } - public IControlSelect Select(string prompt, string? description = null) + public ISelectControl Select(string prompt, string? description = null) { throw new NotImplementedException(); } @@ -40,28 +35,27 @@ public IDisposable EscapeColorTokens() throw new NotImplementedException(); } - public IControlKeyPress Confirm(string prompt, Action config = null) + public IKeyPressControl Confirm(string prompt, Action opt = null) { throw new NotImplementedException(); } - public int SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, + public void SingleDash(string value, DashOptions dashOptions = DashOptions.AsciiSingleBorder, int extralines = 0, Style? style = null) { - return 0; } - public IControlInput Input(string prompt, Action config = null) + public IInputControl Input(string prompt, Action opt = null) { throw new NotImplementedException(); } - public IControlKeyPress KeyPress() + public IKeyPressControl KeyPress() { throw new NotImplementedException(); } - public IControlKeyPress KeyPress(string prompt, Action config = null) + public IKeyPressControl KeyPress(string prompt, Action opt = null) { throw new NotImplementedException(); } diff --git a/WitchyTests/TestBase.cs b/WitchyTests/TestBase.cs index 1f1758a1..26548e26 100644 --- a/WitchyTests/TestBase.cs +++ b/WitchyTests/TestBase.cs @@ -2,7 +2,7 @@ using System.Text; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using PPlus; +using PromptPlusLibrary; using WitchyBND; using WitchyBND.Services; using WitchyLib; @@ -49,34 +49,32 @@ static TestBase() public void StartUp() { Configuration.SwapOutConfig(new ConfigurationBuilder() - .AddJsonFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "appsettings.json")) + .AddJsonFile(OSPath.Combine(TestContext.CurrentContext.TestDirectory, "appsettings.json")) .Build()); Configuration.Active.Passive = true; Configuration.IsTest = true; Configuration.Active.Parallel = Parallel; WBUtil.ExeLocation = TestContext.CurrentContext.TestDirectory; Environment.SetEnvironmentVariable("PromptPlusOverUnitTest", "true"); - PromptPlus.Setup(); - PromptPlus.Reset(); - PromptPlus.Clear(); + // PromptPlus.Reset(); + // PromptPlus.Clear(); Console.OutputEncoding = Encoding.UTF8; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; - PromptPlus.Config.DefaultCulture = new CultureInfo("en-us"); } [SetUp] public void Init() { Configuration.Active.Location = null; - if (Directory.Exists(Path.Combine(TestContext.CurrentContext.TestDirectory, "Results"))) - Directory.Delete(Path.Combine(TestContext.CurrentContext.TestDirectory, "Results"), true); + if (Directory.Exists(OSPath.Combine(TestContext.CurrentContext.TestDirectory, "Results"))) + Directory.Delete(OSPath.Combine(TestContext.CurrentContext.TestDirectory, "Results"), true); } protected void SetLocation(string path) { if (Location) { - Configuration.Active.Location = Path.Combine(Path.GetDirectoryName(path)!, "Target"); + Configuration.Active.Location = OSPath.Combine(Path.GetDirectoryName(path)!, "Target"); Directory.CreateDirectory(Configuration.Active.Location); return; } @@ -87,19 +85,19 @@ protected void SetLocation(string path) protected static IEnumerable GetSamples(string sampleDir, string pattern = "*") { - return Directory.GetFiles(Path.Combine(TestContext.CurrentContext.TestDirectory, "Samples", sampleDir), pattern, + return Directory.GetFiles(OSPath.Combine(TestContext.CurrentContext.TestDirectory, "Samples", sampleDir), pattern, SearchOption.AllDirectories); } protected static IEnumerable GetAllSamples(string pattern = "*") { - return Directory.GetFiles(Path.Combine(TestContext.CurrentContext.TestDirectory, "Samples"), pattern, + return Directory.GetFiles(OSPath.Combine(TestContext.CurrentContext.TestDirectory, "Samples"), pattern, SearchOption.AllDirectories); } protected static string GetCopiedPath(string path) { var newPath = path.Replace("Samples", "Results"); - Directory.CreateDirectory(Path.GetDirectoryName(newPath)!); + Directory.CreateDirectory(OSPath.GetDirectoryName(newPath)!); File.Copy(path, newPath, true); return newPath; } diff --git a/WitchyTests/Tests/RegulationTests.cs b/WitchyTests/Tests/RegulationTests.cs index bbd45eab..79377252 100644 --- a/WitchyTests/Tests/RegulationTests.cs +++ b/WitchyTests/Tests/RegulationTests.cs @@ -59,7 +59,7 @@ public void PARAMBND3() // [Category("SkipOnGitHubAction")] public void PARAMBND4() { - IEnumerable paths = GetSamples("PARAMBND4\\Correct"); + IEnumerable paths = GetSamples($"PARAMBND4{Path.DirectorySeparatorChar}Correct"); var parser = ParseMode.GetParser(); @@ -101,7 +101,7 @@ public void PARAMBND4() // [Category("SkipOnGitHubAction")] public void PARAMBND4TooHigh() { - IEnumerable paths = GetSamples("PARAMBND4\\TooHigh"); + IEnumerable paths = GetSamples($"PARAMBND4{Path.DirectorySeparatorChar}TooHigh"); var parser = new WPARAMBND4(); @@ -126,7 +126,7 @@ public void PARAMBND4TooHigh() // [Category("SkipOnGitHubAction")] public void PARAMBND4OutdatedParam() { - IEnumerable paths = GetSamples("PARAMBND4\\OutdatedParam"); + IEnumerable paths = GetSamples($"PARAMBND4{Path.DirectorySeparatorChar}OutdatedParam"); var parser = new WPARAMBND4(); @@ -143,7 +143,19 @@ public void PARAMBND4OutdatedParam() Assert.That(Directory.Exists(destPath)); Assert.That(parser.ExistsUnpacked(destPath)); Assert.That(parser.IsUnpacked(destPath)); - Assert.Throws(() => parser.Repack(destPath, false)); + Assert.Throws(() => { + try + { + parser.Repack(destPath, false); + } + catch (AggregateException e) + { + foreach (Exception innerException in e.InnerExceptions) + { + throw innerException; + } + } + }); } } diff --git a/WitchyTests/Tests/SpecialBinderTests.cs b/WitchyTests/Tests/SpecialBinderTests.cs index b2150043..57ca92f1 100644 --- a/WitchyTests/Tests/SpecialBinderTests.cs +++ b/WitchyTests/Tests/SpecialBinderTests.cs @@ -63,12 +63,12 @@ public void MATBINBND() Assert.That(parser.ExistsUnpacked(destPath)); Assert.That(parser.IsUnpacked(destPath)); - var root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); + var root = BndPath.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); foreach (BinderFile file in bnd.Files) { string name = Path.Combine(destPath, - !string.IsNullOrEmpty(root) ? Path.GetRelativePath(root, file.Name) : file.Name); - Assert.That(File.Exists(name)); + !string.IsNullOrEmpty(root) ? Path.GetRelativePath(root.ToOSPath(), file.Name.ToOSPath()) : file.Name.ToOSPath()); + Assert.That(File.Exists(name), Is.True, $"{name} does not exist"); } parser.Repack(destPath, false); @@ -102,12 +102,12 @@ public void MTDBND() Assert.That(parser.ExistsUnpacked(destPath)); Assert.That(parser.IsUnpacked(destPath)); - var root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); + var root = BndPath.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); foreach (BinderFile file in bnd.Files) { string name = Path.Combine(destPath, - !string.IsNullOrEmpty(root) ? Path.GetRelativePath(root, file.Name) : file.Name); - Assert.That(File.Exists(name)); + !string.IsNullOrEmpty(root) ? Path.GetRelativePath(root.ToOSPath(), file.Name.ToOSPath()) : file.Name.ToOSPath()); + Assert.That(File.Exists(name), Is.True, $"{name} does not exist"); } parser.Repack(destPath, false); @@ -141,11 +141,11 @@ public void ANIBND4() Assert.That(parser.ExistsUnpacked(destPath)); Assert.That(parser.IsUnpacked(destPath)); - var root = WBUtil.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); + var root = BndPath.FindCommonBndRootPath(bnd.Files.Select(a => a.Name)); foreach (BinderFile file in bnd.Files) { string name = Path.Combine(destPath, - WBUtil.UnrootBNDPath(file.Name, root)); + BndPath.Unroot(file.Name, root).ToOSPath()); Assert.That(File.Exists(name)); } @@ -156,7 +156,7 @@ public void ANIBND4() Assert.That(File.Exists(repackDestPath)); var bnd2 = BND4.Read(repackDestPath); var mismatches = bnd.Files.Where(f => - !WBUtil.MorphemeExtensions.Contains(Path.GetExtension(f.Name)) && bnd2.Files.FirstOrDefault(f2 => f.ID == f2.ID && f.Name == f2.Name) == null).ToList(); + !WBUtil.MorphemeExtensions.Contains(Path.GetExtension(f.Name).ToLower()) && bnd2.Files.FirstOrDefault(f2 => f.ID == f2.ID && f.Name.ToLower() == f2.Name.ToLower()) == null).ToList(); Assert.That(mismatches.Count, Is.Zero, $"{Path.GetFileName(path)} has {mismatches.Count} mismatches in ID/Name:\n{string.Join("\n",mismatches.Select(a => { return a.Name; }))}"); diff --git a/WitchyTests/Tests/XMLTests.cs b/WitchyTests/Tests/XMLTests.cs index 2283c7fa..6d765ab2 100644 --- a/WitchyTests/Tests/XMLTests.cs +++ b/WitchyTests/Tests/XMLTests.cs @@ -70,33 +70,33 @@ public void FXR3() } } - [Test] - public void GPARAM() - { - IEnumerable paths = GetSamples("GPARAM"); - - var parser = new WGPARAM(); - - foreach (string path in paths.Select(GetCopiedPath)) - { - SetLocation(path); - Assert.That(parser.Exists(path)); - Assert.That(parser.Is(path, null, out var file)); - - parser.Unpack(path, file, false); - string? destPath = parser.GetUnpackDestPath(path, false); - - File.Delete(path); - - Assert.That(File.Exists(destPath)); - Assert.That(parser.ExistsUnpacked(destPath)); - Assert.That(parser.IsUnpacked(destPath)); - parser.Repack(destPath, false); - - var xml = WFileParser.LoadXml(destPath); - Assert.That(File.Exists(parser.GetRepackDestPath(destPath, xml))); - } - } + // [Test] + // public void GPARAM() + // { + // IEnumerable paths = GetSamples("GPARAM"); + // + // var parser = new WGPARAM(); + // + // foreach (string path in paths.Select(GetCopiedPath)) + // { + // SetLocation(path); + // Assert.That(parser.Exists(path)); + // Assert.That(parser.Is(path, null, out var file)); + // + // parser.Unpack(path, file, false); + // string? destPath = parser.GetUnpackDestPath(path, false); + // + // File.Delete(path); + // + // Assert.That(File.Exists(destPath)); + // Assert.That(parser.ExistsUnpacked(destPath)); + // Assert.That(parser.IsUnpacked(destPath)); + // parser.Repack(destPath, false); + // + // var xml = WFileParser.LoadXml(destPath); + // Assert.That(File.Exists(parser.GetRepackDestPath(destPath, xml))); + // } + // } [Test] public void MQB() diff --git a/WitchyTests/WitchyTests.csproj b/WitchyTests/WitchyTests.csproj index 55fecf71..7f618b35 100644 --- a/WitchyTests/WitchyTests.csproj +++ b/WitchyTests/WitchyTests.csproj @@ -1,13 +1,16 @@ - - net8.0-windows + net10.0 + x64 + win-x64;linux-x64 enable enable false false true + + true @@ -38,9 +41,13 @@ - + + + + + diff --git a/WitchyTests/packages.linux-x64.lock.json b/WitchyTests/packages.linux-x64.lock.json new file mode 100644 index 00000000..ebb0ba54 --- /dev/null +++ b/WitchyTests/packages.linux-x64.lock.json @@ -0,0 +1,311 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.10.0-preview-24080-01, )", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "nlFDfhAofGR+pHCKCb2fhElVpqnBrsJNlaobrrqFA04H4pgqJEBxsx8QDffg4Jpr9J3aYF3xhZkmdW2xGhQ+SA==", + "dependencies": { + "Microsoft.CodeCoverage": "17.10.0-preview-24080-01", + "Microsoft.TestPlatform.TestHost": "17.10.0-preview-24080-01" + } + }, + "NUnit": { + "type": "Direct", + "requested": "[4.1.0, )", + "resolved": "4.1.0", + "contentHash": "MT/DpAhjtiytzhTgTqIhBuWx4y26PKfDepYUHUM+5uv4TsryHC2jwFo5e6NhWkApCm/G6kZ80dRjdJFuAxq3rg==" + }, + "NUnit.Analyzers": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "zhTn0POj5eEA4bi+zbaeIPT6F5HlgM0XH7sAWkNcUihzsl7Pn1J6eLGj/E/tPQiR6spFuh12u1tpWB6+xA0giQ==" + }, + "NUnit3TestAdapter": { + "type": "Direct", + "requested": "[4.5.0, )", + "resolved": "4.5.0", + "contentHash": "s8JpqTe9bI2f49Pfr3dFRfoVSuFQyraTj68c3XXjIS/MRGvvkLnrg6RLqnTjdShX+AdFUCCU/4Xex58AdUfs6A==" + }, + "Pose": { + "type": "Direct", + "requested": "[1.1.0, )", + "resolved": "1.1.0", + "contentHash": "ys5aaP7i4YqNMQmvcAiIlG9QtIUv9II41DDZxP+ZB/AEU1mnez+iIl56FfnXyB2Kk8ITakj9sdjsHNMhn3qTcQ==", + "dependencies": { + "Mono.Reflection": "1.1.0" + } + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "CommandLineParser": { + "type": "Transitive", + "resolved": "2.9.1", + "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "EastAsianWidthDotNet": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "GL66nih/QwuyUFUYv76kkojvqvDaVvi3G9K9dQopWFFcVWmisIDIavVek8eBUpxsp4YrMI3dTg6mc5WjsuJYlQ==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "IBOUkqIQb2VOaLzB6ljWaAqAyW8N1f2cZH34Em1lTfitGYUP18QjedzbW+/v9Gb8YqNTQ6rhL7rBsBi3mZyc1A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "8YjROL/QyuNg3++VJ/jCewanY16dW9uCWT3Coick0gPEnyO8yguGxqQ3Dr6cXb0leYMxT0WFJp9Fm3CyOkmAxA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "bOysJh+1kLNCpKpJYm28jNVbydpdh7ORLGEkNd9HGV1aEmXve60T65leVsXAUCgByPZObElKsnhnL67jVWBORQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "5QUIOCfDDXiJyp2u1u0e4ri8F8Lw9K3ZdIriMOhGFGhg6nxyZDDdD07ddcmSHtxlj2SNI29SQ/33uUWfaE8fsg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" + }, + "Microsoft.Extensions.Diagnostics.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "yeQKItAqoHvCdgE5IIVBiWPnJIWQ7B5dOhmfZ6or+kmDJcdNOWQT45PTzizIBQ2dKT2cB6BaAIK+6jAmMyUU5w==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "DTnRifpgJYjjxGgpTBsfJDK82Cq5algQHOQnd4f7R7R4bMeYcdjyaqd3NAKXn4RU47CfNqB9/dIZS8OlHVgckQ==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "c80Y9Ur/Sl5Pb7AHqqZTnLJ/wZGHwbYk1/9SEUMhbHrJJCf3UoDjijqF6fs/F2XimOJlUcPiwEI0usRIQS+uFw==" + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "G0da8liGaoZZoaPIKM6pXwxLHc/A6f2JxOIrfyN0S53rrdEgMMq0KwfuKZxjux03upH9BsCIJmSesgxu/EemVQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.10.0-preview-24080-01", + "Newtonsoft.Json": "13.0.1" + } + }, + "Mono.Reflection": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "o3AQIRxCMAVhA0hezVgxUxZbIWjLE3TPD056SPb7yqGINQuA9kEZN9NEQ8F4cCu9CCjNufhXbboqRL9+iBvikA==" + }, + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "securifybv.PropertyStore": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "N7oMyWl3RCbSi8SFK3vVtBpJD3OompLGZOwO2VQpyw6d8Qk8HTxCSuQzeSB4QzUWewQvMoQu5Qr5QgDQ1z5/5g==" + }, + "securifybv.ShellLink": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "VjJ8rJi6+yVla8DG1XRthwVneZq2Iojhf0KXwEKqJ+bIgbFTCIMpq33i0/HvPJSS1TdmaoGEnPHmjwP2ibenaA==", + "dependencies": { + "securifybv.PropertyStore": "0.1.0" + } + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "soulsoodlelib": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "SoulsFormats": "[3.0.0, )" + } + }, + "witchybnd": { + "type": "Project", + "dependencies": { + "CommandLineParser": "[2.9.1, )", + "Microsoft.Extensions.Configuration.Binder": "[8.0.0-preview.7.23375.6, )", + "Microsoft.Extensions.Configuration.Json": "[8.0.0-preview.7.23375.6, )", + "Microsoft.Extensions.DependencyInjection": "[8.0.0, )", + "Microsoft.Extensions.Hosting.Abstractions": "[8.0.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "PromptPlus": "[5.0.1, )", + "SoulsFormats": "[3.0.0, )", + "SoulsOodleLib": "[3.0.0, )", + "WitchyFormats": "[3.0.0, )", + "WitchyLib": "[3.0.0, )", + "securifybv.ShellLink": "[0.1.0, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + }, + "witchylib": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )", + "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", + "Newtonsoft.Json": "[13.0.3, )", + "PromptPlus": "[5.0.1, )", + "WitchyFormats": "[3.0.0, )" + } + } + }, + "net10.0/linux-x64": { + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + } + } +} \ No newline at end of file diff --git a/WitchyTests/packages.lock.json b/WitchyTests/packages.lock.json index c0fb9ccb..ef564fc2 100644 --- a/WitchyTests/packages.lock.json +++ b/WitchyTests/packages.lock.json @@ -1,7 +1,7 @@ { "version": 1, "dependencies": { - "net8.0-windows7.0": { + "net10.0": { "coverlet.collector": { "type": "Direct", "requested": "[3.2.0, )", @@ -42,8 +42,7 @@ "resolved": "1.1.0", "contentHash": "ys5aaP7i4YqNMQmvcAiIlG9QtIUv9II41DDZxP+ZB/AEU1mnez+iIl56FfnXyB2Kk8ITakj9sdjsHNMhn3qTcQ==", "dependencies": { - "Mono.Reflection": "1.1.0", - "System.Reflection.Emit.Lightweight": "4.3.0" + "Mono.Reflection": "1.1.0" } }, "BouncyCastle.Cryptography": { @@ -71,11 +70,6 @@ "resolved": "17.10.0-preview-24080-01", "contentHash": "GL66nih/QwuyUFUYv76kkojvqvDaVvi3G9K9dQopWFFcVWmisIDIavVek8eBUpxsp4YrMI3dTg6mc5WjsuJYlQ==" }, - "Microsoft.CSharp": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" - }, "Microsoft.Extensions.Configuration": { "type": "Transitive", "resolved": "8.0.0-preview.7.23375.6", @@ -121,8 +115,7 @@ "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", - "System.Text.Json": "8.0.0-preview.7.23375.6" + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" } }, "Microsoft.Extensions.DependencyInjection": { @@ -144,8 +137,7 @@ "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" + "Microsoft.Extensions.Options": "8.0.0" } }, "Microsoft.Extensions.FileProviders.Abstractions": { @@ -205,23 +197,10 @@ "resolved": "8.0.0", "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", "resolved": "17.10.0-preview-24080-01", - "contentHash": "c80Y9Ur/Sl5Pb7AHqqZTnLJ/wZGHwbYk1/9SEUMhbHrJJCf3UoDjijqF6fs/F2XimOJlUcPiwEI0usRIQS+uFw==", - "dependencies": { - "System.Reflection.Metadata": "1.6.0" - } + "contentHash": "c80Y9Ur/Sl5Pb7AHqqZTnLJ/wZGHwbYk1/9SEUMhbHrJJCf3UoDjijqF6fs/F2XimOJlUcPiwEI0usRIQS+uFw==" }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", @@ -247,17 +226,6 @@ "resolved": "13.0.3", "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, - "PromptPlus": { - "type": "Transitive", - "resolved": "4.2.0", - "contentHash": "Won6lYBsdKarWafpfMjd81MlI7WPnW8cDQ7ODY5RBqlOaQ2vrHEOc22BMOEHHwJDm777DNLvcTN4Dy22fBrbBQ==", - "dependencies": { - "EastAsianWidthDotNet": "1.0.1", - "System.ComponentModel.Annotations": "5.0.0", - "System.IO": "4.3.0", - "System.Text.Json": "7.0.3" - } - }, "securifybv.PropertyStore": { "type": "Transitive", "resolved": "0.1.0", @@ -271,143 +239,22 @@ "securifybv.PropertyStore": "0.1.0" } }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==" - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.ILGeneration": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.Lightweight": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "aeu4FlaUTemuT1qOd1MyU4T516QR4Fy+9yDbwWMPHOHy7U8FD6SgTzdZFO7gHcfAPHtECqInbwklVvUK4RHcNg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "3.1.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "8.0.0-preview.7.23375.6", - "contentHash": "vCdCGFDzYkDfcnNd5ck7ngX9IUhXoMkfUlLWWw0BWBs/6LOF596LtkoG15pGxLS4s/HuTHsyrQ6USZSZa8blNA==" - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "8.0.0-preview.7.23375.6", - "contentHash": "xsCKwwq+cK/VwE61P1vr9yZh0p5LEQ+hG1MGKzpheA1gJgSKIQ6ArNp9nIYwoDX5WR+ichovXq117O0wHAZNLA==", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0-preview.7.23375.6" - } - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.ValueTuple": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" - }, "ZstdNet": { "type": "Transitive", "resolved": "1.4.5", "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, "soulsformats": { "type": "Project", "dependencies": { "BouncyCastle.Cryptography": "[2.4.0, )", "DrSwizzler": "[1.1.1, )", - "System.Text.Encoding.CodePages": "[4.7.0, )", - "System.ValueTuple": "[4.5.0, )", "ZstdNet": "[1.4.5, )" } }, @@ -423,12 +270,12 @@ "type": "Project", "dependencies": { "CommandLineParser": "[2.9.1, )", - "Microsoft.CSharp": "[4.7.0, )", "Microsoft.Extensions.Configuration.Binder": "[8.0.0-preview.7.23375.6, )", "Microsoft.Extensions.Configuration.Json": "[8.0.0-preview.7.23375.6, )", "Microsoft.Extensions.DependencyInjection": "[8.0.0, )", "Microsoft.Extensions.Hosting.Abstractions": "[8.0.0, )", "NativeFileDialogSharp": "[0.6.0-alpha, )", + "PromptPlus": "[5.0.1, )", "SoulsFormats": "[2.17.0, )", "SoulsOodleLib": "[2.17.0, )", "WitchyFormats": "[2.17.0, )", @@ -445,13 +292,27 @@ "witchylib": { "type": "Project", "dependencies": { - "Microsoft.CSharp": "[4.7.0, )", + "EastAsianWidthDotNet": "[1.0.1, )", "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", "Newtonsoft.Json": "[13.0.3, )", - "PromptPlus": "[4.2.0, )", + "PromptPlus": "[5.0.1, )", "WitchyFormats": "[2.17.0, )" } } + }, + "net10.0/linux-x64": { + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + }, + "net10.0/win-x64": { + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } } } } \ No newline at end of file diff --git a/WitchyTests/packages.win-x64.lock.json b/WitchyTests/packages.win-x64.lock.json new file mode 100644 index 00000000..667da1b7 --- /dev/null +++ b/WitchyTests/packages.win-x64.lock.json @@ -0,0 +1,311 @@ +{ + "version": 1, + "dependencies": { + "net10.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.10.0-preview-24080-01, )", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "nlFDfhAofGR+pHCKCb2fhElVpqnBrsJNlaobrrqFA04H4pgqJEBxsx8QDffg4Jpr9J3aYF3xhZkmdW2xGhQ+SA==", + "dependencies": { + "Microsoft.CodeCoverage": "17.10.0-preview-24080-01", + "Microsoft.TestPlatform.TestHost": "17.10.0-preview-24080-01" + } + }, + "NUnit": { + "type": "Direct", + "requested": "[4.1.0, )", + "resolved": "4.1.0", + "contentHash": "MT/DpAhjtiytzhTgTqIhBuWx4y26PKfDepYUHUM+5uv4TsryHC2jwFo5e6NhWkApCm/G6kZ80dRjdJFuAxq3rg==" + }, + "NUnit.Analyzers": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "zhTn0POj5eEA4bi+zbaeIPT6F5HlgM0XH7sAWkNcUihzsl7Pn1J6eLGj/E/tPQiR6spFuh12u1tpWB6+xA0giQ==" + }, + "NUnit3TestAdapter": { + "type": "Direct", + "requested": "[4.5.0, )", + "resolved": "4.5.0", + "contentHash": "s8JpqTe9bI2f49Pfr3dFRfoVSuFQyraTj68c3XXjIS/MRGvvkLnrg6RLqnTjdShX+AdFUCCU/4Xex58AdUfs6A==" + }, + "Pose": { + "type": "Direct", + "requested": "[1.1.0, )", + "resolved": "1.1.0", + "contentHash": "ys5aaP7i4YqNMQmvcAiIlG9QtIUv9II41DDZxP+ZB/AEU1mnez+iIl56FfnXyB2Kk8ITakj9sdjsHNMhn3qTcQ==", + "dependencies": { + "Mono.Reflection": "1.1.0" + } + }, + "BouncyCastle.Cryptography": { + "type": "Transitive", + "resolved": "2.4.0", + "contentHash": "SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==" + }, + "CommandLineParser": { + "type": "Transitive", + "resolved": "2.9.1", + "contentHash": "OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==" + }, + "DrSwizzler": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "9zB7kjdI8CVxNXuMYkoNOr0xwIa9KGWQ/+A0ICAF9J1UQ8SbS8DgYebfSfMsr5JsaRM6PNH1JOSowjvdq/6XPA==" + }, + "EastAsianWidthDotNet": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "vCn17XpsjpqAQvWCa5oUh81d/AVytUcBG9frXoDa+f66iuAiq9T4kDcqQnyp3dbN9cJ0cJA6ML98glpf315haQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "GL66nih/QwuyUFUYv76kkojvqvDaVvi3G9K9dQopWFFcVWmisIDIavVek8eBUpxsp4YrMI3dTg6mc5WjsuJYlQ==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "IBOUkqIQb2VOaLzB6ljWaAqAyW8N1f2cZH34Em1lTfitGYUP18QjedzbW+/v9Gb8YqNTQ6rhL7rBsBi3mZyc1A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "8YjROL/QyuNg3++VJ/jCewanY16dW9uCWT3Coick0gPEnyO8yguGxqQ3Dr6cXb0leYMxT0WFJp9Fm3CyOkmAxA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "bOysJh+1kLNCpKpJYm28jNVbydpdh7ORLGEkNd9HGV1aEmXve60T65leVsXAUCgByPZObElKsnhnL67jVWBORQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "5QUIOCfDDXiJyp2u1u0e4ri8F8Lw9K3ZdIriMOhGFGhg6nxyZDDdD07ddcmSHtxlj2SNI29SQ/33uUWfaE8fsg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" + }, + "Microsoft.Extensions.Diagnostics.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "yeQKItAqoHvCdgE5IIVBiWPnJIWQ7B5dOhmfZ6or+kmDJcdNOWQT45PTzizIBQ2dKT2cB6BaAIK+6jAmMyUU5w==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0-preview.7.23375.6", + "Microsoft.Extensions.Primitives": "8.0.0-preview.7.23375.6" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "8.0.0-preview.7.23375.6", + "contentHash": "DTnRifpgJYjjxGgpTBsfJDK82Cq5algQHOQnd4f7R7R4bMeYcdjyaqd3NAKXn4RU47CfNqB9/dIZS8OlHVgckQ==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "c80Y9Ur/Sl5Pb7AHqqZTnLJ/wZGHwbYk1/9SEUMhbHrJJCf3UoDjijqF6fs/F2XimOJlUcPiwEI0usRIQS+uFw==" + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.10.0-preview-24080-01", + "contentHash": "G0da8liGaoZZoaPIKM6pXwxLHc/A6f2JxOIrfyN0S53rrdEgMMq0KwfuKZxjux03upH9BsCIJmSesgxu/EemVQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.10.0-preview-24080-01", + "Newtonsoft.Json": "13.0.1" + } + }, + "Mono.Reflection": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "o3AQIRxCMAVhA0hezVgxUxZbIWjLE3TPD056SPb7yqGINQuA9kEZN9NEQ8F4cCu9CCjNufhXbboqRL9+iBvikA==" + }, + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.3", + "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" + }, + "securifybv.PropertyStore": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "N7oMyWl3RCbSi8SFK3vVtBpJD3OompLGZOwO2VQpyw6d8Qk8HTxCSuQzeSB4QzUWewQvMoQu5Qr5QgDQ1z5/5g==" + }, + "securifybv.ShellLink": { + "type": "Transitive", + "resolved": "0.1.0", + "contentHash": "VjJ8rJi6+yVla8DG1XRthwVneZq2Iojhf0KXwEKqJ+bIgbFTCIMpq33i0/HvPJSS1TdmaoGEnPHmjwP2ibenaA==", + "dependencies": { + "securifybv.PropertyStore": "0.1.0" + } + }, + "ZstdNet": { + "type": "Transitive", + "resolved": "1.4.5", + "contentHash": "fi9aP1QY3ZenIMUW1pxdSjku6lYAUjScrwfXSXT1qyKtTdLxOIzeBMe+w/hQm0vMsvQnjcFInByMrIT7AlXUHA==" + }, + "promptplus": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )" + } + }, + "soulsformats": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "DrSwizzler": "[1.1.1, )", + "ZstdNet": "[1.4.5, )" + } + }, + "soulsoodlelib": { + "type": "Project", + "dependencies": { + "BouncyCastle.Cryptography": "[2.4.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "SoulsFormats": "[3.0.0, )" + } + }, + "witchybnd": { + "type": "Project", + "dependencies": { + "CommandLineParser": "[2.9.1, )", + "Microsoft.Extensions.Configuration.Binder": "[8.0.0-preview.7.23375.6, )", + "Microsoft.Extensions.Configuration.Json": "[8.0.0-preview.7.23375.6, )", + "Microsoft.Extensions.DependencyInjection": "[8.0.0, )", + "Microsoft.Extensions.Hosting.Abstractions": "[8.0.0, )", + "NativeFileDialogSharp": "[0.6.0-alpha, )", + "PromptPlus": "[5.0.1, )", + "SoulsFormats": "[3.0.0, )", + "SoulsOodleLib": "[3.0.0, )", + "WitchyFormats": "[3.0.0, )", + "WitchyLib": "[3.0.0, )", + "securifybv.ShellLink": "[0.1.0, )" + } + }, + "witchyformats": { + "type": "Project", + "dependencies": { + "SoulsFormats": "[3.0.0, )" + } + }, + "witchylib": { + "type": "Project", + "dependencies": { + "EastAsianWidthDotNet": "[1.0.1, )", + "Microsoft.Extensions.FileSystemGlobbing": "[8.0.0-preview.2.23128.3, )", + "Newtonsoft.Json": "[13.0.3, )", + "PromptPlus": "[5.0.1, )", + "WitchyFormats": "[3.0.0, )" + } + } + }, + "net10.0/win-x64": { + "NativeFileDialogSharp": { + "type": "Transitive", + "resolved": "0.6.0-alpha", + "contentHash": "2JvfxgAMWEGA9rIuYw+/vcj8eisBJbb4fzviJU47urU72z7m6BW2SykaMRtQorr06Xh3ZxG+gykiqV3D4crfLA==" + } + } + } +} \ No newline at end of file diff --git a/dev/RestorePackageLock.BAT b/dev/RestorePackageLock.BAT new file mode 100644 index 00000000..8fc7730a --- /dev/null +++ b/dev/RestorePackageLock.BAT @@ -0,0 +1,2 @@ +dotnet restore -f --force-evaluate --no-cache -r linux-x64 --lock-file-path packages.linux-x64.lock.json +dotnet restore -f --force-evaluate --no-cache -r win-x64 --lock-file-path packages.win-x64.lock.json \ No newline at end of file diff --git a/dev/RestorePackageLock.sh b/dev/RestorePackageLock.sh new file mode 100755 index 00000000..e6059a4c --- /dev/null +++ b/dev/RestorePackageLock.sh @@ -0,0 +1,3 @@ +#/bin/sh +dotnet restore -f --force-evaluate --no-cache -r linux-x64 --lock-file-path packages.linux-x64.lock.json +dotnet restore -f --force-evaluate --no-cache -r win-x64 --lock-file-path packages.win-x64.lock.json \ No newline at end of file diff --git a/global.json b/global.json index d599efa0..13727129 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "9.0.304" + "version": "10.0.101" } } \ No newline at end of file diff --git a/nuget/.gitkeep b/nuget/.gitkeep new file mode 100644 index 00000000..e69de29b