#archived-modding-development

1 messages · Page 529 of 1

primal latch
#

Yes

rough pulsar
#

eg if i want to have acid water or breakable ground

primal latch
#

Yeah. It would

small carbon
#

If I preload a gameobject (such as a tik tik) and store it in a global variable. How would I Instantiate it elsewhere in a hook? I've tried to and it will not show up no matter where i set its position to.

copper nacelle
#

do you set it active

small carbon
#

Im gonna cry. it worked

#

thank you

copper nacelle
#

np

small carbon
#

some enemies seem to be stuck in an idle state and won't react to the player. Is there an easy/obvious fix? or is this a common issue that i just have to work around.

rough pulsar
#

utiny ripper is still stuck at unityengine.videomodule

rough pulsar
#

update

#

update

#

utiny ripper finished loading stuff

#

now onto exporting

#

it took 3 hours

#

yayyyyy

small carbon
#

According to the FSM viewer "Mantis Heavy Flyer" is in Fungus3_48 but when i try to load it i get an error(in the log) saying it cant find that object. How does one load it?

jolly jungle
#

What instructions did you follow?

small carbon
#

^ that and various things i found in this Chanel

#

I am able to load other enemies such as a "Moss Walker" from Fungus1_03

#

If theres a better set of instructions i would love to know

topaz mortar
#

hey does anyone know a mod or way in general to change in-game sounds?

#

I wanna replace the dash sound with something from Halflife 2

light zodiac
primal latch
#

@rough pulsar did it finish?

#

Also, unity still has to import it

#

Took me a day too

cedar hemlock
#

thats the part that took 1000 hours for me

primal latch
#

Even on my faster machine

#

I used ripper on my old backup laptop

#

But I imported it on my main

rough pulsar
primal latch
#

F

cedar hemlock
#

F

rough pulsar
#

how long did unity take

primal latch
#

Longer then ripper

rough pulsar
#

huh

#

wait

#

oh

#

was unity still laggier than ripper

#

?

cedar hemlock
#

wdym laggier

rough pulsar
#

i mean

#

let me rephrase

#

was unity way slower than it would be?

#

should*

primal latch
#

Unity had to import the project

#

Until then you couldn’t use it

cedar hemlock
#

yea

primal latch
#

Also, yes. The unity project was way laggier then it should be once done

cedar hemlock
#

just took a long time

rough pulsar
#

So

#

Unity also took one day to load

primal latch
#

It can sometimes take a minute to open a scene or even a folder

rough pulsar
#

?

primal latch
#

Depends on the performance of your pc

rough pulsar
#

Mine is sorta faster than yours ig

primal latch
#

That was my backup pc. I imported it on my newer pc

rough pulsar
#

Oh

#

How fast is its processor?

primal latch
#

Has an i5 7th gen (idk the clock. Something like 3.1 ghz I think) 8gb ram and Nvidia 980(don’t think this one matters)

rough pulsar
#

Oh

#

A lil faster than mine

jolly oriole
#

that's why i don't use uTinyRipper/assetstudio

primal latch
#

And please don’t say scene dumps

jolly oriole
#

uabe (for 1.5 it would be uabea), though the sprites i have are not the best ones as i cropped them manually

rough pulsar
#

What are sceen dumps

jolly oriole
#

and with gameobject dumps, none

rough pulsar
#

Oh wait

primal latch
jolly oriole
#

wwait

#

i did use hkwe2 dumped scenes to not have to make wp-cloud-background myself

primal latch
#

Hkwe2?

jolly oriole
#

hkworldedit2

#

by nesrak

rough pulsar
#

Should i use hkwe2 or 1 for 1.4

jolly oriole
#

2

rough pulsar
#

ok

jolly oriole
#

though you'd maybe possibly want an older commit of it (but i'm really not sure with that, try latest commit first)

primal latch
#

this is cool. I'll probably use this from now on when looking for the correct preloads

#

@rough pulsar I'm zipping now (if you still want it)

rough pulsar
#

nah

#

i think i can do it

primal latch
#

ok

rough pulsar
#

im putting faith into my pc

primal latch
rough pulsar
#

now i feel bad for wasting my time damn

#

i usually waste time by playing games anyways but i dont quite like doing it this way

jolly oriole
#

now i feel bad for not linking it sooner

#

damn

rough pulsar
#

everyone makes mistakes

primal latch
rough pulsar
#

especially costly ones

primal latch
rough pulsar
#

sforgivengrenade itssoulgood

primal latch
#

^

pine crow
#

does anyone know where the orb filling up with soul assets are?

#

i want to change the colour of soul

rough pulsar
#

customknight mod?

pine crow
#

yeah

#

i'm doing the hud rn

rough pulsar
#

try that

#

hud.png has those o think

pine crow
#

no i mean the animation of the orb filling up with soul

#

that's not in the hud.png file

rough pulsar
#

idk, try asking #modding channels

jolly oriole
#

i think that's done dynamically

rough pulsar
#

oh

jolly oriole
#

not sure though

pine crow
#

oh great

languid goblet
#

yeah you can't change that rn

pine crow
#

darn

languid goblet
#

you can only change the eyes

pine crow
#

it's gonna look so weird when orb full has green soul

#

damn

#

well

languid goblet
#

I think there was a spritesheet for it
but I'm not sure if anyone's added support for it

pine crow
#

thanks anyway, atleast i know now

rough pulsar
#

(wait for ck+)

young walrus
#

I dont think it'll look that weird with green soul when full

#

there's plenty of skins now that have completely different images when full and they don't look weird

pine crow
#

cool

languid goblet
#

@ maroon amphibian

young walrus
#

there's a small flash when it fills, so it's a nice transition

languid goblet
#

maroon amphibian = red frog

#

well, maroon isn't really red but still

jolly oriole
#

funny words magic man

primal latch
#

I hereby summon the maroon amphibian

floral blade
#

Oh also

#

Ck 1.5 skins the liquid inside the souls thingy

#

So if you're on 1.5/ planning to skin for 1.5 also you could use liquid.png from the pre-release on GitHub

#

@pine crow

pine crow
#

aight cool

#

rn it's for 1.4

#

but i'll port it over for 1.5

languid goblet
#

since you could already skin the vessels

floral blade
#

It's the same images with more images so not gonna be much porting gl

floral blade
languid goblet
#

ah, cool

pine crow
#

can't wait for 1.5

#

support

small carbon
#

Does anyone know where i might find ModCommon.Util so i can add it to my references?

#

nvm i got very confused

jolly oriole
#

i found the dark mode in qt creator pog

jolly oriole
merry lotus
jolly oriole
#

in a race against 56 if i'm able to make a completely new modinstaller faster than he ports mi2 Pepega

merry lotus
#

Might I suggest: Add the "📂Open Mods Folder" button that got added to MI2, to your version

jolly oriole
#

noted

#

wait, might not be needed with how new modlinks are supposed to work

fair rampart
#

how do i change invincibility frames an enemy has?

jolly oriole
#

invulnerableTime float on HealthManager objects (private field though)

fair rampart
#

then how do i change it, since its private, is there a method to change it?

jolly oriole
#

via reflection, i think the 1.4.3.2 mapi already had a ReflectionHelper class

#

would then be something like

ReflectionHelper.SetField<HealthManager, float>(hm, "invulnerableTime", 0.01f);

or something like that

merry lotus
fair rampart
merry lotus
#

OH! @ SFG:
Also, can you be the person who makes a Mod Installer that correctly gives Unix systems the Unix version of the mAPI? Currently, both Zote Installer and MI2 only distribute Windows Mapi roverblinkstare

jolly oriole
fair rampart
jolly oriole
#

but thanks to how i'm making it (c++) and multi-dll-mods i also can't just check the 'only' dll in a mod for its version if there are multiple ones

merry lotus
#

I'm definitely not understanding something lol
So, Mod Installers will just pull mods from an official source to get the correct versions-
but how does the eliminate the need to for people to go to their mods folder?

jolly oriole
#

they would only need to go there for things like customknight
i mean yea, i could add a button for that, then i'd also add a button for save files

merry lotus
#

I mean, a saves button would be shroompog too. the 📂 button happens to use a location that you already have saved because of the inherent use of that folder though lol
||Granted, the saves location constant for all systems afaik, so it's not like it's finding more locations to save||

fair rampart
jolly oriole
#

it's per instance of HealthManager

fair rampart
#

so basically use this?
InstanceClass._non_static_field

rough pulsar
#

can i just use this for hkworldedit2 cryla

#

ig im uninstalling dis and installing 2020.2f.f2ff2 thing

#

@jolly oriole sorry for ping but should i install 2020.2.2? i can't find 2020.2.2f1 so, i'm asking just in case

wraith basin
#

how's work on the white palace dlc thing going?

rough pulsar
#

yhhhhhhh

#

i'm just installing the 2020.2.2 instead

jolly oriole
rough pulsar
#

thanks

jolly oriole
fair rampart
#

@jolly oriole I tried

FieldInfo fi = ReflectionHelper.GetField(typeof(HealthManager), "invulnerableTime");
fi.SetValue(health, 0.01f);```

yet it still doesn't change the iframes of the enemies
jolly oriole
#

hm, weird

fair rampart
#

[INFO]:[Class1] - Non-static field requires a target

#

there is an error

#
[ERROR]:[API] -   at System.Reflection.MonoField.SetValue (System.Object obj, System.Object val, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at System.Reflection.FieldInfo.SetValue (System.Object obj, System.Object value) [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at HKTestMod.Class1.OnSlashHit (UnityEngine.Collider2D otherCollider, UnityEngine.GameObject gameObject) [0x00000] in <filename unknown>:0 
[ERROR]:[API] -   at Modding.ModHooks.OnSlashHit (UnityEngine.Collider2D otherCollider, UnityEngine.GameObject gameObject) [0x00000] in <filename unknown>:0 ```
jolly oriole
#

that's nice, as i think the default is instance one, then idk how you'd go around that

fair rampart
#

Im now trying the second method

HealthManager health = gameObject.GetComponent<HealthManager>();
            ReflectionHelper.SetAttr<HealthManager, float>(health, "invulnerableTime", 0.01f);  
            float nonstatic = ReflectionHelper.GetAttr<HealthManager, float>(health, "invulnerableTime");
            Log($"(second way)InstanceClass._non_static_field is {nonstatic}"); 
#

its displaying

[ERROR]:[API] - at (wrapper dynamic-method) HealthManager.FieldSetHealthManagerinvulnerableTime (HealthManager,single) <0x0000c>
[ERROR]:[API] - at (wrapper delegate-invoke) System.Action`2<HealthManager, single>.invoke_void__this___HealthManager_single (HealthManager,single) <0x00065>
[ERROR]:[API] - at Modding.ReflectionHelper.SetAttr<HealthManager, single> (HealthManager,string,single) <0x0005d>
[ERROR]:[API] - at HKTestMod.Class1.OnSlashHit (UnityEngine.Collider2D,UnityEngine.GameObject) <0x0003d>
[ERROR]:[API] - at Modding.ModHooks.OnSlashHit (UnityEngine.Collider2D,UnityEngine.GameObject) <0x000ea>```
jolly oriole
#

hm, weird

fair rampart
#

invulnerableTime is null, from what i see

rough pulsar
rough pulsar
#

@jolly oriole

#

is this... normal

lucid needle
#

hey guys, could anyone please make a mod that increases enemy health by whatever percent you set, probably in a config file? i can pay a couple bucks for it.

#

was this the right channel to ask in?

deep wave
#

sure i'll bite, would this be for 1.5 or 1.4? most mods are still currently on 1.4

rough pulsar
#

Sfgrenade i'M worried

#

Please

#

Help

rough pulsar
#

Jamie do you know anything about hkworldedit2

deep wave
#

i know nothing sorry feelspkman

rough pulsar
#

Shit

#

Sfg is dnd aaaaaaaaaaaaaaaaaaa

lucid needle
#

im trying to play "Hollow Knight NG+"

copper nacelle
#

I can't believe you're going to make me actually work on the installer at a reasonable pace this is so sad

rough pulsar
#

Does anyone know anything about hkworldedit2 thkhands

rough pulsar
#

@vocal spire Do you know anything about hkworldedit2

vocal spire
#

Yes and no

rough pulsar
vocal spire
#

Been a long time since I used it

rough pulsar
#

Scenes take extremely long to load

vocal spire
#

Is it compatible with 1.5 yet?

rough pulsar
#

I didn't even get one to load yet

#

I'm in 1.4.3.2

vocal spire
#

Well you posted a screenshot of installing unity 2020 so

rough pulsar
#

It told me to install unity 2020

vocal spire
#

1.4.3.2 is 2017.10.1 or something like that iirc

#

Then you probably have it for 1.5

rough pulsar
#

oh

#

Wait

#

Question

#

If i make scenes with 1.5 version of the game

#

Can I get it working on 1.4.3.2 version of the game

#

?

vocal spire
#

Download a previous ver of it

#

Also no

rough pulsar
#

Hkworldedit2 or unity?

vocal spire
#

Unity doesn’t go backwards iirc

rough pulsar
#

oh

vocal spire
#

Hkworldedit2 and unity

rough pulsar
#

I'm gonna just use hkworldedit instead

#

And unity 2017

vocal spire
rough pulsar
#

Saving scenes still should work on this commit right

#

Despite the name

vocal spire
#

It just saves them as like a file that can be loaded from it’s mod counterpart though iirc

rough pulsar
#

.unity file or something else?

vocal spire
#

Something else I think

#

(The readme)

rough pulsar
vocal spire
#

?

rough pulsar
#

Ima just open the above i think it'll be ok with the 2017 version

vocal spire
#

?

#

Opening a 2017 project in 2020?

rough pulsar
#

Yeah

vocal spire
#

Are you trying to make something for 1.4 or 1.5?

rough pulsar
#

1.4

vocal spire
#

Then why 2020

rough pulsar
#

Do i have to downgrade unity as well

vocal spire
#

We already went over this

rough pulsar
#

Oh right

#

my bad

vocal spire
#

Imma go do stuffs now cya

rough pulsar
#

Cya

small carbon
#

I know a couple people have manged to get primal aspids to activate properly but as far as i can tell no one has spilled the tea as to how they got the primal aspids to not be AI dead. I would very much appreciate a little advice as to how i could get them to activate properly ❤️

vocal spire
jolly oriole
short wadi
#

Heyo, new to the game, and im just wondering if I can get mods on a mac with steam?

cedar hemlock
#

on-time reaction

#

lemme just

#

there

primal latch
queen prawn
#

better late than never

cedar hemlock
#

why answer if when you wake up the message is already 1-2 hours old zote

primal latch
#

I was already awake

cedar hemlock
#

never slept zote

primal latch
fair rampart
#

Anyone knows how do i override iframes of enemies and bosses? Change the value to allow 50 nail attacks every second

#

I already coded a mod that allows infinite nail attacks but when im hitting bosses it only does like 5 attacks every second

pine crow
#

for some reason my orb_full custom skin stopped working even tho the only thing i did was start a new save file

cedar hemlock
#

"only" 5 attacks every second

pine crow
#

in files

#

in game

fair rampart
#

Im trying to override that

rough pulsar
#

i think it's working

#

yeah

#

it's working

#

why do scenes appear a lil dark though

#

i think i'll try toggling some layers

ornate rivet
#

there's a light option you can click on

rough pulsar
#

ohhhhhh

#

i see

#

<

rough pulsar
#

is there any way i can use assets from other scenes and use them in a new scene?

#

<@&283547423706447872>

#

oh

remote zealot
#

thanks

rough pulsar
#

the bot is gone

#

np

rough pulsar
# ornate rivet

is there any way i can use these gameobjects/assets and use them in a new scene in hkedit?

ornate rivet
#

in hkedit? no
I'm not sure if you can even do anything with hkedit rn

#

aside from looking at scenes

fair rampart
#

how do i use HitInstance, where do i get it from?

jolly oriole
brisk prism
#

How do you download the mods. Like the kind they use in yt videos please

primal latch
#

How does the latest commit ignore the Disabled folder? I have an old build of Fyremoth in that folder. For some reason it isn’t loaded while nothing in the code suggests it won’t be loaded

cedar hemlock
#

?

#

if its in the disabled folder it won't be loaded

primal latch
#

Which is wierd. The latest commit loads from all sub folders.

cedar hemlock
#

the installer makes a disabled folder with the specific reason to be able to disable mods

jolly oriole
#

the mapi

#

have you looked at it

cedar hemlock
#

ever used the disable and enable buttons on the installer?

primal latch
primal latch
#

Grenade, you made a pr, but even on master it doesn’t seem to load from disabled

jolly oriole
#

it's loading from disabled for me

#

contents of modlog

[DEBUG]:[API] - [...]\Managed\Mods\Disabled\BlindRadiance.dll,
[DEBUG]:[API] - [...]\Managed\Mods\Disabled\EnemyChanger.dll,
[DEBUG]:[API] - [...]\Managed\Mods\Disabled\FuryFix.dll,
[DEBUG]:[API] - [...]\Managed\Mods\Disabled\GeoLog.dll,
[DEBUG]:[API] - [...]\Managed\Mods\Disabled\HKHKHKHKHK.dll,
[DEBUG]:[API] - [...]\Managed\Mods\Disabled\MenuThemesInGame.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\CustomSaveArt.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\DebugMod.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\MoreHealing.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\SFCore.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\TestOfTeamwork.dll,
[DEBUG]:[API] - [...]\Managed\Mods\usingThese\Vasi.dll

[...] is the hk path, omitted to save space

primal latch
#

Yeah. You’re right. Turns out I emptied it

#

Just wondering: why is the functions so complex?

#

To get the dll files I mean

jolly oriole
primal latch
#

I can make it even simpler

#

Mind if I do?

jolly oriole
#

idc

primal latch
rough pulsar
#

every 5 minutes utiny ripper making 0.2% progress

#

so

#

uh

jolly oriole
#

have fun ig

rough pulsar
#

its gonna take long

#

i closed everything else on the pc anyways

#

hopefully its not gonna take a day

primal latch
#

@rough pulsar in like 24 minutes I'll have a zip for you

rough pulsar
#

awesome

#

for 1.4?

primal latch
#

yes

rough pulsar
#

exactly what i needed

primal latch
#

because ripper doesn't work for 1.5 and scenes don't seem to be changed

rough pulsar
#

currently the ripper is at 3.40% x(

#

ok

floral blade
#

what is utiny ripper ?

rough pulsar
#

rips everyrhing from the game as a ready unity project

primal latch
#

a program to get a semi-decent game decompilation

#

for 2019 or below

rough pulsar
#

yea

floral blade
#

oh and you can recompile it too ?

rough pulsar
#

idk

primal latch
#

no

floral blade
#

so it's useful for inspecting things

primal latch
#

utinyripper only decompiles assets and variables. The scripts themselves aren't decompiled

primal latch
floral blade
#

makes sense ty

rough pulsar
jolly oriole
#

maybe? idk

primal latch
#

I don't think so. At least not if you want to use it for breakable walls or spikes

rough pulsar
#

sfg um

primal latch
#

since the scripts aren't decompiled

rough pulsar
#

how do you make levels

jolly oriole
rough pulsar
#

where do you reuse those spikes from

#

go dump?

jolly oriole
#

preloads

rough pulsar
#

ok

floral blade
#

it will assume you know how to assetbundle new scenes into Hollow Knight. frick

rough pulsar
#

in apidocs

#

that may still work

primal latch
rough pulsar
#

fyremoth adds new scenes?

primal latch
#

@rough pulsar I'm uploading a 4.53GB scene for you

primal latch
rough pulsar
#

?

floral blade
#

it says kinda outdated, is it ?

rough pulsar
#

im gonna look at tot source code

jolly oriole
#

because i don't want to recompile each asset change

rough pulsar
#

to figure out shit

floral blade
rough pulsar
#

hold on

#

so

#

to get preload for wp thorns

#

i basically do uhhhh

#
public override List<(string, string)> GetPreloadNames()
{
    return new List<(string, string)>
    {
        ("White_Palace_13","white_thorn_0001_1")
    };
}
#

right?

primal latch
#

Yes

rough pulsar
jolly oriole
#

yes

chrome spade
#

Is there any way to easily replace in-game sprites?

primal latch
#

yes

#

@vocal spire you can hold your ck+ talk again

floral blade
jolly oriole
#

swapster bad, updoots to the left

#

enemychanger easier to use

floral blade
#

grubsad okay

primal latch
vocal spire
#

Helo

chrome spade
#

I was thinking of replacing the broken vessel sprites with custom sprites, so I guess I should use swapster/enemychanger?

vocal spire
# primal latch <@!566029907264667657> you can hold your ck+ talk again

Ck+(CustomKnight +)
Have you ever used CustomKnight but it didn’t support replacing the sprites you want? Have you ever wanted to go outside the bounds of sprites CustomKnight allows? Have you ever wanted to have more or less frames in a animation? Now you can and do much more with CustomKnight +
Don’t have time for the rest of the speech

rough pulsar
#

I'm gonna replace tiktik with your mom!!!!!!!!!!!

vocal spire
#

Imma replace you with nothing

rough pulsar
#

Damn ok

floral blade
#

Here is swapster if you want to use it

chrome spade
#

ah, ty

jolly oriole
#

thanks mods

primal latch
rough pulsar
#

That's what

#

happened

jolly oriole
#

usual steam stuff

#

stean*

#

get those mixed up

rough pulsar
#

Steancommunityr*

primal latch
#

lmao

rough pulsar
#

is there even any tutorial on implementing gameobjects from hk into the unity editor or something

#

other than utiny ripper

primal latch
#

No

novel iris
#

E

copper nacelle
#

what

languid goblet
fickle sparrow
#

MaggotPrime ???

ornate rivet
#

I love you

#

not

floral blade
#

You know what? I do love you

#

Everyone in this channel grublove

vocal spire
#

Why is this reminding me of my rl friends

primal latch
floral blade
proven mesa
#

Where the ak 47 mod

cedar hemlock
worn eagle
#

has anyone seen MelonLoader

cedar hemlock
#

is that a person or a thing

worn eagle
#

thing

primal latch
#

@worn eagle why would you use it when there is the modding api?

jolly oriole
#

nice, by trying to make the disabled folder be ignored i made the mapi not load mods at all, nice

#

with this

#

wait nvm

primal latch
jolly oriole
#

yea

primal latch
#

Also, why is managed_path even defined? Why not add mods to it by default? It wouldn’t be a noticeable performance hit and it is not like the managed_path variable is used anywhere else

#

Another question: my pr got denied because it searches for mods in all the sub folders. Also the sub folders of sub folders. Why is that a bad thing?

cedar hemlock
#

why does the api look for subfolder anyways

#

what kind if advantage does that have

primal latch
#

56 added it

#

I think it was so that a mod can have it’s own folders with all of it’s files

cedar hemlock
#

well i think 1 layer of subfolders is enough

#

although even 1 is not needed

primal latch
vocal spire
#

I don’t think it needs it, I store a bunch of mods in subfolders so I can switch them out quickly when testing different mods in development

cedar hemlock
primal latch
#

True

jolly oriole
cedar hemlock
#

cus you're not in HKSRC

#

@primal latch

jolly oriole
#

i love how utinyripper has its capitalization as UtinyRipper in the repo link, but as uTinyRipper in the readme

primal latch
cedar hemlock
light zodiac
cedar hemlock
#

there is no #sr-offtopic for us

fickle sparrow
#

How To Find And Read The Log Files
There are 2 log files. For current patch, they are both located in the saves folder.
(On mac, Player.Log is at ~/Library/Logs/Team Cherry/Hollow Knight/Player.log instead).
The first one is ModLog.txt, and the second is Player.log.

  • ModLog.txt: This log file contains the majority of mod errors. All errors that the modding API catches will be output here.
  • Player.log: This log file is Unity's default log. All errors that are not caught by the modding API will be logged here. If the bug is fairly severe (something in the game not working at all, crashing, menus not showing, etc), the error is most likely located here.

Both of these files are text files and you can open them in the text editor that you use.
When debugging a problem, please look through these files and try to find the relevant information. C# logs stack traces so you can always find which method is throwing the errorr.

ornate rivet
#

pin

fickle sparrow
#

@copper nacelle pin

safe hamlet
#

@copper nacelle ping

fickle sparrow
#

true af

cedar hemlock
#

was loadedmods removed?

fickle sparrow
#

I changed it

#

its not methods on modhooks

jolly oriole
#

i think i know why playmaker is slow af: it does quite a lot with reflection in HK, but doesn't cache said reflection calls.
is it possible to change it so it uses mapi's reflectionhelper?

safe hamlet
#

possible likely

fickle sparrow
#

so much effort

safe hamlet
#

idk if you want to do it tho

fickle sparrow
#

playmaker is dogshit the entire thing is trash

deep wave
#

changing the way playmaker works seems suboptimal for anyone who wants to switch between modded and vanilla

#

also suboptimal for mental health reasons

fickle sparrow
jolly oriole
fickle sparrow
safe hamlet
#

you most likely need to do il hooks for that

#

which is not hard just tedious

cedar hemlock
jolly oriole
#

wait

#

the playmaker actions are in the same assembly as mapi

#

ez

fickle sparrow
#

wdym ruttie

#

what is your code that you're using

#

because I guarantee theres the a replacement

#

oh nvm

#

I understand your message

#

now

cedar hemlock
#

nice

jolly oriole
jolly oriole
fickle sparrow
#

all of playmaker is trash

jolly oriole
#

then don't use it

safe hamlet
#

so true

fickle sparrow
#

god I wish tc didn't use it

safe hamlet
#

yeah no one using it on their own volition bro

#

tc made us

fickle sparrow
#

I don't understand why you need reflection for a state machine

safe hamlet
#

does every type of action do reflection?

fickle sparrow
#

I hope not

safe hamlet
#

i could understand some where it’s method calls and shit

#

but even then they should do kinda like what mapi does

fickle sparrow
#

external method calls make sense if they don't compile it yeah

jolly oriole
#

call method things and the getplayerdata stuff afaik

fickle sparrow
#

its still slow

#

in other places

jolly oriole
#

then make it faster Pepega

fickle sparrow
#

impossible

#

you react with X and yet you do not use IL hooks to optimize it

#

curious

#

I'm not gonna do that

safe hamlet
#

you x yet you don’t even write raw machine code to optimize everything

fickle sparrow
#

TRUE

#

xd86

jolly oriole
#

IL HOMEGALULOMEGALULKS

fickle sparrow
#

do you have a better solution

jolly oriole
#

if i knew what the other refers to, maybe

#

but c/c++ interop is always a good way to make things faster

fickle sparrow
#

What

safe hamlet
#

nope

jolly oriole
fickle sparrow
#

you can make playmaker way faster just by coding it well

safe hamlet
#

so true

golden ginkgo
#

quick question, what is this channel for?

cedar hemlock
primal latch
#

Am I the only one or does the latest commit to the API not load any mods at all?

cedar hemlock
#

then the disabled folder and now none?

primal latch
#

nevermind. I just doesn't load from the main folder. Only from any sub folders

#

Why?

vocal spire
#

I still don’t see how getting mods from subfolders is helpful

fickle sparrow
#

people asked for this change

#

ngl

primal latch
#

I get including sub folders, but why ignore the main folder?

copper nacelle
#

why not

primal latch
#

Because the folder is literally called mods. Not folder for sub folders containing mods

copper nacelle
#

and

#

that'll just lead to fools relying on it and old mods being loaded

cedar hemlock
copper nacelle
#

extremely easily

jolly oriole
#

^

cedar hemlock
#

where are you going to put the mods then? In a subfolder of the mods folder? thats just confusing.

jolly oriole
#

mods folder -> folder with telling name (probably how it's displayed in modlinks/modinstaller) -> files of the mod (zip, other assets (thanks redwing))

copper nacelle
#

readme, license, deps

#

Optimal

jolly oriole
#

why did i say zip

#

i meant dll

jolly oriole
# copper nacelle readme, license, deps

then ig i have to change my mod zips then, should all be included as files in the zip
but how do you imagine deps?
a text file with dependecy mods? the mods themselves?

copper nacelle
#

no I mean when people put multiple dlls in

#

and I mean you extract the zip which has everything in it but the folder is nice for encapsulation and preventing file conflicts

jolly oriole
light zodiac
#

File conflicts with what?

copper nacelle
jolly oriole
#

mod files of different mods

copper nacelle
#

license

#

random file names

#

and I mean like if you have 2 dlls they're both in the folder and it's kinda nice

light zodiac
#

Does that mean people are gonna put source code in the mod folder feelspkman

jolly oriole
#

oh that, yea

copper nacelle
#

there were some mods which did that

#

because the person didn't bother putting it on github

jolly oriole
#

brb, changing mapi to be a jit-compiler and all mods have to be distributed as source code

copper nacelle
#

almost terraria tier

jolly oriole
#

wasn't there a repo that allows python to interact with unity? using that ofc

copper nacelle
#

idk

#

I've only heard of Boo

primal latch
jolly oriole
#

hkscript PauseChamp
another abstraction layer PauseChamp
900 fps -> 100 fps PauseChamp
but tbh, would probably be more of a coremod, as imo even though it's nice for beginners, it will probably be slow compared to c# mods

fickle sparrow
#

learn2code

#

it aint that hard

worn eagle
#

make it visual scripting

#

with primary colors and rounded corners

fickle sparrow
#

echaleph playmaker2

copper nacelle
#

code your mods in straight up playmaker with a loader

fickle sparrow
#

true af

worn eagle
#

teach them the TC ways

rough pulsar
#

Damn ok

#

Today i'm not gonna be a lazy ass and do what apidocs tell me to do

jolly oriole
#

dw, the beginning part is 1-to-1 copied from the edit scenes thing

rough pulsar
#

I have no experience in anything that's related to editing/making scenes so

#

At least in hollow knight mods

#

I have basic knowledge in unity

jolly oriole
#

i love how this doesn't prevent the main menu from loading (displayed is HutongGames.PlayMaker.Fsm.Update())

rough pulsar
#

displayed is

#

wait do i put in sfcoreunity.dll or just sfcore.dll

#

ig the latter

jolly oriole
#

for the mod sfcore

#

why is this fucking decomp 3.5k lines

copper nacelle
#

rofl

#

I'm pretty sure you could get some really decent performance gains out of modding playmaker

#

They like clear a set every action and then populate a new one from scratch

jolly oriole
#

i'm testing by stubbing out every void method rn, can only go wrong

copper nacelle
#

I have like an actual profiler report if you want it

jolly oriole
#

update was very far up on the one you posted a while ago

copper nacelle
#

yeah but idk how you'd fix that one

#

it's kinda important

#

ah yeah there were two functions from that taking up 30% of it

#

This was one

jolly oriole
#

uh

#

main menu loaded

copper nacelle
#

I gotta say clearing and then allocating all of it is really not it

jolly oriole
#

it loaded with this btw

copper nacelle
#

insane

#

I assume the menu is reasonable ish

#

can you load a save though

jolly oriole
#

well, it (the main menu) doesn't load if i remove playmaker.dll entirely, so i'm kinda surprised that it loads with unusable fsms

#

haven't tested it

jolly oriole
copper nacelle
#

Wtf

#

Does stuff actually work

jolly oriole
#

i got off the bench, so ig

copper nacelle
#

can you like dash and shit

#

I assume cdash is broken

jolly oriole
#

but i see that the PlayMakerFSM class has a lot of the same methods as the fsm class, maybe playmaker is really like that

#

that 2 classes have the same methods copied, just that one accesses the fields of the other

copper nacelle
jolly oriole
#

wait

#

i have to save the file in dnspy for it to take effect, right?

#

fuck

copper nacelle
#

lmfao

#

yes

jolly oriole
#

uh, so now i test with stubbed fsms

#

no fancy blend-in, but here we are

#

confirmed that a bit is reliant on fsms :)

copper nacelle
#

that's more like it

jolly oriole
light zodiac
jolly oriole
primal latch
#

may I ask what you are doing?

jolly oriole
#

having fun with broken assemblies

primal latch
#

ok

jolly oriole
#

it doesn't give me more fps though lmao

jolly oriole
copper nacelle
#

it's the jetbrains dot something

#

dotTrace I think

jolly oriole
#

ah, dot profiler probably

#

or that

copper nacelle
#

profiler sounds more reasonable ngl

#

dotTrace is the profiler nvm

jolly oriole
#

10 day free trial shroompause

copper nacelle
#

simply be a student

jolly oriole
copper nacelle
#

the eap might be available and those are free if your want to try that

jolly oriole
#

eap?

#

some app package i suppose

copper nacelle
#

early access program

jolly oriole
#

or that

#

shouldn't it be possible to use unity's profiler by just jamming the editor dll in the game files?

copper nacelle
#

the beta builds are free so they get free testers and you get free temporary programs

#

no idea

#

Probably not though

#

It's not gonna have the unmanaged code in the backend to go with it

jolly oriole
#

hm

#

they use newtonsoft themselves

copper nacelle
#

Wtf

#

Lmfao

#

Even they know their serialization is shit

jolly oriole
#

can only go wrong

#

if it doesn't, i'm surprised

copper nacelle
jolly oriole
#
[ERROR]:[API] - Failed to load Mod `PlayCountLog`
[ERROR]:[API] - System.MissingMethodException: Attempted to access a missing method.
[ERROR]:[API] -   at (wrapper managed-to-native) UnityEditor.SceneManagement.EditorSceneManager.SaveScenes(UnityEngine.SceneManagement.Scene[])
[ERROR]:[API] -   at PlayCountLog.PlayCountLog.Initialize () [0x0010e] in E:\Github_Projects\HollowKnightMods\PlayCountLog\PlayCountLog.cs:49 
[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 

sadgeyes

rough pulsar
#

Woah so beautiful

#

Error messages

jolly oriole
rough pulsar
#

how do i do that from unity shroompog

#

via unity hub or something?

jolly oriole
#

that is also done in visual studio

#

do these settings look good?

rough pulsar
#

are you asking 56?

#

ping 'im

jolly oriole
#

pretty much

ornate rivet
#

eye burning

rough pulsar
#

@copper nacelle

jolly oriole
#

doesn't have a setting for dark mode sadly

rough pulsar
#

CRINGE

copper nacelle
#

I think?

#

idr

#

I feel like there was specifically a unity option

jolly oriole
#

i managed to not press "get snapshot and wait" and was wondering why it didn't display me the call things

#

i have achived data

#

staying on main menu

#

these two probably cause the most of computation

jolly oriole
#

blur quality is nice, low -> medium changes basically nothing for me, medium -> high goes from 1300 to 950 fps

copper nacelle
#

sort by own time

jolly oriole
#

closed it already because it looks greatly like an accumulation of a lot of small time frames from unity / .net

#

top 4 are all caused by playmakerfsm update

rough pulsar
#

those are all i have

#

help

#

anyone?

#

@jolly oriole can you help please since you wrote the guide zote
sorry for ping but i'm kinda desperate

jolly oriole
#

oh

#

uh

#

is there something with "scene manager"?

rough pulsar
#

Only that

jolly oriole
#

god dammit, than completely skip that step for now

#

wait

#

bruh

rough pulsar
#

_ _

jolly oriole
#

step 10) makes you add those scripts to your mod smh

rough pulsar
#

FUCK

#

I'M STUPID

jolly oriole
#

even though i have fuckery in those (meaning a seperate class which stores my preloads)

#

lol

rough pulsar
#

HOW DID I COMPLETELY SKIP THAT

#

mmmmmmmmmmmmmmmmm

#

thanks anyways grublove

jolly oriole
#

probably because small text thing between code blocks lol

crude wave
#

Hey guys, could you update the mod "Debug Mod" so that it works with the latest version of the game please?? I would do it myself but I know nothing about programming 😫

rough pulsar
crude wave
#

Yes, I'm using version 1.4.3.2 but it would be great if we could use the latest version instead of an old version.

copper nacelle
#

have you tried using it

crude wave
#

They have fixed many bugs in the latest version, it would be great to take advantage of those fixes

crude wave
copper nacelle
#

yeah they do

#

you just gotta believe in yourself

#

and get the latest build off ci and manually install

#

same difference

#

or you know you could wait for me to finish what i'm doing and have an installer

#

your choice really

rough pulsar
#

for 1.5

#

56 🥺

copper nacelle
#

idk am i

rough pulsar
#

just fork modinstaller and update it to match with 1.5 smh

#

/j

#

unless modinstaller source code is a mess to you and you wanna make your own

crude wave
#

You are updating the mods?? Thank you very much!!!!🥳

jolly oriole
rough pulsar
jolly oriole
#

now you do

rough pulsar
#

amazing

#

now i feel like an idiot

#

just like always

copper nacelle
#

rofl

#

happens

rough pulsar
#

🙂

crude wave
#

There is a modinstaller2?? Where?

jolly oriole
#

not stalking the online presence of other people smh

jolly oriole
#

though also for 1.4.3.2 currently

rough pulsar
jolly oriole
#

valid

rough pulsar
#

i'm just trying to figure out what is this

jolly oriole
#

i can tell you that

rough pulsar
#

display right...? and only on revisit? m

#

oh wait

#

i think display right is that

#

um

#

title card displays on the right when you revisit it or something?

jolly oriole
#

you basically leave everything at default
maybe uncheck sub area (i have not done that yet thanks to tot being a sub area)
wait for trigger is that the area name isn't displayed by timeout, but by a trigger collider
display right is the location where it's displayed
always visited is i think that it always is displayed small
only on revisit ig self explains
area even is the thing determining language keys for the name of the area
visited bool is pd bool that stores if you were in the area before

#

lang keys being

{Area Event}_SUPER
{Area Event}_MAIN
{Area Event}_SUB
rough pulsar
#

i'm planning for my scene to be a subarea

jolly oriole
#

good

rough pulsar
#

is there even any way i can import the in-game GOs to my custom scene to the unityeditor?

#

or do i have to just

#

...

jolly oriole
#

my way is to make a script that instantiates preloaded gos

rough pulsar
#

so while you are editing a scene

#

your scene looks empty

jolly oriole
#

yes

rough pulsar
#

idk how do you even properly make it then haha

#

um

crude wave
rough pulsar
# jolly oriole yes

so, importing the sprites into the ready-to-be-replaced gameobjects would help me with designing the stage?

copper nacelle
#

i mean you have to install the api and all but sure

#

mods also go in folders now

#

so it's mods/debug/debugmod.dll

rough pulsar
#

like

#

if i wanted to get the thorns from wp

crude wave
#

Do you have a tutorial?

rough pulsar
#

cool

copper nacelle
#

no

#

that's why there is an installer

#

which i am updating

jolly oriole
rough pulsar
#

cool, dude, thanks itssoulgood

jolly oriole
#

if so, i could help a bit with the sprites

rough pulsar
#

actually

#

i'm making it

#

abyss themed

#

||(it's planned to be a sub-area of ancient basin)|| wink wink

#

i know where the sprites are

crude wave
#

I will wait until you finish updating the installer. Thank you very much for doing this!!!!

rough pulsar
jolly oriole
rough pulsar
#

um

#

so

#

where do i get the properly cropped ones then

jolly oriole
#

you make yourself a mod that dumps properly cropped ones Pepega

rough pulsar
#

it would seriously help with the scene designing

jolly oriole
#

or i can help with that

rough pulsar
#

that would be awesome, dude

#

would GODump help?

#

or does it just dump the gameobject info itself

jolly oriole
#

uh, good question actually

rough pulsar
#

oh so you don't know either...

jolly oriole
#

i just somehow changed my pc background image to a hk spritedump

rough pulsar
#

haha

jolly oriole
#

what i wanted to do was to send this screenshot of tot unity project, how i test-display things like saws (that i preload and not manually construct)

rough pulsar
#

huh?

#

so um wait

#

i don't exactly get it

#

i'm lost

jolly oriole
#

i have also saw sprites in my project, but when i have the actual saw in game i literally just delete the test one with a static sprite. at least that's what i think you asked about earlier

rough pulsar
#

also what are those garmond
are those important

jolly oriole
rough pulsar
#

i would love to have these tbh

#

it looks incredibly useful to me

jolly oriole
rough pulsar
#

do you just um

jolly oriole
#

i have a mod that crops them according to their data and dumps the result

rough pulsar
#

can i have the mod fleascream

jolly oriole
#

takes like 5-10 minutes to load a single scene when no sprites are dumped before

rough pulsar
#

hmmm

#

i wanna travel to the uhhhh

#

hidden station then

jolly oriole
#

i think i have one 1432 version of it somewhere

rough pulsar
#

or no, wait

#

Wait

#

are sprite names changed in 1.5?

#

that's ok tho

jolly oriole
#

1.5 changed a whole lot else that i updated the mod to

#

i have found a 1.4.3.2 version, just need to check which version that is

rough pulsar
#

Uhhhh

#

Nah I think i'll have the mod

jolly oriole
rough pulsar
#

wouldn't it be useful if i could just press a key then let it dump?

jolly oriole
#

no 😤

rough pulsar
#

damn ok

jolly oriole
#

it would, but it's already there and i have the project for 1.5 now, so ig take it or leave it

#

lol

rough pulsar
#

ok

copper nacelle
primal latch
#

What exactly are we meant to see here?

floral blade
#

this is MI2 for 1.5

primal latch
#

Ah. Cool.

#

Release when?

floral blade
#

Soon ™️

primal latch
#

Cool

jolly jungle
#

Anyone knows why hooking this

On.EnemyDreamnailReaction.RecieveDreamImpact += EnemyDreamnailHit;
Makes enemies not react to dream nail?

#

It generated this function for me

private void EnemyDreamnailHit(On.EnemyDreamnailReaction.orig_RecieveDreamImpact orig, EnemyDreamnailReaction self)
{
    
}```
#

It thought at first I might need to return something but it clearly says void in the generated thing

#

What am I missing?

primal latch
#

@jolly jungle you have to call orig(self)

light zodiac
#

If you put nothing in the on hook, nothing will happen

#

Orig(self) is basically telling it to do the original function

light zodiac
#

Put stuff above it to do stuff before original function happens and after it to do stuff after function happens

jolly jungle
#

cool, thanks 👌

#

How do I make it so everything happens as normal, except for a specific thing?

#

Do I need to just look at the original and copy it over?

primal latch
#

Just edit self

#

Or copy the original code

jolly jungle
primal latch
#

the second argument is called self. Do self.VARIABLEORFUNCTION

#

Self is the original object

jolly jungle
#

Why does this not work?

#

when I place the logging after orig(self), it dreamnails but doesn't log

#

when I place it before, it doesn't do either

light zodiac
primal latch
rough pulsar
jolly jungle
#

none in player, either

jolly jungle
#

If I remove the logging, dreamnailing happens as normal

light zodiac
#

I meant like are you sure this function is the one controlling dream nailling

jolly oriole
rough pulsar
#

not pogchamp if it lacks readme button soulpensive

#

aside that it still looks pog thou,gh,,,

#

can anyone tell me which fungus is which

#

um thanks

jolly jungle
#

i.e. gets knocked back, glows white, shows dnail dialogue, and gives soul

rough pulsar
#

um sfg
it's not going to dump every sprite on every room ever right

#

or is it only the scene i'm in

jolly jungle
#

2 is wastes

jolly oriole
rough pulsar
#

oh so

#

every sprite

jolly oriole
#

so pretty much yea

rough pulsar
#

in the current scene

jolly jungle
#

and 3 is queens gardens (?) not sure about this one, that's what I was told

rough pulsar
#

:)

#

ok

rough pulsar
#

i'm dumping every sprite in uhhhh

jolly jungle
#

where're you rn?

rough pulsar
#

the room with lotsa mantises, before the dashmaster

#

so it's gonna be fun

#

o shit um

#

it loaded

#

bog

#

now it's time to dump basin and white palace objects and i'm good to go itssoulgood

#

woah every scene now dumps very quickly

#

cool

vocal spire
jolly jungle
#

Oh shit you're right

vocal spire
#

Null reference exceptionzote

rough pulsar
#

it's been 5 minutes and still dumping

#

the uhhh

#

idk the room

#

i think it was lighthouse room

light zodiac
#

That room be big

jolly oriole
#

it can take a while

rough pulsar
#

the mod you gave is pretty good fwiw tho

#

oh shit

#

lighthouse finished

#

cool

jolly oriole
#

it's nice, though i think i had like 1 or 2 sprites where i did end up with a bit of another sprites as well, idk what was up with that though

rough pulsar
#

It's still loading inside lighthouse room

#

After 9 minutes

jolly oriole
#

yea, just wait

#

i think when i first loaded in the wp middle thing i waited like 10-12 minutes for all sprites to dump lol

rough pulsar
#

Um yeah it's really taking long for a small room

jolly oriole
#

just because the room is small doesn't mean that not a ton of sprites are loaded

rough pulsar
#

Damn ok

#

FINALLY

#

FINALYL

#

POGgp

jolly oriole
#

nice

#

well, i also takes long with big sprites, as it basically checks every pixel of a spritesheet to see if it is in the sprites' polygon of actual sprite

crude wave
rough pulsar
#

Ima dump palace grounds then white palace now

rough pulsar
#

Hey sfg do i need camera in scene

#

Or should i delete it

#

.

jolly oriole
#

you don't need it, but you can use it to 'preview' how your scene would look ingame, disable it before assetbundling

#

damn, entire ancient basin, abyss & white palace is 'only' 1600 sprites

rough pulsar
#

Cool you're so poggers

#

I did the entire ancient basin abyss and wp

#

Too

#

Actually hhh

jolly oriole
#

i actually missed the birthplace thing, so i don't have 'all' of the sprites

rough pulsar
#

And

#

I'm too lazy to start a new save and travel all the way to birthplace

#

Well

#

I could just hack in kingsoul then go to abyss

#

BUt

#

You know

jolly oriole
rough pulsar
#

What

#

AH

#

Yes

jolly oriole
#

preload all the scenes of the game

#

can only go wrong

rough pulsar
#

NHO

#

DON
'^T

#

!é!!!!!!!!!!

#

THAT'S A HORRIBLE IDEA

jolly oriole
#

brb in like 10 hours

rough pulsar
#

:)

#

:)

rough pulsar
worn eagle
#

is there anything new in any libs or the api that can help me create a custom boss?