CodeWalker icon indicating copy to clipboard operation
CodeWalker copied to clipboard

Update from .net Framework to .NET 8.0

Open niekschoemaker opened this issue 1 year ago • 2 comments

As per the previous pull request, which was quite large and contained a lot of unecessary optimizations.

So reduced it to only include the update to .net 8.0 for now.

Only required switching from DataVizualisation to an external package, and switched the WinForms Open Folder util to WPF.

My reasoning behind this update is to allow the project to be more modern, so allow features like Span and Memory which can save a lot of Array copying, and this also unlocks a lot of new .NET features.

And since .NET is so backwards compatible this doesn't change the behavior whatsoever (besides the fact that WinForms updated it's look a little bit so the UI looks a little bit different)

niekschoemaker avatar Aug 12 '24 17:08 niekschoemaker

I have been very hesitant to move CodeWalker to a newer .net version, mostly because it seems that users will need to download and install the .net runtime. There is of course also the possibility to introduce new bugs, and it's a lot of work for maybe very little gain. CodeX is my "next-gen" project, designed to be running on new .net, and fixing many of the issues that CodeWalker has in these regards. So I've decided really to keep CodeWalker as stable as possible for now, and focus all efforts of improving performance and future interoperability on CodeX. The repository is still private while the engine is under primary development, but once it's in a better position to completely replace CodeWalker, it will go public.

dexyfex avatar Aug 16 '24 00:08 dexyfex

I have been very hesitant to move CodeWalker to a newer .net version, mostly because it seems that users will need to download and install the .net runtime. There is of course also the possibility to introduce new bugs, and it's a lot of work for maybe very little gain. CodeX is my "next-gen" project, designed to be running on new .net, and fixing many of the issues that CodeWalker has in these regards. So I've decided really to keep CodeWalker as stable as possible for now, and focus all efforts of improving performance and future interoperability on CodeX. The repository is still private while the engine is under primary development, but once it's in a better position to completely replace CodeWalker, it will go public.

Ah, the new project explains a lot of things, I'll be looking forward to that.

The stability is hard to manage in the current CodeWalker to be fair, also the reason I implemented some basic unit tests, but couldn't come up with a clean way to do that without ripping the whole core apart, so only had some basic tests (referring to the previous pull request)

If you need any help with testing and/or just in general, let me know, I'm willing to take some risks in regards to testing for crashes with imported files in larger player bases if that is wanted.

niekschoemaker avatar Aug 16 '24 13:08 niekschoemaker