#archived-modding-development

1 messages · Page 536 of 1

floral blade
rough pulsar
#

I guess mage knight/soul master/soul warrior but probably not

cedar hemlock
#

?pins @wet notch

finite forumBOT
wet notch
#

ty

cedar hemlock
#

api docs

#

imagine if that link works

#

now it works

jolly jungle
#

hollow point

lost pecan
#

Peak comedy

radiant basin
#

just add a red hat with the hat mod

midnight flicker
#

hmmm... I'm not sure if I should post this over here or on #archived-modding-help , hopefully this is the right place. I installed Ultimatum Radiance, and for some reason my ddark makes me deal damage really quickly whenever I'm over the boss's hitbox. How on earth does this happen?

#

After looking through the code, my best theory is that it might have something to do with a method called "DivePunishment", which should make me take damage upon using ddark on a given phase of the fight (but doesn't seem to work anyway)

#

I'm not familiar with the API, does this look right to you guys?

public void DivePunishment()
{
Log("YOU WON'T CHEESE SPIKES IN THIS TOWN AGAIN");
HeroController.instance.TakeDamage(gameObject, GlobalEnums.CollisionSide.bottom, 1, 0); //Knight takes a hit
EventRegister.SendEvent("HERO DAMAGED"); //Tells the UI to refresh
}

vocal spire
#

Might be something in a fsm from taking damage in the middle of a dd that’s not spikes

gentle lotus
#
MAT

"Welcome to the City of Synths, where fiction and reality collide. You play as Hornet, a techno-princess-killer for hire, and adveture through a decadent cyberpunk city ruled by the Synth Master. Assisted by her team, Hornet will kick some bug-butts and blow up everything that moves as she ascends on a deadly war trail to the City’s peak. Nano-b...

▶ Play video
#

so is someone working on a Hollow Knight Cyberpunk re-texture and what can I do to help??

sick plover
#

how can i make hornet work like the collector?

midnight flicker
#

Hmmmm.... What does fsm.InsertAction do if there's already an action using the given index?

void shore
#

OH,I make a mistake.Mage knight, not maga knight😂 😂

radiant basin
#

i also only done like 4 animations

gentle lotus
deep wave
jolly jungle
vocal spire
radiant basin
#

wait someone is actually working on something like that?

tender imp
#

is it possible to change nosks appearance in a custom knight skin?

vocal spire
#

Not sure if it has anything to do with the video you posted

worn eagle
#

it's a shame 56 won't see this, but I made a mod installer in rust 😎

copper nacelle
#

shame deez nuts

#

I got the 1.5 one kinda done

#

I want auto update

#

if someone wants to try it ig

#

with my luck it will immediately break

worn eagle
jolly oriole
#

never

#

56

#

how do i set install location to my 1.5 install?

copper nacelle
sick plover
jolly jungle
#

make it so when you hit her you don't receive soul and will give off void particles

#

hook something that fits, probably some kind of OnEnemyGiveSoul, make it check what the enemy is, if it is hornet make it spawn void particles and return 0 as soul amount

radiant basin
#

thats cursed

lost vigil
#

Hey are there any like youtube tutorials or something for people who are new to hollow knight modding? I have no idea what I'm doing 👉😎 👉

primal latch
jolly oriole
steady turtle
#

Hey

#

I've got an idea for a mod I'm making just wanna see what you guys think of it

#

It will be called "The Fallen Radience" and basically the mod will be a boss fight found in the abyss in an area kinda like the birthplace that will unlock after you beat PoH and it will be the radience after being consumed by the void, it will be as lore friendly as possible and it will expand on lore and have its own backstory

#

Pls ping me for any response I'll be offline

merry lotus
steady turtle
#

Would anyone here with nodding experience be down to help?

worn eagle
#

🤌 💰

primal latch
#

Since people in #modding-discussion still think 1.5 has 0 mod support, has anyone parted Rando to 1.5?

steady turtle
#

Srysly need help developing this mod, anyone?

primal latch
#

I think most modders are working on their own projects.

steady turtle
#

i mean as in literally i need help ascessing the sprite files

cedar hemlock
#

I can help once i get home

steady turtle
#

rlly?

cedar hemlock
#

Although i said i would take a break, yes

steady turtle
#

thanks man its not TONNES i need just abit of help

primal latch
cedar hemlock
primal latch
cedar hemlock
#

Imagine having a discord name thats a fruit

primal latch
#

Imagine having a fictional character as your profile picture

cedar hemlock
#

Imagine not knowing said characters name

primal latch
#

Mickey

cedar hemlock
#

Imagine being wrong

primal latch
#

Oh. Wait. You’re right. I always thought it was mickey

steady turtle
#

thx

vocal spire
steady turtle
#

lol

primal latch
vocal spire
#

Do you even epic Mickey

steady turtle
#

What should i use to open sprites.

vocal spire
#

In code or on your computer

primal latch
#

Never played it

steady turtle
#

i mean to open and customize HK sprites

vocal spire
#

Any image editor supporting transparency

#

Ex: paint doesn’t work since it will save it without transparency

steady turtle
#

hm ok

vocal spire
#

Paint 3D will though since it does save it with that

steady turtle
#

ok thx

primal latch
#

For them to show up in game you have to write your own code

steady turtle
#

thats fine

steady turtle
#

what language is used for modding HK

fair rampart
#

C#

cedar hemlock
steady turtle
#

thanks

primal latch
#

Trying to update the dependencies of Fyremoth (modding API and SFCore) I run into this error from sfcore: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: !1 SFCore.Generics.FullSettingsMod'2.get_GlobalSettings()

#

Took a look at the IL code and it is a function

merry lotus
primal latch
#

yes

jolly oriole
#

maybe recompile?

#

fyremoth ⬆

#

i had an instance where recompiling the mod worked, even though technically nothing changed

primal latch
#

Just tried recompiling SFCore and Fyremoth

#

did not work

jolly oriole
#

i'm not even sure what the !1 means in that error line

primal latch
#

Me neither, but it also shows up in the il code

jolly oriole
primal latch
#

I reference the dll directly

jolly oriole
#

then i honestly have no idea wtfs going on there

primal latch
#

neither do I

#

[ERROR]:[API] - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: !1 SFCore.Generics.FullSettingsMod`2.get_GlobalSettings() [ERROR]:[API] - at Fyremoth.PlayerDataManager.AddNewEntry (System.String name) [0x00008] in C:\Users\NAME\Desktop\Fyremoth\Fyremoth\PlayerDataManager.cs:39 [ERROR]:[API] - at Fyremoth.PlayerDataManager.Initialize () [0x00001] in C:\Users\NAME\Desktop\Fyremoth\Fyremoth\PlayerDataManager.cs:14 [ERROR]:[API] - at Fyremoth.Fyremoth..ctor () [0x0006c] in C:\Users\NAME\Desktop\Fyremoth\Fyremoth\Fyremoth.cs:224 [ERROR]:[API] - at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke(System.Reflection.MonoCMethod,object,object[],System.Exception&) [ERROR]:[API] - at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in <9577ac7a62ef43179789031239ba8798>:0 [ERROR]:[API] - --- End of inner exception stack trace --- [ERROR]:[API] - at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00014] in <9577ac7a62ef43179789031239ba8798>:0 [ERROR]:[API] - at System.Reflection.MonoCMethod.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007a] in <9577ac7a62ef43179789031239ba8798>:0 [ERROR]:[API] - at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 [ERROR]:[API] - at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 [ERROR]:[API] - at Modding.ModLoader+<LoadModsInit>d__16.MoveNext () [0x0021d] in <c2a48dab016a4177be1ebaa8c1a99f48>:0

#

this is the full error

vocal spire
#

Rebuild for the ModdingApi

primal latch
#

??

vocal spire
#

Something looks like it needs to be rebuilt for the api

primal latch
#

I rebuild every mod I use

#

Without Fyremoth no error is thrown

vocal spire
#

Hmmm

#

You sure you copied it to your mods folder

primal latch
#

yes

#

I just switched the configuration to release, cleaned and rebuild. Still the same error

primal latch
#

@vocal spire let's make it wierder.... There is no call to any settings in that function

#

So I made it so that one specific method doesn't get called. This is the error now: [ERROR]:[API] - Failed to load Mod `Fyremoth` [ERROR]:[API] - System.MissingMethodException: !1 SFCore.Generics.FullSettingsMod`2.get_GlobalSettings() [ERROR]:[API] - at Modding.ModLoader.LoadMod (Modding.ModLoader+ModInstance mod, System.Boolean updateModText, System.Collections.Generic.Dictionary`2[TKey,TValue] preloadedObjects) [0x00022] in <c2a48dab016a4177be1ebaa8c1a99f48>:0

vocal spire
#

Can you try

#

foreach (MethodInfo mi in typeof(FullSettingsMod).GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic))
Log(mi);

#

Meant to send earlier, lost connection

vocal spire
#

Before you do anything else

primal latch
#

I put it in the front of Initialize

vocal spire
#

Brb

primal latch
#

I'll try putting it in the constructor

#

Wait. That is where I put it

#

nevermind. It is called

#
[INFO]:[Fyremoth] - Void set__globalSettings(Fyremoth.FyreSettings)
[INFO]:[Fyremoth] - Void OnLoadGlobal(Fyremoth.FyreSettings)
[INFO]:[Fyremoth] - Fyremoth.FyreSettings OnSaveGlobal()
[INFO]:[Fyremoth] - Fyremoth.FyreSaves get__saveSettings()
[INFO]:[Fyremoth] - Void set__saveSettings(Fyremoth.FyreSaves)
[INFO]:[Fyremoth] - Void OnLoadLocal(Fyremoth.FyreSaves)
[INFO]:[Fyremoth] - Fyremoth.FyreSaves OnSaveLocal()
[INFO]:[Fyremoth] - System.String GetName()
[INFO]:[Fyremoth] - System.Collections.Generic.List`1[System.ValueTuple`2[System.String,System.String]] GetPreloadNames()
[INFO]:[Fyremoth] - Void Initialize(System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.Dictionary`2[System.String,UnityEngine.GameObject]])
[INFO]:[Fyremoth] - System.String GetVersion()
[INFO]:[Fyremoth] - Int32 LoadPriority()
[INFO]:[Fyremoth] - Void Initialize()
[INFO]:[Fyremoth] - Void SaveGlobalSettings()
[INFO]:[Fyremoth] - Void LogFine(System.String)
[INFO]:[Fyremoth] - Void LogFine(System.Object)
[INFO]:[Fyremoth] - Void LogDebug(System.String)
[INFO]:[Fyremoth] - Void LogDebug(System.Object)
[INFO]:[Fyremoth] - Void Log(System.String)
[INFO]:[Fyremoth] - Void Log(System.Object)
[INFO]:[Fyremoth] - Void LogWarn(System.String)
[INFO]:[Fyremoth] - Void LogWarn(System.Object)
[INFO]:[Fyremoth] - Void LogError(System.String)
[INFO]:[Fyremoth] - Void LogError(System.Object)
[INFO]:[Fyremoth] - Boolean Equals(System.Object)
[INFO]:[Fyremoth] - Void Finalize()
[INFO]:[Fyremoth] - Int32 GetHashCode()
[INFO]:[Fyremoth] - System.Type GetType()
[INFO]:[Fyremoth] - System.Object MemberwiseClone()
[INFO]:[Fyremoth] - System.String ToString()
[INFO]:[Fyremoth] - assembly
[INFO]:[Fyremoth] - stream
[INFO]:[Fyremoth] - loadStream```
#

It has the Fyremoth classes because I had to supply types

vocal spire
#

Alright

#

The error still there?

primal latch
#

yes

vocal spire
#

Comment everything from the constructor and initialize

primal latch
#

no error

vocal spire
#

Uncomment everything that doesn’t access globalSettings

#

Wait

#

Hold up

vocal spire
primal latch
#

I know. But that isn't an accesible function

vocal spire
#

So?

#

GlobalSettings or globalSettings since the 2nd log is a property, accessing it gets basically turned into calling that method on compile

floral blade
#

did you check player log?

vocal spire
#

Don’t think that’ll help

primal latch
vocal spire
#

Well something is happening with the compiling then

#

Since at runtime the method is mentioned in 2 different names

#

Or intended to be mentioned by both

#

But the one with the capital letter dies

vocal spire
#

Or I’m misunderstanding how properties are compiled or something

primal latch
#

so... what can I try to fix it?

vocal spire
#

Compile SFCore with lowercase maybe?

primal latch
#

I'll try

#

same error, but with a g instead of a G

vocal spire
#

Huh

#

Well

#

I tried

jolly oriole
primal latch
#

yes

jolly oriole
#

hm :/

primal latch
#

public class Fyremoth : FullSettingsMod<FyreSaves, FyreSettings>, ICustomMenuMod

jolly oriole
#

i mean, one thing that maybe could work, though it shouldn't, is to delete the globalsettings file in the saves folder

primal latch
#

hmm. I'll try

#

doesn't work

jolly oriole
#

damn

#

i'd ping 56 for help, but he'll just shroompause me because i made that generic mod class

primal latch
#

@copper nacelle just shroompause me. Not like I care

copper nacelle
#

your ref doesn't match the currently used version of the dll || the sfcore dll is out of date with the api which i doubt

primal latch
#

I recompiled EVERYTHING

#

how can it be out of date?

jolly oriole
primal latch
#

To make it even wierder: I traced the problem down to a function that doesn't even utilise SFCore

#

You know what? Just leave it. I'll just stay at an earlier modding API version

#

for now

primal latch
#

The initialize function of the DataManager.

#

But I have already reverted everything

#

To be more specific: Somewhere is the adding of journal entries. Commenting out the item adding has no effect

jolly oriole
#

journal entries 🥴

vocal spire
#

Yep

#

Try removing frogcore stuff

#

For some reason it already apparently breaks charmhelper already, wouldn’t be surprised if I killed something else while I was at it

#

Nvm I’ll do it myself (maybe)

lament socket
#

So I'm new to this whole development thing. I'm trying to follow the "new scene tutorial" (https://www.youtube.com/watch?v=8Q1SsoUdTQc), but am running into a weird issue. I got to the part about implementing doors (29:30 in the video), and prior to that I didn't have any issues (the R to drop my character in version worked; collision seemed fine, etc), but now whenever I enter the door my character drifts continuously into the wall and I only the up and down buttons do anything (even pause doesn't work). I did do a leftwards door instead of the rightward one in the video, so I'm wondering if that broke something? A pastebin with my "loadscene" code is here: https://pastebin.com/1c4nNPMp.

#

As a note, I am doing this in 1.5, which could be related, but I've resolved all the other issues I've found up to this point.

#

Any ideas on what could be wrong? I'm guessing it's something to do with the transition where the character walks out of the door, since that would explain the "not being able to press buttons" and "continuing in one direction", but IDK what specifically is the issue.

vocal spire
lament socket
#

Yes. Am I not supposed to have collision there?

vocal spire
#

You are supposed to

lament socket
#

I do. Any other ideas? It's bizarre, the character just drifts left until he hits the wall.

#

And then he's stuck there till you quit out.

vocal spire
#

Are the transitions opposite directions?

lament socket
#

Seem to be? You can check my pastebin but I think they are?

vocal spire
#

It looks right to me

jolly oriole
#

and left

vocal spire
#

Was also about to ping you

jolly oriole
#

does your test room have floor collision that is above y=2? (or y=4)

#

optimally it should be at y=2

lament socket
#

It is at y=2, not above.

jolly oriole
#

then it should work, but maybe test switching the true false things in the CreateGateway

lament socket
#

Just swap all of them?

jolly oriole
#

in the scene change thing, essentially changing left to right

lament socket
#

Huh.

#

Weirdly enough, that doesn't do anything, but when I swap the names left/right as well it does.

#

But regardless of direction, it still just continues drifting in that direction.

jolly oriole
#

hm, weird, i don't have that problem in my scenes

vocal spire
#

Send your ModLog.txt and player.log

#

Both in your save files path

#

?saves

finite forumBOT
#

Saves


Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)

Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\```
** **
Mac File Paths:
```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/
Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/```
** **
Linux File Paths:
```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/
Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
lament socket
lament socket
lament socket
#

ARGH

#

now I'm even more mad

#

Because I fixed it

#

but IDK how

#

The only thing worse than a bug that I can't fix is a bug I fixed without understanding it first

lament socket
#

I literally just copy pasted over my code and then readjusted

#

and that fixed it.

#

From the original tutorial files.

warm halo
#

Question - Is there any information on the CyberKnight mod?

light zodiac
#

Afaik => ☠️

worn eagle
#

is is possible to have an absolute HintPath to a reference?

floral blade
#

you can use absolute paths

#

but then your repo is a pain to clone

jolly oriole
#

Cloning is easy, but getting it to work is the hard part

steady turtle
#

Hey

#

Quick question

#

How do i change the in game bosses texture. I have to do it with coding right?

#

That's not an issue but I'm just checking

patent zealot
#

Theres mods that let you do it

wet notch
#

How does map editing work?

chrome spade
whole flare
#

Hello. Are there any tutorials / guide i can use to introduce myself into modding? I have no idea where to start.. but i would like to edit some pantheon boss fights , like ultimatum radiance

patent zealot
#

<@&283547423706447872>

glossy olive
#

Yep?

#

goddamn it

#

slow ping as usual

patent zealot
#

<@&283547423706447872>

jolly oriole
#

how many, wtf

crimson aspen
#

Hello everyone, I want to play custom sounds in hollow knight, so to test it I created a prefab of a gameobject which contain an AudioSource which contain an AudioClip (mp3). Then I created an AssetBundle with my prefab gameobject and finally I want to load it with my mod.
I can load and access to the gameobject and the audio source inside it from my mod, but when I try to audioSource.Play() I didn't hear anything ingame, someone already had an issue like that ?

vocal spire
#

Did you make the assetbundle with the right unity version?

#

Also what version of hollow knight are you modding

crimson aspen
#

I try to mod the 1.4.3.2, I use Unity 2017.4.10f1 with the last version of AssetBundles Browser from github. I tried to log some informations about the audio source, to verify if I load it correctly, and it seems to work => when I try to print g.GetComponent<AudioSource>().priority I found 128, which is the value I set in unity. but then when I try to g.GetComponent<AudioSource>().Play() nothing happen ingame

vocal spire
#

Maybe you need to set the volume?

#

Might want to set it’s position to HeroController.instance’s position

#

I gtg, good luck!

crimson aspen
#

Hm the volume is set to 1 (max) and the log print the same value so I don't think the issue is there. I also try to move my gameobject to the hero position with g.transform.position = HeroController.instance.transform.position; before playing the sound without success 😦 . But I see in my assetBundle the gameobject and the mp3 separated, maybe my load function is able to retrieve the audio source but not the audio clip linked to it.

#

I will continue to search, thanks for the help 🙂

floral blade
#

the way i did audio was using wavUtils and just loading the wav file forgoing the mp3 entirely

crimson aspen
#

oh thanks I will check that 🙂

vocal spire
#

The way I do it is loading the clip from the bundle separately

floral blade
#

how does one figure out if a sprite is flipped on it's atlas ? and it's pivot coordinates (for packed sprite renderer sprites)

chrome spade
floral blade
#

omg i was looking for something that said flipped

#

i guess i needed packingRotation

past glen
#

Am I allowed to post a modded boss suggestion here? You may have already seen it at #modding-discussion but I also wanted to post it here since I don’t know how to create mods myself

primal latch
#

One question: what do you expect to achieve by posting it here? Everyone has their own project. It’s very unlikely that anyone will make it.

past glen
charred sand
#

Mates I want to remove the frigging white cloak stuff from the lightbringer mod, any pointers on how to make a build after I edit one on github?

vocal spire
vocal spire
#

Huh I guess mods are pretty fast

jolly oriole
#

i love monomod

worn eagle
#

I love bepinex

jolly oriole
#

crashed my game by fighting elder hu

vocal spire
#

Ohhhh so that’s how you patch unity methods

#

All my CustomKnight+ problems are solved

#

*maybe

modern star
#

I loaded an existing mod solution in VS and I resolved all dependencies except for RandomizerLib, does anyone know where that reference path should be

I've already added the \Managed and \Managed\Mods directories

Edit: seems like Randomizer3.0Multiworld is another dependency

steady comet
#

@modern star RandomizerLib and Randomizer3.0MultiWorld are from a stale fork of randomizer with multiworld support. The current version of multiworld is implemented as a separate mod, that just needs a compatible version of Rando (i.e. with the required hooks) - for example https://github.com/Shadudev/HollowKnight.RandomizerMod.

latent river
#

Hey,
has someone an idea how I can recognize that the player enters one of the Pantheons?

tulip jewel
#

probably check if the binding menu is open & then a room transition happens right after

#

or there might be variables they set or some other trace

merry lotus
#

Note: GoldenGuy keeps responding to people, but doesn't actually make mods, and usually doesn't know what they're talking about

tulip jewel
#

yea I'm just amused by it, I don't make hk mods

#

I kinda sorta know what I'm talking about but not anything to do with the hollow knight api or whatever mod loader y'all're using

latent river
stray nymph
#

does anyone have a really really sick skin for custom knight

modern star
deep wave
#

this is incorrect with the more recent versions of rando

#

the most recent versions have intrinsic multiworld support through reflection iirc, and now multiworld implementation is solely through a separate mod.

steady comet
deep wave
#

ah its directly referenced, forgive 9am me

fast silo
#

I love it

primal latch
#

How would I create a item pop up like the one for vengeful spirit?

merry lotus
#

You might want to look at how Randomizer does it. It adds them for a lot of things (World Sense, Swim, Elevator Pass, Extra Nail Slashes, etc)

vocal spire
#

Or do that

vocal spire
#

Can’t really tell ya what to do, also not sure if it’s good or bad that you do that

stray briar
#

I can’t mod very well, but I am going to try to make a pale lurker boss fight.

modern star
#

I managed to change RandoMapMod to show the pins for the randomized items rather than the vanilla ones 🙂

this should be useful for some people I think?

primal latch
copper nacelle
#

oh yeah if anyone cares i released scarab

primal latch
#

Scarab?

copper nacelle
#

mi2 meme

#

i cannot take a name with a 2 in it it's so bad

primal latch
#

Ooh

#

Just looked at your github

#

When are you planning to tell the public?

light zodiac
#

2 hours ago

copper nacelle
#

true

primal latch
#

Ah. Cool. I didn’t see it

#

Why is the api not in the installer?

#

In mean in the modlinks

jolly oriole
#

look in the apilinks

#

that reminds me

#

i should maybe take my non-working mods off the installer for now lol

primal latch
#

Ah

primal latch
jolly oriole
#

realized afterwards and then didn't care enough

primal latch
#

Also, what is the biggest mod (in size) on the old installer

primal latch
jolly oriole
#

i'd guess indie crossover

primal latch
#

Hoe big was it? (Approximately)

jolly oriole
#

110 MB

primal latch
#

Fyremoth is currently 140 mb

jolly oriole
#

unoptimized shroompause

primal latch
#

On release mode

jolly oriole
#

still

#

last i checked, tot was 10 MB

#

may be more now because i increased audio quality

primal latch
#

We include 2 videos of which at least one in 4K

#

More then a hundred sprites

#

We split it up in at least 10 different asset bundles

floral blade
#

sprites in bundles ?

primal latch
#

Yes

#

Because compression

#

And not having to first load it as a texture and then as a sprite

#

I can now just adress the bundle and tell it to fetch me a sprite with a certain name

jolly oriole
#

if you really want to experiment (so unlikely), you could also use unity's new 'Addressables', though idk how that handles compression and stuff

jolly oriole
copper nacelle
#

redwing

#

mf was split into separate mods w/ the assets

jolly oriole
#

i mean, that doesn't make the download faster

primal latch
primal latch
merry lotus
#

Assets weren't required for Redwing. They were optional

#

So I assumed it was split for bandwidth concerns tamershrug

light zodiac
#

for visibility

jolly oriole
#

remove line 437

light zodiac
#

oops

#

should be fixed now

jolly oriole
#

ok, then imma wait for 56, or who else can, to approve that, as my current enviroment doesn't allow me to lol

cedar hemlock
#

seems fine

#

although with dependencies you can just do <Dependencies />

cedar hemlock
jolly oriole
#

good question

deep wave
#

ax2uSip waiting for some poor soul to enable all mods then wonder why the game isn't loading

jolly oriole
#

that one's amazing

patent zealot
#

Jesus

light zodiac
#

You sure that needs to be installer mod?

jolly oriole
#

yes

primal latch
cedar hemlock
#

ye but if it has the power to not boot the game (not really but most people see it that way) then if someone gets it they are going to waste #archived-modding-help's time

primal latch
#

Like they won’t otherwise

cedar hemlock
#

well if it isn't on the installer then the chance of them installing it is small

#

oh i get what you mean

primal latch
jolly oriole
#

i can't believe 56's mods in the modlinks are not sorted alphabetically

floral blade
#

does scarab not sort mods after it loads?

primal latch
#

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: void SFCore.ItemHelper.AddNormalItem(UnityEngine.Sprite,string,string,string)

#

This makes absolutely no god damn sense

#

The function call:

AddItem("arcane_ore");

The function:

private static void AddItem(string name)
{
    string upperName = name.ToUpper();
    ItemHelper.AddNormalItem(
    Assets.iconsAtlas.GetSprite(name),
    new StringBuilder("Got").Append(name).ToString(),
    new StringBuilder("INV_NAME_").Append(upperName).ToString(),
    new StringBuilder("INV_DESC_").Append(upperName).ToString());
}
jolly oriole
#

let me quickly build the api and sfcore again

primal latch
#

I can make it even wierder. When setting use specific version to true things like:
using SFCore.Utils;
GetAction<Translate>("Swoop In", 5)
MenuStyleHelper all turn to don't exits

jolly oriole
primal latch
#

that works

#

but why?

#

at least it compiles

#

running it still doesn't work

jolly oriole
#

hm

primal latch
#
NullReferenceException: Object reference not set to an instance of an object
  at Modding.ModLoader+<>c.<LoadModsInit>b__16_2 (Modding.ModLoader+ModInstance x) [0x00000] in <c2a48dab016a4177be1ebaa8c1a99f48>:0 
  at System.Linq.EnumerableSorter`2[TElement,TKey].ComputeKeys (TElement[] elements, System.Int32 count) [0x00010] in <55b3683038794c198a24e8a1362bfc61>:0 
  at System.Linq.EnumerableSorter`1[TElement].Sort (TElement[] elements, System.Int32 count) [0x00000] in <55b3683038794c198a24e8a1362bfc61>:0 
  at System.Linq.OrderedEnumerable`1+<GetEnumerator>d__1[TElement].MoveNext () [0x0004b] in <55b3683038794c198a24e8a1362bfc61>:0 
  at System.Linq.Buffer`1[TElement]..ctor (System.Collections.Generic.IEnumerable`1[T] source) [0x00072] in <55b3683038794c198a24e8a1362bfc61>:0 
  at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0000e] in <55b3683038794c198a24e8a1362bfc61>:0 
  at Modding.ModLoader+<LoadModsInit>d__16.MoveNext () [0x00344] in <c2a48dab016a4177be1ebaa8c1a99f48>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <047294ce45cf4b9a9441e48d2b8435e4>:0 
UnityEngine.MonoBehaviour:StartCoroutineManaged2(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
OnScreenDebugInfo:Awake()```
#

might have something to do with it

#

found in Player.log

jolly oriole
#

that's basically not relevant, other than modloader throwing an exception

primal latch
#

ok

#

Why can't anything just work?

#

And yes. I'm sure that I'm building against the correct version. I cleared both my vanilla and mods folder and copied the dll over from my mods folder after downloading it. And visual studio 2019 shows 1.5.1.1 as the assembly version

primal latch
#

@jolly oriole I found something that could have a meaning. When hovering over TitleLogoHelper.AddLogo it gives Sprite as a variable. When hovering over ItemHelper.AddNormalItem it shows UnityEngine.Sprite as a variable

#

queue the ping emotes

floral blade
#

because honestly that's me 99.99% of my life

primal latch
#

hmmmm... only difference that I can find is that one of the functions has parameter documentation and one has not

#

Why can't anything just work?

  • mandar1jn
primal latch
vocal spire
primal latch
#

??

primal latch
#

just found out why. One file was including UnityEngine the other doesn't

vocal spire
#

Yep

primal latch
#

when using UnityEngine in both they both show up the same

jolly oriole
#

wait nvm

#

both have using unityengine

primal latch
jolly oriole
#

oh

vocal spire
primal latch
#

Could it be that Fyremoth is loaded after SFCore?

jolly oriole
#

that would only mean that sfcore's things are definetly there

primal latch
#

??

#

What makes my mod load later? A higher or a lower load priority?

jolly oriole
#

good question, i haven't looked at the new modloader code, but i'd guess alphabetically + loadpriority

primal latch
#

well, when setting it to 10 the order stays exactly the same

#

same for -10

jolly oriole
#

looked at code: loaded alphabetically, preloads & initializing with priority

primal latch
#

When moving the problematic function to Initialize I get System.MissingMethodException: void SFCore.ItemHelper.AddNormalItem(UnityEngine.Sprite,string,string,string)

vocal spire
#

Maybe put SFCore.dll in a folder with a name that alphabetically comes first?

primal latch
vocal spire
#

?

#

Ah ok

primal latch
#

Sorry. Not=now

vocal spire
#

Maybe try putting SFCore and fyremoth in the same folder?

primal latch
#

I’ll try tomorrow. I have to shut down my laptop

vocal spire
#

Alright

jolly oriole
#

i mean, it works for me like this

primal latch
#

Could any of you create a mod using sfcore and use the AddNormalItem function?

vocal spire
#

Tot does that….

#

When I get home I’ll see if I have the same problem with fyremoth

primal latch
#

If it is the case that any non-static functions can’t be accessed (which I think might be the case) then that is an issue with the modding api right?

merry lotus
primal latch
#

There was also a time that libraries were loaded before mods right? Why did that ever stop?

primal latch
jolly oriole
floral blade
jolly oriole
#

yes, a flag i use for it to use a hardcoded path for assetbundles instead of bundled

#

saves a lot of building time

jolly jungle
#

Congrats on the release of Scarab, everyone

floral blade
#

equivalent of a debug = true i assume

charred topaz
#

Should also be able to release my update video on IKG shortly

jolly oriole
#

merged

jolly oriole
patent zealot
#

@ theredbert

tulip jewel
jolly oriole
#

there's... a floor in the way

tulip jewel
#

oh I thought that was text lmao

jolly oriole
#

oh

fair rampart
#

anyone can help me make a pull request I'm kinda confused what to do to upload my mod to mod installer

light zodiac
#

for which game version is your mod, 1.4 or 1.5?

primal latch
#

I am gonna commit warcrimes

#

renaming the SFCore directory and dll to ASFCore fixes the issue. It's a problem with Fyremoth's dll being loaded before SFCore

steady comet
#

Do you run code in the constructor for Fyremoth?

primal latch
#

yes. But the issue stays when having it in Initialize

#

also, I'm using a generic

jolly oriole
#

Additionalmaps works fine though, last i tested

primal latch
#

Yeah. Some methods seem to work some don't

jolly oriole
#

And even if, .Net will just load the assembly if it isn't loaded yet, but needed

#

In theory

primal latch
#

Then why does making the SFCore assembly being loaded earlier fix it?

jolly oriole
#

That is a very good question that i'm going to rudely label "you problem" lol

primal latch
#

also, does additionalmaps use the generic?

jolly oriole
#

Yes

primal latch
#

damn

primal latch
jolly oriole
#

Thats a very compelling point

merry lotus
#

I was already going to put all library mods into one folder- are you saying that I should put them all into a folder named 0. Libraries?
||Although for testing purposes, I should probably leave things the way that people will have them mod installer maggotPrime||

primal latch
#

yeah. This is only a temporary solution for me

jolly oriole
#

part of my modlog:

[INFO]:[API] - Main menu loading
[INFO]:[API] - Starting mod loading
[INFO]:[API] - Loading Global Settings
[DEBUG]:[API] - Loading assemblies and constructing mods
[DEBUG]:[API] - E:/GOG/Hollow Knight 1.5 Modded/Hollow Knight_Data\Managed\Mods\AdditionalMaps\AdditionalMaps.dll,
[DEBUG]:[API] - E:/GOG/Hollow Knight 1.5 Modded/Hollow Knight_Data\Managed\Mods\SFCore\SFCore.dll
[DEBUG]:[API] - Loading assembly `E:/GOG/Hollow Knight 1.5 Modded/Hollow Knight_Data\Managed\Mods\AdditionalMaps\AdditionalMaps.dll`
[DEBUG]:[API] - Constructing mod `AdditionalMaps.AdditionalMaps`
[INFO]:[AdditionalMaps] - Initializing
[INFO]:[AdditionalMaps] - Loading Global Settings
[INFO]:[AdditionalMaps.Consts.LanguageStrings] - Loaded Language
[DEBUG]:[API] - Loading assembly `E:/GOG/Hollow Knight 1.5 Modded/Hollow Knight_Data\Managed\Mods\SFCore\SFCore.dll`
midnight depot
#

OK

floral blade
merry lotus
floral blade
#

only mods that need subfolders will get a folder of their own for me

#

rest all in allMods

primal latch
#

Yet they also have to work in their base folder for everyone else

#

That is why my issue is so annoying. I don’t mind changing names. But not everyone is going to do that.

vestal plover
potent mantle
jolly oriole
#

more than frame perfect spike tunnel go brrrrr

vocal spire
vestal plover
jolly oriole
#

menu themes, initialize is way too late for that

#

also items & achievements

vocal spire
#

(Fyremoth happens to have at least 2 of those 3)

floral blade
#

or if you want to do things before other mods have a chance to do things that they do in initialize

vestal plover
#

Does the modloader not initialize all mods just after loading the assemblies? What earlier point of execution can you achieve if Initialize is too late?

floral blade
#

when a mod class's instance is created is earlier than any of the other mods initializes afaik

jolly oriole
#

constructor of the mod class is executed before preloads, so it gives an advantage that you are able to have things that nicely embed into main menu stuff without having the same code twice, one for initialize, the other for after save+quit moments

vestal plover
#

If you already resort to not using the Initialize method that the ModLoader calls, why not make a static constructor for those cases? I reckon that would fix the problems that mandar1jn is having as well. If Fyremoth is loaded before SFCore and it requires functionality from the library it will load the assembly on demand. That will automatically trigger the static constructor and make the features available.

The only design flaw is that you have to interface that static constructor initializing stuff with the mod instance that is created afterwards (if necessary). That would look a bit silly, but not beyond reasonable and as I said only design related.

jolly oriole
#

yeah dw, sfcore uses static constructors for the helpers

#

am also thinking of having sfcores classes be loaded when the dll gets loaded

proven cipher
#

<@&283547423706447872>

viscid siren
charred sand
#

guys where is modlog.txt located?

radiant basin
#

?saves

finite forumBOT
#

Saves


Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)

Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\```
** **
Mac File Paths:
```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/
Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/```
** **
Linux File Paths:
```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/
Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
proven cipher
#

In your save files path, if that wasn't clear

charred sand
#

Aight it was clear

#

I managed to use github and build Lightbringer

#

but I noticed the version on github is older thna the one in ModInstaller

#

uuuuh I want to build the newest one, where can I find them files?

proven cipher
#

Why are you trying to build it?

merry lotus
#

Presumably to change part of it?
A lot of people want to disable the check that sets the Knight to the Lightbringer skin.

vocal spire
charred sand
vocal spire
#

I wouldn’t think the audio was changed, probably an number in the code

charred sand
merry lotus
buoyant obsidian
#

also is making it 1.5 compliant as simple as changing build settings or do I actually need to put work in?

copper nacelle
#

there is actual work

#

what's in this

#

like what did you change / is it pushed

jolly oriole
loud island
#

healt bar mod for 1.4.3.2?

light zodiac
buoyant obsidian
merry lotus
#

Will commenting out the skin line affect the Easter 🥚s?

#

Like, I would imagine it should disable them, but just asking in case it breaks something when they are triggered.

lost vigil
#

Hey so I've never made a mod before and after looking through the pinned messages and watching a tiny tutorial I'm still super confused dabright

How do people usually go about making like boss mods? Is that with the whole asset bundle thing? I'm also not sure how people modify the FSMs :x the program i downloaded only lets me view it

light zodiac
buoyant obsidian
#

Easter eggs just use sprite flash so skins don't matter

modern star
#

I'm working on a fork of RandoMapMod and there is a weird bug where whenever the map updates (usually via resting at a bench), this one particular pin appears and seems independent of any overlay (in-game or inventory). It disappears when I exit from the inventory.

Does anyone know a way to debug and find this GameObject so I can banish it to the shadow realm? As far as I know the current code didn't create it in the first place

#

Like maybe some way to print a list of GameObject names to a log when a trigger happens

tulip jewel
#

there's always the unity log, you probably don't want to print to that though

#

if there isn't any built in logging in the modding framework you could do that at least

primal latch
#

Yes there is a logging system

modern star
#

I know about the Log and how to write to it, just wondering if there was an existing method to get all GameObjects that are active

merry lotus
#

@modern star fwiw, that "pin bug" is a bug in RandoMapMod itself

modern star
#

I fixed it! It was a GameObject called "Map Markers"

light zodiac
noble glen
#

hi can i ask simple questions about save file editing here?

#

wasnt sure of the right channel

cedar hemlock
noble glen
#

ah fair enough, i asked but they ignored it- i'll ask again later i guess

merry lotus
cedar hemlock
#

they just got the name of the GO and then destroyed it when they wanted

#

assuming from the convo

old bobcat
#

does anyone have the sprite file name and the sprite of defender's crest? if so can you share a link? would like to add a reskin for it in CustomKnight

cedar hemlock
merry lotus
cedar hemlock
#

Charm##.png, ## being the charm number

old bobcat
#

thank you both

modern star
#

I've DM'ed the original mod author, he says he'll check out what I've done at some point, so I'm waiting on that

#

I HAVE removed some existing features like the older pin styles and some logic markers, which is why I'm waiting on such feedback

old bobcat
#

is there anyway to rename the charms in customknight?

light zodiac
#

With swapster yes

old bobcat
#

is swapster included in customknight?

#

or is it a separate mod

cedar hemlock
#

bruh charms is ck

light zodiac
#

1.4 idk
1.5 yes

cedar hemlock
#

you don't need swapster

light zodiac
#

Confusion

old bobcat
#

so how do you do it then

cedar hemlock
#

ck has charm support

cedar hemlock
old bobcat
#

no I meant

#

can you rename the charm's name

#

like can I change the name from Defender's Crest

cedar hemlock
#

oh rename

old bobcat
#

to something

cedar hemlock
#

me stoopid

vocal spire
#

You can’t rename charms

cedar hemlock
#

swapster can

old bobcat
#

what is swapster?

vocal spire
#

Unless I missed text changing being added

cedar hemlock
#

@floral blade explain swapster again

vocal spire
#

when I finally finish CustomKnight+ you’ll be able to modify anything

floral blade
old bobcat
#

is it available for 1.4.3.2?

floral blade
#

old build from when it was an independent mod

old bobcat
#

thank you

#

sorry for bothering but what's <scene-name>?

vocal spire
#

It doesn’t matter

#

Scene name refers to the name of the room/scene

#

No matter what the name you use is it will update the text though (according to the message)

old bobcat
#

so i just make a replace.txt and type "Defender's Crest=>Void Crest
" and it should replace?

floral blade
#

easiest way is using replace.txt though

#

yep in your mods/Swapster/ directory

old bobcat
#

any _ or are spaces are allowed?

floral blade
#

everything is allowed except newline

old bobcat
#

thank you

old bobcat
floral blade
#

and swapster is showing up in the top left list of mods?

old bobcat
#

yes @floral blade

#

this is the directory of the text file

oblique swan
#

Okay i just was wondering how i would mod it to be that you have to pay for benches ive never moded but want to learn

vocal spire
#

Do you want to mod version 1.5 or 1.4.3.2

oblique swan
#

witch ever ones easeir

#

but im on 1.4.3.2

vocal spire
#

1.5: uses more up to date unity and .net framework versions also has more memory being a 64 bit app now
1.4.3.2: more mods, more related to previous hk versions, debatably more documentation (at least video tutorial wise)

oblique swan
#

k

#

so ill probably do 1.4.3.2

vocal spire
#

Alright

#

Do you already have mods working

old bobcat
#

Dandy just left me hanging

oblique swan
#

i have mod installer working and have certian mods installed yes

vocal spire
#

Good job dandy…

vocal spire
oblique swan
#

heh yeah im completly new so im really just need a bunch of video tutouriels

#

i havnt in other words

vocal spire
#

I suggest learning a bit of c# first, but since I don’t know any good tutorials I’ll just give you the documentation for hk 1.4.3.2

oblique swan
#

k

vocal spire
floral blade
cedar hemlock
old bobcat
#

i don't know.

#

it seems to be

cedar hemlock
#

spaces and capitals all right?

old bobcat
#

yes

#

this is the text i'm replacing

floral blade
#

lets start with trying to replace elder bug using the example that i have validated

elDer=>Cool Dude

cedar hemlock
#

why elDer tho?

old bobcat
#

why is elder spelled like that?

floral blade
#

that and disabling all other mods

floral blade
cedar hemlock
#

ah

old bobcat
#

oh.

cedar hemlock
#

dandy have you ever tried something with a ' ?

old bobcat
#

it doesn't work.

#

do i have to type elderbug or is elDer fine

cedar hemlock
#

is it enabled in options > mods?

#

if it's even togglable

floral blade
old bobcat
cedar hemlock
#

looks great as always

floral blade
old bobcat
#

lol

floral blade
#

time to yeet all other mods

old bobcat
#

yup

floral blade
#

and try with just this one

#

also just to be sure we should also check the modlog

cedar hemlock
#

first try without other mods

old bobcat
#

wait im making a backup

#

for some reason i have the entire white palace group skins.zip

#

so its like 1GB

#

i do need modcommon right?

floral blade
#

no

old bobcat
#

oh ok

floral blade
#

modlog time

old bobcat
cedar hemlock
#

modlog time

old bobcat
cedar hemlock
#

?saves

finite forumBOT
#

Saves


Windows File Paths: (Assumes Default Steam Install Path, Adjust accordingly for DRM Free or Non-Standard Steam Path)

Game Files: C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\```
** **
Mac File Paths:
```Save Files: ~/Library/Application Support/unity.Team Cherry.Hollow Knight/
Game Files: ~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/```
** **
Linux File Paths:
```Save Files: ~/.config/unity3d/Team Cherry/Hollow Knight/
Game Files: ~/.local/share/Steam/steamapps/common/Hollow Knight/```
old bobcat
#

ah alright

#

here:

#

[INFO]:[ModManager] - Initializing
[INFO]:[ModManager] - Initialized
[INFO]:[API] - Loading ModdingApi Global Settings.
[INFO]:[API] - Main menu loading
[INFO]:[API] - Preloaded reflection in 226ms
[INFO]:[API] - Trying to load mods
[INFO]:[API] - Attempting to determine type of mod assemblies (library/mod/addon)
[INFO]:[API] - Swapster - MOD
[INFO]:[Swapster] - Initializing
[INFO]:[API] - Preloading
[INFO]:[API] - Checking preloads for mod "Swapster"
[INFO]:[API] - Loading ModdingApi Global Settings.
[INFO]:[Swapster] - There are no Swapster skin folders in the Swapster directory.
[INFO]:[API] - Saving Global Settings
[INFO]:[FauxUIManager] - Loading Mod Menu

#

so how do I fix this

floral blade
#

oh yes

old bobcat
#

?

floral blade
#

lol just make a folder in Swapster

#

any folder any name

old bobcat
#

oh ok

floral blade
#

it just gotta exist

old bobcat
#

and put the text inside that right?

vocal spire
#

No

#

Just create a folder and that’s it

floral blade
#

i did a oops in the code apparently

if (Directory.GetDirectories(DATA_DIR).Length == 0)
            {
                Log("There are no Swapster skin folders in the Swapster directory.");
                return;
            }

            if (!File.Exists(Path.Combine(DATA_DIR,"replace.txt")))
            {
                File.Create(Path.Combine(DATA_DIR,"replace.txt"));
                Log("Created replace.txt in Swapster directory.");
                return;
            }

            LoadSkins();
vocal spire
#

Gj

old bobcat
#

@floral blade :)

#

@floral blade one last thing

#

how do I add more replacements?

floral blade
#

new lines

old bobcat
#

ok thanks

floral blade
#

each line is
find=>replace

old bobcat
floral blade
#

my replace.txt for ideas on what else you can do

Hollow Knight=>Test for replace
Radiance=>Craydiance
you =>YOU! 
the=>DEY
geo=>Moni
.=> (^_^).
!=> >_<!
soul=>power juice
f=>#x#
s=>f
#x#=>s
old bobcat
#

haha

merry lotus
#

Hey, question regarding Scarab:
Is there any plan to add a feature for it to manage manually-installed mods?
Like, possibly a separate list of "folders"/mods in the Mods folder that aren't in ModLinks?

I'm just wondering because there are probably always going to be common mods that aren't in ModLinks, and being able to use Scarab to Enable/Disable them, as well as just see what all is currently installed, would be incredibly useful.

copper nacelle
#

I didn't plan on it no

#

Can't version check manually placed mods

#

I could add it later maybe though

#

Effort

jolly oriole
#

either potentially user unfriendly ui (have them input version) or complicated auto detection of the version (gets difficult with mods that have multiple DLL files)

merry lotus
#

I would think that manually added ones wouldn't get features like version checking.

The installer could just essentially keep a list of them. They could even be within their own tan, instead of the same list as other mods.

The main point is that the installer wood still handle moving them to/from Disabled, and allow Scarab to be an easy reference for what is currently installed.

inland prairie
#

Hello! I encountered what I would consider a pretty serious bug in Randomizer 3, but homothety's GitHub repository does not show an issue tracker; where should I should report the behavior I saw?

merry lotus
inland prairie
inland gorge
#

Hi!! does anybody knows if there is a way to know if you have passed the game? like "EndCinematicHook" or something

vocal spire
inland gorge
#

A hook

#

not a "100%" completion, more like a "u have defeated a final boss"

vocal spire
#

I don’t believe there’s in one in modhooks at least

#

When are you looking for it to be called

inland gorge
#

when the player defeats a final boss (gets an ending), to display a menu, where he can decide if that run its their PB

light zodiac
#

Just check when the scene changes to credits?

vocal spire
#

You could probably use UnityEngine.SceneManagement.SceneManager.activeSceneChanged and check if the scene being loaded is the credits (or an ending if they’re done in the same scene)

inland gorge
#

good one, srry for this questions, its my first time doing a mod

#

and one more question, is there any way to check a movement instead of keys?

#

i mean, i want to do the "fury of the fallen" thing, and having to bind KeyUp and JoyUp and DUp, may be confusing

vocal spire
#

You could check if the knight’s position is different, iirc there’s also an method in HeroController which is called for that so you might be able to hook that using On.HeroController.something

inland gorge
#

oooh, okok

#

thanks!!!

#

lofiu

vocal spire
#

Also if you want to check how hk’s inputs work, you should check out the Fsm actions for them

#

Nvm I’ll just tell you how they work

#

Let me grab some code

light zodiac
vocal spire
#

that was much more simple wham what I was typing

inland gorge
#

hahahha, that happens

#

and thanks a lot

vocal spire
#

What’s the difference between waspressed and ispressed though

inland gorge
#

hopefully today or tomorrow the mod will be done

#

ispressed = KeyPressed Action (you may hold the key)

#

waspressed = KeyReleased Action

vocal spire
#

Ah ok

steady comet
steady comet
inland gorge
#

oh, okok, like android "OnPress, OnReleas and Pressing"

steady comet
steady comet
modern star
#

Does anyone know why when I remove RandomizerMod.dll, LanguageGetHook is never called? I would have thought it should be independent of the mod

wet dagger
#

so far the development is going great

cedar hemlock
#

best place to be for now

jolly oriole
#

<@&283547423706447872>

#

thanks mods

midnight depot
#

it wasn`t mods

jolly oriole
#

sad

midnight depot
#

yes

indigo scroll
#

thx

steady comet
modern star
merry lotus
#

Who ported AsciiCamera.dll to 1.5?
And was it tested?

merry lotus
#

So I should hornetping 5️⃣6️⃣?

#

knighttoot ᴴᵉʸ ⁵⁶⁻ ᴬˢᶜᶦᶦᶜᵃᵐᵉʳᵃ ᵈᵒᵉˢ ᵃᵖᵖᵉᵃʳ ᵗᵒ ᵇᵉ ʷᵒʳᵏᶦⁿᵍ

[ERROR]:[API] - Failed to load Mod `AsciiCamera`
[ERROR]:[API] - System.InvalidOperationException: Sequence contains no matching element
[ERROR]:[API] -   at System.Linq.Enumerable.First[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) [0x00052] in <55b3683038794c198a24e8a1362bfc61>:0 
[ERROR]:[API] -   at AsciiCamera.AsciiCamera.LoadShader () [0x00005] in C:\Users\home\Projects\HollowKnight\HollowKnight.Done\AsciiCamera\AsciiCamera\AsciiCamera.cs:41 
[ERROR]:[API] -   at AsciiCamera.AsciiCamera.Initialize () [0x00000] in C:\Users\home\Projects\HollowKnight\HollowKnight.Done\AsciiCamera\AsciiCamera\AsciiCamera.cs:24 
[ERROR]:[API] -   at Modding.Mod.Initialize (System.Collections.Generic.Dictionary`2[TKey,TValue] preloadedObjects) [0x00000] in <c2a48dab016a4177be1ebaa8c1a99f48>:0 
[ERROR]:[API] -   at Modding.ModLoader.LoadMod (Modding.ModLoader+ModInstance mod, System.Boolean updateModText, System.Collections.Generic.Dictionary`2[TKey,TValue] preloadedObjects) [0x00022] in <c2a48dab016a4177be1ebaa8c1a99f48>:0 

I think the path may be hardcoded in? As I don't have a C:\Users\home\Projects\ on this computer at all

copper nacelle
#

suicide

#

oh i bet i updated the csproj

#

stupidity

#

@merry lotus should be fixed

floral blade
#

anyone know what code is executed when escape is pressed in a mod menu ? ( it does not seem to be cancelAction)

#

i am triggering my menu using this

#

i also have this in my playerlog Coroutine couldn't be started because the the game object 'OptionsMenuScreen' is inactive!

light zodiac
floral blade
#

i have tried all of them ( and they all call the same method )

merry lotus
#

The lastest release of the the mod installerhas the full binary path Scarab/bin/Release/net5.0/win-x64/publish/ included in the binary
Also, try opening the description of the lowest mod when having scolled fully to the bottom

primal latch
#

yay

#

my messages

worn eagle
#

smh not built using net6+maui

jolly oriole
#

bless you

silent echo
#

Hi all! I was wondering if anybody was created a custom boss for Hollow Knight yet. I am thinking of doing so and am wondering if anybody could help me by pointing me in the right direction for this project! Thanks!

jolly oriole
silent echo
#

oh ok

#

@worn eagle I have a question when you have a moment

worn eagle
#

ok

silent echo
#

how would I go about making a custom boss?

#

are there any tools or tutorials to help?

worn eagle
#

how custom are we talking

silent echo
#

custom attacks, dialogue, animations. I can make animations for stuff

#

but im not sure if hollow knight is able to be modded like that

ornate rivet
#

well mods like cagney carnation and fennel exist so it's possible

silent echo
#

ok sweet

#

what mod did you make dumpy mato?

copper nacelle
#

oh did I fuck up the path

#

I should fix that

silent echo
#

hey 56

#

i see you are a modding helper

#

do you know anything about how i could make a custom boss fight?

ornate rivet
#

it's made for 1.4 though so some small things like the unity version you need to use might be different

silent echo
#

oh!

#

i was looking at that website earlier!

#

it looked helpful so i was looking around that! its cool to meet you!

ornate rivet
#

hopefully it can be of use

silent echo
#

i will definitely follow (or try my best to follow) that tutorial! thanks!

silent echo
#

also, for the asset bundle scene, could I instead use the custom map making mod and place my boss there?

#

also @ornate rivet would I need to code the attacks and everything myself?

ornate rivet
#

unless you get the code from somewhere else, yea

silent echo
#

ok thanks for letting me know

worn eagle
#

if you're building for 1.5 you'll need unity 2020.2.2

#

I should update my custom enemy template proj

vocal spire
inland gorge
#

hi! i got one question: is it possible to fix the in-run mod menu bug??

#

i mean: when i open the mod menu while being in-run and go back to settings, the menu will display an empty one

merry lotus
inland gorge
#

oh, okok

#

it's quite easy to replay, just a sec

merry lotus
#

@5️⃣6️⃣ [Scarab Bug]
Two bugs actually,

  • Disabling Mods doesn't seem to be working with the current release build? It was working fine on the previous one, but seems to only copy files to Disabled on the current one (as opposed to moving them / deleting the copied files).

  • Uninstalling a mod automatically uninstalls all dependencies of that mod shroompause (which doesn't make sense, since multiple mods may use any given dependency)

inland gorge
#

this happened when i open my mod config and then go back to normal game settings

jolly oriole
floral blade
merry lotus
merry lotus
jolly oriole
inland gorge
floral blade
#

i had to add a hook to forcibly open pause menu which seemed to fix it tamershrug

inland gorge
#

can u give me that code to fix that? xD

#

pls

indigo finch
#

hello, I'm new to this whole modding thing. I was typing this message asking for help and somehow rewrote it like 3 times as I kept finding the solutions at the last minute xD I managed to compile and load an example mod, so that's a good start

primal latch
#

Nice

woven sail
#

Hello, i would like to make a request if at all possible. Would anyone be kind enough to grab this mod:
https://www.nexusmods.com/hollowknight/mods/3
And add the compass and gathering swarm to the list (effectively making them free like this other mod does:
https://www.nexusmods.com/hollowknight/mods/5) ?

light zodiac
#

Why is this for .72?

jolly oriole
#

because it's nexus, generally outdated

light zodiac
#

Fair

primal latch
#

Imagine using nexus mod

woven sail
#

Currently watching tutorials on how to mod, seems fairly similar to how i used to make mods for Phoenix Points but at the same time it's completely different LoL

#

Will attempt to make a mod but i'm not sure it's gonna work lol

chrome hornet
#

what is HKHKHKHKHK

#

it's an option of one of the mod menus

#

what does it do?

woven sail
#

Sooo i changed some charm costs to make some stuff easier and more fun for my GF, now i would like to create a new charm for her, can anyone help me out on this? I'm finding quite difficult to understand the guide online

light zodiac
chrome hornet
young walrus
#

but what is google

chrome hornet
#

but who are you

indigo finch
#

it's VVVVVV not VVVVV. how could you possibly get that wrong?

woven sail
#

Having a problem deciding which hook to use for my custom charm, it should trigger an effect after hitting an enemy X amounts of times, anyone can enlighten me on which hook is best suited for it? It should be restricted to hitting enemies only (so it shouldn't trigger when hitting levers, NPCs and objects)

woven sail
#

Called whenever the nail hits anything with a collider, this includes doors, levers, npcs and of course enemies. Potential uses include overriding the 0 damage feature the game has to allow 0 damage nail mods to hit levers.

#

Could be if i find a way to restrict it to only enemies

#

Otherwise i think SoulGainHook could do the job?
This is called whenever the Knight gains souls from hitting an enemy with his nail, it passes it the amount it would gain and returns how much it will gain.

steady comet
#

Well, you'll do something like

ModHooks.SlashHitHook += mySlashHitFunction;

void mySlashHitFunction(Collider2D otherCollider, GameObject slash)
{
    // code goes here
}

You can check if the otherCollider (the object you hit) is an enemy

woven sail
#

1st time modding HK here, dunno how to do what u said xD

steady comet
#

It seems like the soulgainhook would work, too

#

(Although that wouldn't work on e.g. False Knight and Collector, which don't give soul)

woven sail
#

Ugh

#

How do you check if the otherCollider is an enemy?

steady comet
#

Alternatively check if it has a health manager, which is the script TC adds to enemies to... err... manage their health

if (otherCollider.GetComponent<HealthManager>() is HealthManager hm)
woven sail
#

I'll try, now i just have to make a custom charm to attach this to

modern star
#

does randomizermod have a hook for when items are picked up? asking here because im too lazy (or busy elsewhere)

steady comet
#

1.4 or 1.5?

modern star
#

1.4 for the moment

steady comet
wet dagger
#

Where enemy code?

#

Can't find any information in pinned messages cuz I'm dumb

woven sail
#

@steady comet Sorry, could you help me a bit more? I'm having an issue with the code for the custom charm

light zodiac
#

What did you do until now?

#

And what part is confusing you

woven sail
#
        {
            // Better charms, insert default values here
            public List<bool> gotCharms = new List<bool>() { true };
            public List<bool> newCharms = new List<bool>() { false };
            public List<bool> equippedCharms = new List<bool>() { false };
            public List<int> charmCosts = new List<int>() { 1 };```
#

ModSettings is underlined in red

#

Prob missing a reference?

#

I was using this as a reference

jolly oriole
#

ahem
maybe the question was already asked, but should the mod be for 1.4.3.2 or 1.5?

woven sail
#

Trying to make it for 1.5

#

Already checked beforehand and it gets loaded properly

jolly oriole
#

then the modsettings part isn't needed, was a change made in the updates

light zodiac
woven sail
#

Alright, what do i put there then?

jolly oriole
#

or that

light zodiac
jolly oriole
#

oh yea, i already made a 1.5 charm mod, i always forget that lmao

woven sail
#

Holy cow that's too big for me to understand xD

#

And there's a bootload of references i'm missing as well

#

Do i really need all that?

jolly oriole
#

most of it is editing spell fsm to allow for more healing options, the part just for the charms to show is rather small

woven sail
#

Soooo

#

What do i write instead of ModSettings in there?

#

xD

#

Just Mod is fine?

jolly oriole
#

just delete the : Modsettings part

woven sail
jolly oriole
#

not a fan of voice calls, sorry

woven sail
#

No need to talk lol, just look at what i'm doing just in case xD

#

I can't really understand your code to be completely honest, i don't have any knowledge of HK modding. I'll try removing the ModSettings part and follow the guide

light zodiac
#

How to use settings and stuff

light zodiac
#

Wdym enemy code

#

Which enemy

wet dagger
#

Hmmm... wandering husk

light zodiac
#

What do want to do with enemy?

jolly oriole
#

oh, hkmp enemy sync edit: maybe nvm

wet dagger
light zodiac
#

So you want ai?

wet dagger
#

Yeah

#

And see how I can program the stats

light zodiac
#

Like it's health?

#

Use gameobject.getcomponent<healthmanager>(). And mess with stuff

#

For ai you need fsm Viewer

wet dagger
#

Oh yeah

#

How can I install fsm viewer propperly?

#

I saw the readme but wasn't quite sure

light zodiac
wet dagger
#

Is there any other stat besides health?

light zodiac
#

for ai
Scene List => Crossroads_05 => Zombie Runner

#

damage maybe?

#

whether it takes knockback, size

wet dagger
#

Oh yeah

#

Where can I find the scenes?

light zodiac
#

In fsm Viewer or in-game?

wet dagger
#

Everythingn is on fsm viewer?

#

Cuz I wanna see crossroads_01

woven sail
#

@steady comet Sorry, one last thing about my code then it should be fine and ready for test.

#

I'm using this that u suggested

            {
                if (otherCollider.GetComponent<HealthManager>() is HealthManager hm)
                    
            }```
#

So, let's say the effect should activate after 3 attacks, how do i achieve that? With a loop?

steady comet
#

I'd say, have an int HitCount that tracks the number of times you've hit, and then your code would look like

HitCount++;
if (HitCount >= 3)
{
  HitCount = 0;
  // Do stuff
}
woven sail
#
            {
                if (otherCollider.GetComponent<HealthManager>() is HealthManager hm)
                {
                    HitCount++;
                    if (HitCount >= 3)
                    {
                        HitCount = 0;
                        // Do stuff
                    }
                }

            }```
#

Something like this then?

#

It underlines HitCount as red, guess i just have to write "int HitCount" at the beginning of the mod?

proven cipher
#

sounds right, yeah

woven sail
#

Ok no more red marks

#

Guess it's time to test

#

Mmmh it seems to trigger every other hit instead of every 3

proven cipher
#

Did you do int HitCount = 0?

#

Good to make sure you make it 0 first.

woven sail
#

Didn't lol

#

I only did int HitCount

#

xD

proven cipher
#

Might not fix your problem

#

But might

woven sail
#

Nope

#

Hit a target twice effect triggered on first hit and not second

#

Hit another target twice, effect triggered both times

#

That's pretty weird

proven cipher
#

This sounds like TC 🍝

woven sail
#

TC?

proven cipher
#

Team Cherry

woven sail
#

welp

proven cipher
#

It sounds like it's calling this function multiple times sometime.

#

But only sometimes

woven sail
#

Should i give you the code?

#

So you can check?

proven cipher
#

I can take a quick look

woven sail
#

What do i put in the "void" part after the hook?

#

void MySlashHitFunction and then?

#

What do i put in the "( )"

steady comet
#

One way to find out is to have the line ModHooks.SoulGainHook += theFunction; and the IDE will give you a chance to generate the function with the right signature

woven sail
#

Right click "theFunction" and click on what?
That's why i said it would be better if i stream my screen to you T.T

light zodiac
#

What did you download

wet dagger
#

the zip file

light zodiac
#

Did you extract?

wet dagger
#

huh yeah

light zodiac
#

Then there should be exe

wet dagger
#

it has dis inside

light zodiac
#

Unless you download Mac or something

#

Download release not code

wet dagger
#

ah

#

what's the release?

woven sail
#

@steady comet Can i stream to you?

steady comet
#

No

#

There should be an option "Generate Method"

#

(assuming you're on Visual Studio)

#

alt+enter might be a keyboard shortcut that works

wet dagger
light zodiac
#

Are you on windows?

wet dagger
#

oh found it

woven sail
wet dagger
#

I'm useless

woven sail
#

And it put a " } " right after ModHooks.SoulGainHook += mySlashHitFunction;

wet dagger
#

anyways gtg, perhaps I'll be here later, anyways, ty!

steady comet
#

I don't know about the }, but you can replace the throw new NotImplementedException with your implementation

woven sail
#

It marks an error saying that not all code paths return a value

steady comet
#

Have another look at the docs, it's supposed to return the amount of soul you want to give

woven sail
#

Welp guess i'll go back to SlashHit and makedo with the multiple activations

#

Done

#

Thanks mate, sorry for the trouble

woven sail
#

Guess my mod works halfway, i also tried to reduce some charm costs a bit since my gf likes them but it didn't work

#

Sad

patent zealot
#

You can change charm costs thru save editing

woven sail
#

Guess that's the only option

proven cipher
#

If you search github for the mod "compass always on" you can find a version where it costs 0.

#

Use that code.

indigo finch
#

I saw this in that one video, but visual studio isn't recognising On. at all. did i miss something?

indigo finch
#

I'm trying to use asset bundles. what do i need to do for the code to recognize them?

indigo finch
#

actually, it's also giving me the error for Stream and Path, so I don't think it's an asset bundle problem

indigo finch
#

yes

vocal spire
#

Add a reference to MMHOOK_Assembly-Csharp.dll