#archived-modding-development

1 messages · Page 530 of 1

worn eagle
#

or should I go back to the good ol unity project I made

copper nacelle
#

latter

#

prob want to update your unity version

#

but besides that nothing really

worn eagle
#

mhm, I'm on 2020.3.13f

rough pulsar
#

Do I have to make every image on my folder a sprite

#

Please tell me an easy way to make every image to a sprite

copper nacelle
#

don't you just like drag it into the slot

rough pulsar
#

I can't

#

I can't drag images onto sprite fields
I guess me dumb

#

WAIT

#

I GOT A BIG BRAIN IDEA

#

I SOLVED IT

jolly oriole
#

yea, should just be able to click the tiny circle to the right of it aswell

rough pulsar
#

No

jolly oriole
#

why tf is mapi's loading bar flickering

rough pulsar
#

That doesn't work

jolly oriole
#

i'm getting the loading icon (the knight running) in the middle of preloading

rough pulsar
#

:)

copper nacelle
#

raw skill

rough pulsar
#

Unity is taking its time

#

This is gonna be fun

#

1628 images

jolly oriole
#

i'm this far already

rough pulsar
jolly oriole
#

yes

rough pulsar
#

Sfg

#

Mad lad

copper nacelle
#

why

jolly oriole
#

to have a few dumped sprites

rough pulsar
#

Dude I wish i knew why

#

Um

#

Unity is still turning images into sprites

#

Cool

#

I'm going to let it take its time

#

:mariocomfy:

primal latch
primal latch
jolly oriole
rough pulsar
#

holy shit

#

pogchpa

jolly oriole
#

progress i think

rough pulsar
#

is it ok if i don't put here anything

jolly jungle
rough pulsar
#

add silksong trailer to remind the player's pain waiting for silksong

jolly oriole
rough pulsar
#

so um

#

i guess i will have a blur plane later

jolly jungle
rough pulsar
#

we should have loading screen tips on both when the scene is loading and at the start of the game

#

e.g. "shaman stone is op"

#

is there any way i can add custom music to my area?

jolly oriole
#

yes

rough pulsar
#

i would like to know how

jolly oriole
#

how i do it:
have a go, put a SFCore.MonoBehaviours.PatchMusicRegions on it

rough pulsar
#

oh

#

ok

jolly oriole
#

makes the collider a music region, i think i have some test things that allows it to have scene managers with music directly in them but idk the current state of them

rough pulsar
jolly oriole
#

1 sec

rough pulsar
#

idk what enter track event is

jolly oriole
rough pulsar
#

why?

jolly oriole
#

you can leave enter track event as default (crossroads), works

jolly oriole
rough pulsar
#

@jolly oriole

jolly oriole
#

un select, then re select

#

unity weirdness

rough pulsar
#

now its this

#

is this good

jolly oriole
#

there should be a dropdown

rough pulsar
#

there isn't

jolly oriole
#

let me open a unity project real quick

#

2020, but i have a dropdown there, it's the same script

#

which sfcore unity version do you use?

rough pulsar
#

um

#

1.4.3.2 patch 1

jolly oriole
#

oh damn, thanks unity 2017

#

starting at 0

rough pulsar
#

thanks

jolly oriole
#

3150 dumped sprites atm

rough pulsar
#

idek how to get this

jolly oriole
rough pulsar
#

the sfcore will still work if i drag in only the scene into the assetbundle right

primal latch
#

It should auto-reference everything required

rough pulsar
#

it only auto referenced the sprites used in the scene

primal latch
#

then sfcore isn't required in that scene

rough pulsar
#

it uses sfcore components so

#

just asking

primal latch
#

wierd....

jolly oriole
#

it will reference assemblies, not pack them into an assetbundle

#

which is good because that allows one to have a bare assembly with only definitions in the project and one that actually does things in the game

rough pulsar
#

so if i have the sfcore mod installed too everything will work fine in my scene

#

i hope

jolly oriole
#

yes

#

in unity it's like "so this gameobject has script xx.yy.zz with values aa = ??, bb = ??, ..." and the only thing that needs to be the same is namespaces/classnames

#

otherwise sfcore either couldn't be used in a unity project or it would do absolutely nothing with existing classes in hk

rough pulsar
#

now uh

#

i guess i prepare my code so that it replaces the gameobjects in my scene with the preloaded ones

#

wait

#

how do i... access my scene then

#

is the scene from my assetbundle automatically extracted into the game so i can just teleport into my scene?

copper nacelle
#

you load it

rough pulsar
#

can i just teleport to the scene without doing anything except putting it as embedded resource then?

copper nacelle
#

no

#

there's like the AssetBundle.LoadFromMemory or something

#

and then you can get the actual scene object after that and load it

#

I think if you load the bundle it might work by name? but idr you'd have to ask Saleh or grenade

rough pulsar
#

this would work?

#

(Assuming i have an embedded resource called assetbundlething and it's an asset bundle file)

copper nacelle
#

that loads it at least yeah

rough pulsar
#

Cool

copper nacelle
#

Idk if you have to load the scene itself from the bundle object or at that point it's just by name

#

you have to use the unity functions if you do by name I think unless you fix the method

#

It does something which throws with custom scenes

#

and by the method I mean the game manager one doesn't work

jolly oriole
#

the assetbundle only needs to be available, the rest just works

#

e.g. transistioning into the scene with a TransitionPoint works

jolly oriole
#

in the meantime, i'm at nearly 6000 cropped sprites

rough pulsar
#

is this important

jolly oriole
#

seems to not be a valid script, so ig it won't work what you want to do with it

rough pulsar
#

i added the transitionpoint script from sfcore i think

#

it was just found there

#

hold on

jolly oriole
#

wait what, sfcore shouldn't have one

rough pulsar
#

idk

#

wait

#

i haven't checked

#

i just seemed to have one

#

wait

#

it used to have settings

#

yeah

#

weird

jolly oriole
#

ig having something like this anywhere in your assets (i keep scripts in their own folder for organisation) isn't bad

#

and yes, it will use HK's one if assetbundled and loaded in hk

rough pulsar
#

i... guess i had one of these? i don't remember

#

apparently

#

i have loaded in assembly-csharp from 1.4.3.2.

#

into my unity project

#

that's why it appeared

jolly oriole
#

that should give like a fuck ton of errors

rough pulsar
#

well

#

um

#

fuck

rough pulsar
jolly oriole
#

because unity makes an assembly-csharp for every project and therefore another one is not the best thing to do

rough pulsar
#

oh m

#

Wait

#

I think i bundled the scripts such as area title controller and etc into my main mod dll

#

Awesome

jolly oriole
#

it is done

#

6889 images

rough pulsar
#

I redid the steps from the tutorial

#

Wait

jolly oriole
rough pulsar
#

It said only field members are important hornetpalm

#

Thats why

jolly oriole
#

yea, for unity, literally only fields are important

rough pulsar
#

So

#

Uh

jolly oriole
#

and i also used the 2 project approach because unity likes to crash if you have your actual mod dll in the files and update it (and let unity reload it)

rough pulsar
#

When i copy the dll that only contains the monobehaviors and load in my actual mod, those things will still work as intended i hope

jolly oriole
#

the dll with only monobehaviours is used in the unity project, so things get 'linked' against the classes
then the assetbundle will be loaded by the mod with actual content, so those values of the assetbundle are put into the classes with actual content

rough pulsar
#

amazing

jolly oriole
#

i love my 2.4 million line modlog

rough pulsar
#

It only builds the first project when I press CTRL+B agoneyes

jolly oriole
#

'the first'? the actual mod project, the unity project or the only monobehaviour one?

rough pulsar
#

The actual mod project

#

I made unity project in a different way
Not in visual studio sethscheme

jolly oriole
#

is it bad that it only builds with ctrl+b?

rough pulsar
#

I think i can build all projects with ctrl+shift+b

jolly oriole
#

idk, ctrl+b is my goto

rough pulsar
#

Calm down i accidentally left ping on elderC

vocal spire
jolly oriole
#

or i use the top menu thing to build all

rough pulsar
jolly oriole
#

so basically how the decomp looks, but only the fields ofc

rough pulsar
#

Thamnks

rough pulsar
#

HAHAHHAHAHAHAHAAHGAHGASDGHAGHAGAAAHAGAHGAHAHAHAAHAAHAHAHAA

#

AHF

#

NO

#

NO WY

copper nacelle
#

what did you do

jolly oriole
#

looks like an error to me

rough pulsar
#

i think im stupid

jolly oriole
#

instead of that

#

try KeyCode.P

copper nacelle
#

the string is [p] but there's no reason to use it if it's not from user input when you can use the enum

rough pulsar
#

yeah i figured it out

#

i hope

#

um

jolly oriole
#

pog

rough pulsar
#

i just noticed there are missing textures

copper nacelle
#

just a few

#

make sure to set the shaders

rough pulsar
#

huh

jolly oriole
#

terrain: made of chunks that have meshfilter, meshrenderer and some form of collider (i prefer polygoncollider2ds). easily working texture on those can be achieved with a SFCore.MonoBehaviours.SceneMapPatcher script on it as well. just needs a (preferably black) texture bundled.
sprites: spriterenderer. for simple sprites (default or lit shader) you can also put a SFCore.MonoBehaviours.SpritePatcher script on it as well, which then just sets the shader to the given one (and optional scale)

#

so you don't have to bundle your things 3 times, one for each platform

rough pulsar
#

i

#

i just noticed

#

um

#

i don't have hazard respawn thintg

#

i'm missing several stuff shroompog

#

tbh now i'm looking forward to uhhh

#

replacing old gos with the new gos preloaded from abyss

jolly oriole
#

just out of curiosity: why are you making that for 1.4.3.2? i mean, from all i know mi2.5 could be there like this next friday

rough pulsar
#

i guess i'm just waiting until mapi 1.5 releases

#

i can't have 2 instances of unity can i

#

huh

jolly oriole
#

you can

rough pulsar
#

i mean like

#

at the same time

#

open

jolly oriole
#

you can

#

it just depends if your hardware doesn't kill itself in the meantime

rough pulsar
#

i was wondering just because i wanna find the gos from areas

rough pulsar
#

considering

jolly oriole
#

chrome WutFace

rough pulsar
#

I'm so lazy to open discord app

#

i think unity 2017 is less of a ram consumer so i think i'm

#

good

jolly oriole
#

for the doors btw:

  • transition go
    TransitionPoint (Respawn Marker: Hazard Respawn Marker)
    BoxCollider2D (trigger)
    • EnemyDetector
      BoxCollider2D (no trigger)
    • Hazard Respawn Marker
      HazardRespawnMarker
    • haze2 (optional)
      SpriteRenderer (optional)
rough pulsar
#

pog of the

#

what is haze2

jolly oriole
#

some light looking sprite, i don't have it in tot

#

not essential

rough pulsar
#

woah abyss looks sick

#

oh wait it's the lifeblood core room nvm

rough pulsar
#

when preloading stuff, does everything in the gameobject get preloaded?

rich stump
#

@viral ridge

jolly jungle
#

@rough pulsar are you making any custom scene or just looking at others?

primal latch
#

Hey guys. If Silksong releases, what would you like to see differently in the modding community? For me, it would be a more structured modding API. (Namespaces or even just folders to keep it easier to have an overview over the API)

light zodiac
#

you assume silksong is coming out feelspkman

primal latch
#

Can’t I ever ask a serious question? zote

jolly oriole
#

do you want an answer?

primal latch
jolly oriole
#

because this is modding dev

primal latch
#

I asked the same in discussion but didn’t get any reaction

floral blade
#

also good call on asking if and not when silksong releases 😉

light zodiac
#

In-game modinstaller would be nice but wouldn't it force people to connect to WiFi to play the game

primal latch
# floral blade an api that has a lot of basic helper classes / methods might be cool, a built i...

I agree. Like 50% of the mods rely on modcommon or sfcore. A lot of those functionalities could just be in the API. Some very niece things could be seperate though. I have actually been thinking about an integrated installer. The problem would come with updating mods. I’m not sure you can edit an assembly on runtime without issues. Also, do we then want to directly load a mod once downloaded or just on the next restart to make sure that the mod doesn’t miss hooks that it needs.

primal latch
primal latch
jolly oriole
# primal latch I agree. Like 50% of the mods rely on modcommon or sfcore. A lot of those functi...

Like 50% of the mods rely on modcommon or sfcore
majority of sfcore probably won't be in an api though, as only the util stuff would have a place in the api
integrated installer
have fun unloading mods at runtime for updates, also a way to completely reset the entire game (similar to close+reopen)
to make sure that the mod doesn’t miss hooks that it needs.
the above would solve that, if that even is possible

#

... and then there's the argument to not bloat the mapi

worn eagle
#

integrate modcommon's astar into the api mylaU

jolly oriole
#

why was it even there? has anybody ever used it?

jolly jungle
jolly oriole
#

_ _

primal latch
#

I get that some things are too niece but some of these would probably improve performance since they can be integrated using patches and increase the likelyhood that people don’t write it themselves

#

Also, it depends on your definition of bloated. In my opinion, the api would be bloated when there are a lot of functions that are never or rarely used by any mods

jolly oriole
primal latch
#

I was using it as examples. I’m talking about a potential silksong API and what we could do differently. Not what we should do differently now.

somber sundial
#

Just out of curiosity, is there any documentation on the modding API that is up to date?

copper nacelle
ornate rivet
#

I see jesus

jolly jungle
#

@ kaan don't you dare accidentally do the same stuff I'm planning to do hornetsip

ornate rivet
#

just wondering, how would one make an abyss boss work in the abyss
specifically, I mean what would one have to do to make a dark character easy to see in a dark background

worn eagle
#

part of the challenge is trying to see the boss

ornate rivet
#

lmao

#

I guess you could put the boss against a brownish-ancient basin background
but then it's not as cool

ornate rivet
#

I mean, I asked because I want to make an abyss arena for the modded shade boss fight eventually

jolly jungle
#

I mean, you have no problem seeing the siblings, right

#

so just make an arena like that

ornate rivet
#

oh yea, just making the bg really blurred makes seeing the siblings easy

jolly jungle
#

I can't tell if you're sarcastic or not

ornate rivet
#

not sarcastic

#

well that's solved, now time to finish pale court so I can finally move on

jolly jungle
#

You don't have much time to finish it hornetsip

#

After all, you're releasing it in seven days

#

As we all know

#

So good luck

ornate rivet
#

uh huh

jolly oriole
#

or yea, like siblings, dark grey background, and simple black sprites

rough pulsar
#

:)

jolly jungle
#

:)

cedar hemlock
#

:)

rough pulsar
#

I'm just gonna watch thru the video tutorial because i feel like an idiot

vapid cape
#

pale court 👀 👀

rough pulsar
#

🕐🕕🕜🕥🕠🕓

nimble lake
#

oh my god i was right
pale court is coming out before silksong

rough pulsar
#

Naming gameobjects in unity vesselsip

#

This isn't documented anywhere in modding api documentation?

copper nacelle
#

that is not part of the modding api

rough pulsar
#

I mean

copper nacelle
#

yeah

#

and

#

it is a nice piece of information but it's not a full in depth breakdown because it isn't part of the API so every member doesn't get commented

ornate rivet
#

yusuf hates me

copper nacelle
#

nope

safe hamlet
#

yeah he does

#

cry about it bitch

copper nacelle
#

true

ornate rivet
#

:(

rough pulsar
#

Wtf happened

#

I just referenced those and it broke

ornate rivet
#

what does it say

rough pulsar
#

Fun

copper nacelle
#

what framework and what game version

ornate rivet
#

framework girlboss to the rescue

rough pulsar
#

I didn't change framework and game version is at 1.4.3.2
Framework is .net framework 3.5

#

O

#

Hold on

#

It calmed down

#

AND IT'S STILL TRYING TO SHOW ERRORS

#

I think intellisense fucked up

primal latch
rough pulsar
primal latch
#

then IDK. Close the file and open it again? I have something similar some times

jolly oriole
#

what to do with intellisense fuckups: close vs and reopen

rough pulsar
#

I think i fixed my issue

#

This variable is the name of the gameobject that the knight is going to be teleported to in the destination scene, right?

jolly oriole
#

yes

#

so in vanilla it would be something like left1, right1, top1, bot1 or door1 and it checks for the direction you are entering with the name of the go (so pretty much what i listed just without the 1s)

rough pulsar
#

Thanks

mighty chasm
#

I am trying to spawn double for every enemy that spawns but in OnEnemyEnable I am instantiating a new enemy and it just infinitely spawns enemies. Is there a way to get around this?\

rough pulsar
mighty chasm
#

Thats a good idea

#

Does hollow knight not use tags?

rough pulsar
#

I haven't checked

#

as far as i am aware, the only usage i know is The Knight's hard fall tag or something

mighty chasm
#

Okay imma just try and see if it works

rough pulsar
#

Sure

mighty chasm
#

Oof my cpu

rough pulsar
#

Did it work?

#

No?

jolly oriole
#

i honestly don't think that adding dynamic tags is even possible

rough pulsar
#

Then uh

#

I have an idea

jolly oriole
#

though i could be wrong

rough pulsar
#

Try creating a monobehavior

mighty chasm
#

I believe it is

rough pulsar
#

A monobehavior that does nothing

#

Check if the enemy has that monobehavior, if it does then ignore that enemy, but if it doesn't exist inside that enemy, apply that monobehavior to the enemy before duplicating it, then duplicate it

mighty chasm
#

And check if it has that monobehaviour?

rough pulsar
#

Yeah

#

Do

#

Uh

#
var monoBh = gameObject.GetComponent<MyMonoBehavior>();
if (monoBh == null)
{
  // code here to duplicate
}
copper nacelle
#

nonbouncer simulator

rough pulsar
#

GetComponent<T>() returns null if the gameobject doesnt have that component

#

i think

jolly oriole
#

can't be certain that no enemy uses nonbouncer

jolly oriole
mighty chasm
#

Maybe the problem is that OnEnable is called during the instantiate methd so anything I do to the object is after

rough pulsar
#

Yeah

#

Inception

#

That's why i proposed that solution

copper nacelle
#

that's why I said simulator

mighty chasm
#

But the problem is that if I blah = Instantiate(enemy) then onenable is called on bleh before the next line of code where I add the mono behaviour

#

I believ thatd be the only reason this wouldnt work

copper nacelle
#

no you can't make tags at runtime

#

it'll silently die in output_log

rough pulsar
#

Oh

#

That explains it

#

....

#

Use monobehaviors then

mighty chasm
#

I think you can though

vocal spire
#

Check output_log then

copper nacelle
#

they hated him because he told the truth

mighty chasm
#

The unity docs sets it in an example 🤔

vocal spire
#

But the tag already exists

#

It was added in the editor

copper nacelle
#

^

mighty chasm
#

Ohhhhhh I see what you mean

#

Im a dummy

rough pulsar
#

I'm also a dummy

#

Time to test my scene via transitionpoint and get confused why it doesnt work

vocal spire
#

I’ll be waiting for that (not)

rough pulsar
#

This should work right

jolly oriole
#

potentially

#

if it doesn't, use normal visualization

rough pulsar
#

I'm also creating a transitionpoint object when On.GameManager.EnterHero fires, that should work right

#

In the right scene

#

With the same name as entrygatename

jolly oriole
#

whatever the 'right scene' is, maybe?
personally i use the activescenechanged hook

rough pulsar
#

I'm gonna test it just in case
I was following saleh's video tutorial for the script part

#

Sick, it doesn't work

#

Hold on

#

I know what happened

#

It was just a dumb mistake zote

mighty chasm
#

Does anynone know why this might not be working?

copper nacelle
#

what does not working mean

mighty chasm
#

Whats expected is if something has been duped once it will stop duping. But what happens is that the enemies just duped infinitely

jolly oriole
#

yes

#

because you add the duped go to the dupedgos list, not the original one

#

and compare to the original one

rough pulsar
#

Add both enemy and enemy_d to the dupedgos list

#

^^^^^^

#

Pretty much what sfg said

#

(please don't snail me 🥺🥺🥺🥺)

copper nacelle
#

any sets

rough pulsar
#

Hold on

#

Nvm

jolly oriole
#

list.set(content)

#

there

copper nacelle
#

i guess it doesn't matter if there are like 5 entries tbf

rough pulsar
#

My scene worked for a while

#

Apparently there was no hitbox

mighty chasm
#

Yooooo it works

#

Is there some sort of data that enemies in hollow knight that would say whether they are attatched to the walls like crawlids or the venus fly trap thingies

worn eagle
#

if you mean tiktiks I think they use a raycast action in an fsm

charred topaz
#

Probably a bit late, but another possible solution is to check if the gameObject name ends with “(Clone)”, since the Instantiate function will automatically add the word “(Clone)” to the end of the newly created object’s name

rough pulsar
#

I

#

I didn't know that

#

Wow

#

Does anyone know why hitboxes in my scene doesn't work?

vocal spire
#

Edge collider?

rough pulsar
#

I'm using an edge collider

vocal spire
#

¯_(ツ)_/¯

rough pulsar
#

Damn

#

Maybe i'll figure out 10 years later

vocal spire
#

The knight just phases through the part where the collider is?

#

Oh did you set it to terrain

rough pulsar
#

Hold on

vocal spire
#

The go’s layer

rough pulsar
#

I think it may be

vocal spire
#

You did

rough pulsar
#

When i enter my scene, the knight just falls off garmond

#

I think it's because i set my transitionpoint's direction wrong

charred topaz
#

Another option is to use a polygon collider

fair rampart
#

anyone knows how do i add mod settings to my mod inside hollow knight settings?

#

with the ability to change values like floats and booleans

vocal spire
fair rampart
vocal spire
#

What version of hollow knight is your mod for?

fair rampart
#

1.4.3.2

vocal spire
#

Can’t unless you write everything yourself

#

Or port the 1.5 api’s menu api to the 1.4.3.2 api

fair rampart
#

alright

#

thanks

rough pulsar
#

Gonna do that

#

Jk

#

I'm too lazy

vocal spire
#

Cool bc I was making my own menu api as well, more of an inventory ui but it’ll work for menus too

light zodiac
#

For 1.4 or 1.5?

vocal spire
#

Both

#

Planning to port to all versions the installer supports

#

And yes I still think the installer should at least support both 1.4.3.2 and 1.5 if not other patches

lyric urchin
#

I'd like to get into mod development for games I play and since I love hk i figured it would be a good place to start. Are there any guides to hk mod development that yall would recommend?

deep wave
copper nacelle
deep wave
#

i love the landing page

copper nacelle
#

it works

deep wave
#

i actually haven't seen these docs yet, they seem really nice as actual docs. are you planning to remake the getting started stuff from the original docs or just keep both?

copper nacelle
#

I thought I did but maybe that was a different page

#

Ah no I didn't

#

Planning on remaking most things that are relevant

#

like I don't think modcommon or anything belongs in the API docs

safe hamlet
#

why are your caps so inconsistent

copper nacelle
#

because i turn off the capitalization on mobile sometimes

#

habit

#

sometimes i don't though ig

deep wave
#

disabling auto capitalisation in swiftkey was the best decision i ever made tbh

jolly oriole
safe hamlet
#

@mortal trout shoutout

mortal trout
#

true

nimble lake
primal latch
primal latch
#

It’s basically an override of your local settings

jolly oriole
primal latch
#

I think so. Or at least I didn’t do it. I just clicked add

#

What are the guids for?

copper nacelle
#

why tf does this say tabs

rough pulsar
#

what

primal latch
copper nacelle
#

indent_style = tab

primal latch
#

wierd.

#

and when I type it places spaces

#

and tabs are replaced with spaces

#

also,

"This should probably be customized by Fifty-Six and other very active maintainers of this project."

jolly oriole
#

imagine being active lmao nerds

copper nacelle
#

true

rough pulsar
#

i'm almost never active in github

primal latch
#

updated it

primal latch
#

@unborn crypt you wanna make a mod. Do you have any experience in programming in c#

crude wave
#

Hello, I installed the mod "AdditionalMaps" because I wanted a map for the white palace but it doesn't work, when I'm in the white palace there is no map.

primal latch
#

@crude wave wrong channel

crude wave
#

Yes, I know but nobody answered me in "modding-help"

ornate rivet
#

nice

copper nacelle
#

that doesn't make it better

primal latch
#

Yeah. I wanted to help but I have never used it

rough pulsar
#

Godhome also has a map

light zodiac
#

You assume sfg's that nice feelspkman

rough pulsar
worn eagle
#

I miss the old sfg, nice and warm and kind sfg

copper nacelle
#

who

rough pulsar
#

Sfg still helps me tho

light zodiac
rough pulsar
#

He gave me a few scripts just to make things easier

rough pulsar
jolly oriole
rough pulsar
#

Do you mean

#

uh

#

Oh I get it

#

Isn't the beginning part of wp still accessible though??*

jolly oriole
#

the entrance and first two scenes no, the left and right parts of the hub also no

rough pulsar
#

reminder

#

uh

#

isma overworld

#

i just wrote it here just so i put it in the next update

ornate rivet
#

what

#

is this a threat to leak pale court

vocal spire
#

👀

#

(quick, find where they live and take em out)

rough pulsar
#

I noticed someone was using my mod and oddily, a text appeared called "isma overworld"

#

I don't think that should have appeared

vocal spire
#

🔫 no more games, tell them truth

ornate rivet
#

that's even weirder

vocal spire
#

Also I don’t think I reported that bug?

mortal kindle
rough pulsar
#

i'm 2 hours late

#

oh well

#

i can't check now anyways

daring nest
#

I kind of wanna get into modding Hollow Knight just so that I can implement a charm Glorification system...

daring nest
#

... aaand I have no idea how to add references to other mods

#

the wiki just kinda says "you'd better know how to do that first lol"

jolly oriole
daring nest
#

thanks, I'm still pretty new to coding

daring nest
#

... yeah I can't figure this out lol

#

sorry about my gross incompetency

jolly oriole
#

can't find image of vs interface, but on the left or right side there should be your project with its files displayed, somewhere there is also a thing called "References", you can expand that, which then shows "Assemblies", right click that, click "Add reference", that opens a reference manage window i think its called, go to "search" (or whatever the 2nd last option is afaik), then at the bottom there is a button "find reference" or something, then navigate to the dll files you want to reference, select and ok and ok

daring nest
#

yeah I had tried that but it threw up an error.. one sec

jolly oriole
#

you can't do that with certain assemblies, i know that the system ones and mscorlib won't work

daring nest
#

yeah maybe I'm just attempting to reference the wrong DLL

jolly oriole
#

are you trying to mod for the 1.4.3.2 or the 1.5 patch?

daring nest
#

1.4.3.2 I think.. at least it should be

jolly oriole
#

then it should work

#

can you show the project properties (the main page, where it shows the .net framework version)?

daring nest
#

ah see, I'm working off of the example mod provided by the wiki

#

maybe that's been updated to 1.5

jolly oriole
#

or easier: if it doesn't say 3.5, set it to 3.5

#

because 4.7.2 is for 1.5 mods

daring nest
#

god I really don't know what I'm doing, huh

jolly oriole
#

actually, the example mod was updated to 1.5, so it's technically not on you to not realize that

daring nest
#

yeahhh that's what I figured

#

might be easier to start from scratch I guess, despite not really knowing what to do lol

jolly oriole
#

at least the first 3 steps

daring nest
#

alright, I'll see if I can get anywhere

#

yeah it added the reference (finally)

#

now all I gotta do is figure out how to actually code the stuff, now that the setup is out of the way

jolly oriole
daring nest
#

alright sounds good

#

would you have any idea what assembly or namespace or whatever I need to get these to resolve?

jolly oriole
#

in that order

daring nest
#

ahhhh I looked at the example you provided and I think I get it

jolly oriole
#

suggestions*

rough pulsar
#

zzzzzzzzzzzzzzzzzzzz

floral blade
#

um @rough pulsar you okay?

rough pulsar
#

oh

#

huh

#

shit i accidentally spammed here without knowing

#

thanks for letting me know

floral blade
#

np

daring nest
#

why does it not recognize "Settings" for some reason

#

I'm sure I added all the necessary references..

#

this is just the callbacks

deep wave
#

have you created a Settings class? you need to construct one yourself

daring nest
#

ahhh see that would make sense lol

#

yeahhh I don't exactly know how to construct a Settings class lol

cedar hemlock
#

did you reference sfcore?

daring nest
#

yeah I did

cedar hemlock
#

and did using SFCore and using SFCore.Utils?

#

i may have mistyped, just do what vs says

daring nest
#

yeah I'm using both

#

I'm not really sure what to do

cedar hemlock
#

what does the lightbulb say?

daring nest
#

it says using static ModCommon.Dev

cedar hemlock
#

oh modcommon

daring nest
#

yeah that didn't help much

cedar hemlock
#

wait are you trying to use sfcore or modcommon?

daring nest
#

well I'm using both, but ModCommon currently isn't being used

#

I kinda just threw it in just in case

cedar hemlock
#

but sfcore for the charms right?

daring nest
#

yeah

cedar hemlock
#

lets see if i get more than 9

#

@jolly oriole ^ (sry)

daring nest
#

I could get you a pastebin

cedar hemlock
#

only 9 again grubsad

daring nest
#

if you wanna take a look at it

cedar hemlock
#

grenade can handle this, so imma go now

daring nest
#

yeah I actually do need to head to work

#

I'll be back in like 6 hours or so

#

I really do wanna get this working because a charm upgrade system just sounds so cool to me

jolly oriole
#

change Settings to SaveSettings and you're good to go

#

with the Settings.newCharms stuff

#

so on lines
106, 114, 122, 135, 144, 153 & 167

#

btw, having it toggleable won't work, limitation of sfcores charmhelper

daring nest
#

oh oof

#

guess I'll remove ITogglableMod

rough pulsar
#

is there any way i can add items to the ground?

#

like, items that can be picked up

#

sfg pls pls 🥺

#

hold on ima take a look at

#

additional map's source code

#

i might be able to find something

vocal spire
rough pulsar
#

What is this

jolly oriole
#

that is isma's tear

rough pulsar
#

Cool thanks

jolly oriole
#

or well, it isn't anymore

rough pulsar
#

Acid fling?

jolly oriole
#

the one by unn

#

it's unique

#

slug fling btw

deep wave
#

is LoadPriority early when high or low? i may be stupid

daring nest
#

hmm, where might I find Charms in the source code? I wanna take a peek at how they work so I can like, actually start making the charms

deep wave
#

ah regardless there appears to be some issue - this may be an old mapi issue, but LoadPriority seems to be basically ignored in favour of alphabetical ordering when loading mods w/ some that have LoadPriority and some that do not specify

copper nacelle
#

assembly loading is alphabetical

#

Initalize shouldn't be

#

Can't exactly sort by load priority for assembly loading when you need to load the assembly to get it

deep wave
#

ah I may be extremely stupid

#

I was reading the load in modlog and thinking it was the initialize coming before my initialize

#

reading rng

#

I was still having issues though, I'll see if not-sleep-deprived me can do any better tomorrow I suppose

daring nest
#

gotta love thinking you solved everything, just for ONE issue to pop up

#

there is nothing about this I understand

#

agh pain

copper nacelle
#

are the settings public

daring nest
#

... fuck, thank you

copper nacelle
#

np

daring nest
#

that cleared it up

#

I had it as class GlorySettings instead of public class GlorySettings

jolly oriole
light zodiac
#

Make additional maps have a ToT map

jolly oriole
#

pd abuse for other mods to add maps Pepega

merry lotus
#

And/or next to the "checkpoint" dream portal thing

jolly oriole
#

🤔

worn eagle
#

boss @ end

jolly oriole
#

make sprites

worn eagle
#

give concept

jolly oriole
#

god dammit, now i have to make a concept

worn eagle
#

has anyone worked w the google drive api

tepid hearth
#

Does anyone have any good resources on how to start modding? I'm looking for a way to make a custom boss battle, but I have the slight problem of never having modded or even coded anything in my life and all the pinned stuff just confuses me. Thanks beforehand! ^^

tepid hearth
#

Awesome, thanks so much! :D

jolly oriole
#

but generally:
let user log in through website (popup/embedded browser or something) -> get access token -> get other tokens -> get data

worn eagle
#

idk what the chances of skins moving from gdrive are

jolly oriole
#

oh, uh

#

forgot that login is possibly not necessary with public drives

#

may just be rate limited then though

worn eagle
#

gonna try out the .net 6 + vs 2022 previews for this installer

worn eagle
copper nacelle
#

is that Maui?

worn eagle
#

nah, avalonia

#

does maui have linux support?

copper nacelle
#

"community supported"

worn eagle
#

better than nothing ig

#

when I tried to generate a maui proj it made paths so long it broke on startup

jolly oriole
#

lol

#

but looks nice

cedar hemlock
worn eagle
#

I can't get a maui app to target windows, it keeps reverting back to iOS shadecry

deep wave
#

may be an idea once this is formalized to add a thumbnail preview to the skin list

rough pulsar
#

oh wow someone else is making a skin installer

#

great

#

i don 't want to maintain my own

#

mine is just a cheap fork from modinstaller

worn eagle
#

mine is just a cheap fork from modinstaller2 mylaU

copper nacelle
#

lmao

rough pulsar
#

how

#

what

#

i dont remember that gui

copper nacelle
#

checkmarks -> button

#

change bg color

#

left sidebar is dead

rough pulsar
#

sick

#

OH WAIT

#

IT'S THE DIFFERENT MI2

#

I'M STUPID

copper nacelle
#

what

rough pulsar
#

wait

#

didn't you make a modinstaller

copper nacelle
#

yeah

rough pulsar
#

i just got confused with the old mi2 and new one
or i just got confused and old mi2 never existed

vocal spire
#

What is the old mi2?

worn eagle
#

I tried Qt first but found there was no official cpp gdrive api

#

then I tried godot mono which would've been cool but it only supports up to tls 1.2 and Google services are 1.3

jolly oriole
#

time to implement tls 1.3 in godot mono

worn eagle
#

I mean, mit license

daring nest
#

okay, how do you actually make custom charms do stuff? like, for instance, making an upgraded Strength charm increase Nail damage by 75%?

vocal spire
lucid needle
#

is there any chance anyone could take a look at a mod im having worked on and help me understand and possibly solve why it doesnt play well with EnemyHPBar mod, please? (asked in modding-help but i was made aware it would be better to ask here)

#

its a mod that increases enemy health (and damage they do) and the EnemyHPBar only shows up when i bring them down to vanilla health.

#

i can understand why logically its behaving in such a way but im more curious if it can be fixed.

worn eagle
#

I'm beginning to develop a strong dislike for xaml

jolly oriole
#

imagine not disliking any form of xml

rough pulsar
#

pinging sfgrenade

worn eagle
#

I'm really liking vs2022's intellicode

vocal spire
worn eagle
#

hmmmyes

jolly oriole
#

only 500 MB

primal latch
worn eagle
#

it suggests entire line completion and it can be fairly decent

primal latch
#

nice

#

I might actually give it a shot

worn eagle
#

some of the folder hierarchies on twp's gdrive are absolutely fucked

light zodiac
#

Why else do you thing no one made a skin installer yet

deep wave
#

tbh i'd contact twp asking if there would be some allowance to restructure the drive because it is completely stupid

#

you could do some weird stuff in the xml to specify what subfolders to take images from

copper nacelle
#

why do you think I forced multiple people at gunpoint to swap with 1.5

#

the tech

jolly oriole
#

56 finish mi2.5 ples

copper nacelle
#

true

jolly oriole
#

wow, calling yourself fat, brave

copper nacelle
#

what

vocal spire
#

🔫

floral blade
primal latch
vocal spire
#

I’ll also complete mi 1.5

deep wave
#

brb starting mi3 FeelsInvertedMan

primal latch
#

Ok. Imma start miF (mod installer Fyremoth). An installer only for Fyremoth

#

Like anyone would use that

deep wave
#

why would i use an installer for something that doesn't exist

copper nacelle
#

true

vocal spire
#

Ok. imma start miP (mod installer Pale Court). An installer only for Pale Court

light zodiac
#

MI3 is taken

deep wave
#

Mi1028And1221And1432And15numbers

vocal spire
#

Mi 1.5 supports multiple patches zote

light zodiac
#

Someone should do it

vocal spire
#

Hmmm

copper nacelle
#

it also supports removing my brain from my skull

#

and lack of cross platform

vocal spire
jolly oriole
#

that shouldn't have been attached to begin with

vocal spire
copper nacelle
#

me

#

it's literally winforms

vocal spire
#

Oh ok sorry

vocal spire
#

Well I gtg

worn eagle
#

MISilksong will be written in PyQt

copper nacelle
#

py

jolly oriole
#

why

#

just do qml if you don't want type safety

worn eagle
#

are you gonna write MISS in rust 56

#

are we gui yet

jolly oriole
#

make it in react or whatever the names of those are

floral blade
#

u want cordova / phonegap

worn eagle
#

would it be a bad idea to ship the credentials json for google oauth with the program

copper nacelle
#

yes

worn eagle
#

thought so, I'm not good w key and auth stuff

#

would it make it safe to embed the json in the build?

copper nacelle
#

no

primal latch
worn eagle
#

idrk how I'd be able to use a google api w/o having a sensitive json in the exe path, all the tutorials I see online use file streams to read in its data

copper nacelle
#

get the user to authenticate with their own login

#

or stop using gdrive

worn eagle
#

so use raw http requests?

copper nacelle
#

I mean like pop up an oauth window

worn eagle
#

darn I was trying to get around that w a service account

copper nacelle
#

Idk how service accounts work

#

Tbf

#

if it's r/o and the limits are well imposed such that you can't ruin everyone else's shit it might be good

worn eagle
#

I think the drive owners need to share them with the service account, which may be a problem if poppy is in a coma

#

and every guide I've seen online still has you read in a json file

copper nacelle
#

User auth is definitely the safest because they can only fuck over themselves

worn eagle
#

muh ux

copper nacelle
#

true

worn eagle
#

@young walrus could you share the custom knight drive that you own with skin-manager-service-account@hollow-knight-skin-manager.iam.gserviceaccount.com?

vocal spire
#

<@&283547423706447872>

gilded lotus
jolly oriole
vocal spire
#

lol

rough pulsar
#

i can't believe zaliant's birthday is coming in 2 days

#

:troll:

worn eagle
#

do you think splitting up a credential json into a binary file containing a key and a text file encrypted via that key is secure enough

#

using bouncy castle

copper nacelle
#

no

#

it doesn't matter what you're doing if the key is going to be distributed with the application effectively

deep wave
#

i can do the epic "simply rename my mod" for a temporary fix but yeah FeelsInvertedMan

#

worth noting this is api 1.4.3.2-60

copper nacelle
#

i would care

#

but it's 1432

deep wave
potent dirge
deep wave
#

what if i posted the emote 🥺

copper nacelle
#

then i would care even less

deep wave
#

unfortunate

copper nacelle
#

this one is ordered too

#

captual

jolly oriole
copper nacelle
#

same difference

#

the loop uses the ordered array

#

ah

#

i'm right

#

@deep wave use 0

deep wave
#

ah

#

so LoadPriority should be low if you want your mod to load first

#

seems extremely fucked

#

lower than 1 no less

jolly oriole
#

reverse priority list shroompause

deep wave
#

so would a better solution be to make it default to a number like 255, that way any mod with priority lower will load first and you can set it to higher if you want your mod to load after everything else

#

or even default 0 and make it OrderByDescending ax2uHappy

potent dirge
#

i vote default 69

worn eagle
#

double.NegativeInfinity moment

jolly oriole
#

double.NaN

copper nacelle
#

simply go into the negatives coward

deep wave
#

yeah that works but like it shouldn't work like that 🧐

jolly oriole
#

costs an additional byte per mod

#

of source code

worn eagle
copper nacelle
#

we do a little trolling

#

why does avalonia ilspy not work

#

terrible

deep wave
#

negative loadpriority vs default loadpriority 1

copper nacelle
#

why

#

it's orderby

#

i have definitely loaded things later

deep wave
#

all this is because i want to change the order methods on a hook are called, is there a separate way to do that?

copper nacelle
#

no

#

honestly

#

i should change that

#

there's a thing monomod does that is much cooler

#

key

#

content

#

hmmm

worn eagle
#

well hidden am I right

copper nacelle
#

true

worn eagle
#

idek how someone could use the private key to do malicious things cause it's linked to a service account

#

but uh, does the app at least work?

copper nacelle
#

i didn't test it i just decompiled it

#

i am still installing dotnet

#

because i can't build the decrypting anyways

worn eagle
#

ah shit, forgot users will need .net6

copper nacelle
#

i have made a terrible mistake

#

i just want

#

to decrypt whatever this is

#

this is so sad

worn eagle
#

couldn't you just intercept at the point where it gets decrypted and then print it out

#

unless you want to decrypt it

copper nacelle
#

i can't dnspy

#

i am on my laptop

#

because i am lazy as fuck

#

and avalonia ilspy shits itself on your dll

#

for some reason

#

it just shows empty classes

#

works on everything else though

worn eagle
#

that means it must be untouchable frogchamp

copper nacelle
#

nah i ran dnspy console on it dw

#

i just need the package to actually build the encryption bit which means i was waiting for dotnet to install which has made brew upgrade my entire system

#

fun

#

where tf is org.bouncy

#

ah

#

i am stupid

#

gg

#

that took significantly longer than it should have

#

.net6 preview

#

why

#

i would test it

worn eagle
#

why I chose to use it?

copper nacelle
#

but i also don't have hk installed

#

no just a rhetorical why because it would involve installing it

#

i got this though ig

worn eagle
#

niceu

floral blade
#

so the new mapi loads mods from subdirectories, but i can just put all my mods in /mods/mymods/*.dll and it works ?

primal latch
#

yes

floral blade
#

nice mastersmirk

jolly oriole
#

Yesterday i found out that a large portion of sfcore is severly broken

crude wave
#

Have you updated the Mod installer for version 1.5 yet? How long will it take?

primal latch
#
  1. No 2. As long as it takes
worn eagle
#

I have no idea how I'm going to handle atlases that are badly named

jolly oriole
#

just don't lol, put the blame on the authors

worn eagle
#

huh, I think if I dotnet publish users won't need to install .net6

copper nacelle
#

if you do self contained yeah

worn eagle
#

resulting folder is 226 MB agoneyes

copper nacelle
#

yeah

#

self contained is a bit large

worn eagle
#

macos noob here: is there a way to bring up your disk root in finder?

copper nacelle
#

command shift g

#

go wherever you want

worn eagle
#

if my arch install wasn't dead I could've tested on all platforms

copper nacelle
#

wsl it

primal latch
#

I think this should be made thread-safe

#

Also, why is the json dll a file instead of a package?

fickle sparrow
#

Instance does literally nothing now

#

because everything is static

#

thats why we obsolete'd it

primal latch
#

Ah. Yeah

fair rampart
#

Hi

#

I want to create a Hollow Knight boss mod for my first attempt at a mod for this game

#

Other than reading the APIDocs, is there a guide I could read to get started?

#

I read the pins and all

worn eagle
#

use the source of other boss mods as references

fair rampart
#

and what language is the API written in? C#?

worn eagle
#

ye

#

the source you should take a look at depends on what kind of mod you're planning

jolly jungle
#

what kind of mod do you have in mind?

deep wave
#

if you're working on making a boss mod you will need to learn to read FSMs, FSMviewer should be pinned

daring nest
#

how would I go about making a charm replace an existing one? (think Void Heart replacing Kingsoul)

deep wave
#

void heart technically doesn't actually replace kingsoul, but is another "level" of the charm. regardless, you'd probably have the regular charm as normal then store in save settings a bool tracking whether you have the upgraded charm

#

when you have the charm equipped, you can hook the get playerdata bool method to prevent the game from seeing the original charm, and from there you can program your own charm effects

daring nest
#

I think I see what you're talking about... I might be able to figure out how to do that

#

I mean I get the gist of what you're saying, but have no clue how to actually make it happen

#

keep in mind I'm almost entirely new to coding, save for experimenting a little with modding Terraria

deep wave
#

you should read the api documentation (pinned), specifically the playerdata reference and section on hooks

daring nest
#

yeah I've been looking at that a lot already

copper nacelle
#

the one on github has a bit on changing charm sprites specifically

daring nest
#

have the doc bookmarked actually

daring nest
#

I just have all these ideas and need to find out how to implement them

#

a new room in Godhome, a button mapping in the inventory to swap between Glorified and unglorified...

#

shit, how do I test whether the player has obtained the Unbreakable version of a Fragile charm specifically?

#

oh wait I found it

fair rampart
#

I want to make a unique Radiance fight mod that’s more complex than Any Radiance 2.0 Radiance in terms of fight features, but also has the fairness of Ultimatum Radiance

#

How difficult would it be to summon enemies in a boss fight that has no adds?

#

I understand most of the code shown in Ultimatum Radiance’s GitHub but I’m not sure if I’m biting off more than I can chew

fair rampart
#

FSMs look simple enough, it just looks like a node based event handler or whatever it's called

#

right?

#

im relatively new to programming, I took two computer science courses in High School from late 2019 to 2020

#

so I know what objects and methods and the primitives are

daring nest
floral blade
#

say, if i wanted to identify if a GO is an enemy or npc, how would i go about doing that?

copper nacelle
#

check if it has a health manager

floral blade
#

that would tell me if it is a enemy right ?

copper nacelle
#

yes

floral blade
#

okay that should work, what about NPCs ? do they have something like that ?

fair rampart
#

I’m so excited to start modding

#

I’ll start by modifying Ultimatum Radiance’s ascension beam to be faster, and then I’ll test my knowledge if I can spawn light orbs during that phase

floral blade
#

elderbug seems to have a "npc_control" FSM

#

might be something i could use

fair rampart
#

I seem to be having an issue with FSMViewer

whenever I click on the Aim node, it crashes

#

any idea why this occurs?

#

and it crashed again on another node. oops

fair rampart
#

@copper nacelle are you still awake? I need some help since im about to go to bed

#

mother's forcing me to bed soon but I want this to happen before I go

fair rampart
#

so im starting to build my edit of my mod to cap off tonight's session

#

and for some reason a lot of errors pop up when I have both UnityEngine and UnityEngine.CoreModule referenced

#

but in order to get rid of my remaining 20 errors I have to reference the CoreModule

#

I should go to bed, I dont know how to solve this without pulling an allnighter. it's almost 4 am

light zodiac
#

What does your usings loook like?

floral blade
#

are you doing a using UnityEngine & using UnityEngine.CoreModule somewhere ?

#

if so probably want to not do using UnityEngine.CoreModule

fair rampart
#

I’m using them both side by side in the references

cedar hemlock
#

not in references

#

in usings

#

their at the top

#

of your code