Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

select and prepare voiceline audio files for a dialog scene #24

Closed
ghost opened this issue Mar 4, 2017 · 0 comments
Closed

select and prepare voiceline audio files for a dialog scene #24

ghost opened this issue Mar 4, 2017 · 0 comments
Assignees
Labels
p2 Medium priority

Comments

@ghost
Copy link

ghost commented Mar 4, 2017

As a voice asset modder I want to pair voiceline audiofiles to specific dialoglines so they are played when the dialog text is displayed as subtitle.

assuming the dialog scene is already done and the w3speech tools are to be used):

  • load the strings + ids (either from a strings csv or directly from the scene) and display in a list (id + string)
  • ability to hide uninteresting lines (for example select options or other lines)
  • select for every line a 44khz audio file
  • save pairing (as configuration)
  • show info about wwise conversion
@ghost ghost added p1 High priority role: voice asset modder labels Mar 4, 2017
@Traderain Traderain self-assigned this Mar 4, 2017
@ghost ghost added p2 Medium priority and removed p1 High priority labels Mar 4, 2017
@Traderain Traderain added this to TODO in Traderain workflow Jul 26, 2017
rfuzzo pushed a commit that referenced this issue Jan 22, 2021
Traderain added a commit that referenced this issue Jan 22, 2021
* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b.

* Revert "merge cp77.common"

This reverts commit 1ba536b.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Traderain added a commit that referenced this issue Jan 23, 2021
* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Traderain added a commit that referenced this issue Jan 29, 2021
* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Traderain added a commit that referenced this issue Feb 1, 2021
* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b.

* Revert "merge cp77.common"

This reverts commit 1ba536b.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Traderain added a commit that referenced this issue Feb 7, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Publish Wizard Fixes

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Better readme (#336)

Just read it, yeah?

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Fixed (#337)

typos

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Discord RPC Added

* Added "All" Forms to be designed

* AddChunkerzzz :')

* Reogranized views + viewmodels into folders. Create new folders outside these categories in the main ViewModel/ Views Folder and drag it into the correct category after.

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>
Traderain added a commit that referenced this issue Feb 8, 2021
* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Publish Wizard Fixes

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Better readme (#336)

Just read it, yeah?

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Fixed (#337)

typos

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Discord RPC Added

* Added "All" Forms to be designed

* AddChunkerzzz :')

* Reogranized views + viewmodels into folders. Create new folders outside these categories in the main ViewModel/ Views Folder and drag it into the correct category after.

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>

* Custom Orchestra Libraries + TitleBar redesign.

* Fixed Build

Co-authored-by: Akiway <aurelien.klein@viacesi.fr>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>
Traderain added a commit that referenced this issue Feb 9, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* u…
Traderain added a commit that referenced this issue Feb 9, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Update Cr2wWriteTest.cs

* Add SettingsManager validator

* fix cr2w class property order

lol

* fix cr2w writing

* write red csv

* fix warnings

* AudioToolDesign And MVVM headaches

* Fixing Merge

* curve data writing

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* console bugfix

- fixed a bug with rebuilding textures

* no

* Radio

* rename cr2w header properties

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Update Cr2wWriteTest.cs

* fix cr2w ordinals

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* mt unknown bytes

* User page Progress

* loot, location unknown bytes

* fix buffer rebuilding

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* more unknown bytes

* Update Cr2wWriteTest.cs

* Undoing temp fixes for HC from multiple sources.

* Update CommonFunctions.cs

* Update Uncook.cs

* order props

* fix classes

* fix convert error

* remove parent properties

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* cr2w writing, more unknown bytes

- more unknown bytes

* quest + mi unknown bytes

* parallell

* Working packing

* more unknown bytes

* unknown bytes

* questphase, journal unknown bytes

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)
…
Traderain added a commit that referenced this issue Feb 16, 2021
* Mesh export fix (#334)

* Changed default extension in export definition
* Added mesh in the list of ECookedFileFormat
* Moved buffers creation in a dedicated function

Co-authored-by: Akiway <kleaur@gmail.com>

* Updated MSBuild.Sdk.Extras & Turned on TreatWarningsAsErrors for all projects (#335)

* Cr2w parsing (#339)

* Update Cr2wWriteTest.cs

* fix cr2w class property order

lol

* fix cr2w writing

* write red csv

* fix warnings

* curve data writing

* console bugfix

- fixed a bug with rebuilding textures

* rename cr2w header properties

* Update Cr2wWriteTest.cs

* fix cr2w ordinals

* mt unknown bytes

* loot, location unknown bytes

* fix buffer rebuilding

* more unknown bytes

* Update Cr2wWriteTest.cs

* Update CommonFunctions.cs

* Update Uncook.cs

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Publish Wizard Fixes

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Better readme (#336)

Just read it, yeah?

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Fixed (#337)

typos

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Discord RPC Added

* Added "All" Forms to be designed

* AddChunkerzzz :')

* Reogranized views + viewmodels into folders. Create new folders outside these categories in the main ViewModel/ Views Folder and drag it into the correct category after.

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>

* Publish wizard (#346)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash ha…
Traderain added a commit that referenced this issue Feb 25, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

…
Traderain added a commit that referenced this issue Mar 5, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* u…
rfuzzo added a commit that referenced this issue Mar 13, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40, reversing
changes made to 452c9b6.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b.

* Revert "merge cp77.common"

This reverts commit 1ba536b.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a2.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Publish Wizard Fixes

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Better readme (#336)

Just read it, yeah?

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Fixed (#337)

typos

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Discord RPC Added

* Added "All" Forms to be designed

* AddChunkerzzz :')

* Reogranized views + viewmodels into folders. Create new folders outside these categories in the main ViewModel/ Views Folder and drag it into the correct category after.

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>
rfuzzo added a commit that referenced this issue Mar 13, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Ch…
rfuzzo added a commit that referenced this issue Mar 13, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Update Cr2wWriteTest.cs

* Add SettingsManager validator

* fix cr2w class property order

lol

* fix cr2w writing

* write red csv

* fix warnings

* AudioToolDesign And MVVM headaches

* Fixing Merge

* curve data writing

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* console bugfix

- fixed a bug with rebuilding textures

* no

* Radio

* rename cr2w header properties

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Update Cr2wWriteTest.cs

* fix cr2w ordinals

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* mt unknown bytes

* User page Progress

* loot, location unknown bytes

* fix buffer rebuilding

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* more unknown bytes

* Update Cr2wWriteTest.cs

* Undoing temp fixes for HC from multiple sources.

* Update CommonFunctions.cs

* Update Uncook.cs

* order props

* fix classes

* fix convert error

* remove parent properties

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* cr2w writing, more unknown bytes

- more unknown bytes

* quest + mi unknown bytes

* parallell

* Working packing

* more unknown bytes

* unknown bytes

* questphase, journal unknown bytes

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
La…
rfuzzo added a commit that referenced this issue Mar 13, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

# Conflicts:
#	WolvenKit/App.xaml
#	WolvenKit/Views/HomePageView.xaml.cs
#	WolvenKit/Views/LogView.xaml.cs

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

…
rfuzzo added a commit that referenced this issue Mar 13, 2021
* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Command for publishing mods

* Publish Wizard Fixes

* Description of plans for publishing

* Fix build

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* Cyberpunk packing & beggining of witcher 3 packing

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Witcher3 packing

* Witcher 3 install strategy

* Cyberpunk 2077 install strategy

* Package creation class and wkp specification

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Fix ProjectWizardView's persistence

* Working packing

* Adding #344 Custom Orchestra Libraries + TitleBar redesign (#345)

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Ch…
Traderain added a commit that referenced this issue Mar 14, 2021
* Mesh export fix (#334)

* Changed default extension in export definition
* Added mesh in the list of ECookedFileFormat
* Moved buffers creation in a dedicated function

Co-authored-by: Akiway <kleaur@gmail.com>

* Updated MSBuild.Sdk.Extras & Turned on TreatWarningsAsErrors for all projects (#335)

* Cr2w parsing (#339)

* Update Cr2wWriteTest.cs

* fix cr2w class property order

lol

* fix cr2w writing

* write red csv

* fix warnings

* curve data writing

* console bugfix

- fixed a bug with rebuilding textures

* rename cr2w header properties

* Update Cr2wWriteTest.cs

* fix cr2w ordinals

* mt unknown bytes

* loot, location unknown bytes

* fix buffer rebuilding

* more unknown bytes

* Update Cr2wWriteTest.cs

* Update CommonFunctions.cs

* Update Uncook.cs

* Export - flip option (#341)

- Added the vertical flip option to export command.

* Dev UI (#343)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* merge cp77.common

* merge cp77.console

* Revert "merge cp77.console"

This reverts commit 1ed419b32a98d6299392af8816c72203bc18886e.

* Revert "merge cp77.common"

This reverts commit 1ba536bd8b8555c43a999adefc85b0d13e51d249.

* remove old cp77 files

* remove console and tests

* remove old files

* add new files

* remove old files

* merge cp77.cr2w

* fix merge

* remove merged files

* update namespace

* update namespace

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* Plugin Manager is MVVM convert ready.

* Preparing for thememanager

* Remote cp77tools and bugfixes (#301)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* fix restore bug

* Update README.md

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* rm remote projs

* nuget specs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* include unit tests

* bugfixes

- fixed a bug where uncooking would display an error despite it uncooking correctly
- fixed some missing properties in classes
- more bugfixes

* Update WolvenKit.Cyberformats.csproj

- update version

* Update WolvenKit.Cyberformats.csproj

- different version tag for nugets

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Local Work

* ok

* Work

* Stash

* Update Nugets (#302)

* update sln

* Merge remote-tracking branch 'cp77tools/main' into wolvenkit-console

* archivehashes as embedded resource

* version update

- easier texconv

* Update CP77Tools.csproj

* bugfix

- fixed a bug where uncooking buffers would not extract them

* Styling and Theming

* bugfixes

- fixed a bug where packed buffers had incorrect metadata
- better handling for long extract paths
- changed default uncook extension to dds

* fixed mlmask layercount issue and interpolation

* rename archive entries to reflect the official name (#305)

* rename archive entries to reflect the official name

* cr2w writing and more verbose unit test

* Settings Page Work

* Settings work

* Editor Settings Page PreWork

* adding sharpgltf package required for uncookmesh (#308)

* class to export .mesh files to .glb (#307)

* SettingsViewWork

* Open ProjectWizard on File->New (#310)

* Show ProjectWizard on File->New
Added UserControlHostWindowView and Model

* Added Theming

* Better unit tests (#312)

* parallel unit tests

* fixes

- default uncook extension dds
- fixed a bug with logging unit test results

* cr2w fixes

* physicsMaterialLibraryResource

* more unit tests

- more verbose read unit test
- implemented write unit tests

* Merge CP77Tools Solution (#311)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update AppSettingsService.cs

fix path

* List object inside buffersDict was not thread-safe, resulting in occasional null value insertion. Removed parallel execution. (#47)

* add dumped classes

* enums

* fix missing classes

* FNV 1A 64-bit hash algorithm optimizations (#49)

* Streaming from zip-archive with hashes without extracting. (#50)

* namespace changes

WolvenKit.Cr2w -> CP77.Cr2w

* remove unused legacy classes

* Cross-platform support

- removed memory-mapped files

* Version update

* correct enums

* fix varname normalization

* normalize class types

* version updadte

* fix class property

* Added optional vertical flip when uncooking (#56)

* Added optional vertical flip when uncooking

* fixed typo and cleaned up texconwrapper

* Merge branch 'feature-buffer-extraction' into dev

- oodle decompression OSX support
- extracting archives concatenates buffers instead of splitting
- uncooking now extracts and decompresses buffers out of the cr2w
- fixed a bug with buffer extraction

* Update Archive.cs

- better cross-platform handling

* update name

* update branch id

* Revert "update name"

This reverts commit cad7040366b76394678a81d2b2f27ed8049dc581.

* Create nightly.yml

* Delete nightly.yml

* workflow dispatch

* packing

- added a rebuild option (to add split buffers back to a cr2w file)
- refactored mod operations (packing, importing etc)
- osx ooz instead of oodle

* Update .gitignore

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* Update nightly.yml

* fix correct upload url

* Update nightly.yml

* Update README.md

* Update README.md

* unsafe dds rebuilding

- added the option to unsafely pack textures as buffers

* fix buffer rebuilding

* better logging

* Update README.md

* Update README.md

* bugfixes

- fix packing bugs
- fix rebuilding bugs
- fix extraction bugs
- refactor extraction
- refactor uncooking
- refactor decompression

* Cr2w unit tests (#57)

* Initial unit tests

* Post dev merge

* Fixed logging

* Output as CSV, Better Exceptions

* Flipped decompress flag

* Pre-merge tidying up

* Update README.md

* Update dotnet-core.yml

- don't create pre-release builds for main

* add clean step before restore

* Update README.md

* Version 1.1 (#67)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* exclude reshaper stuff

* Stable "Uncooking" Version (v1.1) (#69)

* some more enums

* Implemented extracting from missing hash list (#59)

* uncookTask

* MLmask uncook support (#60)

* Added mlmask uncook support

* fixed interpolation issue resulting in pixelart

* Update archivehashes.zip

* refactor unbundling

* add new commands, deprecate archive command

* Update Uncook.cs

- uncooking also extracts

* fixed vertical flip (#62)

* Update nightly.yml

- create beta release instead of appending to existing release

* fix restore bug

* version update

* Update Uncook.cs

- fixed a bug where uncooking would fail

* Uncook support for some extensions (#63)

* Uncook support for cubemap and envprobe

* Uncook support for texarray

* fixed #65

* add export command

* version update

* rm remote projs

* use nugets

- use wolvenkit nugets
- retarget to net5.0-windows

* remove remote files

* remove archive command

* fix nuget dependencies

* unit test base class

* Update Nugets

* fix dependency copying

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>

* fix retarget

* update nugets

* bugfixes and QoL

- fixed a bug where uncooking would not decompress buffers
- version update
- automatically look for oodle lib when starting

* Create CHANGELOG.txt

* Update README.md

* Update Nugets

- fixed some bugs with packing

* add cp77tools.sln

Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>

* Fixed warnings (#325)

* Remaining Warning fixes (#326)

* Fixed warnings

* remaining warnings wip

* Remaining suppressions

* Missed one...

* Console and cr2w fixes (#329)

* buffer rebuild fix

- fixed a bug where buffers would be rebuilt out of order

* cr2w command filtering

- added wildcard and regex support for cr2w dumping

* fix oodle compression

* unknown bytes

- fixed some bugs relating to file parsing
- red reflection now properly reads REDAttributes

* more enums

* cr2w read bugfixes

* Archive extraction and uncooking refactor

- uncook and extract with streams

* better unit test logging

* fix merge

* multichannel curve

- cr2w parsing fixes

* Asset browser implementation (#328)

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* Adding mod files works for witcher3

Co-authored-by: R503B <sodanak1n@outlook.com>

Co-authored-by: R503B <sodanak1n@outlook.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>

* Publish Wizard Fixes

* Update ProjectWizard VMs

* Add CompatibilitySubSettingsViewModel

* Add SettingsManager validator

* AudioToolDesign And MVVM headaches

* Fixing Merge

* Refactor CompatibilitySubSettingsView.xaml.cs

* 😰 bad

* temp

* no

* Radio

* Implement ApplicationCreateNewProjectCommandContainer

* Naudio Instead of Fmod (we could keep fmod for a in app radio if thats worth anything /shrug )
AudioTool is functional except for buttons in the StepGuide.
Needs Itemsource for left playlist and then the final binding to set the selected item to the current track to play. :)

* Better readme (#336)

Just read it, yeah?

* Design polishing ,Button fixes , Wizard fixes , Bug Report Button works.

* Ribbon View Items

* InstallerWizard :D

* Drag Backstage + HomePage

* User page Progress

* DesignTimeResources Prep For Ultimate merge

* Undoing temp fixes for HC from multiple sources.

* Fixed (#337)

typos

* Avalondock Net5 Update + Theming <3

* Cleaned Fmod from project.  + W3PackSettingsView
Removed Unused libs.

* WIP

* UCHWV Title Fix.

* Discord RPC Added

* Added "All" Forms to be designed

* AddChunkerzzz :')

* Reogranized views + viewmodels into folders. Create new folders outside these categories in the main ViewModel/ Views Folder and drag it into the correct category after.

Co-authored-by: Hambalkó Bence <hambalko.bence@gmail.com>
Co-authored-by: Ákos Köte <kote2ster@gmail.com>
Co-authored-by: rfuzzo <37657287+rfuzzo@users.noreply.github.com>
Co-authored-by: Eugene Pogrebnyak <emcifuntik@gmail.com>
Co-authored-by: Martin Winkelmann <martinsstuff@users.noreply.github.com>
Co-authored-by: Maxime Chambonnet <maxime.chambonnet@hotmail.com>
Co-authored-by: avail <avail@pomf.se>
Co-authored-by: snazk <49425492+eprilx@users.noreply.github.com>
Co-authored-by: phrisk <stevieshannon@gmail.com>
Co-authored-by: avail <avail@users.noreply.github.com>
Co-authored-by: Aaron Shoemaker <aaronmshoemaker@users.noreply.github.com>
Co-authored-by: waitxd <wait.xd@gmail.com>
Co-authored-by: Kay Hennig <KayHennig98@gmail.com>
Co-authored-by: rfuzzo <r.fuzzo@gmail.com>
Co-authored-by: HitmanHimself <76775663+HitmanHimself@users.noreply.github.com>
Co-authored-by: hrkrx <5176531+hrkrx@users.noreply.github.com>
Co-authored-by: DerinHalil <50413946+DerinHalil@users.noreply.github.com>

* Publish wizard (#346)

* Update master from dev (#298)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

Co-authored-by: R503B <sodanak1n@outlook.com>

* Fix build (#299)

* ds

* Revert "ds"

This reverts commit 15d0f0e66842db0af7530615f0c38b5798322c92.

* Revert "Getting on track with new branches locally."

This reverts commit 48ecc40c8e6932851286e8cbb211afc39ce43ae4, reversing
changes made to 452c9b6a34f18ba4e57c6994d1ddd97221fd8e38.

* Fix build

* Adding back local work without breaking the universe :)

* HomePage button added to Ribbonview Backstage.
Icon overhaul

* Some renaming (forgot to add View at the end of the views names)
Added Pages for project Wizard and their viewmodels

* Added back a bunch of themes.

* Basic Design  : ProjectWizard

* Design : First use wizard started

* Design : First Setup Wizard
Details : Started base design of pages.

* Design : First Setup Wizard
Details : Basic Design Finished.

* Basic Design : Publish Wizard
Details : ViewModels and Views created and registered.

* Basic Design : Homepage Pages , UserWizard , ThemeWizard
Details : Created Views and ViewModels and Registered ViewModels.
Extra : UserWizard and ThemeWizard most likely will only require one View but will still seperate this into a page so it can be used elsewhere too.

* Basic Design : Main Pages for User and Theme Wizard
Details : Created Views and ViewModels and Registered ViewModels.

* Design : WikiPage added WebView2 (Edge update required)
Details : None

* Basic Design : Homepage pages.
Design : Basic Design for Homepage pages.
Details : Wikipage is basically finished only has to be shown uppon button click.
All it requires is the webview2 runtime to be installed on the end users system.
If not installed the program will not crash and just show a white page on the wikipage instead.

All pages have gotten a header added.

* Design : Created Headers + grids for future about items.
Details : See above.

* Design : About Page
Details : Most of the basic design elements are present, an update "About text" is required. Github link needs to be linked trough mvvm command.
Version should be linked to app version
Last update linked to release date of last version.

* Basic Design : WelcomePage
Design : WelcomePage
Details : Welcome page added , registered,  has clock. >:O

* Design : GithubPageView
Details : View Github website embedded.

* Basic Design : ThemeWizard
Design : ThemeWizard
Details : Made a basic themepicker/creator will improve on the looks later.

* Design : UserWizard
Details : Basic Design for UserWizard Finished.

* Design : Publish Wizard
Details : Created basic first design of the publish wizard.

* Design : Asset Browser
Basic Design : Asset Browser
Details : Designed asset browser.
Top bar needs onmousedown event for dragging
Close and minimize need their events accordingly.

Edits : Changed Link on about popup to githublink

* Window Functionality : Asset Browser
Details : Added Drag , Resize , Minimize and Close Window Functionality. ( NON MVVM)

* Basic Functionality : HomePage + Tools Tab on RibbonView
Details : Navigation works now. But needs to be converted to MVVM

* Remove Wolvenkit.Legacy from the main sln

* Fix WolvenKit.Console build errors

* Remove the old renderer project from build

* Update CI project path

Co-authored-by: R503B <sodanak1n@outlook.com>

* Begin work on asset browser bindings

* Basic file browsing

* Working cyberpunk archivemanager without hashes

* Fix hashservice for asset browser

* General Settings Page : Design

* Visibility of profile based on account linked/created design elements added.

* Add basic project wizard viewmodels

* Persistance for GeneralSettingsView.
Toolsettings View Design.

* ToolsSettings Persistance + Basic setting for each Tool. (Open Mode)
Open mode should be Either Docked or Window.

* EditorSubSettings Design

* ProjectWizard Design fixes

* Added basic design (no content) For :

IntegratedToolsPage
UserPage
BugReportWizard
FeedBackWizard

* Changed to Public HandyControls Nuget! Woohoo!

* Preperations for adding CyberCAT
Wizards design work.

* PreviewView Grid

(Name = PreviewGridAsset)

* Directorytree and path display for AssetBrowser

* Assetbrowser bugfixes

* FIx build

* Assetbrowser class and extension list

* Virtualize comboboxes and home button

* Fix project loading async await bug

* BugReportWizard,FeedbackWizard, Overhaul for most wizards , some cleanup of empty lines.

* AudioTool View + ViewModel Made
JournalEditor View + ViewModel Made

* Commit because catel nukes Windows to UC when it feels like , >.>

* Update master (#330)

* Basic Design : CodeEditor

* CoMmIt To PuLl

* Work on Code Editor.

* Design : WebsitePage
Basic Design : WebsitePage , CodeEditor , PluginManager

* Merge tools repo (#300)

* Initial commit

* Create README.md

* better filenames

* .gitignore apply

* v0.1.0.1

- dump option
- fixes

* fix extraction and decompression

* version + oodle

* Update README.md

* Update README.md

* remove unneccesary files

* .gitignore is now working

* Hash finally found (#2)

- Better memory management (don't load all file in ram in unpacking process)
- Added optional extension for files
- Some fields renamed
- Added KARK detection
- Some improvements on files extracting
- Added SHA1Hash by Snazz#3248

* Multithreaded extracting + console progress bars

* Filetime

* Update README.md

* Update README.md

* extraction refactor

* Update README.md

* import tw3 filetypes

* version upgrade

* dump strings from archive

* actions

* derp

* more dump options

* more dump options. cleanup

* Github actions (#4)

* Github actions

* Cleaned

* multithreaded dump

* Update README.md

* whoops

* gitattributes

* Update OodleLZ.cs

* Update README.md

* Update OodleLZ.cs

* System.Commandline

- much better command line help and syntax

* extraction output directory

* extract with filenames

* log

* dump class layout

* Update CR2WExport.cs

- now also includes offset

* more CLI options

- more cli options and descriptions
- archive refactor

* write buffers instead of appending

* better buffer extraction

* cp77 cbitmap support

* texture extraction

* better extraction, texture types

* fix build

- version update

* more hashes

* fix cr2w info dumps

* more hashes

* update cr2w.dll from Wkit

* better json dumps

* version + readme

* better texture extraction

* fix typo

* better texture support

* add oodle tools

* Create Multilayer_Mask.cs

* fixes

* update readme

* fix dump task

* mltemplate support

- pretty json dump

* Local Commit

* Revert "Local Commit"

This reverts commit ace88a20dc4924b123f1e0b6429faa8f45bd9859.

* mltemplate mlsetup

* Build Instructions (#16)

* Create build.md

* Changed capitalization in file name to fit better with naming conventions

* dump class def option

* quit

* better hashing

* Readme hint (with line ending noise :peeporun;) (#19)

* add cp77 classes

- remove tw3  classes

* more classes

* uncooking all

* remove empty "solution items" filter

* small refactor

* speed up hash loading

* switch progress bar library, the output is not as detailed but it fixes #21

* fix output directory logic

* progressbar via ILoggerService

* experimental kraken

* wildcard and regex

* Update archivehashes.csv

* Multi-archive extraction (#24)

* refactor

* archive refactor

* archive small stuff

* Added outpath parameter to Rootcommands : CR2W & Oodle , if not given oupath = inputpath

* Prevent crash if CR2W not given input path.
Refactored Console.WriteLines

* multiple input paths

* gameuiCharacterCustomizationUiPresetValue

- gameuiCharacterCustomizationUiPresetValue
- some renames

* fix a bug with cr2w header

* OodleLZ : Using System was needed.
ArchiveTask : Replaced C.writelines with new logging system.
Program : Listen for Stringlogged
Cr2wtask : New logging
Dumptask : New logging
Hashtask : New logging

* packing

* fix cr2w

* Update Cr2wTask.cs

* RGB, fixed progress bars

* pack task

* pack more

* Added crc64 (#33)

* add crc64
fix toc 3 tables

* fix

* fix buffer archiving

* update version

* Update README.md

* Update README.md

* Update Archive.cs

- fix bug

* Utility command for pulling latest Archive Hashes (#35)

Co-authored-by: avail <avail@users.noreply.github.com>

* Fix (#36)

* add crc64
fix toc 3 tables

* fix

* Fixed size in KARK
Fixed size, zsize in table 2
Fixed offsetidx

* packing bugfixes

- fixed a bug where uncooking would crash the console
- fixed a bug where the buffers would not get sorted by numeric value
- fixed a bug where the filelist in a packed archive was not sorted by hash

* Move Commands defintions into their own classes (#37)

* Moved Command definitions into their own classes

* Merged main

* fix packing non-cr2w files

* bugfixes

- fixed a bug with the archiveManager
- fixed a bug with generating missing hashes
- fixed a bug with loading hashes

* better hash handling

* Update Program.cs

- fixed a bug where the program would crash if no loose archive hashes were found

* checks

* refactoring IHashService

- removed Maincontroller in favor of IHashService
- refactored the IHashService and loading
- fix archive naming

* cr2wtask bugfix

- fixed a bug where cr2w -a and -c would crash

* some more enums

* more enums

* fix enums

* multi-input commands, unit test begin cr2w fixes

* csv uncooking

* more hashes, csv uncooking

* better hash service, logging

- moved hashService to cp77.cr2w
- fixed some UI issues with unpacking

* Update CP77Tools.csproj

- version update

* Update…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p2 Medium priority
Projects
No open projects
Development

No branches or pull requests

1 participant