Giter Site home page Giter Site logo

kwsch / pknx Goto Github PK

View Code? Open in Web Editor NEW
340.0 27.0 106.0 24.12 MB

Pokémon (Nintendo Switch) ROM Editor & Randomizer

Home Page: https://projectpokemon.org/home/forums/topic/48647-pknx-nintendo-switch-rom-editor-randomizer/

License: GNU General Public License v3.0

C# 100.00%
pokemon nintendo-switch rom-hacking toolkit nintendo-hacking nintendo-switch-hacking

pknx's Introduction

pkNX

License

pkNX: A package of Pokémon (Nintendo Switch) ROM Editing Tools, programmed in C#.

Similar to pk3DS for the Nintendo 3DS, pkNX provides an editing environment to manipulate game binary assets such as stats, learnsets, trainers, and more!

Main Window

Download

Download the latest version here.

(click on latest run at the top, then click Artifacts - published, and download the folder)

Note: To run the app it is required to have the .NET Desktop Runtime installed

Features

Supports the following games:

  • Let's Go, Pikachu! / Let's Go, Eevee!
  • Sword / Shield
  • Legends: Arceus
  • Scarlet / Violet (Currently only for dumping information, not to edit files!)

For Sword, Shield, Scarlet, and Violet, pkNX operates under the assumption that your dumped ROM includes the latest available update data.

Editors can be launched from the program's main window after opening a dumped & unpacked ROM.

  • To lessen read/write lag, data is only saved when the user cleanly quits the program.
  • Edited files do not overwrite the original dumped file; instead, they are redirected to a "patch folder" for easy use with layeredFS.
  • When the program requests to read a set of files, it will first check to see if an edited version exists, and if not, falls back to the original dump file.

With custom firmware, layeredFS functionality will selectively redirect file loading to files that are present in the patch folder, removing the need to rebuild a custom ROM.

pkNX also provides some utility to extract from supported container types, e.g. gfpak. Simply drag & drop a container (or many) into the main window, and pkNX will unpack all files to a new folder.

Building

pkNX is a Windows Forms application which requires .NET 6 for Windows.

The executable can be built with any compiler that supports C# 12.

Dependencies

pkNX's shiny sprite collection is taken from pokesprite, which is licensed under the MIT license.

pknx's People

Contributors

abcboy101 avatar btbn avatar bwfpba avatar codingkoopa avatar duckdoom4 avatar egzn avatar hp3721 avatar kwsch avatar lusamine avatar marty-d avatar mdrift314 avatar mvit avatar pantsman0 avatar salier13 avatar sciresm avatar snakedeath avatar sora10pls avatar talonsabre avatar thatnerdypikachu avatar tiddlywinkss avatar wowjinxy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pknx's Issues

Trainer editor crashes pkNX

Opening the trainer editor for Pokémon Sword simply crashes pkNX immediately.

Method Boolean pkNX.Structures.TrainerPoke.get_CanDynamax() could not be found.

Problem is present since commit 5521b72. Reverting to any commit older than this one fixes the issue.

System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel. ---> System.MissingMethodException: Méthode introuvable : 'Boolean pkNX.Structures.TrainerPoke.get_CanDynamax()'.
   à pkNX.WinForms.BTTE.PopulateFields(TrainerPoke pk)
   à pkNX.WinForms.BTTE.Setup() dans D:\dev\pknx\pkNX.WinForms\Subforms\BTTE.cs:ligne 270
   à pkNX.WinForms.BTTE..ctor(GameManager game, TrainerEditor editor) dans D:\dev\pknx\pkNX.WinForms\Subforms\BTTE.cs:ligne 66
   à pkNX.WinForms.Controls.EditorSWSH.EditTrainers() dans D:\dev\pknx\pkNX.WinForms\MainEditor\EditorSWSH.cs:ligne 50
   --- Fin de la trace de la pile d'exception interne ---
   à System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   à System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   à pkNX.WinForms.Controls.EditorBase.<>c__DisplayClass11_0.<GetControls>b__0(Object s, EventArgs e) dans D:\dev\pknx\pkNX.WinForms\MainEditor\EditorProvider.cs:ligne 37
   à System.Windows.Forms.Control.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à System.Windows.Forms.ButtonBase.WndProc(Message& m)
   à System.Windows.Forms.Button.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Feature idea to fix current bug

It seems pkNX saves the folder as LGP and Sword IDs respectively. I tried randomizing my LGE and Shield games and the output folder is saved in LGP and Sword instead of LGE and Shield. To combat this, can we have the program output both games LGP/E and sw/sh ID folders to prevent user oversight and convenience?

Galarian Slowpoke

I am using moveset mods and when I use Low Amp Toxtricity, it doesnt learn its original moves. It learns Shadow Ball and Giga Drain from Pumpkaboo's learnset. How can I fix this to prevent the files from misreading in layeredfs? I know the 1.1 update adds to the file list, right? So should I remove the Slowpoke one?

STAB, STABPercent, and STABFirst doesn't do anything, and other learnset issues

If you randomize the types of Pokemon, randomizing the learnsets by STAB doesn't do anything. It doesn't seem to be pulling from the Pokemon's original typing either. Setting stab to 50%:
Screenshot (190)
Screenshot (192)
Screenshot (193)

Also, if you set pokemon to start with 4 moves, it appears to just take the next three learned moves and set them to level 1, making them have a big gap in their learnset. Would it be possible for this option to instead add three level 1 moves, and keep the next three where they are?

Lastly, is it possible for randomized learnsets to omit max moves? All of the damaging ones are 1 BP
so they're completely useless.

README inaccurate - seems like a C# 8 compiler is required

The README file says a compiler that supports C# 7 can build the program, but when trying to build it an "Error CS1617: Invalid option '8.0' for /langversion when trying to compile" appears. Upon inspection it's clear that the project uses C# 8 which means having to download VS19.

Please clarify this in the README, or release an updated compiled binary, as the link provided in here is largely outdated.

Thanks.

[Bug] LGPE Wild Editing

Changes aren't saved after closing the editor, thus no file is written to the patch folder (encount_data_p.bin or encount_data_e.bin).

If a wild data binary is manually added to the patch folder, it's not recognized and GGWE defaults to opening the base RomFS' wild data binary.

Hello

I want to learn how to parse ROM data, I want to know where I can learn such a technology, thank you!
I don't want to be a free rider, I also want to study it.

Changes made do not apply

I have a problem. I randomized some things and added the changes to see if everything worked correctly, and it certainly worked perfectly, the problem is that now I have continued modifying things in the game, and I cannot apply the changes I made, there are only the changes I made the first time , the latest changes do not apply. The first time the folder I put in the SD of the switch disappeared, but the new one does not disappear ... how can I apply the changes I made ?? thanks! what you do is incredible!

Any time i try to randomize trainers pokemon I get this error

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at pkNX.Randomization.MoveRandomizer.GetRandomSTABMove(Int32[] types)
at pkNX.Randomization.MoveRandomizer.GetRandomMoves(Int32[] Types, Int32 movecount)
at pkNX.Randomization.MoveRandomizer.GetRandomMoveset(Int32[] Types, Int32 movecount)
at pkNX.Randomization.MoveRandomizer.GetRandomMoveset(Int32 index, Int32 movecount)
at pkNX.Randomization.TrainerRandomizer.RandomizeEntryMoves(TrainerPoke pk)
at pkNX.Randomization.TrainerRandomizer.UpdatePKMFromSettings(TrainerPoke pk)
at pkNX.Randomization.TrainerRandomizer.Execute()
at pkNX.WinForms.BTTE.B_Randomize_Click(Object sender, EventArgs e) in C:\Users\Lewis\Source\Repos\pkNX24\pkNX.WinForms\Subforms\BTTE.cs:line 558
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4075.0 built by: NET48REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

pkNX
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4042.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4075.0 built by: NET48REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

pkNX.Structures
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

pkNX.Game
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

pkNX.Containers
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

pkNX.Sprites
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

pkNX.Randomization
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

LZ4
Assembly Version: 1.0.15.93
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

LZ4mm
Assembly Version: 1.0.15.93
Win32 Version: 1.0.15.93
CodeBase: file:///C:/Users/Lewis/AppData/Local/Temp/f82a68ada1d833f8838dd859bcb27a61/44b09ced47d1340e4b5af5cc6f2fc8b2.dll

LZ4cc
Assembly Version: 1.0.15.93
Win32 Version: 1.0.15.93
CodeBase: file:///C:/Users/Lewis/AppData/Local/Temp/f82a68ada1d833f8838dd859bcb27a61/bed5714f0a00711677483c138938e914.dll

LZ4pn
Assembly Version: 1.0.15.93
Win32 Version: 1.0.15.93
CodeBase: file:///C:/Users/Lewis/AppData/Local/Temp/f82a68ada1d833f8838dd859bcb27a61/50495300240756128a79c0c0850f98e5.dll

Newtonsoft.Json
Assembly Version: 12.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Lewis/source/repos/pkNX24/pkNX.WinForms/bin/Debug/pkNX.exe

System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Runtime.Serialization
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3928.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Randomizing trainers not working

Hello, when I randomize trainers in PKNX it seems to save the changes (I click save and exit with the 'X' button every time, and looking at each trainer shows that they were randomized) but when loading into the game the trainers are unchanged. Everything else I've done in PKNX carries through into the game, but trainers don't

Help with compile PkNX

Hi I tried to compile PkNX with VS community 2019 (I have the last version of NETframework) but always have error in both forms (paste the URL and download the master's zip). I followed the gamebanana's tutorial but I always have errors!!

Changes don't show at all (Sw/Sh)

I modified bin/pml/evolution/evo_831.bin and copied the folder that pkNX created (0100ABF008968000/RomFs etc) to my SD Card at atmosphere/titles and restarted my Switch. When I go into the game the things I've changed don't show up at all (for example Wooloo isn't evolving into Magikarp at Level 6) plus I used someone else's mod (title screen logo swap) and that didn't show up either. If this is an issue with LayeredFS, could I know what I'm doing incorrectly?

sword shield gift trade static randomizing

hi. i wonder if it is possible to add a randomizer for these editors please since let's go has them. if not please could you point me to the direction of me adding it myself thank you. i am not familiar with flatt buffers but would like this alot

Crash for Master Dump when changing languages

Changing the Language will result in no strings being passed to the Master Dump window when clicking on it without either rebooting the software or populating the strings by clicking on one of the other buttons.

To Reproduce:

  • Assumption: SW is loaded, language is English.
  • Options -> Language -> カタカナ
  • Click MasterDump
  • Click Nest Encounters

It looks like ROM.GetStrings results in an empty array which causes the exception

Crashes Sword Game after Several Launches

Having the mod folder in contents while closing and reopening Pokemon Sword game a few times crashes atmostphere with the "panic occurred while running atmostphere" error.

How to open? Pokemon Sword

So I'm following a tutorial for Pokemon Lets Go, and I'm at the point where I open the folder that's named "9226d941a6b4d9df42ff2fa4213d1679.nca" with pkNX but I get an error saying that it is an invalid folder. How to I open the folder?

Can't build the project

When I try to build the project, it failed with these logs.

PS C:\Projects\pkNX> nuget restore pkNX.sln
MSBuild auto-detection: using msbuild version '4.0' from 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319'.
Restoring NuGet package Costura.Fody.4.1.0.
Restoring NuGet package Fody.6.0.5.
Restoring NuGet package Newtonsoft.Json.12.0.3.
Adding package 'Newtonsoft.Json.12.0.3' to folder 'C:\Projects\pkNX\packages'
  GET https://api.nuget.org/v3-flatcontainer/costura.fody/4.1.0/costura.fody.4.1.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/fody/6.0.5/fody.6.0.5.nupkg
  OK https://api.nuget.org/v3-flatcontainer/fody/6.0.5/fody.6.0.5.nupkg 233ms
Installing Fody 6.0.5.
  OK https://api.nuget.org/v3-flatcontainer/costura.fody/4.1.0/costura.fody.4.1.0.nupkg 252ms
Installing Costura.Fody 4.1.0.
Added package 'Newtonsoft.Json.12.0.3' to folder 'C:\Projects\pkNX\packages'
Adding package 'Costura.Fody.4.1.0' to folder 'C:\Projects\pkNX\packages'
Added package 'Costura.Fody.4.1.0' to folder 'C:\Projects\pkNX\packages'
Adding package 'Fody.6.0.5' to folder 'C:\Projects\pkNX\packages'
Added package 'Fody.6.0.5' to folder 'C:\Projects\pkNX\packages'

NuGet Config files used:
    C:\Users\K2-18b\AppData\Roaming\NuGet\NuGet.Config

Feeds used:
    C:\Users\K2-18b\.nuget\packages\
    https://api.nuget.org/v3/index.json

Installed:
    3 package(s) to packages.config projects

PS C:\Projects\pkNX> dotnet build -c Release .\pkNX.sln
Microsoft (R) Build Engine version 16.4.0+e901037fe pour .NET Core
Copyright (C) Microsoft Corporation. Tous droits réservés.

  Restauration effectuée dans 36,54 ms pour C:\Projects\pkNX\pkNX.Structures\pkNX.Structures.csproj.
  Restauration effectuée dans 36,54 ms pour C:\Projects\pkNX\pkNX.Containers\pkNX.Containers.csproj.
  Restauration effectuée dans 37,09 ms pour C:\Projects\pkNX\pkNX.Tests\pkNX.Tests.csproj.
  Restauration effectuée dans 36,54 ms pour C:\Projects\pkNX\pkNX.Randomization\pkNX.Randomization.csproj.
  Restauration effectuée dans 36,54 ms pour C:\Projects\pkNX\pkNX.Game\pkNX.Game.csproj.
  pkNX.Containers -> C:\Projects\pkNX\pkNX.Containers\bin\Release\net46\pkNX.Containers.dll
  pkNX.Structures -> C:\Projects\pkNX\pkNX.Structures\bin\Release\net46\pkNX.Structures.dll
  pkNX.Containers -> C:\Projects\pkNX\pkNX.Containers\bin\Release\netstandard2.0\pkNX.Containers.dll
  pkNX.Structures -> C:\Projects\pkNX\pkNX.Structures\bin\Release\netstandard2.0\pkNX.Structures.dll
  pkNX.Randomization -> C:\Projects\pkNX\pkNX.Randomization\bin\Release\net46\pkNX.Randomization.dll
  pkNX.Randomization -> C:\Projects\pkNX\pkNX.Randomization\bin\Release\netstandard2.0\pkNX.Randomization.dll
  pkNX.Game -> C:\Projects\pkNX\pkNX.Game\bin\Release\net46\pkNX.Game.dll
C:\Program Files\dotnet\sdk\3.1.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3823: les ressources qui ne sont pas des chaînes nécessitent la propriété GenerateResourceUsePreserializedResources avec la valeur true. [C:\Projects\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.1.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: les ressources qui ne sont pas des chaînes nécessitent l'assembly System.Resources.Extensions au moment de l'exécution, mais il est introuvable
dans les références de ce projet. [C:\Projects\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]

ÉCHEC de la build.

C:\Program Files\dotnet\sdk\3.1.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3823: les ressources qui ne sont pas des chaînes nécessitent la propriété GenerateResourceUsePreserializedResources avec la valeur true. [C:\Projects\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.1.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: les ressources qui ne sont pas des chaînes nécessitent l'assembly System.Resources.Extensions au moment de l'exécution, mais il est introuvable
dans les références de ce projet. [C:\Projects\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
    0 Avertissement(s)
    2 Erreur(s)

Temps écoulé 00:00:01.76

https://dev.azure.com/project-pokemon/pkNX/_build?view=runs is broken, the loading animation is infinite with Firefox/Chromium, so it's not possible to access to the detail of a run or download any artifact.

The wild editor doesn't randomize

Every time I click the randomize button on the wild editor, it keeps playing that one windows beep and doesn't do any randomization. It allows me to manually edit them but doesn't randomize, everything else that has an option for randomization works but not the randomization for the wild editor. SWSH, I downloaded it from the pipeline

[Trainer Editor] Number of Pokemon in party not randomizing

So I tried using this exact combination of settings to randomize trainer Pokemon in Shield (while still keeping the original Pokemon), basically, I want the randomizer to add extra Pokemon to their party while keeping the existing ones.

Instead of randomizing the number of Pokemon in the party, it's simply bumping them to the required minimum and not adding any more, so if I set min to 3 and max 6, everyone who had less than 3 now has 3, but never 4-5-6, if I set the min to 2, everyone who had 1 now has 2, but never 3-4-5-6, etc.

Hope my explanation is clear enough.

How to edit Drop tableID in Raid Encounters ???

Hi, I will do a HackRom but I need help, I need edit the raids encounters but in specially the drop after the raid battle but only appears numbers (see image), plz if someone know how to do it, I will really aprreciate, thnx

Invalid Folder / Game cannot be recognized (Pokemon Sword)

I know you probably said there's must be exeFS and romFS folder in the folder we have to choose, but it has the folder and the content were extracted with hactool (along with the update). First i tried to load without the update, doesn't work with this structure, then i extract the update and it still doesnt work. Using latest commit (666-meadow) from pipelines and romFS (along with the update) has 41971 files. Idk what's wrong

pkNX unable to reopen wild encounter after editing

I noticed this in the past release, and is still present in this one
Whenever you want to edit wild encounters, pkNX won't be able to load them back even if you don't make any edits, or press the save button. You will need to delete the bin/archive/field/resident/ file, and redump wild encounters to make pkNX able to load them back in.

wild editor doesn't seem to remember changed tables

Game: Pokémon Sword
App version: 59f7645

I'm currently trying to sync sword/shield tables to remove all exclusives.
However, if I add a pokemon to "Intense Sun" etc in an area, switch to another area and then back, the change is gone.

The odd thing is that it's not consistent, I'll try to make a video of it later if it happens again.
Am I doing something wrong or how am I supposed to make multiple edits before saving?

EDIT:
Video of it happening here
https://imgur.com/sRvtgTL

problems when I edit trainers

Hello! I have a problem .. when I edit trainers sometimes it is not saved, when I go out and re-enter the changes have not been saved even though I give it to save. Does anyone know what the problem is? I have downloaded the pknx again and it keeps happening to me.
I hope not to disturb, it is not my intention ... THANKS

show names in gift static trade editors + legendary for legendary?

right now next to species it shows the pokedex number (ex. pikachu is 25 and eevee is 133 in the gift editor ) same for items, relearn moves and special moves (nature is ok it shows their names ). can this be changed to show their actual names instead ? for example instead of showing 133 it shows eevee . also if possible add legendary for legendary randomizer like pk3DS has ?

No more option for a Pokemon's ability in trainer editor

Hey just wanted to notify you guys that after the changes today to the trainer editor to allow editing of the Dynamax levels and other features, the box to decide a Pokemon's ability is no loner there. Also, there's a "Can mega" checkbox now. Not sure if this was intentional or not.

Anyways, there is currently no way to change trainer Pokemon abilities with the latest commits.

SwSh Personal Randomizer with inherit types not working

hi, im trying to randomize pokemon shield and keep the typings the same through evolution lines. i have tried every setting in the enhancements tab however none make it so that when i randomise the types are the same for each evo line.
Thanks

General Sword and Shield Bugs/Potential Additions

Edit (12.16.2019): Several bugs have been fixed and have therefore been removed from the original post.

A few of the bugs I've encountered with pkNX recently. This issue serves as a compilation of what needs to be fixed.

  • Editing Gifts can crash the game
    • Editing multiple values at a time can lead to this crash
      • Species, Ball, and CanGigantamax are what I've tested this with
    • Filesize can change drastically (related?)

(Request) Export/Import all text files option

I'm currently working on a little romhack and want to all texts in a .txt.
I know already that there is an option to export/import on single text file as.txt but no option to export/import all with the same name like pknx shows it in the dropdown menu. It would make editing the text alot easier in my opinion,(and also safer since editing inside pknx and accidently closing looses all my progress)

How to randomize this?

Hello! great job! I have a question, is it possible to randomize gift and static encounters? and the items? THANKS!

Dotnet build issues

Admittedly I'm not super familiar with C# build stuff, but here goes:

with dotnet 3.0.100

dotnet build /p:Configuration=Release /p:Platform="Any CPU"
Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 18.16 ms for C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj.
  Restore completed in 18.16 ms for C:\Switch\pkNX\pkNX.Game\pkNX.Game.csproj.
  Restore completed in 18.16 ms for C:\Switch\pkNX\pkNX.Containers\pkNX.Containers.csproj.
  Restore completed in 18.16 ms for C:\Switch\pkNX\pkNX.Randomization\pkNX.Randomization.csproj.
  Restore completed in 18.27 ms for C:\Switch\pkNX\pkNX.Tests\pkNX.Tests.csproj.
  pkNX.Containers -> C:\Switch\pkNX\pkNX.Containers\bin\Release\net46\pkNX.Containers.dll
  pkNX.Structures -> C:\Switch\pkNX\pkNX.Structures\bin\Release\net46\pkNX.Structures.dll
  pkNX.Containers -> C:\Switch\pkNX\pkNX.Containers\bin\Release\netstandard2.0\pkNX.Containers.dll
  pkNX.Structures -> C:\Switch\pkNX\pkNX.Structures\bin\Release\netstandard2.0\pkNX.Structures.dll
  pkNX.Randomization -> C:\Switch\pkNX\pkNX.Randomization\bin\Release\netstandard2.0\pkNX.Randomization.dll
  pkNX.Randomization -> C:\Switch\pkNX\pkNX.Randomization\bin\Release\net46\pkNX.Randomization.dll
  pkNX.Game -> C:\Switch\pkNX\pkNX.Game\bin\Release\net46\pkNX.Game.dll
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): warning MSB3555: Output file "C:\Switch\pkNX\pkNX.Sprites\obj\Release\pkNX.Sprites.Properties.Resources.resources" is possibly corrupt. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]

Build FAILED.

C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): warning MSB3555: Output file "C:\Switch\pkNX\pkNX.Sprites\obj\Release\pkNX.Sprites.Properties.Resources.resources" is possibly corrupt. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
C:\Program Files\dotnet\sdk\3.0.100\Microsoft.Common.CurrentVersion.targets(3056,5): error : MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project's references. [C:\Switch\pkNX\pkNX.Sprites\pkNX.Sprites.csproj]
    1 Warning(s)
    2 Error(s)

Time Elapsed 00:00:02.15

with dotnet 2.1.802 forced with local `global.json`

Microsoft (R) Build Engine version 16.2.32702+c4012a063 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 139.57 ms for C:\Switch\pkNX\pkNX.Tests\pkNX.Tests.csproj.
  Restore completed in 139.57 ms for C:\Switch\pkNX\pkNX.Randomization\pkNX.Randomization.csproj.
  Restore completed in 139.57 ms for C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj.
  Restore completed in 139.57 ms for C:\Switch\pkNX\pkNX.Containers\pkNX.Containers.csproj.
  Restore completed in 139.57 ms for C:\Switch\pkNX\pkNX.Game\pkNX.Game.csproj.
Text\TextFile.cs(221,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(221,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(239,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(239,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
  pkNX.Containers -> C:\Switch\pkNX\pkNX.Containers\bin\Release\net46\pkNX.Containers.dll
  pkNX.Containers -> C:\Switch\pkNX\pkNX.Containers\bin\Release\netstandard2.0\pkNX.Containers.dll

Build FAILED.

Text\TextFile.cs(221,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(221,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(239,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
Text\TextFile.cs(239,20): error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?) [C:\Switch\pkNX\pkNX.Structures\pkNX.Structures.csproj]
    0 Warning(s)
    4 Error(s)

Time Elapsed 00:00:02.93

Am I missing something with regards to build tooling? If the answer is 'install Visual Studio' I'm nuking Windows for good lol

AI flags + My own research on what the Unused flag does.

Hi! I've got some questions about the AI tags in PKNX. Do you have any information on what the Basic, Strong, Expert, and Allowance flags do?

Also, the Unused flag is actually used on a couple of Trainers, it appears to be related to the fire Gym Challenge where you're "competing against" the partner in a Multi Battle.

Trainer randomizer - Using "RandomMoves" causes array index out of bounds

Using the RandomMoves option for MoveRandType on the Trainer Randomizer causes the editor to throw an unhandled array index out of bounds exception.

Other options seem to work fine.

Exception text (it's in french, but it's basically array index out of bounds) :

System.IndexOutOfRangeException: L'index se trouve en dehors des limites du tableau.
   à pkNX.Randomization.MoveRandomizer.<>c__DisplayClass15_0.<IsMovesetMeetingRequirements>b__0(Int32 move)
   à System.Linq.Enumerable.Count[TSource](IEnumerable`1 source, Func`2 predicate)
   à pkNX.Randomization.MoveRandomizer.IsMovesetMeetingRequirements(Int32[] moves, Int32[] types, Int32 count)
   à pkNX.Randomization.MoveRandomizer.GetRandomMoveset(Int32[] Types, Int32 movecount)
   à pkNX.Randomization.MoveRandomizer.GetRandomMoveset(Int32 index, Int32 movecount)
   à pkNX.Randomization.TrainerRandomizer.RandomizeEntryMoves(TrainerPoke pk)
   à pkNX.Randomization.TrainerRandomizer.UpdatePKMFromSettings(TrainerPoke pk)
   à pkNX.Randomization.TrainerRandomizer.Execute()
   à pkNX.WinForms.BTTE.B_Randomize_Click(Object sender, EventArgs e) dans D:\dev\pknx\pkNX.WinForms\Subforms\BTTE.cs:ligne 558
   à System.Windows.Forms.Control.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à System.Windows.Forms.ButtonBase.WndProc(Message& m)
   à System.Windows.Forms.Button.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

This happens with commit 19ec807.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.