#archived-modding-development
1 messages · Page 519 of 1
poggers
you have no Mods folder maybe?
What's your keybinds?
why does mapi rename start to start game lol
i mean it originally was Start Game
hunt, i was able to quit the game without any problems
i install mods without any modinstaller
maybe i should prepare a batch file that lets you manually install mods
or a powershell script
now I don't have errors in the project but when I try to compile it says that it cannot find modcommon, modding etc, even if they are referenced and imported in the project with no errors
what are you trying to compile
beautiful
oh, make sure the references in the list have no yellow warning signs
a friend
How do I look at Colosseum enemies' FSMs?
yes they dont have
then they are probably either missing or for the wrong version
probably the version is the problem
im on 1.5
for example if I try to compile daughter of hallownest
oh wait that wasnt to me
@ hunt does that bug happen with debug removed?
yea
I thought it was debug problem lol
i uninstalled the modding api, and it worked and trie with no mods and only the api and it didnt work
he mentioned it previously
noooooooo

This channel hasn't been this active in ages
Welp guess I'm staying on 1.4
yes. Chromebooks waiting like .5 seconds before typing a space that way you type another letter before it
the error??
my thing
it's audio
since jumping from 2017 to 2020 is a huge gap
also getting pretty far on adding multiple patch support to mod installer
i'm sure this is going to frustrate a lot of people 🙃
time to customize modlinks
really
cool
i'm going to make a branch in my github mod page
basically like, 1.4.3.2 edition
question, does 1.2.2.1 also use .NET Framework 3.5?@vocal spire
Yes
We do a little NUKEing
now time to observe unity 2020 documentation 
specifically the last audio file i try to DontDestroyOnLoad doesn't work lol
wait, is it even in the bundle
doesn't don't destroy only work on gameobjects and components
mystery solved, i can't load what never was

in the meantime, i started hk a total of 4250 times by now
let me load some code that doesn't exist from vs
nice
how does one keep track of such number
part of registry on windows, i have a small script that prints such information
give
here, have
foreach (var keyname in Registry.CurrentUser.OpenSubKey("SOFTWARE").OpenSubKey("Team Cherry").OpenSubKey("Hollow Knight").GetValueNames())
{
if (keyname.Contains("_"))
{
string paddedName = keyname.Substring(0, keyname.LastIndexOf('_'));
try
{
string decryptedName = Encryption.Decrypt(paddedName);
string ret = (string) typeof(PlayerPrefsSharedData).GetMethod("ReadEncrypted", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Platform.Current.EncryptedSharedData, new object[] { decryptedName });
Log($"Raw Key: '{decryptedName}': '{ret}'");
}
catch (Exception e)
{
string retString = PlayerPrefs.GetString(paddedName, "DOESN'T EXIST");
if (retString.Equals("DOESN'T EXIST"))
{
float retfloat = PlayerPrefs.GetFloat(paddedName, -123.456f);
if (retfloat.Equals(-123.456f))
{
Log($"Other Key: '{paddedName}': '{PlayerPrefs.GetInt(paddedName, 0)}'");
}
else
{
Log($"Float Key: '{paddedName}': '{retfloat}'");
}
}
else
{
Log($"String Key: '{paddedName}': '{retString}'");
}
}
}
}
while 4.7.2 has arrived
i'm gonna check if it has proper zip archiving tools
if it does, great, if it doesn't, fuck
ayyy, got separate mod lists from different patches
how is save mod data stored again?
I CAN EXTRACT ARCHIVES IN .NET FRAMEWORK 4.7.2
rip
and clyde is.....?
bot
bruh, I just want to send the example of the new modlinks
dm the file to someone here and ask them to repost it here
looks like we have to include seperate patch blocks ourselves
someone should write a program to convert the old modlinks
do you plan to enabling the user to choose which patch to install
Did 1.5 just come out?
I plan to have some detection system
yes
yee
yeah it did
I was up at 5am this morning updating mods
your mod will not work in 1.5 unless you change the .net framework to 4.7.2
Lil late but ye
I slept until 11
also a myriad of other changes
modsettings has been killed in new api
tbh i've been looking forward to this update
because working with .net framework 3.5 was tedious and harder in my case
crap, just had to come out when I'm busy on homework. I'll see if I can find an opportunity sometime to get my mods working. At least I no longer have to have 2 separate branches for each game version.
dang
you do if you want 32 bit compatibility
yeah
kinda why I'm making this installer update
oh yea, 64 bit
uhm
i just remembered...
last time i tried to download from discord using code
it failed
?
like yknow
i tried to set up a code that would install discord game sdk files to set up the discord rich presence without having the user do it
oh yea, that
and downloading from discord threw a Forbidden error code
upload the file to google drive?
doing curl on ocmmandline worked
oh yeah i didn't think about that 😓 sure
i can try that
I havent veen keeping up with this, so whats gonna change with modlinks and stuff?
for now ima wait for visual studio to open the solution
Why is it <Name>1.4.3.2<\Name>
different patch blocks and stuff
Patch name
also.
don't get to the link that's a local path
32 bit compatability kinda cringe
I'm using local paths because it's easier atm
i'm choosing to support 32-bit users 
same
the patch name?
i'm putting memory huggers in all my mods so only people with 10+ GB of spare RAM can play my mods
😎
well imma die cya
would checking assembly-csharp's hash be a good way to detect patches?
What happens when mapi updates ?
there are modding apis for 1.2.2.1
ik
we add 2(or more) hashes per patch
ohhh when it updates
maybe checking another file would be a good idea
is it really a good idea to continue supporting 1.4?
People who want to use it can just use the old modinstaller
mscorlib seemed to appear only in 1.5
there are people with 32-bit computers
but versions before 1.4
Or could you check the version inside the DLL?
^^
that's they're fault, it's 2021
ah yeah

well im finding editing mod installer fun so I will add it
if they are on 32bit they don't have a good enough computer to run mods anyway
true
4 errors right after opening the solution 
computers have been mostly 64 bit for ages
As long as it's not confusing for players I'm all for supporting 32 bit
prob late to the party but new update won't allow mods?
yep
rip
unless you manually install the 1.5 api
wat, yea it will
as long as it's not a hassle supporting 1.4 and 1.5
that seemed to fix it, thanks
i'm doing the hassle for ya so
And this yes
¯_(ツ)_/¯
The mod itself would still need to be made for both old and new mapi / hk
I noticed that if I install moddingAPI tha game is not working anymore
Unless you plan on making frogcore normalise the API
did you install the 1.5 one
my mod's not that complicated (thankfully!) so i can easily port my mod to both 1.4.3.2/1.2.2.1 AND 1.5
a new moddingAPI?
ah no
can someone else link the pre compiled api
you can choose which patches it supports
if it doesn't have a patch for the current patch, modinstaller won't show it
at least from what I've coded this is the case
Installer support is great I think(as long as it's not making the ux complex). I was talking about mods actually continuing versions for both the versions of the game
i forgot to set my mod's target framework
ah, I'm arguing for installer support
so i have to put extracted files where the readme says not in Managed folder?
You could simplify it to just use 2 modlinks , that way only mods available in a version would be in its file
in your managed folder. the readme said the managed folder?
And any number of patches could be supported with just creating a new modlinks
Past or future
then we have a whole modlinks file for each patch, that will get annoying at some point. If all patches are right next to eachother then it's easier to manage updates
kool
I'd expect older patches to be full of archived mods and the occasional current mods
now i can unzip files without using outside libraries
no, in C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\
feels like a dream
then in Managed
ah so I did earlier
but this way if a mod is updated, the creator can update the values for all patches in the same file
but next I have to build the modAPI , not use the prevoius one
you don't, i linked a 1.5 mapi previously.

ok but after how I open the moddingAPI
you just copy all of these dlls into /Managed folder
and launch the game
make sure you have 1.5 x)
previously I used this
shoot can someone send me updated QoL, slow loading times is killing me
True, it doesn't matter much either way I think
sure i can try to send a link to qol download if i can real quick
it's the QoL dll
It's editing 1 file more Vs 2 files less
you have to put it manually into
C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\Mods
It is great that you're adding the support tho!
i am adding support for every version that has modding api supported 🙂
can't wait for bonfire and health bar mods to be usable again
currently i am working on 1.5 version now, since that's the current one i have...
link me a version of the moddingapi with the unmodded assembly and I'll add support
wdym unmodded assembly
unmodded assembly-csharp or at least the hash
oh well I won't be modding until QoL is fixed
scary
well that was fast
might work
thanks
is the pdb file needed?
i doubt, i think that's the debug file
if you want a moddingapi version added, send me either the unmodded assembly-csharp and modded assembly-csharp or their sha1 hashes
if you want errors i would take them for when it inevitably explodes
unmodded: self explanatory
modded: moddingapi
alright i uploaded discord game sdk to google drive, im gonna test if it works
ok I have done it
???
what
(what's ci)
oh ok
just need to get it to auto-release w/ a tag and i'll be further set
poggers
finally got custom grubs to save again 
very nice
nvm about this
idk if we could've started this earlier, didn't log into gog 🥴 (may have been on gog for 5 days already)
lmao
remove instance from the modhooks stuff, everything is static now
ah ok. I was looking from daughter of hallownest project
daughter of hallownest? that hasn't been updated to 1.5, don't look at that
yes but for learning modding I was looking at that
that's one of the older mods, some of the implementation in it is not the best
currently I'm trying to figure out why I added the current patch to the installer's settings and if I should revert that change
now how can I add objects to preloadedObjects?
public override List<(string, string)> GetPreloadNames()
{
return new List<(string, string)>
{
("GG_Hive_Knight", "Battle Scene/Hive Knight/Slash 1"),
("GG_Hollow_Knight", "Battle Scene/HK Prime"),
("GG_Hollow_Knight", "Battle Scene/HK Prime/Counter Flash"),
("Abyss_05", "Dusk Knight/Dream Enter 2"),
("Abyss_05","Dusk Knight/Idle Pt")
};
}
?
ah, so robably somthing is still wrong with references
does the assetbundle browser not work in 2020?
so...did the latest release/commit work for you?
idk, i don't use it lol
though the latest commit might work
as 2020.2 was probably released before 2020
alright
for GetPreloadedNames says that reference to type (,) is not found in mscorlib
Are you using the right mscorlib?
This is net 4 so it should have it even if you don't use hk's
what are Addressables?
I tryed to add it to references but it says that it is already used by compiler
have you tried deleting the old one and adding the new one?
It's probably implicit
Are you going against 472?
3.5 is the one without tuple built in
now I have updated .Net to 4.5 so I have only th problem on GetPreloadNames
I have translated it, it's italian
for GetPreloadedNames says that reference to type (,) is not found in mscorlib
I guess I won't be playing 1.5 then....
472 not 45 ty
.Net version?
yes
4.7.2
dots kinda cold face smh
well imma go do some more testing with the installer now
then I'll transition the old modlinks to new or something I guess
can't exactly do that when they don't exist ngl
any specific plans already for https://github.com/HollowKnight-Modding/HollowKnight.ModLinks?
like: similar to the current modlinks
or a new form, like seperate files for each mod or something
I was thinking same form
But idk
Actual package management kinda thing would be nice
ok now it says that I have a double reference to System.ValueTuple2 both in mscorlib
wooo finally
i can check out how those are done tomorrow at work i mean work, i work at work
The type or namespace name 'RuntimeServices' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'Boo' could not be found (are you missing a using directive or an assembly reference?)
Anyone know where I can get Boo and RuntimeServices?
lmao, what is Boo
Thanks all. Sorry I am not familiar with Visual Studio and C#, I use java and Eclipse at work
now my mod is working again
the assetbundle browser uses it
is there another assetbundle browser not by Unity?
I yeet out everything that depends on boo to make it work
like you delete the files or just the methods?
just the methods
ok thanks
according to https://docs.unity3d.com/Manual/AssetBundles-Browser.html it should work without doing anything?
¯_(ツ)_/¯
also do any of you know what addressables are? Should I be switching from assetbundles to them?
https://docs.unity3d.com/2020.2/Documentation/Manual/com.unity.addressables.html
Description
The Addressable Asset System allows the developer to ask for an asset via its address. Once an asset (e.g. a prefab) is marked "addressable", it generates an address which can be called from anywhere. Wherever the asset resides (local or remote), the system will locate it and its dependencies, then return it.
[...]
Addressables use asynchronous loading to support loading from any location with any collection of dependencies. Whether you have been using direct references, traditional asset bundles, or Resource folders, addressables provide a simpler way to make your game more dynamic. Addressables simultaneously opens up the world of asset bundles while managing all the complexity.
For usage samples, see github.com/Unity-Technologies/Addressables-Sample
honestly, I already read that and I'm not sure what it's saying
appears to be something like a file and you can tell unity to search for it instead of "hardcoding" file paths?
Remote seems to imply auto fetch
i'd test with it in a seperate project first
though you probably can't use it in a DLL as an embedded resource
modlinks but patches
any idea why in 1.5 going to a custom scene causes particles from stuff like dash and super dash to break (turn pink)
Even after going back to a scene that's not custom, the particles are still broken
so I have an update to mod installer that adds support for different patches(as long as there is a moddingapi for that patch)
what should I do with it?
modlinks is rewritten so previous installer versions won't work
fwiw I had a proposal to update modlinks that shouldn't break mi1 or 2 but not at pc 
uploaded my changes to my fork
break them both
you can try my code. in Decoration/Util. just copy them to your project
ah, I see you’ll like my fork
my folder keep it as
nice I got 100
https://github.com/ricardosouzag/ModInstaller/pull/100
can we merge all of these libraries to just one dll?
as far as i remember, 1432 api is just one file
What's the mmhook?
Ok
sum of them just 14 mb
yeah and the repack is more than that
Kills any chance of being able to reasonably dnspy the result
Makes build times for the api significantly worse
It's bloat with no benefit besides being able to ref 1 dll and get 40 things as a result
Damn. You guys have made a lot of progress
How would that help with custom scenes losing material/shader of certain particles?
var mat = new Material(Shader.Find("Sprites/Default"));
SpriteRenderer[] rends = FindObjectsOfType<SpriteRenderer>();
foreach (SpriteRenderer rend in rends)
{
rend.material = mat;
}
Run this when the new scene is loaded
@ornate rivet
that's not the problem, afaik problem is that the knight's dash loses material/shader
like this
yep
github is ded, what do i do with my free time now 
it's interesting that it's only the particles that are broken now
might it be that unloading the custom scene resets the materials used by that scene (not realising we'd need it for the current one as well)?
but why would tc make it do that for stuff like dash, that's going to be in every scene
wait, it's 1.5, just load all assetbundles at the mods initialize/constructor
moments before running out of gpu memory
Me rn: oh god.
DownloadMoreRAM.com - CloudRAM 2.0
Ah. That’s why I don’t encounter this. I load everything on initialise
finally github is up
and so is my shiny new PR
this might be the last update CK gets on 1432 : but it finally adds saving skins in mod settings and a fix for invisible geo
https://github.com/PrashantMohta/HollowKnight.CustomKnight/releases/tag/v1.2.4c
@jolly oriole
So do your new scenes from ToT work?
those work, but i do have exactly 0 materials and shaders in the bundles (maybe a 2dphysicsmaterial and one for custom particles)
so potentially not exactly 0
but in this case, stuff like the shadow dash particles shouldn't be related to the assetbundle's shaders/materials
huh the materials and particles do seem to exist in the scene
so why are they pink??
racist
if you get the material before entering the scene is it the same material as after exiting the scene
or does it get replaced
nvm I dont think that's the shadow dash particle material that's missing
I'll try that
56, did you update your debugmod for 1.5 or should i do it for myself for now? might need to damagetest potentially fucked nailarts
mulhima pr'd it
I had my own shitty one before the settings meme but I assume this one is better anyways
👍
planning to do that because methyl said that apparently nailarts do different damage when in pantheon with all bindings compared to out of pantheon
which seems hella jank
wtf changes the knight's dash's shader
ok I'll just manually set it like I would with SpriteRenderers
I wonder why this is happening in 1.5 all of a sudden
likely new unity version, also now throws an exception when dontdestroyonloading null instead of only logging that it doesn't do anything
I mean that makes sense
what's hc
herocontroller
it's time to on hook every shader change
make with monomod every unity dll hookable /s
I mean you can just do the hooks yourself with the constructor
after building the new mapi , i get this when trying to build my mod
Reference to type 'Action' claims it is defined in 'mscorlib',but it could not be found
any idea what could be causing this ?
I was too lazy to do that
foreach (var i in FindObjectsOfType<ParticleSystemRenderer>(true))
{
if (i.material.shader.name == "Hidden/InternalErrorShader")
{
Log($"Had an error: {i.name}");
i.material.shader = Shader.Find("Sprites/Default");
}
}
This works fine except I think not all the materials that are breaking use Sprites/Default
because some of the particles are turning into rectangles
I have this problem yesterday
try to update .NET framework
so new big brain plan: Copy a list of all the bad materials, figure out what shader they are supposed to use, set shader to that
hopefully this works for all the arenas
omegamaggotprime
what should I do then?
what version would i need ? .NET 5.0 or .NET core 3.1 ?
4.72
Could it be related to the Graphics setting here?
i guess i would update mono then since i'm on mac ?
I don't know how to do with mac. I have just copied new ModdingAPI files under /Managed
and make a reference again
idk if i changed anything there, but i also don't use assetbundle browser, so i may just don't have those shaders, though my personal theory is more in the direction of something bundled that has references to the knight (potentially thanks to a assetstudio rip)
it lives again!
thanks! updating mono and the TargetFrameworkVersion in csproj to "v4.7.2" worked!
Good, I also have to do this yesterday because my mod wasn't working anymore
👍
wait did mapi get another update?
also i tried downloading from google drive with code and it seems like it also had an error
luckily i found a code online that seemed like it had many things i missed, i haven't tested it yet
since?
i read the chat history and someone said they applied pr something
ah. Yeah. 1.5 support is still WIP
lmao
The pr I posted was for mod installer
no, the pr to mapi that like
Add support for multiple patches in modlinks
save settigns or smthin
If iglobalsettings and ilocalsettings is what your using for save settings its the newest one
I think
There have been no prs in this channel recently except mine
?
is it modapi that exposes On.HeroController ?
Yes
yes
In 1.5 MMHOOK_Assembly-CSharp
I don’t see it?
aah that's my problemo
technically i posted the link to a release and not the PR itself
double checkmate ?
true
lol
tbf the 1.5 modding api does work
true
build for latest commit is here https://github.com/HollowKnight-Modding/HollowKnight.Modding/actions/runs/916298306#artifacts
under artifacts
and also you can just compile the code yourself
yes that's what i'm doing rn
Is it wise to start updating mods for 1.5 or are there going to be major changes to the modding API before its release?
I doubt we'll do anything more that will break it
cause we already changed most of the cursed stuff
Does the new Unity version store crash logs in a different place now, or did I somehow crash the crash reporter?
It's either the saves folder or the game folder
I don't remember which is the current one
Hmm, it doesn't show up in either folder
Also if this is from just installing the api I'd make sure you have the newest
No, the installation went perfectly fine, I just refactored my mod for the 1.5 API and it straight up crashes without any indication in the ModLog or any crash reports
I'm not really familiar with attributes, but shouldn't it be easier for https://github.com/HollowKnight-Modding/HollowKnight.Modding/blob/master/Assembly-CSharp/AssemblyTypeAttribute.cs to be an enum?
can you also make the methods generic so i can type o.SetAttr<>("", whatever)?
what
and yeah that should be an enum I just never bothered changing it
iirc
idk what you mean with the generics though they are generic
that is an extension
yea
I don't like extensions on every object they get cluttered very quick
I'd prefer that to be in like a lib like it is but if a bunch of people are using it I could I guess
I had them in modcommon and then I couldn't change them because breaking api meme I think
Aids
i mean, i only added it because i was used to it from serecore/modcommon (idk which one it was)
well, now there are already breaking API changes
is there anything you can even do with modcommon
debug collider
a*
although I find that should be a build-in feature of the mapi
it's handy for visualizing. For example: when you haven't set up sprites for things yet
it be alive! , only had to yeet modcommon and settings.
i need to bring settings back i just added them like last release
the new ones are very easy dw
yeah i saw the example it was pretty simple to grasp
pure vessel skin isn't public i assume
Theres emray and twp onr afaik
why doesn't the ci build the example mods? Aren't they important too since they could break after updates to the api?
why doesn't github have a quick link to the latest action smh
oh damn
green checkmark and then details
nah, l'll just use that link yuri posted
can somebody answer this?
Is that the same modding api or is it a different one
updated since yesterday
Pog
probably because they aren't necessary for the mapi
kinda off topic but are there any linux users here
yeah. But they are still the examples. You would expect them to be updated
yes
doesn't linux have a built-in file download tool for bash
but not for HK
wget?
why did you change Log?
no they're just both very standard
depends on your distro
56, the latest commit of debugmod is broken
curl is ubiquitous
hmmm aleight
@ Mulhima#2695 😤
juat wanna make sure the autodependency install is portable to all OS
curl is used for all kinds of data transfers. wget is specific to files
i plan to use terminal in this
@light zodiac you seem responsible according to 56
why would you make it more specific when curl is more portable
Wget is a command-line utility for downloading files from the web
@rough pulsar wget is easier, curl is more versetile
as long as ubuntu has curl or wget builtin i think its fine
I think it has both
What did the new version of mapi do to Logger.Log?
cool, mac os and windows has curl too
really?
don't use Logger.Log
don't use curl and expect it to work on windows
might come with gitforwindows
yeah i checked
use the Log function in the Mod class
he needs his 800 static logs though smh
alright, thanks
doesnt it come bultin in versions later than 1808 or something
builtin
nope. It comes with gitforwindows
damn
its going to be a pain in the ass to make code for downloading then
i tried webclient
what happens
it threw errors at me when i tried with discord
but what are the errors
like, Forbidden http error
no...
really makes you wonder why it's forbidden
i didnt know i had to do that
I mean for most discord actions you need a login
m
actually i tried downloading from discord with curl and it worked
dunno why it just didnt with webclient
like a file hosted on discord?
I hate making PRS I always forget something
check the headers that curl adds
ok
works normally though
https://github.com/TheMulhima/Debug_Mod/releases/tag/v1.3.7
Compiled version
that's so little smh
curl sends those
yea, the 1432 64 bit one is practically unused
looks like i gotta add the User-Agent and Accept
wow this is jank
nailart damage
hey, remember me asking if AssemblyTypeAttribute should be an enum? Yeah. enums can't be attributes
current findings:
No Charms, No Bindings:
After Creating Save:
G Slash: 450 -> 408 = 42 = 2x
D Slash: 408 -> 356 = 52 = 2.5x
C Slash: 356 -> 304 (2 hits) = 26 = 1.25x
After dying once:
G Slash: 450 -> 408 = 42 = 2x
D Slash: 408 -> 366 = 42 = 2x
C Slash: 366 -> 324 (2 hits) = 21 = 1x
wtf
why does it say I dont have the interface's methods implemented?
Does dying once have a hit before using it
The way it was working out for me was that the first use of the nail art was fucked
Saleh just autogen the methods think about it
I did but nothing happens when I do
wtf
what
drunk ide
i went in, activated invincibility, tested each once (except the second cyclone one, first one i wasn't sure if 1 or 2 hits), then died
Build anyways and see what happens
microsoft, your faulty ide 🙄
do it without testing once pretty sure that's the actual part
fury was triggering only if it was the first time since quit out that nail art had been used last time 
Awful
so use each one once before he pantheon? or what
i'll just use them like 3 times per test
ok i applied the headers that curl does similarly, idk if user-agent matters. time to test le mod
shit shit i forgot to put in the mod lol
trying to build the mapi gives the error " The command " C:\Users\Erik de Vlaam\Desktop\HollowKnight.Modding/PrePatcher/Output/PrePatcher.exe Assembly-CSharp.dll Assembly-CSharp-patched.dll" exited with code 9009." the build mode is release
build the prepatcher first
ok
I swear if you have the same thing as the ci I will murder someone
Is there anyone that has updated their mod to 1.5 and uses dynamically added TextMeshPro components? If I try to add such a component to a GameObject my game crashes without any stack trace or unity crash log.
Also build the release version and not debug
poggers
Player.log is empty as well ?
Where is that file located?
Saves
this concludes the no bindings test, now for all bindings (i heard there were differences 🥴)
So great and dash slash is still at 2.5 and cyclone is 1.25?
This is with strength?
Thanks, I didn't know this existed and it does contain a stack trace.
What's the last column mean?
I did
I'm going to commit a warcrime
Are you building the solution and not the individual projects
I tried both
Is the prepatcher output in output
making a godseeker save and using nailarts will use the old 2.5/1.25 times naildamage formula, while doing so after dying at least once results in the new 2/1 times naildamage
yes
It could be that my user name has spaces in it
Why do you need to die for changes to take effect
🍝
could this be it?
yes
how could I fix it?
oh wow, i think i know why it's 2.5x before dying/maybe doing another thing that somehow rechecks nart multiplier
https://github.com/HollowKnight-Modding/HollowKnight.Modding/pull/49 I created a pull request fixing the issue with crashes when having a username with a space in it
FsmViewAvalonia just closes when looking at the damages_enemy fsm on the Great Slash gameobject in scene4 of 1.5 release
Fsm viewer crashes on 1.5 for me
the non avalonia only works with 1432
but the avalonia one doesn't have a scene list or working search bar sadly
tHeN make an iSsuE if you report a bug to the void then only the void can fix the bug
oh yea, there was a repo for that
y'all want tabs and scene view I guess
imo tabs isn't that much of an issue, but scene list and the search bar is the biggest thing
can somebody give a reason for this?
in the decomp or actual source code?
the mapi
probably looks cleaner ¯_(ツ)_/¯
but you have the difference of this.w <=> other.w
I know
but VS studio marks a lot of them as unnecesary. I get it for the patches, but for the custom classes?
Is the "after dying" per save or per quitout?
where is it used in custom classes
It's just a style preference though
I tend to not use it
@jolly oriole this is Great Slash/damages_enemy
not getting the crash
could you try using this
here just use this https://drive.google.com/file/d/18nS2CqTwLJDavPiYDqhh65c3NYZlPzkW/view?usp=sharing
using this.Field is way better practice tbh
introduces explicitness on the access
Question about 1.5 API:
I understand that 1.5 inherently breaks essentially everything, but is it literally everything? Like, if I get the current 1.5 API and attempt to load some of the random mods that people uploaded to this server too see if they still work, would there be any chance that they do?
For example, if I try celeste.dll, which just added dashing in all directions, could something like that still work, or is there a fundamental change that means that literally nothing built pre-1.5 will work?
If they don't use hooks or save settings then they might.
Which is basically all of them I guess
the changes are super easy
The .NET version being different might nuke them too idk
not really
So then as long as no hooks / settings it would work
did hooks change or smth
we made them static
Yes now they static shock
so you just remove the .Instance access and it works fine
and the new save thing is super easy as well
It is but old DLLs probably won't work as is unless it's a tiny mod
And hooks
well the ModHooks::Instance field still exists
its just obsoleted
and .NET should technically work
because you can access static methods through instances
ah
works, though maybe nitpick?
the search bars do exactly nothing for me
ok nvm, they do display text, but that's about it
it does complain when compiling but would work at runtime?
idk 56 said it didn't
oh yea, forgot that already lol
it works
ok
I can't live without search
is there a benchwarpfor 1.5 yet?
what
my favorite auto complete box with no auto complete
nart damage is 2.5x/1.25x until anything sends the UPDATE NAIL DAMAGE or CHARM INDICATOR CHECK event to the knight
so potentially when you get a nail upgrade, enter nail binding pantheon, equip strength, get fury effect or charms change? (probably this is CHARM INDICATOR CHECK)
after that it's 2x/1x
gonna write a bug report
before i forget it again
though a nart that does 6.5625 times naildamage is probably poggers
gonna test it first
if this holds up
One follow up question (please ping if responding, because I'm about to be AFK for 4 hours):
Would one be able to "update" a simplistic mod to 1.5 if they only had access to the .dll, or would the source code be needed? A lot of the one-off mods never had source uploaded afaik.
one can extract the decompiled source code and have not exactly the same, but pretty close to it.
so updating 'simplistic' mods is possible
holy shit strength narts are powerfull
without damage reset they do 'normal' 2.5x, even with strength equipped
but with damage reset they do 2x without strength, 5x with strength
mapi 1.5 could also support hooks on hooks.instance.xyz right ? if it does then simple mods wouldnt break and anything more complex would need updating due to unity changes anyway
Did you say 5x? So like gslash does 105?
That is omega broken even if it's intended
I really do not want to support instance methods
the mod owners will probably get around to updating them
and yes it is possible to update a mod to not use the instance methods with dnSpy
potentially up to 8.75x with fury
that's fair
Who needs debug nail increase keybind any more
I'll just remove it when I fix those missing files
How is 92 7.125
it's ~7.08, but game rounds down somewhere during that, and 7.125 is the closest then
21*7 = 147?
yea, not 5x
ruined
would've been 5x if it was the nailbinding as base
There doesn't happen to be an extensive changelog of FSMs that were changed in the update right?
yea, dw, math be hella scuffed
i have no idea how this contruct is supposed to work.
everything following is theoretical
one way it could work is that nailart damage is (cases Great & Dash slash):
tmpDmg = nailDamage * (1.25 for cyclone, otherwise 2.5) (* 1.75 if fury effect is active)
finalDmg = round(tmpDmg)
which would cap G/Dslash out at 92 damage. This results in roughly 92 DPS.
Cyclone would cap out at 322 damage. This results in roughly 150 DPS.
another way is:
tmpDmg = nailDamage (* 1.5 if strength is active)
finalDmg = round(tmpDmg) * (1 for cyclone, otherwise 2)
which would cap G/Dslash out at 64 damage. This results in roughly 64 DPS.
Cyclone would cap out at 224 damage. This results in roughly 105 DPS.
in theory the 2nd way should be happening though the 1st way is apparently happening in practice.
the Strength/Fury + NGM combo could need the effects of both Strength and Fury, with a potential damage calculation being
tmp1Dmg = nailDamage * (1 for cyclone, otherwise 2) (* 1.5 if strength is active)
tmp2Dmg = round(tmp1Dmg) (* 1.75 if fury effect is active)
finalDmg = round(tmpDmg)
which would cap G/Dslash out at 110 damage. This results in roughly 110 DPS.
Cyclone would cap out at 392 damage. This results in roughly 105 DPS.
But even this doesn't do more damage than the Fury+Strength+QS combo, which caps out at roughly 224 DPS.
dmgPerHit = round(round(nailDamage * 1.5) * 1.75)
dps = dmgPerHit / 0.25
get graig on this lol
just say pale court released and he will come
i'll make this the bug report
can you cancel bug reports?
The Colo geo bug
why did the ci fail on my pr? It says it can't acces a repository. My guess is that that repo contains the vanilla files?
The bug reports go to Benji? I thought there was a Google forms or something
i reported my bugs to benji, but you could've sent them to benji, simo or the steam thread
anybody have an idea?
ah. Then why add the ci? I mean: isn't it used to validate the integrity of the commit?
idk why the ci doesn't just go from the owner of the repo though
I swear like 1 in 10 messages is check the pins or ?pins in #archived-modding-help
Yeah
new patch which is incompatible with current mods and modinstaller
so kinda expected
we are using the CI to just build nightly
theres literally no other use for it because unit tests can't really happen in a modding api
I already made an update for modlinks that allows for multiple patch support
old modinstaller
?
What happens when a mod (previously turned off in the in-game mods menu) is turned on in the in-game mods menu?
it calls Initialize
Initialize is run?
yes
its also always run on load
but then gets unloaded if the mod is turned off
I tried rn and my mod doesn't reappear on top left
in the mod menu?
Check modlog
Yes
you have to exit the menu
then all changed mods will get activated/deactivated
I didn't want someone spamming on/off to cause performance issues
I exited the menu and changed a scene too
then your mod probably crashed something
Nothing
I was making changes to mod installer 2, and dmed 56 asking for a solution to a weird error, and 56 suggested not doing anything since they’d be doing something their self
Currently my initialze is
public override void Initialize(Dictionary<string, Dictionary<string, GameObject>> preloadedObjects)
{
Instance = this;
PreloadedObjects.Add("Inspect", preloadedObjects["GG_Workshop"]["GG_Statue_Hornet/Inspect"]);
GameManager.instance.gameObject.AddComponent<FindBoss>();
GameManager.instance.gameObject.AddComponent<GUIForSettings>();
ModHooks.Instance.LanguageGetHook += BossDesc;
}```
wwhats your unload
Does it pass null in for preloadedObjects
yeah it should if you don't request any preloads
ModHooks.LanguageGetHook -= BossDesc;
var MainComponent = GameManager.instance?.gameObject.GetComponent<FindBoss>();
if (MainComponent != null) UnityEngine.Object.Destroy(MainComponent);
var GUIComponent = GameManager.instance?.gameObject.GetComponent<GUIForSettings>();
if (GUIComponent != null) UnityEngine.Object.Destroy(GUIComponent);
How do I check that
preloadedObjects only gets passed in on the first time it initializes I think
just cache them tbh
The preloaded object doesn't really matter anyways
well I mean you're indexing it so if its null you'll crash
I'll remove the preload and try
It works now
So Toggleable mods can't have preloads?
Or is there a workaround?
_ _
Idk how
if preloadedObjects objects is null
it means you are re-enabling the mod
it will get passed in the first time
Ok thanks
the lifecycle is basically
1. constructor
2. initialize(with preloaded objects)
3. unload
4. initialize(not with preloaded objects)
5. repeat from 3
i got the auto dependency install thingy working on my mod finally!!!
kinda
i just made a simple mistake i could fix
if i have a Texture2D A & another one B and i do A = B , does the original A get garbage collected automatically ? or do i need to destroy A manually ?
https://github.com/nesrak1/FSMViewAvalonia/pull/3/commits ahhh I knew I should've tested
I was making fun of 56 earlier and being able to trust him with the pr without me testing
ok this better work
I know
btw can you add the Open resources.assets menu, miss it
yeah I'll get to those things tonight
also those lines need arrow heads lol
always bothered me
@glossy pilot ok resources.assets back
anyone on gog it now does that open folder dialog so you can just pick the location
idk that's what a commit said it fixed
ohh I see
you were replying to a commit message
yeah uh, I thought clicking select without anything selected working fine would be obvious but
someone spent three days trying to get me a stack trace which basically showed dude kept trying to click open without selecting a file
I lost faith in humanity long ago
anyone using linux fsm view?
nice, but it can't find my hk path now LOL
also, if I click cancel in the folder selection dialog, the app crashes
you shouldn't trust humanity.

you should’t trust humanity
I’d refer to this sentence
I hate debugging in avalonia



