Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
5622e9e
porting over savestates from decompiled version
cerpintext Jan 11, 2021
048eef3
Save state porting
cerpintext Jan 13, 2021
35d1ec5
ignore references/dependencies folder
cerpintext Jan 13, 2021
1cbe154
Savestate code
cerpintext Jan 14, 2021
494766b
project builds:) added barebone build instructions
cerpintext Jan 14, 2021
c184bfd
prev binds function
cerpintext Jan 14, 2021
e67b7c7
refactored for handling multiple savestates
cerpintext Jan 18, 2021
a906b9b
In-game testing, currently failing
cerpintext Jan 18, 2021
6b46c24
TODO: Error handling :woozy:
cerpintext Jan 18, 2021
0dcafbf
qol functionality. FileSaveStates not yet working
cerpintext Jan 20, 2021
bb6fb4f
SaveState coros fixed, added mono instance
cerpintext Jan 21, 2021
7b13083
SaveStates to and from files work
cerpintext Jan 21, 2021
d687678
SaveStates get properly read at startup
cerpintext Jan 27, 2021
5ecdf5d
Tested further, seems to work well
cerpintext Jan 31, 2021
156af52
Ported the hitbox viewer [credits: seresharp, 56]
cerpintext Feb 4, 2021
6e9ebf8
Hitbox viewer to bindable functions
cerpintext Feb 4, 2021
877774b
SaveState deep-copy implemented
cerpintext Feb 7, 2021
5e46725
Hitboxview mode matching 1028 minidebug
cerpintext Feb 10, 2021
c4c4ddf
backporting CP readme, fixed small bugs, renamed stuff
cerpintext Feb 26, 2021
a909d25
Fixed max slot number and added def value 6 to first run settings
cerpintext Feb 26, 2021
b38e6fb
README and reverted 56's fast savestate
cerpintext Mar 2, 2021
7d43826
Relative path in proj for game files
cerpintext Mar 2, 2021
d2c6d41
Added boundary check on file reading
cerpintext Mar 2, 2021
2bdc053
Update README.md
cerpintext Mar 2, 2021
9ac89b9
Update README.md
cerpintext Mar 2, 2021
e7e400b
Added ugly #header in readme for linking
cerpintext Mar 2, 2021
b5b0dd0
version number
cerpintext Mar 2, 2021
8b88232
Readme api link
cerpintext Mar 6, 2021
f39a4c1
various smol messy stuffs
cerpintext Mar 23, 2021
ec6f0de
SceneIndex to file helper func
cerpintext Mar 24, 2021
7fbb730
Add option in top menu to lock key binds
TheMulhima May 29, 2021
852086d
Added new variables to implement the new changes
TheMulhima May 29, 2021
fc6e34c
Pressing escape unbinds keys
TheMulhima May 29, 2021
819017d
Added new functions and fixed voidheart
TheMulhima May 29, 2021
e682128
Increased precision of HeroPos
TheMulhima May 29, 2021
09aa506
Tons of older, small things
cerpintext May 31, 2021
41fc86b
Does not work, but uumuu extra skeleton code
cerpintext May 31, 2021
d9f4613
Merge pull request #1 from TheMulhima/1.2.2.1
cerpintext May 31, 2021
94f500a
Merge branch '1.2.2.1' of github.com:cerpintext/DebugMod into 1.2.2.1
cerpintext May 31, 2021
3a26d84
Small UX fixes, manual cancel savestate w/ file
cerpintext Jun 1, 2021
92381d8
Resolve compile warnings and stop copying redundant dlls to the outpu…
DemoJameson Jun 3, 2021
d722e74
Rewrite the hitboxes feature
DemoJameson Jun 4, 2021
b28018e
Add "Toggle Camera Shake" feature
DemoJameson Jun 5, 2021
13b021c
Draw baby flukes attack hitboxes
DemoJameson Jun 5, 2021
9b093bf
Fix the radius of circular hitboxes are sometimes inaccurate
DemoJameson Jun 5, 2021
f044154
fixed some text pos
cerpintext Jun 7, 2021
1de2ba6
Merge branch 'improve_hitbox' of git://github.com/DemoJameson/DebugMo…
cerpintext Jun 7, 2021
87d13d6
Merge branch 'DemoJameson-improve_hitbox' into 1.2.2.1
cerpintext Jun 7, 2021
bf960c4
Merge branch 'toggle_camera_shake' of git://github.com/DemoJameson/De…
cerpintext Jun 7, 2021
fdc768a
Merge branch 'DemoJameson-toggle_camera_shake' into 1.2.2.1
cerpintext Jun 7, 2021
ba9a8cb
version up + added credits to readme
cerpintext Jun 7, 2021
26643d1
Add savestate pages.
magneticpizza Sep 24, 2021
bed462f
Update README.md
magneticpizza Sep 24, 2021
c53ac61
Update README.md
magneticpizza Sep 24, 2021
bd1e331
Update README.md
magneticpizza Sep 24, 2021
4ea3afc
fixing a dumb mistake
magneticpizza Sep 24, 2021
078abb5
Update README.md
magneticpizza Sep 24, 2021
388a1ba
Delete HitboxRender.cs
magneticpizza Sep 24, 2021
2aa65be
Delete HitboxViewer.cs
magneticpizza Sep 24, 2021
c5035d4
Delete Drawing.cs
magneticpizza Sep 24, 2021
d442f1b
Delete Resources.Designer.cs
magneticpizza Sep 24, 2021
96da50d
Merge branch '1.2.2.1' of https://github.com/skeppysflipflops/debugmo…
magneticpizza Sep 24, 2021
3696372
always uumuu extra + yeet cornifer bind
cerpintext Sep 25, 2021
9424aaf
Merge branch '1.2.2.1' into 1.2.2.1
magneticpizza Sep 26, 2021
6a2ac8e
Merge pull request #4 from SkeppysFlipFlops/1.2.2.1
cerpintext Sep 26, 2021
3df62f7
version bump, small changes
cerpintext Sep 26, 2021
0c310e6
slight savestate page ux updates
cerpintext Sep 26, 2021
2aa531b
uumuu extra without reloading scene
cerpintext Sep 27, 2021
5f9623e
Add buttons to directly run bindable actions
flukebull Oct 3, 2021
d871d1f
Merge pull request #5 from flukebull/runbind
cerpintext Oct 3, 2021
da108fe
version bump 1.4.5
cerpintext Oct 5, 2021
47ed8aa
Add force shade fb
magneticpizza Oct 8, 2021
5638c26
Merge branch '1.2.2.1' of https://github.com/skeppysflipflops/debugmo…
magneticpizza Oct 8, 2021
ded05d0
Merge pull request #6 from SkeppysFlipFlops/1.2.2.1
cerpintext Oct 24, 2021
3d3dff3
refresh enemy panel when loading savestate
cerpintext Nov 9, 2021
a3d2032
Optimize Savestates
magneticpizza Nov 10, 2021
ae122c8
Update SaveState.cs
magneticpizza Nov 11, 2021
d5a94fd
position states
magneticpizza Nov 12, 2021
8932c71
stuff ugh
magneticpizza Nov 12, 2021
a46da71
fix
magneticpizza Nov 12, 2021
4016eb1
fixage
magneticpizza Nov 14, 2021
62b3242
Update EnemiesPanel.cs
magneticpizza Nov 29, 2021
443998f
remove usused things
magneticpizza Nov 29, 2021
b4faf0d
fix indentation
magneticpizza Nov 29, 2021
7033d54
remove fast pause for accuracy
magneticpizza Dec 12, 2021
d89302e
yoinked flib's demasker func
cerpintext Dec 14, 2021
dccde38
Don't load states while transitioning or dead
magneticpizza Dec 16, 2021
827dae4
Merge pull request #7 from SkeppysFlipFlops/1.2.2.1
cerpintext Jan 9, 2022
9f11626
tiny UX fixes
cerpintext Jan 9, 2022
1fc7e3a
Merge pull request #1 from cerpintext/1.2.2.1
magneticpizza Feb 22, 2022
ed0b8fd
add option of turning off room ids in savestate view
magneticpizza Feb 23, 2022
fd7827e
move to more appropriate category
magneticpizza Feb 23, 2022
4bddd5c
correct Variable & Function names
magneticpizza Mar 6, 2022
febddcf
Add Toggle Hero Collider
magneticpizza Mar 6, 2022
0ebb5cf
fix minor issue
magneticpizza Mar 6, 2022
c1d029b
big qol update for speedrunners
magneticpizza Mar 24, 2022
2de9334
QOL and code cleanup
magneticpizza Mar 25, 2022
29b060f
fixing very very small oopsie
magneticpizza Mar 25, 2022
34edea5
Merge pull request #8 from SkeppysFlipFlops/1.2.2.1
cerpintext Mar 27, 2022
9a587c3
honestly just notes lol
cerpintext Mar 27, 2022
782a25b
Merge branch '1.2.2.1' of github.com:cerpintext/DebugMod into 1.2.2.1
cerpintext Mar 27, 2022
bd51747
Fix savestating Soul with cracked soul meter
magneticpizza Apr 18, 2022
1cfd1a0
Add Reloading Radiance Fight from arena, Fix small bug, version bump
magneticpizza Apr 18, 2022
a8de66a
fix version
magneticpizza Apr 18, 2022
484a8da
Save facing direction in savestates
magneticpizza Apr 30, 2022
2023fe4
version bump
magneticpizza Apr 30, 2022
5695579
Update README.md
magneticpizza Apr 30, 2022
b95ec2e
Merging SkeppysFlipFlops/1.2.2.1 version 1.5.5
cerpintext May 14, 2022
2e13c0c
Merge branch '1.2.2.1' of github.com:cerpintext/DebugMod into 1.2.2.1
cerpintext May 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Dependencies
Source/References/

# Build results
[Dd]ebug/
[Dd]ebugPublic/
Expand Down Expand Up @@ -72,6 +75,7 @@ artifacts/
*.pidb
*.svclog
*.scc
*.kra

# Chutzpah Test files
_Chutzpah*
Expand Down
7 changes: 5 additions & 2 deletions DebugMod.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.21005.1
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1340
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DebugMod", "Source\DebugMod.csproj", "{E3E4D0B7-656C-6C50-7567-696E2E57696E}"
EndProject
Expand All @@ -18,4 +18,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3A3F4FD5-C58A-44B9-88F8-1970BD2A3530}
EndGlobalSection
EndGlobal
124 changes: 123 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,123 @@
Original mod by KeinZantezuken. Remaking using canvas instead of imgui and the modding framework created by myself and MyEyes/Firzen.
----------------------------------------------------------------------------------------
FEATURES
----------------------------------------------------------------------------------------
* A toggleable UI in-game that provides the following functions:
* Cheats such as invincibility and noclip
* The ability to unlock all charms or repair broken ones
* Change which skills the player has
* Change which items the player has
* Give the player more of consumable resources such as geo and essence
* Respawn bosses
* Hold multiple dream gate positions
* Change the player's respawn point to anywhere in the current scene
* Recall to the set respawn point
* Kill all enemies
* Add HP bars to enemies
* Draw collision boxes for enemies
* Clone or delete any enemy
* Set an enemy's health to 9999
* Change the player's nail damage
* Damage the player
* Change the camera zoom level
* Disable the in game HUD
* Make the player invisible
* Disable the lighting around the player
* Disable the vignette drawn around the player
* Change the time scale of the game
----------------------------------------------------------------------------------------
INSTALLATION
----------------------------------------------------------------------------------------

## (STEAM/GOG, WINDOWS)
1) Download the modding API for Hollow Knight 1.2.2.1
At the time of writing, 1.2.2.1-41 is the most up-to-date release: https://cdn.discordapp.com/attachments/298798821402607618/817653175586783242/Assembly-CSharp.dll
2) Right click Hollow Knight in Steam -> Properties -> Local Files -> Browse Local Files
OR
In GOG galaxy 2 -> Click button to the right of Update -> Manage Installation -> Show Folder
3) Create a backup of the game files located here
4) Copy the contents of the modding API zip into this folder (Overwrite files when asked)
5) Copy the contents of this zip into the folder (Overwrite files when asked)
6) This mod should not affect saves negatively, but it is a good idea to back them up anyway.
Saves are located at %AppData%\..\LocalLow\Team Cherry\Hollow Knight\

## How to build (for devs):
1) Make a folder `Source/References/`, then
2) add `Assembly-CSharp.dll` (with modding-api), and `PlayMaker.dll`, `UnityEngine.dll` and `UnityEngine.UI.dll` from your `Hollow Knight/hollow_knight_Data/Managed/`-folder

----------------------------------------------------------------------------------------
SAVESTATE BASICS
----------------------------------------------------------------------------------------

## Savestates
In order to acess the new save-states, bind `Next Page` and `Prev Page` to any keys you want (2nd page of binds in debug mod)
You can select as many total pages you want (default: 10) in the `DebugMod.GlobalSettings-1.2.2.1` in your saves folder.
Prev/Next Page will scroll through these.
After this, you can just do what you would do in normal debug mod to save and load states.

To use your old savestates, go to this folder %APPDATA%\..\LocalLow\Team Cherry\Hollow Knight\Savestates-1221
copy the files in this folder into the folder labeled 0 ( if it doesn't exist, make it. )
Start the game and you will have your old saves plus 9 other pages full of empty slots by default.

*If you have performance issues, please report it.*

To use numpad for slot select; after installing debugmod, start and stop the game,
then go to the Hollow Knight saves-directory and open the `DebugMod.GlobalSettings-1.2.2.1` json-file.
In that file find `"NumPadForSaveStates"`, and change the corresponding value from `0` to `1`.

To change the amount of available Savestate-slots per page (default: 6), find `MaxSaveStates` and set the corresponding value between `0` and `10` respective of how many slots you want.

Savestates files are located in `%APPDATA%\..\LocalLow\Team Cherry\Hollow Knight\Savestates-1221\`. They use the name format `savestate<slot>.json`.
After saving a savestate to file, you can edit the name of that savestate. To do this, open the file in any text-editor, and the first variable/line should be something like `"saveStateIdentifier": "<timestamp+area/scene name>",`. Change `<timestamp+area/scene name>` inside the pair of `"`-s to whatever you want that savestate named in the select savestate in-game menu.

## Quickslot:
The main savestate used. Not saved permanently, cleared when the game restarts.

## Quickslot save to file
Specifies slot number, then saves the current Quickslot from temporary memory to a numbered json-file in the game save directory, overwriting any files with identical number as the selected one.

## Load file to quickslot
Asks to specify slot number, then reads the json-file with that number from the game save directory and loads it into the Quickslot, overwriting any current savestate there.

## Save new state to file
Specifies slot number, then makes a new savestate and saves to a json-file with the given slot number.

## Load new state from file
Specifies slot number, then loads savestate from that file directly.

## How to use room specific Savestates
1. Make sure you are in one of the following rooms, as these are the only ones supported
Room_Final_Boss_Core
Deepnest_Spider_Town
(you can check what room you are in by pressing f2 and reading 'scene name')
2. Create a savestate in the said room.
3. Open your hollow knight saveStates folder (%APPDATA%\..\LocalLow\Team Cherry\Hollow Knight\Savestates-1221\)
4. Subtract 1 from the page of savestates you saved in, and open that folder. (example, saved in page 4, open folder named 3)
5. Open the savestate.json, whatever number you pressed being the number it will be (example, pressed 4, open file named savestate4 with a text editor such as notepad)
6. Change the value labeled useRoomSpecific to 1 to enable room specific savestates.(if you can't find it, search for 'useRoomSpecific' with Ctrl+f)
7. Load the savestate.

----------------------------------------------------------------------------------------
Known Issues
----------------------------------------------------------------------------------------
## Savestates:
* Charm effects not updating properly after loading savestates. Workaround: quitout and load back in or bench to manually apply the new charms.
* UI not refreshing properly to remove obsolete vessel fragments
* ~~Soul meter stuck at full if in that state before loading~~
* Softlocks if loading savestate during dream transitions
* If loading savestate during transition visuals will not load. Either press 'esc' twice to get control of the knight and walk through a transition if this happens, or quit to menu and load back in before loading the savestate
* (All savestates are loaded in RAM, which means fast loading from savestates fetched from files BUT potentially general performance issues)

----------------------------------------------------------------------------------------
CREDITS
----------------------------------------------------------------------------------------
Seresharp
56
Yurihaia
Krythom
The Embraced One
Katie
KeinZantezuken
MyEyes/Firzen
Cerpintext
Mulhima
DemoJameson
Loading