#archived-modding-development

1 messages ยท Page 5 of 1

flint orbit
#

hmmmm ill double check

fair rampart
#

Yes, export all the assets for me precious Unity Studio <3

flint orbit
#

I just extracted the archive again and its save anywhere

hazy sentinel
#

@fair rampart make sure you set it so the exported assets are sorted by source file

fair rampart
#

I did ^^

#

Also you (someone) said sentires were about the size of the king... the big red sentires in CoT?

flint orbit
#

the link you posted

hazy sentinel
#

I personally exported it twice, once by source file and once w/ all the assets together

fair rampart
#

A friendly NPC would be preferable haha

hazy sentinel
#

so I can easily browse the files, then find the source file by searching the filename

scarlet gale
#

no the smaller sentries

hazy sentinel
#

no, the husk sentries

#

the lil' grunto nail dudes

fair rampart
#

Hmmm but those attack

flint orbit
#

@fair rampart just redownloaded and its still SA mod

scarlet gale
#

yeah... corny

marble scarab
#

someone make a mod that allows you to do white palace multiple times if thats possible

fair rampart
#

Friendly NPC would be better because I'd like to swap the sprites with the King haha

#

So only idle stances would be good

hazy sentinel
#

can't you just use the walk animation of the husk sentries

scarlet gale
#

Tiso maybe?

flint orbit
#

Okay now my backup dll file thats supposed to be the original is a SA one hahaha

#

I think this is weird issues on my end

#

OHHHHHHHH

#

fuck me Im dumb

#

im in the wrong fucking folder hahahahahhaha

#

im in hollow knight current not

#

yeah

#

coocoo

fair rampart
#

Aaahhh why does the player spritesheet have to be so big and complicated

hazy sentinel
#

idk because it's the player character

fair rampart
#

I mean I get it

#

But for mod making it's just so horrible haha

#

Imagine going through all of those and manually replacing them

scarlet gale
#

Hell

#

Yes

fair rampart
#

It's loading... what did you do

#

Ayyy

hazy sentinel
#

why can't you dash like a normal person

fair rampart
#

Infinite shade cloak

scarlet gale
#

Because i want to do cool stuff corny

hazy sentinel
#

yeah, but this seems pretty shady

fair rampart
#

ba dum tsh

scarlet gale
#

Well this is fun

#

Tad too op though

fair rampart
#

oshit the HK spritesheet

#

It's transparent but imgur wants to assert dominance

hazy sentinel
#

why did you post it to imgur

fair rampart
#

Too big for Discord

hazy sentinel
#

rip

scarlet gale
#

Damn

fair rampart
#

Ohhhh Radiance too

hazy sentinel
#

yeah

fair rampart
#

Datamining is great.

hazy sentinel
#

turns out there are sprites for everything in the game hollowface

fair rampart
#

gasp

buoyant obsidian
#

No way, really?

fair rampart
#

I can't believe this

#

This is shocking information guys

#

Top 10 saddest anime deaths

#

The best spritesheet, of the best creature

hazy sentinel
#

_gittlelirl

fair rampart
#

I'll stop now but I had to share this magesty

#

....mobadis

#

Best idea

#

Replace the original HK's sprites from the Abyss cutscene with Zote

alpine cloak
#

She THICC

thorny imp
#

some of the spritesheets make great mobile backgrounds

fair rampart
hazy sentinel
marble scarab
#

thats literallly just a door

buoyant obsidian
#

Tragic, really.

fair rampart
#

Truly depressing.

thorny imp
fair rampart
#

She sucks.

marble scarab
#

emilitia is a person

thorny imp
#

as in she's set up to have been through a heck of a change, and then literally nothing else

#

by change, I mean the change of Hallownest over the ages

gritty snow
#

lotta sprites in here. Any sprites for enemies not in the game? I know there are a couple references in playerdata for the hunters journal for enemies that don't exist.

hazy sentinel
marble scarab
#

possibly an unused mantis sprite?

#

idk

#

it looks like that to me

vernal rover
#

I don't think this is a mantis

marble scarab
#

it looks kinda like a mantis to me

buoyant obsidian
#

I refuse

marble scarab
#

???

gritty snow
#

"killedWhiteDefender": false,
"killsWhiteDefender": 1,
"newDataWhiteDefender": false,
"killedGreyPrince": false,
"killsGreyPrince": 1,
"newDataGreyPrince": false,
"killedZotelingBalloon": false,
"killsZotelingBalloon": 1,
"newDataZotelingBalloon": false,
"killedZotelingHopper": false,
"killsZotelingHopper": 1,
"newDataZotelingHopper": false,
"killedZotelingBuzzer": false,
"killsZotelingBuzzer": 1,
"newDataZotelingBuzzer": false,

#

one of the 'zoteling's perhaps

buoyant obsidian
#

That's the seeeecret stuff

#

Nope, they're unrelated

#

Zotelings were added in preparation for Content Pack 1

gritty snow
#

ah, fun

buoyant obsidian
#

presumably

marble scarab
#

zotelings?

fair rampart
#

@scarlet gale Have you been enjoying your limitless-ish energy blast

scarlet gale
#

I toned it down a little, but yeah this is how i imagined dashmaster to be like kinda

fair rampart
#

^^

#

Let's edit all the charms :kappa

scarlet gale
#

Hmm can i edit the damage of sharp shadow/ value of spell twister? If so, where?

fair rampart
#

I tried giving myself a darker cloak

#

To match my imprisoned big brother knight

#

But it doesn't look as grey :<

hazy sentinel
#

ooh

#

make MC's horns like the young HK's

fair rampart
#

B-b-but that would take so long

#

The spritesheet is so big

marble scarab
#

make phite walace redoable when

fair rampart
#

Oh right, I can try that

gritty snow
#

thats gotKingsFragment

#

but it's not super nice, ive been looking at editing the FSMs to maybe make it nice. You got back in and 1. The side doors are closed up, so presumably the Orb bools. 2. The king is there and you can repick up the fragment. It doesn't break anything but it isn't ideal.

fair rampart
gritty snow
#

Don't bother with 'visitedWhitePalace', 'gotKingFragment' is what controls access.

fair rampart
#

Then what's visitedWhitePalace? :S

#

Also is there anything that checks if the HK/Radiance has been defeated?

gritty snow
#

dunno, just that you visited it ๐Ÿ˜ƒ Actually, hold on, I'll grep through the fsms I have to see if it is referenced

fair rampart
#

Like, can I run code only when I achieve an ending?

gritty snow
#

I'm sure you can find a hook somewhere. Think there is a bool for that, and some checks for what cinematic scenes to play

#

visitedWhitePalace is references in a lot of 'Area Title Controller' fsms for several levels. Not sure if there is any real consequential logic attached to it though

fair rampart
#

Oh

#

Probably how the text appears big at the center-ish of the screen when you first visit an area

#

But if you're coming back it's smaller and at the corner

charred flax
#

Just wanted to say thanks a lot to whoever made the glass soul mod I'm really enjoying it

fair rampart
#

That would be @buoyant obsidian

buoyant obsidian
#

:)

#

Glad to hear

hazy sentinel
#

har

fair rampart
#

har har fiddle dee dee

#

Being a pirate is alright to be

hazy sentinel
#

no

marble scarab
#

no

hazy sentinel
#

it's yar har you heretic

fair rampart
#

I'm so sorry

#

:<

marble scarab
#

banned

fair rampart
#

So uh, what other bools are related to White Palace? @gritty snow

#

Apart from the gotKingFragment or whatever it was, and the ones I showed

charred flax
#

is fury of the fallen always active or never active in glass soul?

#

@buoyant obsidian

buoyant obsidian
#

Never, you're always at full HP

gritty snow
#

@fair rampart I think that's it, but I haven't tried the others besides KingFragment yet, and noticed visited did nothing.

#

@fair rampart do you happen to know how to get fileID/pathID from the C# code?

#

seems every asset has a fileID and pathID (listed in UABE), trying to find a way at them as the fsms are deserailized 'OnAfterDeserialization'. As of now I am saving by name and a hash, since a lot of the names duplicate per level. But it would be best to know the IDs to easily replace them in UABE. But they seem mysterious as hell, dnSpy can't find them anywhere.

#

I hacked up PlayMakerFSM::OnAfterDeserialize to do some dumping:
public void OnAfterDeserialize()
{
PlayMakerFSM.NotMainThread = true;
string text4 = JsonUtility.ToJson(this, true);
int hashCode = text4.GetHashCode();
string savePath = string.Concat(new string[]
{
Application.persistentDataPath,
"/save_fsm/",
this.FsmName.ToString(),
"",
hashCode.ToString()
});
if (Directory.Exists(Application.persistentDataPath + "/save_fsm") && !File.Exists(savePath))
{
File.WriteAllText(savePath, text4);
}
string hackPath = string.Concat(new string[]
{
Application.persistentDataPath,
"/hack_fsm/",
this.FsmName.ToString(),
"
",
hashCode.ToString()
});
if (File.Exists(hackPath))
{
PlayMakerFSM instance = JsonUtility.FromJson<PlayMakerFSM>(File.ReadAllText(hackPath));
this.fsm = instance.fsm;
this.fsmTemplate = instance.fsmTemplate;
}
if (PlayMakerGlobals.Initialized)
{
this.fsm.InitData();
}
PlayMakerFSM.NotMainThread = false;
}

fair rampart
#

And here I am not even knowing what an FSM is

#

F(...) Scene Manager? :S

gritty snow
#

oddly, you can see an 'm_FileID' under fsmTemplate, I want the one for the top-level object, but that is mysterious as well, can't access that from C# code either

fair rampart
#

And uhh

#

What are they and what to they do in HK? So confuzzled

gritty snow
#

They control the rest of the game logic

#

@fair rampart scroll up, I posted the pastebin before the hacked method

#

hmm, alright thanks

#

def. too much stuff in the json dump, but if you start to look at the important bits it seems more useful. You can spot the named 'states', 'toState', what actions it takes to transition etc.

#

sweet, thanks for the lead, i'll try that and see where it takes me

scarlet gale
#

@buoyant obsidian Hey there are a few charms i want to edit that i really cant find, could i get some pointers to their location?

buoyant obsidian
#

Sure, let's hear 'em

scarlet gale
#

Speficically these 5: Sharp shadow, spell twister, thorns, fury of the fallen, and glowing womb

buoyant obsidian
#

Thorns is weird but there's something along the lines of FSM.("Thorn Counter") somewhere in the code

#

no idea about Glowing Womb

#

or Spell Twister

#

Sharp Shadow's length can be changed in HeroDash() I think, it can also be made slower or faster and its cooldown can be edited

#

Spell Twister no idea

fair rampart
#

Adding entirely new effects is easy-ish, depending on what you want to add

buoyant obsidian
#

Fury of the Fallen seems to be off-limits too, but since it only activates at 1 HP you can replace it by ensuring the player is never 1 HP

scarlet gale
#

๐Ÿค” Hmm primarily just want to do some damage/value changes, sounds like its not completely doable then

#

Like sharp shadow feels really underwhelming imo

buoyant obsidian
#

Sharp Shadow is my favorite charm

fair rampart
#

For Fury, maybe edit Attack() and if the player has it equipped and increase base nail damage?

buoyant obsidian
#

You can remove the weird red effect from Fury's attacks, but some of the damage remains

#

and the particle effects I think

scarlet gale
#

Yeah that sounds kinda highlevel right now ๐Ÿ˜„

#

Think i can do something with fury though

#

corny thats funny

gritty snow
#

make the downslash (pogo) damage to 0 and I probably wouldn't be able to play this game

fair rampart
#

The original Hollow Knight, even in the state we see him in The Abyss, is slightly bigger than the main character, it seems.

scarlet gale
#

same

#

Wait i take what i said about sharp shadow back, i mean i edited the cooldown of the shadowdash timer so that would probs make it really strong corny

#

especially since dashmaster increased sharp shadows damage iirc

fair rampart
#

This was useless but I just wanted to check

#

Young HK is 10 pixels higher than us. #UselessInformation

scarlet gale
#

He has bigger horns than you hollowlenny

alpine cloak
#

really big horns hollowlenny

fair rampart
#

pls

gritty snow
#

hes just compensating

#

m_FileID is nowhere in the data folder. The only thing that knows about it is the main exe itself. But it still gets tacked onto some objects - so reflection magic I guess.

scarlet gale
#

@buoyant obsidian Oh theres one more charm im curious about, Heavy blow namely

buoyant obsidian
#

Nope

scarlet gale
#

Damn ๐Ÿค”

scarlet gale
#

Hmm sharp shadow suddenly does no damage at all, must have screwed something up blobthinkingeyes

#

Oh i see

#

I'll mess around to see if it was me or not

#

Hmm the good thing: It was that bug
The bad thing: the sharp shadow doing damage is probably also based on SHADOW_DASH_COOLDOWN, and i dont think i can easily acces that :/

#

Ah yes, when it does damage, not the value itself no

#

Because i tried dashing through some sentries really fast, and found that the dash cooldown was inconsistent with when it actually did damage, and it seemed like the default shadow dash cooldown was used for that

fair rampart
#

I tried, but I missed a sprite and it's wobbly

#

Lining them up correctly is hard >~<

#

I could remove the heads and just edit the head to use the original HK's horns, but then the cloak would be different :S

scarlet gale
#

Oh pay attention to the legs too

buoyant obsidian
#

nobody would notice the cloak tbh

gritty snow
#

Alrighty, I think I have an FSM solution. It's not super ideal, but it seems to work well so far.
I improved the code I posted above with actually unique names without the need for hashing (it was a little slow with the hashing). The names are actually fairly descriptive, I was missing the fact that the 'owner' also had a name before, and FsmUtility uses both names for a full id.
I do not currently have a way of conveniently figuring out the fileid/pathid, nor do I have a way of re-serializing correctly to stuff back into assets.
What I do have is a hack in which it looks for modified json FSMs of the same name, and just deserializes and uses that on the fly. Just tested with a mod to not check the charm for the blue vine door, seems to work.

#

bonus, similar hacks should be applicable to any games that use playmaker fsms, not just hollow knight

heavy geyser
#

Mod the dash so it has a longer cooldown and you start with it + shade cloak

#

Or mod super dash to also super jump

modern hound
#

you will also need to mod in a nail

#

How did the original HK get his nail

#

And like everything, how did it grow

harsh marlin
stray mirage
#

the hollow knight has wielded a ten foot blade since he was a child

mild kayak
#

as you see them walk away, they're just struggling to drag the nail behind them

modern hound
#

That has got to be a mod

#

Just Sly styling everything

marble scarab
#

his nail didnt grow

#

he brought a ten foot nail with him

#

you see

#

the hk is actually the pale king in a costume

modern hound
#

Make a x10 mod

#

Where all the charms are multiplied by 10

#

But each boss has their health increased by like 5

#

x

mild kayak
#

does that mean that dashmaster just makes you dash infinitely

modern hound
#

5x

#

Essencially

#

Sharp Shadow and Dashmaster new meta

#

15x nail dmg

mild kayak
#

oh god the fragiles

modern hound
#

600% more geo

mild kayak
#

x10 health and x10 strength

modern hound
#

20 extra health

mild kayak
#

it's just like the splendid screen with the wee booties

#

everything instantly dies

modern hound
#

MARK OF PRIDE

mild kayak
#

quick focus

#

deep focus' speed

modern hound
#

You can now kill Traitor lord all the way in the CoF

#

Deep focus is literally Brass Beast

mild kayak
#

dream wielder just makes using the dreamnail very similar to swinging the nail normally

humble sinew
#

It would just make you have to tap the button instead of hold

modern hound
#

Kingsoul would regen 20 soul per sec

#

You can infintely regen

#

Grubsong would regen 150

humble sinew
#

Grubsong top tier

modern hound
#

What else

dapper folio
#

@fair rampart regarding your mod and putting it into the drive folder:
Either I can do it myself, or you message me with what email you want to have permissions to edit the mods folder and you can upload it yourself

modern hound
#

Baldur Shell would absorb 40 hits

#

Thorns would do 20x nail

mild kayak
#

what would spore shroom do

modern hound
#

Fury would increase to 17.5x

mild kayak
#

just a larger cloud or more damage?

modern hound
#

Spore shroom would deal 10-20 damage per tick

humble sinew
#

Both

modern hound
#

and cover the entire Hallownest probs

mild kayak
#

fear

#

lifeblood core

modern hound
#

40 extra health

mild kayak
#

about 40 health added to your health

modern hound
#

Grubberfly elergy

humble sinew
#

One step further: Joni

modern hound
#

40 units

#

Or whatever

#

the distance of that is

#

and 5x nail dmg

#

Or 0.05 depending on how you see it

humble sinew
#

Nail damage is already heightened

modern hound
#

Hiveblood would regen 10 health

mild kayak
#

fury of the fallen is the ultimate panic button

modern hound
#

Quick Focus would be instant heling

mild kayak
#

glowing womb would spawn so many little flies, and flukenest would vomit a game-lagging amount of flukes

modern hound
#

Soul Catcher will have you get all your soul in 1 hit

#

120 flukes

humble sinew
#

FotF would be constant damage bonus

modern hound
#

Glowing womb would spawn 40 suicidal babies

#

Spell Twister will reduce all spells to 2 soul

#

Turn yourself into a gatling gun of Shade Souls

mild kayak
#

with shaman stone it's even scarier

modern hound
#

Shaman Stone

mild kayak
#

the increased knockback charm

modern hound
#

344 Abyssal Shriek

mild kayak
#

it would just delete enemies

modern hound
#

times 50

#

Rip Radiance

humble sinew
#

HOW WILL ANY OF THE BOSSES SURVIVE MORE THAN FIVE SECONDS EVEN WITH THE INCREASED HEALTH

mild kayak
#

quickslash would do what the spy's knife does and you know it

#

that weird butterknife barrage

modern hound
#

i dunno

marble scarab
#

quick slash swings every frame

modern hound
#

30000 health is alot

marble scarab
#

automatically

humble sinew
#

Hold down attack for a chainsaw of pain

marble scarab
#

and you can use spells without the recharge time

modern hound
#

There needs more clever stuff for stuff like Shape of Uu

marble scarab
#

Uu?

humble sinew
#

Baldur + Spore shroom already looks cool

modern hound
#

Sharp Shadow would be a 1 press Crystal Heart

marble scarab
#

Shape of Uu turns you into a meme

modern hound
#

350% more dash distance

#

Shape of Uun you bloody perfectionist

mild kayak
#

sharp shadow does something to the heart?

modern hound
#

Dont you dare turn that into a Frub

#

No

#

you dash so far

mild kayak
#

oh

modern hound
#

you basically have the Heart

fair rampart
#

Oh, hello there.

mild kayak
#

tall

fair rampart
#

I didn't even realize they stood up before I saw the sprite :S

dapper folio
mild kayak
#

oh god spider no thanks

fair rampart
#

I saw some sprites

#

"Tuk_dead" exCUSE ME

#

He eventually dies?

dapper folio
#

steel soul

#

no point

fair rampart
#

Ah

#

Right, you buy eggs from him right?

#

Anyone happen to know how I'd change the "The Radiance" text that's used at the start of the Radiance fight?

heavy geyser
#

He just drops one egg

fair rampart
#

Nevermind, I think I found it. :D

fair rampart
#

I'm replacing Radiance with Mistake

scarlet gale
#

Hmm is it possible to replace sound files?

fair rampart
#

Spritesheet progress

#

Yeah, it should be I think?

scarlet gale
#

Well i dont know how tbh

fair rampart
#

Using UABE? :S

#

I haven't replaced sound files so I wouldn't know

scarlet gale
#

i know what the fsb file is called though so thats something

#

ill try UABE then

dapper folio
#

keep in mind that if it's texture replacement, the sprites have to stay in the same shape as the original

fair rampart
#

shhh

#

It's not supposed to be good at all

#

It's a Mistake hollowface

dapper folio
#

fair

scarlet gale
#

If this works im going to be so happy

#

Game crashes grub3

fair rampart
modern hound
scarlet gale
#

Alright second attempt

#

Fuck failed again

#

I dont get how im supposed to import the sound file

fair rampart
#

This is goofy

#

It's silly

#

But the Radiance must have some more sprites in another file :S

scarlet gale
#

that was a mistake

fair rampart
thorn comet
#

Thank you for that.

fair rampart
#

I find the best part is "The Mistake" like it's the worst boss ever

#

I am so glad I got to edit the text

royal ridge
#

I find it so cool that a boss has my name in that video

fair rampart
#

5 points for self deprecation

#

A gif of the best part.

gritty snow
#

@fair rampart What do you mean by "save code" feature? I don't see references to it, is it part of Unity, or part of PlayMaker? I did find that currently the FSM mod does not work for all FSMs, apparently something can get lost in the serialization/deserialization.

alpine cloak
#

OMG That Gif is Perfekt

gritty snow
#

@fair rampart oh you mean from dnspy, nevermind

fair rampart
#

@alpine cloak There's also a video but I missed some sprites :S

alpine cloak
#

I see it right now

fair rampart
#

Which is weird, because this is what the Radiance's spritesheet looks like after editing :S

alpine cloak
#

The missing sprites make them almost better

fair rampart
#

No Radiance left, yet it seems to still show up in-game

modern hound
#

Dank

#

you have The Maker's approval

#

approved

fair rampart
#

I love you.

modern hound
#

โค

marble scarab
#

the mistake mod

#

everythings a mistake

dapper folio
#

@fair rampart your debug mod linked in the pinned messages only has files for 1006 and 1028, no 1037.

#

ok

dapper folio
#

sorry, can't

flint orbit
#

hm?

#

I dont have a 1037 build, sorry

#

oh I can do that once I'm done work

gritty snow
dapper folio
#

yeah

gritty snow
#

k, thanks.

flint orbit
#

Enemy list seems good on a quick look, tracks hp well. One thing you might want to consider is disabling self damage when the inventory is open for 1006, cus of thorns. But also maybe its good to keep? not sure

normal bison
#

I only ever saw her once and I went everywhere a lot

dapper folio
#

fungal wastes
deepnest
ancient basin
queen's garden
dirtmouth if you don't see her in all three locations before fighting traitor lord

heavy geyser
#

Can I use CE to change the damage of my nail?

dapper folio
#

maybe?

heavy geyser
#

also how

dapper folio
#

i figured out the value to change for geo by searching for the current number and then earning some more, looking for which ones changed

fair rampart
#

I made it so Hiveblood regens 1 health every 20 seconds until you have max health

#

The Hiveblood I've always wanted

civic hatch
#

neat

#

we need shadowdash to keep the iframs on for 2 sec and increasing your meele damage to deal doubled damage during that time. Some kind of void-form you can abuse. We could use the animations of when you slay radiance.

fair rampart
#

To edit the attack animations you'd need to edit the player's spritesheet, specifically the attack animations. That would replace all attack animations in the game, so I don't think what you want is possible

modern hound
#

Make Dashmaster reduce Shadow Dash

#

That would make Dashmaster usable

scarlet gale
#

did that

#

One min ill look it up

#

Damn forgot where i saved it corny

scarlet gale
gritty snow
#

Dunno if anybody has tried my fsm mod, but please wait until v1.1 for any serious modding. I am still tackling issues with unique names and things.

scarlet gale
#

Dashmaster is best charm uwu

modern hound
#

Another idea: A challenging Nosk battle

dapper folio
#

good luck with that

modern hound
#

Challenging

#

not bullshit

#

A step in the right direction would be the not making it so you can literally sit in a corner and beat the fight without losing any health

knotty tapir
#

doesn't he die to down-attacking and a bunch of descending darks

#

there's no mod you can make thta can cure that

#

besides, Will already intimated that he plans to give nosk a couple more attacks later on

#

unfortunately you can't really mod boss behavior, unless you swap nosk with radiance

modern hound
#

Honestly even with double damage and increased health

#

i still think he would be easy

#

heck even with 2 Nosks, I would still say he is weaker than THK

knotty tapir
#

swap him and radiance and see what happens xd

dapper folio
#

Nosk in Radiance's arena might actually be a challenge

knotty tapir
#

assuming he doesn't walk off the edge and kill himself

modern hound
#

Considering how much ะดะตั€ัŒะผะพ Ive given him

#

he might willingly do it

heavy geyser
#

Asking again. Does anyone know if I can use CE or something to change my nail damage? And how

#

my nail isn't doing the right amount of damage

gritty snow
#

You can likely mod the game for that, lot easier than using Cheat Engine. Variables in memory will move around, so using memory hacking utilities is more challenging even if you manage to find the variable on a single session. But Kein's point stands, why make the game easier? Guessing you might be interested in a simple goal to lead yourself through hacking the game, or maybe you just think the game is too hard? In which case...I believe there is a meme for that around here.

heavy geyser
#

i tried out mods on the same save file. after removing the mods everything seems normal except nail damage

#

unupgraded nail does 1, fully upgraded does 5

gritty snow
#

ah. Guessing lightbringer does that. That does appear to be in playerData.

heavy geyser
#

Thanks! It worked

#

If there was no solution I would have cleared the save and do 100% again...

buoyant obsidian
#

Yeah Lightbringer kills your damage

marble scarab
#

^

#

still easy

heavy geyser
#

i found the sound effects for lightbringer too loud and it annoyed me ๐Ÿ˜ฆ

buoyant obsidian
#

yeah I should adjust that shouldn't I

#

Editing sound files is a pain because you need to export Unity projects

buoyant obsidian
#

and you need to specify the exact file size manually

#

I'll have the sound update pushed out after Content Pack 1

#

To get a .resources file I just export a Unity project with only the sound file in it

buoyant obsidian
#

oh can you?

#

No I mean Unity

#

like Unity Unity

vernal rover
#

Unity Studio

buoyant obsidian
#

No, Unity

vernal rover
#

Unity Editor? I thought it was called Unity Studio

#

Or are you talking about Unity overall

buoyant obsidian
#

In the resources.assets file, every "AudioClip" filetype is just a reference to a .resource package

#

so you can just edit the dump file to find another .resource package

#

and to make those .resource packages I use Unity

scarlet gale
#

Wait so editing sound files is possible? Nice

#

Tried all kind of stuff yesterday but didnt know how at the end

alpine cloak
#

Does someone have the Spritesheet for Elderbug?

hazy sentinel
alpine cloak
#

Thanks

#

Oh wow, there's even sprites from when you splat open his head with the dreamnail

marble scarab
#

you can see him with his head off

#

ya

scarlet gale
#

Oh lol, the dream diving sprites

heavy geyser
#

I didn't know that ๐Ÿค”

#

Different sprite when you dream nail him?

alpine cloak
#

It was shown in early Trailers of the Game

hazy sentinel
alpine cloak
#

Not in the actual game anymore

heavy geyser
#

Ah

alpine cloak
#

Pretty cool to see

marble scarab
#

ban

alpine cloak
finite ether
#

awww

#

that's so cute!!

alpine cloak
#

Yeah and he's wiggeling with his feet and all

stray bloom
#

Can you get a gif of that

hazy sentinel
stray bloom
#

Sorry for making you do that hha

#

Thanks though, I appreaciate it

modern hound
#

Where in the Mac can I get the save file

hazy sentinel
#

.config/unity3d/Team Cherry/Hollow Knight

livid pulsar
#

Oh man I didn't know that

#

It's so freaking cute bretta

tawny lynx
#

Are there any mods/save editors that let you skip to a certain fight? I want to replay a few of them, especially the Mantis Lords one.

modern hound
#

I would love that

alpine cloak
#

I think the Lightbringer mod let's you replay dream fights

#

But not stuff like Mantis Lords

modern hound
#

And force my friends to fight Mantis Lords on their first time

tawny lynx
#

If there's no mod that does it already, I might have a go at it.

modern hound
#

mwahhahahahahahahaha

scarlet gale
#

@fair rampart 's mod respawns dream fights

tawny lynx
#

Have any of the game files been documented somewhere?

fair rampart
#

mfw Lightbringer already does all the stuff I did

alpine cloak
fair rampart
#

kek ^^

scarlet gale
#

This is modding

tawny lynx
#

๐Ÿ˜›

alpine cloak
#

FUCK

#

I'm stupid

modern hound
#

Lol

#

CRITICAL HIT

alpine cloak
#

ยฏ_(ใƒ„)_/ยฏ

tawny lynx
#

What are you using to go through the Unity files?

#

I remember using some utilities several years ago, but I think they're unsupported now.

fair rampart
#

@fair rampart What do you mean filtering out the variables? Like if mantisLordsdefeated (not real bool name), then respawn, if not then do nothing?

#

I'm planning on adding boss respawning myself but if you want to do it for debug mod go ahead :D

tawny lynx
#

I assume it's event flags and things like that.

fair rampart
#

Alright, so I can challenge them again

#

But the whole tribe is also agressive too

#

If they're controlled by the same bool there's not much I can do

tawny lynx
#

Couldn't it be split into two bools?

fair rampart
#

ยฏ_(ใƒ„)_/ยฏ

#

I'm fairly sure the tribe's behaviour is in the realm of FSM which we're not too sure how to mod yet

#

I'll look into it

#

Meanwhile, what are bosses that don't go away once you defeat them? Those should be easier

knotty tapir
#

by definition all bosses go away right

#

oh

#

God Tamer

scarlet gale
#

DD?

fair rampart
#

Does God Tamer not appear in consequent visits to the third trial?

heavy geyser
#

she's always there

fair rampart
#

Soul Master we could just make Soul Tyrant respawnable

#

Besides Dream Bosses are cooler haha

#

I'm just saying there's no need to respawn Soul Master if we can just easily respawn Soul Tyrant. You can just keep fighting him and the floor will reset... right?

scarlet gale
#

Out of the top of my head, to get enough SOUL to cast a spell, that's about 3 hits right?

modern hound
#

Yep

scarlet gale
#

Aight

modern hound
#

Wait

#

Do you think its based on damage dealt

scarlet gale
#

Nah it isnt

fair rampart
#

Cleaning up the code on Unending Dreams, hopefully I can eventually respawn non-dream bosses (I'd rename it)

#

Hmm, this has an error. I fixed it, going to put out an update later (though I very much doubt anyone uses this mod haha)

gritty snow
#

@fair rampart @fair rampart so regarding boos fights if it's FSM based (likely) I have fixed (I hope) the issues with my FSM mod, I can put out an update today. And I made a small mod that proves it out that deals with the same sorts of issues, multiple FSMs look at the same bools, but by only modifying the FSMs I want gets the nice consistent behavior I want. For instance if I just affected 'gotKingFragment' that would also affect journal entries it seems, if I just affect the whitePalaceOrb bools it would also close the gate to the final area. But with just the FSMs that control the particular logic I don't like, I made a mod that allows returning to the White Palace, full exploration of it (no more 'Progress Gates'), and the King does not fling a shny object (the kingFragment) once you already have it.

fair rampart
#

CharmUpdate isn't ugly anymore

#

@gritty snow :O yes

#

Not using FSMs, should the Orb bools be true or false to make the player reopen the gates?

gritty snow
#

false to get rid of the yellow 'progress gates' that prevent you from returning to areas. Plus whitePalaceMidWap. But I think having them false closing off the final gate.

fair rampart
#

Yellow progress gates? They... were yellow? :S

modern hound
#

For some reason, I think of Max being like some kid

#

Like a techy kid

#

Max pls

fair rampart
#

I'm nearly 4

gritty snow
#

haha

modern hound
#

Nearly 4

#

Wait

#

I see someone without a profile picture

gritty snow
#

idk like, golden gates. I really mostly noticed them when hacking myself back into the white Palace and noticing there was only one place I could go. I don't think I noticed them on first playthrough.

fair rampart
#

Well, why do you think I'm a "techy kid" ๐Ÿค”

gritty snow
#

apparently they put them in so the player won't get confused and go back to the same areas? but I think that's dumb.

fair rampart
#

Those gates I had to open by flicking the levers, are those the ones you're talking about? I'm confuzzled

gritty snow
#

nope, they appear once you activate the orb for a side area, and cut you off from getting abck into that area

modern hound
#

I dont know

gritty snow
#

let me see if I can find an image

fair rampart
#

Now I just need to play Minecraft and have a Roblox profile picture and my new identity will be complete @modern hound

modern hound
#

I guess its just your name

#

I have a weird thing

fair rampart
#

With Max?

modern hound
#

where names are associated with certain ages

#

Like Max sounds like a kids name

#

and Paul sounds like a half life crisis balding man

fair rampart
#

Well, it's not my real name, I just asked a friend for some name to use on the internet, he said Max and I stuck with it

modern hound
#

Jeff sounds like a 21 year old losing touch with reality

#

Pauline sounds like a soccer mom

fair rampart
#

George sounds like a classy old-ish man to me :S

#

Clooney brainwashed us all ^^

modern hound
#

For some reason I dont have an age for my own name

#

James

#

When someone says their name is James to me

#

I dont have anything that pops into my head

fair rampart
#

I'd tell you my actual name but I'm Portuguese so you most likely wouldn't associate it with any age.

modern hound
#

Well now the discord knows my name

alpine cloak
#

What age is "Falco"

modern hound
#

but good luck finding me

#

Falco is a 18 year old Melee player

scarlet gale
#

Its literally on both of your steam profiles if they are the right ones eyesFlipped

modern hound
#

who mains marth

fair rampart
#

fuck.

alpine cloak
#

I'm an eternal Melee player okay

gritty snow
modern hound
#

Afonzo

#

Thats like a stereotypical Mexican name

fair rampart
#

_>

#

It's not even with a z you heretic

#

Oh, I never noticed those :S @gritty snow

modern hound
#

I find it funny that there arent names

#

that I associate as elders

#

or anything lower than the age of 7

gritty snow
#

FSM mod v1.1, comes with white palace/blue door example hack

#

Let's you dump out FSMs and mod them on the fly

#

Please note it is not really ideal, ideally we would replace MonoBehavior assets, don't have a procedure for doing that however, so here we are

#

When you have a 'save_fsm' folder in your appdata it dumps there, and looks for hacks in a 'hack_fsm' folder. Distributed hacks should only encourage use of 'hack_fsm', using 'save_fsm' comes with a performance drag.

#

it kinda depends on the case. If the variable is used in other places you don't want to rid the state of, it can be easier to just modify the particular logic. And potentially do fancy things, only respawn on x condition, etc.

modern hound
#

@fair rampart I realised your Mistake video has the original Hollow Knight sprite

fair rampart
#

I was trying ^^

#

It didn't work out as well

#

I might try pasting the original HK's head onto the player but not right now heh

#

@gritty snow This is what I meant, I can go back here but the metal gates are closed and the levers are already activated :S

knotty tapir
#

there's more Radiance in atlas1

fair rampart
#

orip

#

Thank you

#

I didn't bother checking haha

#

It shall be a true mistake

knotty tapir
#

it's in 377 as well i think

#

it says atlas1 #379022 although i think the ID might change

#

idk how unity studio works xd

#

there's also a static radiance in SpriteAtlasTexture-Bestiary for the Journal xd

gritty snow
#

@fair rampart The progress gate to get to that first orb area again is controlled by whitePalaceMidWarp. But that also controls whether or not you warp to the mid area when you dream nail the dusk knight. I think the metal gates are controlled by whether or not all three orbs are set true, so if you set them false, then you've got metal gates. If you set them true, then you have progress gates. So in my mod I only modify the progress gate fsms.

fair rampart
#

dang

#

I'd like to integrate it into my mod since I already mess with dream areas

#

But looks like I can't? :<

gritty snow
#

why not? You can use the fsm mod if you like. It's meant as a base mod.

#

and conveniently, it modifies a different dll, PlayMaker.dll, not the HK code

#

Though I haven't fully tested the white palace hack, should retest it with vars set like it was first playthrough

knotty tapir
#

does anyone know, if you kill hornet1 but don't take the mothwing cloak, then savewarp

#

what happens?

fair rampart
#

Probably hornet's gone but you can still pick up the cloak

#

Just a guess

knotty tapir
#

o. just wondering for the purpose of creating a new set of saves pre-/post- all bosses

#

i actually have a bunch of steel soul saves but they're not consistent and involve stuff happening inbetween

gritty snow
#

@fair rampart Not sure what you mean? FSM mod v1.1 is up on the mods google drive folder. The code it modifies is OnAfterDeserialize in PlayMakerFSM

fair rampart
#
public void OnAfterDeserialize()
{
    PlayMakerFSM.NotMainThread = true;
    if (PlayMakerGlobals.Initialized)
    {
        this.fsm.InitData();
    }
    PlayMakerFSM.NotMainThread = false;
}

This is the original... what did you change? I'm just curious as to what we can do by editing PlayerMaker.dll itself

fair rampart
#

Ok that's a lot

#

I found the method but it's still a lot of stuff you added

gritty snow
#

it doesn't try to modify HK logic directly, it tries to save out or load the FSMs generically. Using that I was able to replace particular FSMs.

fair rampart
#

So base.gameObject.tag,base.name,this.fsm.Name would be the string :S

#

FSMs leave me bamboozled

gritty snow
#

it's trying to get a close to unique name for the FSM files, but I still had to use a hash, it annoys me to no end that Unity doesn't seem to have a reliable way to get a unique identifier from the C# code

fair rampart
#

Just for testing, I toggled the orb bools every time I sat at a bench

#

Obviously not a feature, just wanted to see what would happen if I picked up the kingsoul fragment again

#

Is there a way to check in which area the player is?

gritty snow
#

yes, you should be able to get at at the current scene name

fair rampart
#

Hm, maybe SceneManager.GetActiveScene().name

#

Yep haha

gritty snow
#

you can see scene names at runtime if you turn 'enableDebugButtons' on

fair rampart
#

I had forgotten SceneManager was a thing, I'm more used to Application.LoadLevel() but sadly that's deprecated now (I think?)

gritty snow
#

so the kingsoul fragment is interesting

fair rampart
#

It picks it up, gives me Kingsoul but instantly converts it to Void Heart

#

Hmmmmmmm

gritty snow
#

I modified the FSM so it doesn't flng it again, the FSM already had a playerdata bool check for it, but they got rid of the value "gotKingFragment". I put that back in and it doesn't fling when you have the fragment anymore.

fair rampart
#

Can we equip both Kingsoul and Void Heart at the same time :S

#

Where's enableDebugButtons :S

gritty snow
#

in..gameConfig I think, just search for it. The input loop looks for it. Which is a nice place to modify too, for custom info on screen or actions you want to bind to keys.

#

it will enable a built in feature that enables on screen info when you press the quote or end keys, also home/semicolon

fair rampart
#

I'm sorry for my ignorance but... gameConfig? Input loop? >~<

gritty snow
#

but not nearly as in-depth as Keins DebugMod, he puts a lot of stuff on-screen

fair rampart
#

Oh, found GameConfig... it's a class

#

You typed in camel case so I was expecting it to be a variable :S

gritty snow
#

sorry i'm not entirely used to camelcase style

#

i mostly code in C; I don't give a shit ๐Ÿ˜ƒ

fair rampart
#

Hehe, fair enough

#

I think for classes and methods you write it LikeThis

#

And for variables it's likeThis

#

I could be wrong though?

gritty snow
#

So InputHandler.Update() looks for it, you should take a look at that code, very convenient place

#

For quick hacks I usaully throw stuff like this in there:

        if (Input.GetKeyDown(KeyCode.F1))
        {
            this.gm.ChangeToScene("White_Palace_09", "right1", 0f);
        }
gritty snow
#

So I am thinking of making a "110%" mod, extra percentage would kick in once the 'natural' 100% is complete. Also might be a good trigger for stuff like re-enabling boss fights. But anyway I am trying to come up with the rest of the stuff you can do in the game past 100% completion, preference to non-missables, but perhaps some missables can be fixed. Here is what I came up with so far:

#

Bosses? 100% list doesn't seem to include everything (like Radiance and Hollow Knight), not sure if rest are necessitated.
2607/2608 essense. 2400+ requirement already necessitates beating all the ghost bosses. (Missable Cloth ghost)
Trinkets found and sold. (Missable Blue room, fixable)
Geo rocks.
Permanent structure destruction. Includes all breakable walls and things.
All accessible scenes visited/mapped, or perhaps just whitePalaceSecretRoomVisited. (Missable White Palace, fixable)
Journal completion.
Mender bug.
Notches? Meh.
Salubra's blessing? Meh.

#

Anybody know if I am missing anything?

#

Oh and:
Lore (Midwife, Queen, etc). Meh.
Giving Elderbug the flower (Missable).

harsh marlin
#

I'm making a similar mod called "111%" where the extra 1% is leaving zote to die

gritty snow
#

lol

ornate rivet
#

Does anyone have a clean version of the sprite sheet for basic hollow knight movement (right, left, jump, and dash)? I tried cutting it out of the spritesheet but it is very confusing because the start and end of the animations are not in order and the sprites are not in a perfect out line. If someone with better programs/tools/skills could do this for me, I would be really thankful.

harsh marlin
#

do we at least have a version of the image with frame boxes or something?

ornate rivet
#

I dont think so

#

That's why I am sking

#

asking*

dapper folio
#

nope, sorry. what you have is what we have

ornate rivet
#

Rats

dapper folio
#

although I think one person tried numbering them

ornate rivet
#

did they succeed?

dapper folio
#

shrugs

gritty snow
#

I imagine there has to be..somewhere...in the code that separates out the sheets and you could possible do some automatic munging of them. But I also imagine that might be deep in Unity code.

knotty ether
#

Hi all, is there some kind of wiki, documentations, tools and such for HK modding ?

modern hound
#

0/0

#

Red bars all across the screen

#

Nice

dapper folio
#

10/10 can't handle double digits?

knotty tapir
#

how does 0 health work? like, do they die to spore shroom?

tawny lynx
#

You all make me want to try my hand at modding. >.> But I already have too many projects ongoing.

modern hound
#

Those literally die to anything

#

even a soft breeze

#

thats probably why itz 0/0

#

Because theyre coded to die to anything

#

and release their nuke in the process

warped sinew
#

They are just not alive

#

Those ones

modern hound
#

Imao

#

when your dead inside

#

me_irl

#

_meirl

fair rampart
modern hound
#

Jellyfish confirmed Vessels

#

?

#

NEXT TIME ON GEM THORNY

fallen violet
#

Is the save anywhere mod working on GOG?

#

yes

#

I thought I did. Messaged you on Reddit.

#

I can't right now unfortunately. Tomorrow the earliest I can test this.

#

I'll likely post here while I do test it so if you're around, you can tweak things.

#

What's DebugMOD about?

#

Does that work for GOG?

#

Or you'll know more after I do the testing?

#

Okay will do tomorrow. Thanks.

#

Did you get a chance to look at cheatengine? Perhaps be able to write a small table that allows people to edit playerdata easily?

#

Damn, that looks perfect! Would that not be possible for GOG?

#

Okay awesome. Does this mod also let you fix broken charms from the menu?

#

Okay cool

tawny lynx
#

Are the devs okay with you decompiling and recompling code and then sharing it? When I dug around in the code for Transistor I saw a notice explicitly forbidding it.

leaden hedge
#

they recently posted about mods promoting them

#

so I'd assume so

tawny lynx
#

Some allow modding but not sharing of code. One community I was in worked exclusively with patches to avoid these kinds of issues.

#

Some forbid even decompilation in their EULAs, even though it's not enforceable.

#

But I guess they're okay with that if people are making mods.

#

It's more sharing binaries/source code I think might be debatable.

ornate rivet
#

Hey guys, so I have been working on porting a mini version of Hollow Knight to the TI-84 Plus CE calculators for fun. I started coding 2 days ago and I have accomplished walking, dashing, and jumping (kind of). Only the walking has animation right now because it is extremely hard to cut out the sprites from the spritesheet for me. Anyways here is a gif of what I have so far (note that the color changes in hollow knight's tunic don't happen in the real calculator): http://imgur.com/a/7pM65

marble scarab
#

wtf

ornate rivet
#

Also for those interesting, I am programming in C

tawny lynx
#

That's great. Didn't know there were C compilers for the TI-84 (then again I don't even know what CPU it uses).

ornate rivet
#

^^If you want to code in ti 84 plus

tawny lynx
#

Sorry, I'm not as crazy as you are @ornate rivet . ๐Ÿ˜› I did a bit of embedded programming for the MSP430 and that was enough for me.

ornate rivet
#

ok

#

This is actually my first time coding movement mechanics from scratch. I usually use Unity and that makes it a lot easier (specially for jumping).

tawny lynx
#

I keep meaning to start a game project, but I lack motivation and persistence.

buoyant obsidian
#

Movement is tough, even triple-A gets jumping wrong pretty often

ornate rivet
#

Does anyone know how to code hollow knight jump physics
in C
Or at least the logic behind it

tawny lynx
#

Not sure. You'll probably want to implement rudimentary gravity, with acceleration and so on.

#

Set a constant that is the pull of gravity, have jumping impart a sufficient force on the little ghost to lift him up, then have gravity pull him back.

leaden hedge
#

when you start jumping your y velocity is set to a constant,
aslong as you hold its set to that constant every frame until a certain amount of time is passed
if you let go off jump whilst your y velocity is greater than 0, its set to 0
every frame your velocity is reduced by a constant * time.deltaTime

#

you'll probably have to figure out the constants specifically for the ti-84, as holllow knight uses unity units which are pretty arbitrary

#

oh and if your velocity is below a constant, set it to that constant

ornate rivet
#

thanks

#

everyone

keen mesa
#

So question, are those 2 mods on the official site 'official' mods? Were they done by the community or the devs?

buoyant obsidian
#

If you're referring to Lightbringer and Glass Soul, I made them

keen mesa
#

Oh cool, and yes I am =]

modern hound
#

But theyre recognised as the main mods Im guessing

#

Like XCom's Longwar

keen mesa
#

I don't know what that is, never played xcom

#

How do I install a mod? It won't affect anything else right?

hazy sentinel
#

you have to replace the game files w/ the modded ones

keen mesa
#

I'm sure it's simple enough but is there any guide? Defn don't want to mess anything up lol

buoyant obsidian
#

There are installation instructions in the file

#

the mods will fuck with your save file btw

#

your damage will be permanently changed

#

so start a new save or backup the old one

keen mesa
#

Mm okay good to know, ty

#

Only 88% done my first playthrough, so defn don't want that xD

gritty snow
#

Writing this code makes me feel a little evil.

            this.completionPercentage += 1f;
            using (List<GeoRockData>.Enumerator enumerator = GameManager.instance.sceneData.geoRocks.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    if (enumerator.Current.hitsLeft > 0)
                    {
                        this.completionPercentage -= 1f;
                        break;
                    }
                }
            }
dapper folio
#

wow

gritty snow
#

anybody know which convo 'queenTalkExtra' refers to? Trying to figure out what lore is not missable.

fallen violet
#

@fair rampart The Save Anywhere mod is working perfectly with GOG.

#

Going to test the NoUI one now. Do you know how to use both these mods at the same time, since they both have their own Csharp files?

#

And the NoUI mod works perfectly too! Be great if I can use both of these together.

tawny lynx
#

If I want to try my hand at this, maybe it's finally time I learn some C#.

buoyant obsidian
#

Low-key you don't need to know much C#, just general coding skills.

modern hound
#

Im just here to see what new mods are on the horizon

tawny lynx
#

I don't like writing non-idiomatic code, though, so I'd like to learn at least what common patterns are.

fair rampart
#

I need a save file

#

Right before the HK fight with void heart

#

I fucked up my saves soooo

modern hound
#

Nice

fair rampart
#

Hornet isn't here

#

Even though I have the Void Heart

#

That's why you shouldn't pick up the Kingsoul fragment from WP after getting the Void Heart

#

1/10 do not recommend

modern hound
#

10/10

#

Functioning as intended

scarlet gale
fair rampart
#

Oh nvm

#

She still shows up at the battle

#

Even though she's not outside the Egg

#

Sorry All

#

Thank you though!

scarlet gale
#

ยฏ_(ใƒ„)_/ยฏ

heavy geyser
#

she's just running late

fair rampart
#

Uploading a video

#

Or processing, rather

#

Apologize for any lag. Enjoy the meme!

modern hound
#

Post that to Reddit

scarlet gale
#

thats amazing

fair rampart
#

Posted to reddit

modern hound
#

Fantastic

#

Loved how the source of the light comes from its mouth

fair rampart
#

Unintentional

#

Happy little accident

modern hound
#

_mistake

fair rampart
tawny lynx
#

Majestic.

fair rampart
#

This is the best thing I ever made

modern hound
#

Wait till it turns into a trend

fair rampart
#

Next up is Nosk

modern hound
#

I made The Mistake

#

now its into a video

#

And probably turning into a Mod

#

๐Ÿ˜‰

scarlet gale
#

Make the mistake mod a thing

#

Dooo it

heavy geyser
#

select_all textures.hk
copy_paste mistake_sprite.png
replace
do it

modern hound
#

I have a feeling thats not supposed to happen

fallen violet
#

Hey Kein! Both your mods work on GOG.

fair rampart
#

How did you spawn GameObjects? How did you get their names and store them so you could spawn them elsewhere? Tell me everythiiiiiing

fallen violet
#

Is there a way to use both your mods at the same time though?

tawny lynx
#

I could try building a mod loading system maybe. That might be a good way to start learning about how the game works.

fair rampart
#

Uhh

#

You mean loading separate .dll files into the game?

#

I don't get what you mean, sorry :S

#

Ah

#

So the game's assembly

#

Would load files, which would contain MonoBehaviour scripts

tawny lynx
#

I haven't worked on Unity before and I'm more used to C++, so that might take a while, but I'll see what I can do.

fair rampart
#

Wait

#

Why not .dll files? You can store the MonoBehaviour scripts/classes/whatever in the dll file, load them into the game and use the files to modify stuffs (maybe)

#

How much you can modify depends on the protection value of the game's variables/methods

tawny lynx
#

Well C# is garbage-collected. That's a pretty big difference in my book.

tawny lynx
#

Looks like Unity's Plugin system could be a good fit for this, judging from a quick Google search.

#

What IDEs/toolchains do you currently use to edit C#? I was thinking of using JetBrains's tools out of habit.

gritty snow
#

dnSpy, it decompiles the C# code and you can recompile bits and stuff them back in.
You can do interfaces in C# right? I imagine a mod plugin system would be one base mod that looks for, as Kein mentioned, serialized files that implement a particular defined class. Those go in a list at some early point in the code, and we put in a bunch of useful hooks. Like call 'input()' on each of the classes on each input update, etc. Pass in the GameManager class to each, should be able to control most of the game behavior.

tawny lynx
#

That would be the cleanest way I think, so that you can have multiple mods playing nicely at the same time.

#

More elaborate ones could overwrite the original code instead.

fallen violet
#

Kein, the save anywhere mod on GOG has one issue. when you quit the game, it stays on the black screen with text in the bottom left showing "Save Anywhere mod...". You have to manually force quit the window.

tawny lynx
#

How do you handle decompilation errors like this? AutoRecycleSelf.<StartTimer>c__Iterator1D I don't know enough about C# to understand what it's trying to do, but the IDE is identifying everything as an error.

buoyant obsidian
#

Personally, I've been avoiding everything with the word Iterator and <>

#

Instead I just right click and hit Edit Method wherever I want to change something

tawny lynx
#

Ah. I'm trying to compile the DLL as a whole, to see if it's possible.

buoyant obsidian
#

Oh good luck with that

tawny lynx
#

To ILSpy's repo you mean?

#

Alright.

gritty snow
#

People do try to decompile full dll's to full compilable sources - but I believe it's often a huge mess of errors that need to be hand-fixed and guessed. Not sure if it has been done on any Unity Games, somebody did it for AM2R (though that is a fan made game) (https://gitlab.com/yellowafterlife/AM2Rrc)

fair rampart
#

Someone's trying to do just this for another game

#

Rain World if you're interested

tawny lynx
#

Do you use the Unity Editor too to mod?

#

I've never actually used it.

buoyant obsidian
#

I use Unity itself only to change music

scarlet gale
#

@buoyant obsidian Hey, so to change the sound, you were talking about creating your own .resource pack. I got a soundfile in Unity right now, but what do i save it as to get that?

buoyant obsidian
#

just drag your sound into a scene then build and run it

#

since that sound is the only asset, sharedassets0 will contain your sound

#

You can change sharedassets0 to be named whatever, then with UABE open and edit the dump file for whatever audioclip file

#

then you'll need to specify 0 as the offset and the bundle's file size

#

as the size

#

yeah probably

scarlet gale
#

๐Ÿค” seems pretty clear, thanks man

buoyant obsidian
#

Doing it now

scarlet gale
#

EHEHE It works

#

753 you are amazing ๐Ÿ‘Œ

buoyant obsidian
#

:)

scarlet gale
#

Still kinda obnoxious to do though ๐Ÿ˜…

buoyant obsidian
#

yep

scarlet gale
#

Mad props to figuring it out though, i was torturing myself by thinking it was doable with just UABE alone.

buoyant obsidian
#

Now that the API is a thing people don't really use these anymores, but just in case it matters:

Here's a link to dnSpy, which you'll probably want to mod Assembly-CSharp.dll and change how the game works: https://github.com/0xd4d/dnSpy

Here's a link to UABE, which you'll want if you want to edit sprites / audio for the game: https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor

Here's a quick tutorial for replacing audio assets in Unity games: http://imgur.com/a/1VILl

scarlet gale
#

Looks good

tawny lynx
#

I have an idea of how to get past the parts it can't disassemble. I replace them with the IL code, which a tool I found inline can compile alongside the regular code. Let's see if it works.

#

Hmm, the tool seems a bit limited unfortunately.

leaden hedge
#

yeah

#

looks good

gritty snow
#

@fair rampart How much are you planning to add to your debug mod? That screen screams "ALL THE THINGS!"

gritty snow
#

Heh, I was gonna suggest adding sceneData display, I added it to the default info box for figuring out the persistent items.

#

What do you mean by realtime? Like in the scene, or just before it is loaded?

#

Just the permanent, not semiPersistent boolItems isn't so bad, lists out the secrets and things. Until you hit an orb room. Lots and lots or orb bools.

#

ah

#

hey have you recompiled the EnterHero function by chance? I wanted to make it not give up on no gate for testing purposes - but the recompiled version just breaks. It goes into the end case "Could not find any gates in this scene. Trying last ditch spawn..." then gets a field access exception for the transform.

#

I was just wondering if you came across it and found a solution. Not sure I can get the original, unless there is some dnSpy magic I don't know about. If I paste in the original with no changes, it will complain about some things, then recompile back into this broken-ness. And I haven't figured out what is wrong with the recompiled method, seems to be equivalent logic, it just traded if/else for if/return

#

at this point i haven't changed anything. Originally made it so if the gateName was null or empty it proceeded on with the additiveGateSearch=false strategy (it last ditch looks for any valid gate).
But reverting that change, or even pasting the original function back in is broken. Decompiler/Recompiler issue. If you recompile the method with no changes you will probly see what I am seeing, though you might wanna back up your dll first if you do.

#

it does keep wanting to make the function public rather than private though, gonna try changing it

#

nope. it's fun you get stuck in the menu scene in infinite blackness.

#

haha thanks

#

so if I take out the transform call (that borks due to the exception) and let it EnterSceneNoGate...it seems to work...for now. Spawned in Town and went into crossroads without a problem. I also compiled it as "private void EnterHero(bool additiveGateSearch)" - gotta watch that, every time you open the edit window dnSpys like "you meant public, right? I'm gonna...I'm gonna just use public"

#

oh thanks, that works really well. I wouldn't have thought it would have that level of functionality for ctrl-z.

gritty snow
#

haha

#

gotta kill em then. Is there a decent way to make a noclip?

#

seems pretty edge-case, you might be fine with a particular hack for that scene if it's easier

modern hound
#

Are you guys able to change the values of charms?

#

I was thinking of an idea for a rebalance mod

#

but im guessing thats obvious

#

(Rly tho)

gritty snow
#

charmCost is in playerData - that should be easy enough to hack

#

Ahh. Hmm, I have a folder of dumped FSMs I can grep through, not exactly sure what to look for though.

#

good luck! evil laugh

buoyant obsidian
#

Modding notch cost is super easy and a few of the other charms are a bit iffy when it comes to changing values

gritty snow
#

I have a mystery. Been going around making sure most of permanent bool items in scene data are able to be accessed/activated in game - just going around looking for secrets with a convenient readout telling me when there are secrets in the room. To my surprise, I have yet to find a single out-of-bounds or otherwise broken thing. Until maybe now. Fungus2_20 has a breakable wall apparently I can't find.

modern hound
#

Um

#

I dont know how to Mod

gritty snow
#

Fungus2_20, it's the scene to the right of that creepy temple with the mosskins.

modern hound
#

I dont know how to mod

#

I just thought of an idea

deep pilot
#

Isn't there a breakable wall which you can open between the room with Spore Shroom and the room outside the Mosskin temple as well as a breakable wall to get out of Deepnest?

gritty snow
#

then your dream of a balanced charm system may never come true. Unless someone else cares enough about it ๐Ÿ˜ƒ

#

you can open walls with spore shroom? Well I'll try that then, thanks

deep pilot
#

Well, not with Spore Shroom

gritty snow
#

oh sorry, misread

deep pilot
#

I mean the room containing Spore Shroom had a breakable wall right under where the grub is

#

And that opens up a passage that connects with the room outside the Moss Prophet temple.

gritty snow
#

ah, now I see. I had to bring up a video, I forgot how the room was to begin with. That is the room I am talking about, the spore shroom room. But both the one-way and the shortcut have been activated. Seems to be a leftover.

#

maybe since I broke it from the other side, it checks the scene to the left and an FSM removes the wall in this scene

modern hound
#

705 health out of 200

gritty snow
#

@fair rampart Do you have a reliable way of warping to a scene without knowing a valid door name?

scarlet gale
#

@modern hound actually charm rebalancing was one of my ideas as well, though right now im more gathering small bits of knowledge

modern hound
#

I can suggest some ideas

#

But Im mostly useless in terms of actual code

scarlet gale
#

Aight, drop them in i would say ๐Ÿ˜„

tawny lynx
#

Are there mods that let you equip every single charm, or create one super-charm you can equip?

scarlet gale
#

@fair rampart did the first of those options

#

Dont think he released it though

fair rampart
#

I will release it but not right now

tawny lynx
#

That looks cool.

modern hound
#

Descord

#

deeeescord

modern hound
#

Light mode?

fair rampart
#

ew

#

Join the dark side

tawny lynx
#

Yay, finally somebody else who uses Light. >.> I always feel so alone.

modern hound
#

The problem with light mode is that the side doesnt turn light mode

#

So its very contrasted

civic hatch
#

its white

#

its cancerous for my eyes as soon as it gets dark and switch from a dark site to white sites

#

I dont work on pc

#

Nah. Will propably do, when moving out and starting to stream

fallen violet
#

@fair rampart Yeah, I don't mind testing stuff for GOG.

#

The Managed folder you mean?

#

What are you porting? Debugmod?

#

That would be amazing!

fallen violet
#

ok

#

Hmm, it crashed while loading the save

#

Do you have the instruction file for this mod?

#

Readme

#

Let me try to load it one more time

#

It seemed to have worked this time

#

I can see that UI

#

I can see the UI, but I can't access the menu at the bottom even when clcking with the mouse. But let me try your new file

#

Also, the game doesn't quit properly. It gets stuck with a black screen with your mod text in the bottom left. Have to force quit.

#

I don't see that file in data

#

I was in game. And then quit to menu. and then exit.

#

It hung on exit.

#

Can make a small vid if you want to see?

#

Yeah, even with UI off.

#

Hmm, weird, it quit normally this time.

#

Guess you changed that variable right?

#

Btw, what do some of those buttons do in there? Like Charm?

#

Everything seems to be working now. I don't know what some of those buttons do though like Charm, HP bars, etc. They are not activating anything.

#

I'll try this new file

#

ok, it's not currently.

#

no wait, it is.

#

But only in pause menu?

#

Oh okay. let me test

#

Yeah I'm seeing the bars in red now. They are in the vicinity of hte enemies, but not directly above them.

#

ok all good

#

Yeah, all seems to be working great then.

#

Can release for GOG!

#

I didn't use your new file.

#

The previous one is fine

#

ok

#

Nice

#

Great work man! I see you added those broken charms in there

#

Thank you!

gritty snow
#

Does the community know about the secret room in the collector scene? It's similar to the hornet secret, just found it looking for secrets, kinda crazy

hazy sentinel
#

yeah

alpine cloak
#

People already went mad trying to figure out what it means

gritty snow
#

ah, k, first time I have seen it.

hazy sentinel
#

grubfather is leonardo da vinci confirmed

deep pilot
#

I think people have figured that it is a map of all the grub locations

#

Cause there are 46 dots in that diagram

gritty snow
#

I thought the same, it looks a little like the stagways map.

gritty snow
#

the list of seemingly un-activateable persistentboolitems:
Fungus2_20 : Breakable wall Waterways
Might be dependent upon scene to the left breakable wall.
Dream_01_False_Knight : Battle Scene
Deepnest_14 : Inverse remasker (1)
Deepnest_16 : Inverse remasker
Waterways_13: Shiny Item Acid
Ruins2_11: Battle Scene
RestingGrounds_12: Death Respawn Trigger
White_Palace_09: Shiny RoyalCharm
Abyss_08: Shiny Item (Blue room, guess it was for the charm itself?)

scarlet gale
gritty snow
#

hahaha, glad to hear it

scarlet gale
#

I think i can find some charm stuff now that i couldnt get to previously, like the soul cost for glowing womb^

buoyant obsidian
#

Teach me how you did that, All.

scarlet gale
#

Well sure, the womb stuff is the only thing i figured out currently though corny

#

Downloading/installing the FSM mod is the first step i guess

buoyant obsidian
#

Alright so I installed it, how do I start dumping FSMs?

scarlet gale
#

You play the game :D

buoyant obsidian
#

so this save_fsm folder is located where, right next to my save files?

gritty snow
#

I didn't put in a good way to loop through and load all the assets or anything - it hooks into FSMs as they are loaded and deserialized. So you make the folder, and play the game exercising relevant code for scenes and such. Not sure if all the charm logic is just loaded along with first scene or if you have to enable charms...

scarlet gale
#

im guessing the charm logic is loaded automatically, since i see stuff for charms i didnt equip

gritty snow
#

Yep, make a save_fsm folder next to your save files. Keep in mind it will degrade performance while that folder is there. Modding with 'hack_fsm' doesn't cause a noticeable degradation.

buoyant obsidian
#

I see, impressive

gritty snow
#

Mostly just scene load time will slow down

buoyant obsidian
#

Alright so what'd you change to lower the soul cost for the hatchlings?