#archived-modding-development

1 messages · Page 521 of 1

copper nacelle
#

did you check player.log

jolly jungle
#

This time only one of them froze

jolly jungle
copper nacelle
#

bruh

#

exceptions

jolly jungle
#

Oh ok

#

I'm not sure how exceptions are meant to look

#

But there's no mention of the word exception there

#

Nothing there really seems exceptional, no pun intended

#

Though not sure how much of a pun it is, they're the same word and mean the same general thing

copper nacelle
#

did you remove the trigger2devent one

#

I cba opening things

#

hate me

jolly jungle
#

Is there something wrong with that?

copper nacelle
#

show me all the actions imo

jolly jungle
#

I tried removing the transition NAIL but couldn't figure it all

jolly jungle
copper nacelle
#

take a picture

#

I don't want to get out of bed

#

So much effort

jolly jungle
#

No I mean

#

A picture of what

#

My code or the fsm or?

copper nacelle
#

the fsm state you're fucking with

jolly jungle
copper nacelle
#

why would you remove the third one

jolly jungle
#

Third one is nail attack no?

copper nacelle
#

mrw 4

jolly jungle
#

I mean, otehr than freezing it does what I want

copper nacelle
#

index is 3 if that's what you're talking about

jolly jungle
#

the attack isn't deflectable

jolly jungle
#

I just want to make it so the blade can't be hit back

copper nacelle
#

would it not be nicer to just remove the velocity change so you still get the impact tink

jolly jungle
#

This worked, but for some reason all the sturdy fools freeze at one point or another

jolly jungle
#

I'll need to remove the damage too I guess

#

won't be a problem tho

#

Aight I'll just do it like that I suppose

#

I just need to remove this action, right?

#

Not mess with it in any way

#

only remove it

copper nacelle
#

yeah

jolly jungle
#

That would change the index of the other actions, right/

#

?

copper nacelle
#

yes

#

it do be an array

jolly jungle
#

Aight thanks

#

Welp the fool still freezes

#

it might be unrelated

#

but I dunno what else it couldve been

copper nacelle
#

comment out everything else

jolly jungle
#

Yep, the fool froze

#

So it's this

#

Somehow

#

Welp I gtg

#

I'll have to continue this some other time

ornate rivet
#

Where do I get UnityEngine.AddressableAssets from? I can't find it in the hk managed folder.

charred topaz
ornate rivet
#

is there somewhere else I can get that package?

dark wigeon
#

yep you gotta get it from the unity package manager

ornate rivet
#

yea I got it but where does the dll go?

dark wigeon
#

somewhere

#

its in managed when you build at least

#

I think

#

never tried to add it into a game without yet

ornate rivet
#

ok thanks

#

should I replace the assetbundles I use in my mod with addressables?

#

or am I misunderstanding what addessables are for/there's no reason to do it?

dark wigeon
#

addressables are bundles under the hood

#

it's basically just an assetbundle manager

ornate rivet
#

ok thanks

dark wigeon
#

can you send me these bundles

dark wigeon
charred topaz
dark wigeon
#

nvm you have typetrees

#

you don't need dlls

#

with your code I get this

#

where I set the mod name to tomato

charred topaz
dark wigeon
#

not for bundles usually

#

I just forgot about that being a thing

light zodiac
#

<@&283547423706447872> spammer

floral furnace
#

uhuh

copper nacelle
#

snail emoji

#

Re-did the Get/Set<T> and LanguageGet hooks fwiw, should be a much nicer api now

#

also broke every mod while I'm at it so you should get the new one

charred topaz
# dark wigeon

Was able to test it out, and it works great! One small issue I'm running into is that one specific MonoBehaviour seems to be throwing an Out Of Memory Exception when making the call to GetTypeInstance(). Not sure what it is, but I am able to just skip over it and it still works. Might be one of the large animation Object I also have bundled, and it could be too large for it to handle?

dark wigeon
#

size shouldn't matter unless the asset is like over 100mb

#

but I tested on your bundle and there were no errors

#

so maybe your library version is too old or something? not sure why you would be getting different results

charred topaz
#

Wait, just noticed the error is with the WeaverCore bundle

dark wigeon
#

o

#

well you can send it to me

#

see if I can get the exception

charred topaz
#

ok

#

Might be any one of these

dark wigeon
#

pathid -3242457742616307400

#

id 0x72 called MonoScript 🤔

charred topaz
#

I can't seem to find it in UABE

charred topaz
dark wigeon
charred topaz
#

huh?

dark wigeon
#

yours looks different 🤔

charred topaz
#

should be the same thing I sent you

dark wigeon
#

mine is saying it's a monoscript but yours says it's a monobehaviour

charred topaz
#

I'll redownload the bundle I sent you to double check

dark wigeon
#

I meant your screenshot, probably an older version of uabea

charred topaz
#

I'll try it out with the nightly build of UABE

#

Same bundle viewed in nightly UABE, now looks like yours

dark wigeon
#

is weavercore settings a scriptable object?

charred topaz
#

I found the source of the problem. It's a scriptable object with a missing monoscript

dark wigeon
#

yep that will do it

#

this whole time I've been assuming that unity would never let the script be null

charred topaz
#

I find that happens whenever a script file gets renamed or deleted

#

The build now went from two OutOfMemory errors to one, so I have another one somewhere.

#

How do you get the path ID of a Monobehaviour in AssetTools? I'm still getting an OutOfMemory Exception for an asset and was going to try and search it up in UABE

dark wigeon
#

not sure what you mean

#

like given a name get a path id?

charred topaz
dark wigeon
#

let assetstools crash on a command line program, walk up stacktrace, mouse over the info of the asset it was reading

#

or you could try catch and log which asset it was reading at that time

#

well that's not good

#

it will break on any scriptableobject

charred topaz
dark wigeon
#

somehow I made a stupid bug where scriptable objects will read from monobehaviour data instead

#

it's been there for like years

charred topaz
dark wigeon
#

yayyyy

#

now time to go beat myself up

dark wigeon
#

well oof me

#

that broke everything but monobehaviours

light zodiac
#

What am I supposed to return when I use LanguageGetHook

#

Nvm

dark wigeon
#

@jolly oriole @vocal spire @jolly jungle @primal latch going to start stream in 30 minutes unless now is a bad time

jolly jungle
#

Epic

jolly oriole
jolly jungle
#

Ahahaaa

dark wigeon
#

ha

jolly jungle
#

I knew you'll do that grenade

dark wigeon
#

that's what you get for saying "i'd watch"

jolly jungle
#

I thought of adding hornetping for you but decided not to cuz I myself don't mind

jolly oriole
#

i have more of those emotes, thanks to free nitro from epic

dark wigeon
#

only new subs 😢

jolly jungle
#

That sounds like a promo for epic

dark wigeon
#

my free year ran out a while ago

jolly jungle
#

I'm reading it in a salesman voice in an ad from 20 years ago

jolly jungle
#

When the hell'd they give that much away

dark wigeon
#

discord hackathon

jolly jungle
#

Ohhh, cool

#

Never heard of it but sounds hard

primal latch
dark wigeon
#

I'll record it so y'all can see my stupidity later

primal latch
#

Good luck

jolly oriole
#

wait, where you gonna stream? twitch, yt or one of the VCs?

dark wigeon
#

I have it set up for twitch

jolly oriole
#

👍

dark wigeon
#

if that's too hard then I can just use discord

#

twitch link is on my discord profile

vocal spire
#

I’m here now

jolly jungle
#

Sorry I'm late

#

Oooh nes any chance you can also add arrowheads to the lines between states? I know it always starts at an event and ends in a state's name but it'll be easier to read that way

jolly oriole
#

ok, i got that part working, new problems arise

dark wigeon
#

frick there was no mic audio

#

o well

#

chat should've said something

primal latch
jolly oriole
#

yes

primal latch
#

good luck

jolly oriole
#
[ERROR]:[API] - Error: System.Runtime.Serialization.SerializationException: Type 'EnemyChanger.EnemyChanger' in Assembly 'EnemyChanger, Version=1.0.0.0, Culture=neutral, PublicKeyToken=723094b6adc0e8b9' is not marked as serializable.

oh my god

floral blade
dark wigeon
#

I figured that's why

#

at the beginning I was doing a lot of mouse circling

#

I turned on vods

jolly oriole
#

i had it open while getting midly progress with appdomains

#

but fuck those

copper nacelle
#

i just thought you were doing micless

dark wigeon
#

I was explaining why not to code at 3am

#

nah windows totally ignored the mic plugged in, the mic was enabled in obs so I thought it was fine

copper nacelle
jolly oriole
#

nice

ornate rivet
#

I'm trying to fix the pink shaders but when I manually set the shaders in the editor myself to Unity's default shaders (and it looks fine in the editor), it looks even worse in-game.

#

I dont understand

jolly oriole
#

afaik that's because the path_ids of the used materials are different for your assetbundles compared to HKs assetbundles

ornate rivet
#

oh

#

how do I fix that?

#

manually set the shaders in code?

jolly oriole
#

yes, though with 1.5 it should be possible (even for you) to attach scripts to gameobjects that automatically put the correct materials & shaders on the gameobjects you want (even with a bit optimization if the same material/shader is used instead of one for each go)

#

like how i do it with SFCores SpritePatcher

#

but that only reliably works with simple shaders, like sprites-default and -lit

patent zealot
#

Having trouble with inserting the method into mawlek when it lands from a jump, does anything look wrong?

#

I put a log after a lot of it, and all the logs before the insert worked

#

and i cant see whats wrong with the insert

floral blade
floral blade
#

a smolknight update that works across hkmp (required on all clients to function properly)

#

i just need to fix my code a bit

edgy plover
#

I can't speak English where I find the mods

#

please

nimble lake
#

?mods

nimble lake
#

@edgy plover

edgy plover
#

thanks

primal latch
#

Last night I was wondering: why do we help everyone with the same few problems if we can also fix them?

jolly jungle
#

What do you mean

primal latch
#

Like the issue with the mod installer or saves saying loading

merry lotus
#

You'd have to find a way to implement a fix. Like, with the Benchwarp settings issue (saves saying "loading"), it seems that somehow the settings file has an issue being read, and resetting it fixes it. But the only alternative would be to somehow ensure that the settings file didn't have whatever the unknown issue is?

copper nacelle
#

mrw the issue

#

descriptive

jolly oriole
#

the issue

floral blade
#

Also just wondering, how do updates to MI get delivered to users?

#

In case the new modlinks update does not account for this, might I suggest a "tools" section that allows for MI / MI2 or any such tools to also update themselves ?

cedar hemlock
#

When the modinstaller 1 got a update that broke updates, one of the symptoms was that a AU.exe popped up.

#

So, i assume tha AU.exe (likely AutoUpdater) updates the installer

steel bison
#

Hello mo mod install does not work how I can do for it to work it tells me that it has not updated because of the shift hollow knight that took place recament

jolly oriole
#

there's a help channel

steel bison
#

thx

tawny agate
#

Hi

#

Can someone replace all enemies with gorb?

vocal spire
#

This is modding development

ornate rivet
#

I can replace your mom with gorb

tawny onyx
#

anyone who have try this?

tawny agate
tawny onyx
ornate rivet
#

woah

#

it works?

tawny onyx
#

I found it just now

jolly jungle
#

So...

#

If I understood correctly it allows you to load mods while the game is open?

ornate rivet
#

reload them

jolly jungle
#

Hm

copper nacelle
#

call unload load assembly again hotkey

ornate rivet
#

so you make a change to your mod then reload it

jolly jungle
#

What's the difference?

ornate rivet
#

bruh, you dont have to close and open the game every single time

jolly jungle
#

Yeah I get that

#

I meant what's the difference between load and reload

ornate rivet
#

I guess if you didn't load the mod when you opened the game

jolly oriole
#

i mean, it's a start to get reloading of all mods and their content to work

#

currently that only does toggleable mods though

light zodiac
#

Just make all the mods toggleable

#

Easy

tawny onyx
#

i think it should try to pull preload objects again if changed

jolly oriole
# tawny onyx i think it should try to pull preload objects again if changed

i think you're trying to say that the game should just start with the preloading process again, but:

  • some objects from the game (e.g. GameCameras & GameManager are marked as DontDestroyOnLoad, so you'd have to manually find all of them and destroy them)
  • this brings us to the fact that you can't execute code without gameobjects edit midway through writing: you can just have one not marked
  • but then what still remains are static changes (the static variables of some classes, be it modding classes or base game classes)
jolly jungle
#

Alright so thanks to the power of commenting it seems almost definite that this piece of code is also what leads to the sturdy fools to freeze

_control.InsertMethod("Spawn Bullet L", 3, () => {
    _control.FsmVariables.GetFsmGameObject("Pickaxe").Value.LocateMyFSM("collide_with_wall").RemoveAction("Nail Hit", 1);
    _control.FsmVariables.GetFsmGameObject("Pickaxe").Value.LocateMyFSM("collide_with_wall").GetAction<SetFsmInt>("Nail Hit", 2).setValue = 0;
});
_control.InsertMethod("Spawn Bullet R", 2, () => {
    _control.FsmVariables.GetFsmGameObject("Pickaxe").Value.LocateMyFSM("collide_with_wall").RemoveAction("Nail Hit", 1);
    _control.FsmVariables.GetFsmGameObject("Pickaxe").Value.LocateMyFSM("collide_with_wall").GetAction<SetFsmInt>("Nail Hit", 2).setValue = 0;
});

If anyone has any idea how to accomplish this in a way that doesn't freeze them randomly please tell

#

(What I'm trying is to make their projectiles not deflectable)

#

Which works, but they also freeze randomly

jolly oriole
#

where can i look at the fsm

jolly jungle
#

Wdym

#

Which one?

jolly oriole
#

which file to open to see the fsm of the sturdy fool

jolly jungle
#

assets 32

tawny onyx
#

nop, I mean to figure out the changed of a certain mod's objects preload requirements. and load them manually if API dosen't contain , and then add to API's preloaded GameObject dictionary. as for the usless preload gameobjcts, just keep them, dont destroy.
(the picture show is DJ's code, he havent concern a mod with preload objects)

jolly oriole
jolly jungle
#

I tried

#

That was the thing I tried before this

#

same effect

jolly oriole
#

then just do

_control.GetAction<SpawnObjectFromGlobalPool>("Spawn Bullet L", 1).gameObject.LocateMyFSM("collide_with_wall").RemoveAction("In Air", 3);

after spawning it

#

though you may want to put it in a try... catch if you spawn multiple

#

or you do it once after preloading the enemy and then no more

jolly jungle
#

Hm

#

Thanks, I'll try

#

Welp

#

Now it doesn't work at all

#

:/

#
_control.GetAction<SpawnObjectFromGlobalPool>("Spawn Bullet L", 1).gameObject.Value.LocateMyFSM("collide_with_wall").RemoveAction("In Air", 3);
_control.GetAction<SpawnObjectFromGlobalPool>("Spawn Bullet R", 0).gameObject.Value.LocateMyFSM("collide_with_wall").RemoveAction("In Air",3);

Did I mistype anything?

jolly oriole
#

does it crash?

jolly jungle
#

Nope

#

I meant, it doesn't do what I wanted

#

I'm assuming I just missed something

#

And changed the wrong thing somewhere

#

But no, it all seems fine in the code

jolly oriole
#

hm :/

glossy pilot
shrewd igloo
#

Impressive DJ

shadow cedar
#

Good evening fellow peeps. I'm making a custom knight skin and I was wondering if anyone knew which of sprites get cycled through for the "run" (the normal explore around the world walk) animation? I'm using the sprite packer and what I drew looks smooth but once in game it looks entirely different. Does the game pull a sprite from a different animation for a between frame or something?

proven plover
#

Does anyone know how I could make a new spell for the game?

knotty monolith
#

Is weird

shadow cedar
#

oh my haha that would explain it

#

yeah after looking at that frame, i totally see it now. That is very strange.
I'll test the 6th frame to confirm that's it

#

yup confirmed 6th frame of the slash is used for the run cycle
Thank you Basil

vocal spire
#

If it requires a charm to be on, you’d have to make a good amount of edits the spell fsm. If it’s by default you just need to replace the GameObject the fsm creates

quasi ridge
#

still looking for life steal mods

jolly oriole
#

nice

#

and now?

nimble lake
floral blade
#

what is vasi ? like what does it do / why do some mods depend on it?

ornate rivet
#

it's another core mod with reflection stuff and other stuff

floral blade
#

okay thanks!

arctic marsh
#

hey, uh, very stupid dum person here, i need some help with maybe possibly 12% chance of making a mod sometime

what if i want to open and see the code of a certain mod, but its a dll and what if i want to change some stuff in it, dnspy doesnt do that right?
so uh yea how do i like open a dll in visual studio code cause it doesnt work when i open a folder and select a dll from there can i like convert it or what

i have literally no experience with modding and very little with coding but i wanna look around some mods to get the hang of how mods work

floral blade
#

a lot of the mods have their source available on github , that would probably the best first place to start

vocal spire
#

You can also open the dll in Dnspy

floral blade
vocal spire
#

Suggest doing that with the Assembly-CSharp.dll file

arctic marsh
#

alright but i got the github zip for the hell mod cause the apidocs told me to do that and i dont know where exactly the thing i need is, i found a .csproj file but i watched 56's tutorial and it doesnt look anything like that, its just refernces and stuff. what am i missing? did i do it wrong?

vocal spire
#

What did you open it in

arctic marsh
#

visual studio code

vocal spire
#

Ah, iirc 56 uses rider

#

I use visual studio community

#

Can’t really open them that way in vs code (at least I’ve found)

#

Iirc vscode just opens csproj and sln files in a text editor

deep wave
#

the csproj just gives info on references and included files. the files you want to open will probably be in a folder called "source" or similar, there will also be Include tags for each file

light zodiac
#

If you want to open the mod using visual studio you should open the .sln or the .csproj not the .cs files

deep wave
#

... they said vscode, which is not the same TeeHee

light zodiac
#

can you compile mods using vscode?

arctic marsh
#

so im using the wrong thing?

deep wave
#

you can build in vscode

#

i'd certainly recommend full vs though, much easier to work with imo

arctic marsh
#

i mean i did install normal vs

#

if its easier to work with im totally using that

deep wave
#

there are reasons for both, and vscode is totally fine, just a little less intuitive and a bit more work to set up if you've never used it before tamershrug

#

one thing i will mention because it caught me out the first time, make sure you make a project targeting .net framework 3.5 for mods 1.4 and prior, or 4.7.2 if for 1.5 iirc

arctic marsh
#

i guess imma figure out how to do that when i get there

#

oh also
when i add references and everything i saw 56 do in his tutorial is it just hooks and stuff or is there more things i need to do

like can i change how a boss works with just hooks or whatever

tawny onyx
#

recommend to use vs2019, vscode is shit

jolly oriole
#

vscode is amazing, just not for c# projects

arctic marsh
#

alright itssoulgood

tawny onyx
#

i try use vscode to coding with Vue.js , the exprience is terrible. espically the label aligenment

#

also try to remote coding c/c++,and the auto-completion dont work

arctic marsh
#

vs 2019 can open dll right? or did i do the stupid again

tawny onyx
#

Oops, fine, i find some requirement just now. maybe i know why code completion dont work.

tawny onyx
arctic marsh
#

i did the stupid
to github i go

tawny onyx
#

also you can export dll to vs project with dnSpy

arctic marsh
#

you can? how?

tawny onyx
#

the first opion of File Menu

arctic marsh
#

now uh...
i forgot what file i needed to open which actually has all the code and stuff cause the dlls dont seem to have much

floral blade
arctic marsh
#

so i went in vs 2019 and selected class library now its asking me to select .net standard 2.0 or 2.1, .net core 2.1 or 3.1, or .net 5.0
which one do i have to select

jolly oriole
#

class library (.net framework) as a project template

arctic marsh
#

ah, found it, thanks

jolly oriole
#

then .net framework 3.5 if you're making mods for patch 1.4.3.2
or .net framework 4.7.2 if you're doing it for patch 1.5.numbers

arctic marsh
#

so im trying to add UnityEngine.dll as a reference and there literally isnt one

#

im following apidocs

light zodiac
#

Check in hollow_knight_Data/Managed

arctic marsh
#

there is a ton of UnityEngine and then something else but no simple UnityEngine.dll

i assume i dont need it then?

floral blade
#

take a copy of all of Managed directory and put somewhere else

#

use those files as references

floral blade
#

you may need to reference more than just the engine while modding

light zodiac
#

Type it in the bottom of the explorer that opens

arctic marsh
#

confused nodding

merry lotus
#

To whoever is currently working on Mod Installer:
#archived-modding-help message

The current build has been having an issue for people where dependencies don't download / unzip correctly.
This was first noticed a lot with Vasi, but as time goes on, it's becoming apparent that it affects lots of stuff. I'm not sure if maybe there's a way to verify that each step happens correctly before moving on?

arctic marsh
#

i put every unityengine thing as reference is that fine

vocal spire
#

If there isn’t a UnityEngine.dll the game can’t run

arctic marsh
#

found it!

#

ok i did what 56 did with the log thing but how do i turn that into a dll
is it already a dll?

light zodiac
#

What is already a dll?

arctic marsh
#

that was probably stupid

#

how do i turn cs into dll or am i missing something

vocal spire
#

You build the project

#

Ctrl + b in vs

arctic marsh
vocal spire
#

Or you click the build tab at the top then select one of the options

jolly oriole
#

but does it work on the newest beta patch?

arctic marsh
#

how is it not working cry_angry

light zodiac
#

What did you expect to happen

arctic marsh
#

are you mocking me or asking me what i tried to do i genuinely have no idea

light zodiac
#

Why would I mock you

arctic marsh
#

i dont know

light zodiac
#

I don't know what you wanted

#

To happen

arctic marsh
#

anyway i tried doing what 56 did in the tutorial and did the Log("initializing."); so that log pops up but it didnt
is this what makes the log pop up? im really not sure
but i probably did it wrong

light zodiac
#

You have to enable the log by going to save files and opening modding API.globalsettings

floral blade
#

Log probably needs to be enabled in settings

arctic marsh
#

alright

#

after i do that time for more copying

#

why do i always feel like everyone is acting chill but wants to call me an idiot any second radS

anyway where is "save files"?

#

is it in

#

?saves

finite forumBOT
#

Saves


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

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

?

#

its there

#

yay

floral blade
#

We're just worried

#

That

#

You'll steal our nicknames

arctic marsh
#

i mean you dont have an interesting nickname, actually you dont even have a nickname

thats cuz i tend to find someone with an interesting nickname then i change my nickname to that but make it different so its mine, so i now made my nick Mr Steal Your Nickname mylaU

#

the first part is stolen yes

#

can i change a boss attack using a hook or is that just for the knight? how hard is it to change a boss?

floral blade
#

for bosses you might need to modify the FSM

arctic marsh
#

where do i download fsm viewer

young walrus
#

pins

arctic marsh
#

how does it work and what am i supposed to open in fsmviewer

patent zealot
arctic marsh
floral blade
#

so this happens when using smolknight & touching a wall/floor and jumping/dashing some times
any idea what could be the cause

#

nvm found it, now to figure out how to fix

#

x scale gets reset at certain points i guess

floral blade
#

is there a way to replace a method on a mono behaviour?

jolly oriole
#

On.Class.Method += hook;

floral blade
#

this would replace the method or run it after the method ?

jolly oriole
#

though completely replacing a method likely makes your mod not compatible with other mods

jolly oriole
floral blade
#

after should be best for compatibility with mods in my case, i can set the scale back without messing up other mods i guess

jolly oriole
#

Example:

On.HeroController.FixedUpdate += Hook;
private void Hook(On.HeroController.orig_FixedUpdate orig, HeroController self)
{
  // here you can change stuff before the original method is being executed, like changing variables

  orig(self); // the original method, with self and the rest of its arguments

  // here you can change stuff after the original method is being executed, like changing unwanted stuff on the object
}
floral blade
#

oh that should do it! thanks!

#

mapi does this for all monobehaviours in the game ?

jolly oriole
#

yes

floral blade
#

okay ! that did the trick ! no more squished-disco-boi !

fair rampart
#

How can I make a gameObject hittable by the hero's nail like buzzsaws for example?

#

I have to add some component to the object?

#

For example the needle of hornet when she throws to you is hittable but not when I Instantiate it again

floral blade
#

have you tried putting it on layer 9 ?

copper nacelle
#

it shouldn't even have a non bouncer in the first place should it

fair rampart
#

thanks I'll try tomorrow

#

I see that buzzSaw of white palace is on layer 17

fair rampart
vocal spire
#

with the new get hooks do we still need to return PlayerData.instance.Get(type)Internal?

copper nacelle
#

no

#

bro I wrote docs

#

with examples too

#

This is so sad

vocal spire
#

oh didn't see

timid ore
#

heya

primal latch
#

hello

floral blade
#

a mod that makes enemy attacks hurt each other and lets you run sims of them fighting gorbbrain

jolly jungle
#

yes

primal latch
#

but why?

jolly jungle
#

to find who is the strongest

#

And then, we can start tweaking their ais to be smarter, constantly trying to beat each other up

#

We come out of this with a bunch of enemies with enhanced ais

floral blade
#

kind of like that old TV programme Animal Face-Off

jolly jungle
#

Seriously though I totally wanna see a fight between, like, Husk Guard and Moss Knight

jolly oriole
#

making enemies damage other enemies is easy, though it may result in enemies damagin themselves

floral blade
ornate rivet
#

without looking into it too much, I think it would be as simple as setting the Hero variable in the enemy's fsm to another enemy instead of the player go

#

it would require more work if you want to change the fsm to attack all enemies, not just a particular one

floral blade
#

what if i set it to a new go, that i move around to track whichever enemy i want the particular enemy to track?

so each enemy would have its own "lockon" object that we can just move to track whichever object we want it to, this would allow for switching target lockons etc?

ornate rivet
#

ooooo that's a great idea

#

I would test to see if just setting the enemy's hero fsm to another enemy even works first though

floral blade
#

yes, good idea

remote totem
#

so if I wanted to learn to make my first mod ever using HK modding API with zero experience in unity or C#..... What resources can I use to do that?

floral blade
remote totem
#

my last programming experience was sometime in 2000 with visual basic - so I'd more or less be starting fresh

floral blade
#

then it might be good to learn basic programming with c#

ornate rivet
#

any idea why hm.IsInvincible = true; isn't making my go invincible?

#

oh hmm I think I get why nvm

potent dirge
#

is it another of those unused variables that youd think would solve all your problems but then end up not doing it?

ornate rivet
#

nah, the problem was that the fsm changed it too

potent dirge
#

the variable it?

ornate rivet
#

the fsm set hm.IsInvincible too

potent dirge
#

remake hk iwthout the fsms when tbh tbh 😤

primal latch
jolly oriole
#

fsms are great, makes mods easier compatible

ornate rivet
#

fuck
utiny doesn't work past unity2019

#

I hate life

jolly oriole
#

rip

ornate rivet
#

anyone know an alternative to utiny ripper?

dark wigeon
#

fixing it

#

maybe hkworldedit would let you export into bundles or smth

ornate rivet
#

hkworldedit has an update?

dark wigeon
#

it does run on latest unity but the only thing is that sprites aren't rendering

#

due to a bug in the editor again

#

I think if you rebundle it it might fix or something

ornate rivet
#

hmm

dark wigeon
#

my guess is the editor only supports m_RD but the latest version moves it over to a spriteatlas asset that the editor can't read

dark wigeon
#

as you can see it's working with absolutely 0 bugs

jolly oriole
#

i do see a few tbh

dark wigeon
#

turns out the new vertex data is completely wrong so uh

#

idk what to do

vocal spire
#

sad

jolly oriole
dark wigeon
#

the sprite it selects in the spritesheet overlaps multiple sprites

#

almost as if it's for a different texture

#

the texture is correct though

#

and no not mirrored

floral blade
#

Is it flipped or whatever that sprite.json thingy is

dark wigeon
floral blade
#

No no it's not just mirrored like the sprite is rotated 90degrees and the coordinates are as if the image is not rotated 90degrees

dark wigeon
#

doubt

#

not at the pc right now but I don't think it was the same size at all

floral blade
#

That's what knight.png has some sprites are just that way godump generates a flag called flipped for those

dark wigeon
#

that's tk2d

#

those are the only sprites loading in the screenshot

#

the issue is about unity sprites

floral blade
#

Ah okay

jolly oriole
#

there is the possibility that it do be 90/270° rotated for no reason, would align some silhouettes with 'wood' textures somewhat close

#

here, top image is the bottom right part of 1432 fung spriteatlas, bottom image is bottom part of 1432 fung spriteatlas rotate 90° counter clockwise

dark wigeon
#

same sprite from 1.4 and 1.5

jolly oriole
#

hm :/

#

on the release 1.5 or beta 1.5?

dark wigeon
#

same sprite

#

release 1.5

jolly oriole
#

sad, the uabe i have doesn't work with 1.5 ;_;

dark wigeon
#

wat

#

are you using the original

jolly oriole
#

yea

dark wigeon
#

why are you doing that

jolly oriole
dark wigeon
#

well shoot I think I can guess why it's not even close

#

there's a lot and I picked the wrong one

jolly oriole
#

i can manually compare the textures once the texture export is done

jolly oriole
dark wigeon
#

different sprites in those gameobjects with the same name

#

there are two sprites with that name

jolly oriole
#

how

dark wigeon
#

because team cherry

jolly oriole
#

and unity does nothing? 🥴

#

why did unity change the naming of sprite atlases

dark wigeon
#

yeah in the sprite names to index, they have two sprites of the same name with different sprites

#

idk how you do that but it just is

#

oh but sadly they seem to have the same data

#

so I guess that wasn't it

jolly oriole
#

found the spritesheet, silhouette is in bottom right corner, and i don't think any wooden looking sprite and overlap it with any kind of mirroring/rotation in the UVs, idk

#

... it did change btw, was 2048x4096 before

dark wigeon
#

let me try randomly changing values brb

vocal spire
jolly oriole
#

found the part with the 'bugs' i highlighted before

dark wigeon
#

sprite atlas is supposed to be rectangle only?

#

or can it cut the sprite in polygons

jolly oriole
#

polygons

dark wigeon
#

tight packing

jolly oriole
#

if it's tight packing

dark wigeon
#

is that in settingsRaw or smth? I don't see a field for it

jolly oriole
#

good question, let me search

dark wigeon
#

if you look at the new spriteatlasdata there are only rectangles

jolly oriole
#

m_IsPolygon is false with that sprite

dark wigeon
#

oh

#

yeah it's false

#

let me make sure I get one that isn't

jolly oriole
#

uh, about that

#

i can't find a single polygon sprite

dark wigeon
#

they all say false even when they aren't I just checked

jolly oriole
#

yea

#

m_RD/m_VertexData/m_VertexCount says 9 for mush_010000 sprite

#

but idk where to find the data for those vertices

shadow cedar
#

Hello peeps. I'm making a custom knight mod and currently working on the double jump. Does anyone know where the sprites for the "feathers" that fall from the knight after the double jump are? I can find every part of double jump but those dang feathers

merry lotus
#

Have you tried using Dandy's sprite remixer to find animations?

shadow cedar
#

never heard of that, what does that do? I'm using sprite packer currently

deep wave
#

with the knight folder pinned in modding-discussion the animation is "100. Double Jump Wings 2"

#

would appear to be on the wraiths sheet

merry lotus
deep wave
#

for reference, 100 is the wings detail

shadow cedar
#

that is not the sprite I'm talking about

#

the feathers that fall down from the knight after that animation you posted plats

floral blade
shadow cedar
#

plays*

deep wave
#

oh the feathers that fall from the knight? believe those are particles and not animations

shadow cedar
#

@floral blade ah I was afraid that was probably the answer 😦

#

sorry it was hard to explain haha

floral blade
deep wave
#

another reason for 1.5 to introduce customknight 2 feelspkman

shadow cedar
#

yessss

vocal spire
#

hey I already claimed customknight 2

#

customknight +

floral blade
merry lotus
#

Dandy is making CK support more basic stuff, and RedFrom/Someone can make the CK+ extension

floral blade
#

but probably add a space in between

shadow cedar
#

customknight ultra grubfather

deep wave
#

are you patch 1.5.68.11808 for critically acclaimed spaghetti mess Hollow Knight? omg hi 😳

vocal spire
#

I'll add particle replacements to customknight +

floral blade
#

CK already does replace some particles

light zodiac
floral blade
#

particularly the shade's black orbs

vocal spire
#

fine I'll stop working on pale court right now and work on ck+ instead

floral blade
#

on my todo list are the cdash and djump particles

light zodiac
#

Ck+ clearly > pale court

floral blade
#

but before that smolknight!

floral blade
#

CK+ first then any other mods

vocal spire
#

tbh I should do it though, been putting it off for a LONG time now

shadow cedar
#

please

vocal spire
#

Planned features:```
create tk2dspritecollectiondata instances for a inputted texture

edit/add/remove frames from tk2dspriteanimation instances and edit fps (possibly mess with triggers)

change any particle's sprite to a slice of a inputted texture

change any spriterenderer's sprite to a slice of a inputted texture```
did I miss anything

#

excluding the editor

dark wigeon
vocal spire
#

nice

dark wigeon
#

I just try not to understand anything anymore

vocal spire
#

why would you

jolly oriole
floral blade
#

this is probably it

vocal spire
jolly oriole
#

beta branch

vocal spire
#

in game version for me says .68

#

ah nvm

#

I'm not on beta branch

#

thought I was

#

I am on None

dark wigeon
#

ayyyyy

vocal spire
#

nice

dark wigeon
jolly oriole
#

too few edits

vocal spire
#

does this mean hope for utiny ripper update?

dark wigeon
#

lolllll no

#

utinyripper extracts assets

#

hkworldedit just directs unity to the assets

#

what are the chances I know both of these people

ornate rivet
#

:)

dark wigeon
#

yeah utiny looks pretty dead tho

vocal spire
#

sad

ornate rivet
#

wish I was smart enough to update it

dark wigeon
#

it's not about smarts it's just about a lot of work

vocal spire
#

time to become smart enough to update it

#

oh no effort

#

every programmers worst nightmare

ornate rivet
#

will hkworldedit allow assetbundling?

vocal spire
#

I would like to attempt trying to update utiny tho

dark wigeon
#

it's not if hkworldedit allows it, it's if unity editor allows it with it's wack new changes

vocal spire
#

I've assetbundled in 2020.2.2

ornate rivet
#

that's not what he means

dark wigeon
#

utiny doesn't run on assetstools so you'd have to update each asset type manually with binary reader

dark wigeon
#

in assets files

vocal spire
#

ah

#

ohhhhhh

dark wigeon
#

it may break during bundle now

vocal spire
#

I get it now

dark wigeon
#

only way to know is to try

ornate rivet
#

it wouldn't let me assetbundle before either iirc

dark wigeon
#

wdym wouldn't let you

dark wigeon
#

it will always let you but it won't always look good

ornate rivet
#

I remember there being errors but it's been like a year now so I dont remember

dark wigeon
#

well let me know what they are if you try again

dark wigeon
#

oh frick

#

I have debug hardcoded paths

#

hold up a sec

vocal spire
#

well imma go do customknight+ stuff now

#

oh no

#

well good news and bad news on customknight+
good news: I found where I left the code
bad news: it's a old version

#

I was going to rewrite a bunch of stuff tho so it's probably fine

#

probably

rough pulsar
#

I hope it's going to be fine

#

Most of the time it isn't

vocal spire
#

has hk been using tk2d the entirety of development?

ornate rivet
#

probably not when they weren't using unity

#

and were instead using stencil or whatever

rough pulsar
#

It was Stencil yup

ornate rivet
#

ping me when nes updates

vocal spire
#

well as long as it's been used for every unity ver imma port it to all hk versions

rough pulsar
#

nes?

ornate rivet
#

nesquack

vocal spire
#

like 10 messages above

ornate rivet
floral blade
#

meanwhile FSMAvalonia finally loads scene list on mac!

rough pulsar
#

Oh

#

Nice!!!

vocal spire
#

kool

floral blade
#

bad news is i still need to run it via VS / compile it because some paths be hardcoded

jolly oriole
#

cool!

dark wigeon
#

?

#

you mean like the assemblies being in the wrong place?

floral blade
#

no like it tries to get "hollow_knight_Data" but there's only "Data"

dark wigeon
#

oh even that's different

#

dang macs

floral blade
#

like this

#

oh and if you do update it may i request to add an option to reset the game path selected ? i found the txt file by following the code but might be a nice QOL thing to be able to change it

dark wigeon
#

yes I know

#

I just haven't

#

about the data thing, we can just check for mac and then look for a different folder

#

you don't have to change it yourself every time a new commit is made

dark wigeon
floral blade
#

yeah that might be nice but this is still great to finally be able to see FSMs in all scenes

dark wigeon
#

there are now four errors because I'm no longer giving an absolute path

#

but who cares it works anyway

ornate rivet
#

thanks dude

dark wigeon
#

bundle doesn't work because unity doesn't recognize anything as assets

#

if you wanted you could just write something similar to hkwe to copy sprites to prefabs and skip the editor freaking out over glitched scene files

ornate rivet
#

I dont understand how unity works past using its basic features and I also don't know how to learn the stuff that makes hkwe work either

dark wigeon
#

@ornate rivet do you need to bundle or put gameobjects into a prefab or what

#

I can copy any selection of objects directly from the scene to a bundle but that's about it

ornate rivet
#

being able to copy objects into a bundle would be really nice

#

I remember the last time we tried that, it wouldn't copy the dependencies into it so it only ever worked if you used the bundle in the scene it came from which made it useless

dark wigeon
#

can you be more specific

#

like why you are using it

#

are you just trying to basically preload objects, or are you trying to edit the whole scene or what

#

once you copy into a bundle, it's irreversible

ornate rivet
#

trying to make new scenes from stuff in hk's old scenes plus new stuff I add myself

dark wigeon
#

so you probably want prefabs then

#

I haven't really played with prefabs so idk what would happen if packed into one

floral blade
vocal spire
#

does using monomod hooks on unity dlls work?

jolly oriole
#

no

vocal spire
#

sad

#

would've been much easier to use Awake hooks for all the monobehaviours

floral blade
#

will the new modding api have the option to enable / disable in game modlog while the game is running ?

copper nacelle
#

you can detour unity stuff if you construct the hooks yourself

#

And there's been a bind to hide the console for forever

#

F10

vocal spire
copper nacelle
#

new Hook (MethodInfo, MethodInfo)

vocal spire
#

well that is surprisingly simple

#

what do I need to reference for that

copper nacelle
#

MonoMod.RuntimeDetour

vocal spire
#

Thanks!

floral blade
#

i mean the modlog in bottom left

#

F10 does nothing for me

tawny onyx
copper nacelle
#

and yeah Hook takes a trampoline and has better cross mod support

#

Detour is a level lower basically

floral blade
vocal spire
#

would it be possible to get the instance the original method is run on

copper nacelle
#

yeah that is a required parameter for non static hooks

vocal spire
#

Oh ok

vocal spire
#

am I not supposed to be using them on constructors? Tried opening the game and this time a bunch of not responding errors appeared and it crashed on the main menu

#

nvm I think the not responding things were a one time thing

charred topaz
#

Would anyone know how I can find the FSMs related to the Grimm Child? I've been unable to find it with FSMViewAvalonia

copper nacelle
#

resources.assets

charred topaz
#

Yeah i'm dumb. That's the one place i didn't look

vocal spire
#

it seems that hooking a constructor for SpriteRenderer doesn't work

tawny onyx
#

looking over source code of MonoMod.RuntimeDetour and finally understand how to use Hook

// Demo for Hook
class Test
    {
        public string id;
        public Test(string _id) { id = _id; }
        public void func1(int arg1) //origin method
        {
            Console.WriteLine($"id:{id},number:{arg1}");
        }
    }
    class Program
    {
        public delegate void func1_delegate(Test self,int n); //delegate for use trampoline
        private static void new_func1(func1_delegate orig,Test self,int number) //orig is optional
        {
            Console.WriteLine($"hook {self.id},number:{number*2}");
            orig(self, number);
        }


        static void Main(string[] args)
        {
            var from = typeof(Test).GetMethod("func1", BindingFlags.Instance|BindingFlags.Public);
            var to = typeof(Program).GetMethod("new_func1", BindingFlags.Static | BindingFlags.NonPublic);
            var instance = new Test("hk");
            instance.func1(2);
            new Hook(from, to);
            instance.func1(2);
            
            Console.ReadKey();
        }

    }

if use Detour or not use delegate, can also use new Hook(from, to).GenerateTrampoline().Invoke() instead

vocal spire
#

I have been looking

vocal spire
#

seems to not work with constructors with no perameters

#

at least from my testing

tawny onyx
#

show your code

vocal spire
#

well I messed it up testing something else

copper nacelle
#

are you getting a constructorinfo?

#

or what

vocal spire
copper nacelle
#

when in doubt assume everything wrong

#

does the hook get called

vocal spire
#

ok

copper nacelle
#

what happens

#

etc

vocal spire
#

well it doesn't since it's not logging and I have a log in there

vocal spire
# tawny onyx show your code

(in a mod class)

private static void new_func1(Action<Test> orig, Test self) //orig is optional
        {
            Instance.Log($"hook");
            orig(self);
        }
        public void AddHooks()
        {
            var from = typeof(Test).GetConstructors()[0];
            foreach (var aaa in ((MethodBase)from).GetParameters())
                Log(aaa.ParameterType);
            var to = typeof(CK2).GetMethod("new_func1", BindingFlags.Static | BindingFlags.NonPublic);
            var instance = new Test("hk");
            new Hook(from, to);
            var instance2 = new Test("hk");
        }
        public class Test
        {
            public string id;
            public Test() { }
        }```
#

I got a constructor hook working before

#

wait I didn't revert some stuff

#

timeline

  • I got a constructor with a argument working
  • tested without argument didn't work
  • tried going back to one argument but it didn't work
  • was making it use no arguments again to show code
copper nacelle
#
    internal class Yeah
    {
        public Yeah(int h = 37)
        {
            Console.WriteLine("Yeah::.ctor");
            Console.WriteLine($"Got h = {h}");
        }
    }
    
    internal static class Program
    {
        private static void Main()
        {
            var ci = typeof(Yeah).GetConstructor(new[] { typeof(int) });

            var hook = new Hook(ci, typeof(Program).GetMethod("ctor_override"));

            var yeah = new Yeah();

            Console.ReadLine();
        }

        public static void ctor_override(Action<Yeah, int> orig, Yeah self, int h)
        {
            Console.WriteLine("Program::ctor_override");
            Console.WriteLine($"h = {h}, overriding to 20");

            orig(self, 20);
        }
    }
#

e.g.

vocal spire
#

Ok

#

works now, thanks

#

sad System.NotSupportedException: Body-less method

copper nacelle
#

do a native detour then or something

vocal spire
#

what's that

copper nacelle
#

NativeDetour

vocal spire
#

ok

#

well it worked but it didn't

#

got the log in so it was called

#

but it crashed

#

I think I broke something

#

prob because I don't call orig but orig crashes?

#

(trying out hooking GameObject.SetActive)

#

I'll just hook something else

#

IT WORKS

#

yay

ornate rivet
#

cooool

jolly oriole
#

why did TC change the path for GOG, makes modinstaller more complicated

light zodiac
#

What is the new path?

jolly oriole
#

hollow_knight_Data => Hollow Knight_Data

light zodiac
#

Only API is updated to 1.5 grubthink

jolly oriole
#

at least then the people asking for mods in #modding-help will then have their modinstaller working normally

light zodiac
#

Also I just wanna confirm. With the new GetPlayerStringHook, if I return false, it will set the string to what it originally wanted to be?

fair rampart
#

I want to start modding hollow knight,
where do i start?

light zodiac
fair rampart
#

thanks

light zodiac
steady comet
#

(I guess one could say that if you return false, it's like you didn't even add the hook)

light zodiac
#

I should've read the example lol. In that it returns null if it didn't want to change anything

#

Nvm that's for set not get

#

The get doesn't have the bool? return value, it has bool return value

#

So I can't return null

steady comet
#

I think you return false if you don't want to change the string, and return true if you do want to change the string

#

(If you're returning false, then you can set res to null or orig or whatever you like I guess)

light zodiac
#

Ok thanks

steady comet
#

It seems that it works differently for strings, where you change the value of the param and return a bool, whereas for bools and ints you return the new value or null

jolly oriole
#

how the fuck can i tell the package manager in unity to list all packages

rough pulsar
#

The version is 2020.2 right

vocal spire
#

[INFO]:[CK2] - Looking at Sprite Renderer GO: Elderbug (UnityEngine.GameObject)why does elderbug have a spriterenderer

floral blade
#

to

#

render sprites ?

vocal spire
#

no?

#

elderbug is tk2d

#

oh nvm it's a box collider

#

I copied the log and didn't change the text

#

nvm I did change the text?

rough pulsar
#

I broke steam fleascream

vocal spire
#

nvm I copied the code calling the look at sprite renderer method and forgot to change it to box collider

floral blade
#

question, how do you find the path needed for preloading an obj ?
for example "Deepnest_Spider_Town", "RestBench Spider/Webbed Knight"
i see only "RestBench Spider" in fsm viewer

light zodiac
#

there's a gameobject dump for each scene in the pins

floral blade
#

the scenes.rar ?

light zodiac
#

yee

primal latch
light zodiac
floral blade
vocal spire
#

fine I'll go through 1.5 and dump every scene

#

.....after finishing customknight+

copper nacelle
#

he will never dump every scene

primal latch
vocal spire
#

¯_(ツ)_/¯

#

getting a lot of work done

#

I also need to finish/rewrite the editor as well

eager meadow
#

just wanna check, there still no mod installer that works with newest patch?

jolly oriole
#

nope

eager meadow
#

ok thanks 🙂

dark wigeon
#

or just look in assetsview if you can

floral blade
#

are these pink dots an issue or just TC being TC ?

copper nacelle
#

they're always there dwai

floral blade
#

okay

vocal spire
#

customknight + might actually have a kind of working beta now

#

core features working, editor very incomplete

#

needs more features though

light zodiac
#

How can you change a sprite of an item in the inventory?

shadow cedar
#

does customknight support replacing grubberfly beam/projectile? grubthink

vocal spire
light zodiac
#

Thanks

floral blade
jolly jungle
copper nacelle
light zodiac
#

Thank you

rough pulsar
#

gonna tell something

#

thought i would play with modding api 1.5

#

and it broke during an elevator transition zotewheeze

#

the game broke

vocal spire
#

thk's spritesheet changed

light zodiac
#

but why tho

vocal spire
#

¯_(ツ)_/¯

rough pulsar
#

Team cherry 😡

vocal spire
#

i'm not comparing them

#

maybe the fsm changed too?

rough pulsar
#

If fsm changed then the ai did too
That's what i'm assuming

vocal spire
#

yes the fsm is the ai

#

I'm not checking tho, someone else can

jolly oriole
floral blade
#

Apilinks is just modlinks for the api ?

jolly oriole
#

yes

floral blade
#

And what does "automatically verified" mean ?

jolly oriole
#

github action to validate the xml according to xml schemas that also are in the repo

#

set to do its work each push / pull request

floral blade
#

Oh so that broken XML isn't introduced ?

rough pulsar
#

That's awesome

jolly oriole
#

well, that it's visible

rough pulsar
floral blade
#

Yeah I meant it wouldn't be merged into master if it's visible right

#

Sounds great!

#

I'm not super sure on the rationale behind making apilinks separate from modlinks tbh

jolly oriole
#

IMO mapi doesn't belong in modlinks because it isn't a mod

floral blade
#

That's true

rough pulsar
#

I'm still not sure which is better
Mod entries for specific patches only, or mod entries with multiple patch entries in them

deep wave
#

i think the prior makes more sense when looking at mods for older versions (ie debug) where they literally have different functionality

rough pulsar
#

I mean 1.5 modding api is unplayable for me, considering it can hardlock me or something

#

Sometimes

copper nacelle
#

do they have literally different functionality

floral blade
#

IMO the simplest solution would've been keep a modlinks.xml for each patch version in its own directory in the repo.

But this way there's less files to edit and manage I guess.

#

Also, what happens when / if there is a minor patch bump of the game ?

jolly oriole
#

new patch numbers hotdogHotdog

floral blade
#

I hope we wouldn't need to update the entire modlinks for the new patch if it's not breaking

rough pulsar
#

Isn't there an option to make your mod be installable from modlinks in pre-1.5 and post-1.5?

#

Oh nevermind I realized 1.2.2.1 was a thing

floral blade
rough pulsar
#

^^

#

Or just let us decide required DLCs

#

Like

copper nacelle
#

supporting more patches is so much work

#

all the file formats are fucked

rough pulsar
#

@proven plover I think SFCore is what you need to make custom charms

proven plover
#

Oh

rough pulsar
#

Reference SFCore

#

See if that works

proven plover
#

Thanks

#

I'll try that

rough pulsar
proven plover
#

All of the solutions in the file are erroring. Its the same thing that happens. When I try to follow the tutorials on the docs.

#

I think I don't have a reference or something

vocal spire
#

customknight + leak

proven plover
#

Whats going on there?

vocal spire
#

replacing sprites through a json file

proven plover
#

oh

vocal spire
proven plover
#

ok

rough pulsar
#

BB 2 palehmm

vocal spire
#

charm backboards

proven plover
#

Thanks for helping!

copper nacelle
#

Bloodborne 2

rough pulsar
#

Hell 2

jolly oriole
floral blade
vocal spire
#

?

#

wdym

floral blade
#

perhaps json could contain "Ruins2_03_boss", "Battle Control/Black Knight 2/Corpse Black Knight 1(Clone)"
and then the file to replace this GOs sprite with

vocal spire
#

I have code that checks every spriterenderer on scene load and checks when a component is added to a go if it's a spriterenderer. if the json file has an entry with a name that matches the go(no path) it adds a component that will set the sprite on enable

proven plover
#

Which file in sfcore do I reference?

vocal spire
#

CharmHelper?

#

there's a page in the apidocs specifically for sfcore

floral blade
#

basically allows to reskin the entire game

jolly oriole
vocal spire
#

that's only for spriterenderers

rough pulsar
vocal spire
#

tk2d stuff is similar

floral blade
#

some GOs might spawn later though, not on scene load right ?

#

(i ask because i do not know)

vocal spire
#

hmmm

dark wigeon
#

is that why you were trying to hook awake

vocal spire
#

yes

#

but spriterenderer has no awake

#

so I went to constructor

#

but that didn't work

#

then I went to setactive

#

that died

#

then I went to AddComponent

dark wigeon
#

isn't there some kind of fsm call that you could patch

vocal spire
#

?

floral blade
#

i assume preloading is out of question so that you can support a large number of objects ?

vocal spire
#

yep

#

plus it wouldn't work for spriterenderers

copper nacelle
#

preloading pauseshroom

rough pulsar
#

How do you load data into a Sprite class anyways

vocal spire
#

Sprite.Create?

proven plover
vocal spire
#

Texture2D.LoadImage?

vocal spire
jolly oriole
proven plover
#

From github?

rough pulsar
proven plover
#

I have not tried other versions yet

vocal spire
#

?

proven plover
#

I'll try to download the source code

vocal spire
#

no

jolly oriole
proven plover
#

ok

#

I get an error every time I try to download sfcore

#

It says there was an unhandled exception that occured.

#

I'll just download the files

jolly oriole
proven plover
#

thanks!

#

hope it works!

dark wigeon
# vocal spire ?

what places does a gameobject with a sprite get created other than scene load
what I'm trying to say is, instead of patching the unity gameobject create event, can
you not just patch the few methods that exist to spawn enemies and such?

jolly oriole
#

spawnfromglobalpool

proven plover
#

Do you you know where I can find the modcommon dll?

#

I found it

floral blade
#

there's also the matter of wanting to batch modify objects

floral blade
jolly oriole
#

is customknight+ gonna be 1.5?

vocal spire
dark wigeon
#

oof then

#

and addcomponent won't work because extern?

jolly oriole
#

is 1432 support needed? single patch support seems easier i heard

#

also gives us more people that ask in #modding-help because their pirated copies can't get the new mods

vocal spire
vocal spire
copper nacelle
#

who tf uses 32 bit

#

even vs is going 64 bit

jolly oriole
floral blade
#

i think keeping older mods that may or may not be updated usable by down patching is enough

#

new mods shouldn't really need to support both patches

#

mod installer having a dropdown to pick the right patch would be a bonus, not a core necessity

copper nacelle
#

i don't want to support 4 zip file paths

#

either way someone gets annoyed at how i extract it

floral blade
#

give a field in modlinks to choose where to extract the zip and respect directorie structure inside the zip beyond that ?

copper nacelle
#

we had that

jolly oriole
#

why github

copper nacelle
#

it had the same value for everything despite people using different paths

floral blade
#

tbh, people probably didn't know that even existed

jolly oriole
#

even better, now just have everyone have their dll files at the zip root

copper nacelle
#

yeah that's what i want

#

easier

vocal spire
#

Why didn’t people do that before

floral blade
#

is there a reason to replace any of the other game files ?

copper nacelle
#

not really afaik

vocal spire
#

Discord rpc needs to be in the plugins folder

jolly oriole
#

only the cursed assets replacing TWP customknight skins would

floral blade
jolly oriole
#

but those also aren't installed with the modinstaller afaik

floral blade
#

it makes sense then to just extract whatever the zip has inside mods directory. it should not be MI's job to install a mod that's packaged incorrectly

#

having an install script might be nice though

#

for people who need to do custom stuff to install their mods

#

maybe the first time a mod is loaded after an update, a particular method could be called before initialise ? this would allow the mod to setup whatever weird stuff it needs to to work properly.