#archived-modding-development
1 messages · Page 480 of 1
what better tools
my favorite fsm editor: enslaved Sid 3.000
np
shut up taco
you started it
i told you to not come out
ok dad
anyone knows where I could look for the moment transitions occur if it's FSM or "On."
just trying to make my UI fade too when I transition, so far managed to get it on pause menu inventory menu, quick map, but still missing transition, lore tablets, and other little tips screen
Scene transitions?
I'm going to assume scene transitions
and say UnityEngine.SceneManagement.SceneManager.activeSceneChanged
what if using dream nail on a knight did something
if you do do speach you could just make it appear above the player and use a 3d text to it shows through everything
@rain cedar yea, that also how the ALTTP coop is doing it. You basically connect to an IRC-Server which takes all the information when a player is doing certain actions, like opening a chest or killing a boss etc by having a LUA-Script running in the background. And then those messages get read by your co-op partners LUA-Script which is then altering the memory addresses to sync the game states of both players
For the scene transition I just mean the moment the scene fades to black and then fades back in when on the next scene
The HUD disappears when that occurs and I'd like to make my own Hud Element disappear too
On.GameManager.BeginSceneTransition or UnityEngine.SceneManager.SceneMangement.activeSceneChanged
ah... I see where the problem is
I'm using CancelAll from the Knight Map Control FSM to make the UI appear
but CancelAll is also called when transitioning
that's sick
get it infection -> sick
haha funny
but seriously that's pretty cool
that's hella nice
i always wondered what a gank boss with each boss having an AoE would look like
whats AOE mean again?
area of effect
@weak lodge
there can be more than 1 boss
plus i already have mine fully charted out
give me like a month 
sounds good
start doing it idiot
i need to get into c# first
excuses
im almost done with pascal i think
im getting there i should begin by the end of the month
just realized I've been trying to implement shared enemies only for players who're in the same scene as the server host when other clients may be together separately
oof
Could you make like a lobby in the main menu that players join then it loads the same instance of the entire game?
That would be cool but it might be hard to add
In the Knight - Map Control FSM where's the state where the player takes damage while holding the map, I thought it would be the same as leaving the ground since the knight jumps up a bit when hit, but I can't seem to pinpoint it
the only one I've found that did what I wanted was "Cancel All" which unfortunately also triggers when transitioning from one area to another
ah that's better
it's like a spiderweb
which boss is that 
idk what does the tab say
top left
oh jeez cant read
thk fsm is woke
I promise tk2d and editing coming soon
god speed good sir
also you can resize the tab sidebar
do you edit in c# nes?
perl 😒
what do you use ruby
pascal 🤓
cool
but can you do x86 assembly
what does that imply
can you do x86 assembly
is what that implies
then no
what are you gonna do with pascal
understanding fundamentals so i can ditch it for c# eventually
ive had an easier time getting into it than getting into c or c#
try python yet?
nope i considered it but i wanted to start with something simpler
i genuinely want to try to make my mod after 2 years of bitching so
easiest approach then get more advanced as i go along
how big is the mod tho Knightmere?
about same as pale prince
but good thing you waited two years, you would have had to rewrite code for Godmaster
[Insert python interpreter here]
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 22:39:24) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
modding with python real shit
what's ironpython ? idgi
i can try tomorrow
what about this https://github.com/pythonnet/pythonnet
what's the point though
why does there need to be a point
you can export to a dll with ironpython
There are multiple interpreters but having a hollow knight based one would be cool to be honest though I haven't seem a python interpreter just a iron python one
there has to be when you use c#
I don't get how people like python 
Its not hard to learn
I want to start modding hollow knight but I have no idea where to start
making mods right?
well youll need a IDE that can compile C#, most commonly recommended is either Visual Studio (not code btw) or Rider (rider is preferable but from what i remember you might need to pay for it, but its free if you have an edu account)
then .Net framework 3.5, ILSpy for checking and decompiling the games code for references, and the FSM viewer to check the games FSM
Youll also need the API and ModCommon, but these automatically installs themselves to your HK installation path when you execute the ModInstaller
Unity isnt really required, but other modders use it to test stuff much more easily, otherwise most of it is done by coding, then building it as a DLL
https://github.com/fifty-six/HollowKnight.HellMod this mod is the best one you could use as a reference to check for creating your first mod
thanks
just to shorten it
- IDE (Visual Studio or Rider)
- .NET Framework 3.5
- ILSpy (For decompiling the game)
- [Optional until you want to start messing with FSMs, and you eventually will] an FSM viewer
- API and ModCommon from the ModInstaller
Which .assets file contains the Knight's spritesheet?
what do you need it for?
To replace the Knight's sprites, but I don't wanna deal with ModInstaller.
resources

I gotta say custom knight would be much easier but you do you
Thanks
Why not use custom knight?
that's literally the worst way to replace the knight's sprites
Yeah, I realised that just now.
Soooo... Custom Knight comes with Mod installer, right?
yea
Good then
Why some states in FSM Viewer with different color? Does them have any extra meanings?
Playmaker allows you to color states, TC just made only some of them colored
because tc decided to color them
I think hive knight and nkg are the only ones which actually use it
Besides that one line in pv
sly too
I don't get how people like python
@limber walrus it's a very productive language, as long as the project stays small
I get why people praise it and such, but working with it myself I never found it that "impressive", even though I only used it for web work projects with Django and Flask.
And don't let me start on its annoying syntax, especially from the perspective of someone who uses c-style languages on a daily basis.
I was a c-style fan and hated the python style at first too, but now I find it clean and with an autoformatter it makes you save time on syntax bullshit
knowing the exact datatype your vars are when youre reading your shit at a glance is just that good
not being slow and having {} is pretty nice 
i like java because i know more java lol
i like java because i know more java lol
eat it 56, theres 2 of us now
python does suck because oop sucks in python
Hold my C++
ok maybe too hot, but in every major language
oop is cool in c#
like in c++, oop is so bad you can't even use inheritance
and c++
and i oop
i dont need any inheritance 
oop should just be interfaces and that's it
we have function pointers 
vtables are slow and overcomplicated
C# is great in a lot of things, but it's not great at not being oop.
I'll try to avoid shitting on C# in a channel full of C# devs
upside down composition
and that's not a good thing
Oh god.
let me do whatever
its cool in c++, asm, c# 
python i can't edit my own code to make my program do something else 
sounds like a "you" problem
why are you all like this
Technically it's good if you understand what you're doing, not just using it because multiple inheritance is easier than making a well structured code.
Sorry sid, it's just that after wasting so many hours navigating and trying to understand shitty oop structures, I don't want more people to do oop
c# has a decent one i believe
Oh god I've seen some shit code using the multiple inheritance.
the only time i don't use oop is when im trying make something overly efficient
by decent i mean the best i have seen
Yeah, C# has really good oop.
So far out of all the languages I used, and that's including java, c# is the most confusing for me as for "in what class/file is that method located". And no, intellisense is not a fix to this problem.
The only time I don't use oop is when I'm working with C, for electronics and stuff.
cant you do the exact same thing
with java
pretty sure you can name a file this.java, and have a bunch of random classes in there
you are prolly not used to the language then
java heavily uses interfaces, so unless your codebase is "enterprise" it doesn't get so bad
or you are working with shit libraries that make caveman structure
i mean you should just make a cs file for each main class
it does
and only have that class in there, with maybe minor supporting classes included
c# has everything
which is why its nice 
^
c# has everything
And more.
I disagree, this is exactly the problem. You can never hope to fully master it. You're always looking at the documentation, and microsoft's is famous for how shit it is.
bruh
you cant master any language
you are just bad then
and to think you could is naive
look at any language
Like brainfuck ? Not hard to master
just because it’s turing complete doesn’t make it a fully fledged language
Lua, then ? It's easy enough to fully grasp.
Master? I mostly code with the documentation tab open somewhere, it's about the mindset and understanding the concepts not "mastering the language".
if i asked you how to do a random task in lua could you 100% solve it without google?
oh no, not without intellisense
A new foe has appeared
You don't even need to be decent at c# like me if you have resharper 
having more features is never a bad thing unless those features interfere
c# is very versatile because of this
having more features is bad, because it lenghtens the learning curve, and a new developer joining an existing project will have issues understanding the code
what
And C# has really good implementation of most of its features.
that doesn’t make the language bad
you don't even need to know what it does or how
@safe hamlet simple example, the := operator in python 3.8. It was very controversial exactly because of this
When you land on it, you have to learn it, when a simple if would be enough
why, people couldn’t be bothered to look of how it works?
Like, look at LINQ in C# and Java, and see the difference.
yea that’s their problem then
remove ternaries tbh
What you're saying is more complexity is a good thing somehow ?
sure
i use ++ all the time
and --
they aren't needed you can just do x = x + 1 x += 1
If it's well implemented and not affecting the performance, why not?
LINQ or nested for loops with multiple if statements?
It's stuff you have to learn when you can learn other, useful stuff instead
why does python have lambdas
and it ruins the readability of the code
they are for functional programming
yeah no in python you have dicts
i mean an enum is an idea
(hashmap in any other language)
you can just have 01 why not just use that
u know what a dict/hashmap is
its like saying use an array
and being sorry python only uses lists
[] -> list
{} -> dict
yes, "lists" are arrays in every other language
no
python has some terrible design decisions
depends on the language
not really
uh any array you can append to is a list
^
so its either a list or extremely slow
would somebody tell me what mistake i do? When I try to add a FloatCompare Action to a State, and if fsm in this state will throw NullReferenceException, and the game crash...
or it's something more complex hidden behind a runtime. and it probably is
i mean you don't really get better than a simple list
unless it needs to be a hashtable underneath for some reason
rng remover mod 
it seems you're not setting something that FloatComp needs I think?
in particular, the fsmfloat it compares to
prolly the tolerance
it seems you're not setting something that FloatComp needs I think?
@ornate rivet What I really want to do is compare two float,and sent difference Event
you figured out how to assign the events, you can assign the tolerance as well
snake case
grubU
It works 
Are you guys saying you prefer java over c#
wtf
he has lost it seriously
So far out of all the languages I used, and that's including java, c# is the most confusing for me as for "in what class/file is that method located". And no, intellisense is not a fix to this problem.
Example?
making a graphics interpriter for a bizhawk pluggin
to me it seemed like he was talking about the standard library
Does anybody know where the camera position gets changed when getting damaged?
Yeah
It changes the z
i thought they just used time.timescale = lowervalue and shake the camera via unity asset so probably the defult shaking asset from the unity docs
redwing
#modding-discussion pins
Srry, I didnt see that
how much are all these things(mods, dll-decompilers etc) are compatible with linux? Cause i know that Unity works on linux quite well, but idk about other things
they all work fine
avalonia ilspy instead of dnSpy
Rest of it is just the same as windows
IDE wise you would use Rider instead probably
And the fsm viewer doesn't run on Linux is the only bigish difference
the new one that is

I think it wouldn't even be too hard to get the new stuff on the old one
Just a matter of effort
I haven't heard about nor Kt neither Rider
It's just deserialization stuff
are they something specialized for c#, like codeblocks for c++ or WingIDE for python?
"Kt code" refers to the code written by Katie
which is referring to an fsm viewer they wrote
Which works on Linux
Rider is the jetbrains c# ide
Works on anything that supports a modernish web browser
actually wouldn't surprise me if it ran on old versions of ie tbh
also, can you advise me anything to learn to start modding(cause i haven't done anything like this before)?
Look at some examples and just play around with it tbh
ok, thanks, will try something tomorrow
someone send hell mod github
nearly forgot, how do i install my mods into a game?
download the modinstaller from #archived-modding-help and open it. This creates a mods folder in your game directory, just drop your mod's dll file there.
thaks a lot!
which state must I attach a method to in the Knight Map Control to check when the player is hurt while holding the map, my UI just remains darkened
managed to get it to update just fine in other cases such as falling, but getting hit doesn't seem to be linked to any state other than CancelAll which unfortunately also gets triggered on transitions
found a way around it, just made it so that the UI would return to being fully visible whenever the hero is hurt
@jade willow knight - map control - inactive => cancel all
but cancel all also triggers when transitioning,right? unless I'm not understanding what you meant with that message
Create a new state then
There's a transition (HERO DAMAGED) from inactive to cancel all
Is what I'm saying
Ah okay, I saw Hero Damaged but I had no clue how to access that in any way shape or form
In the end I just made it so that it would transition to fully visible whenever the knight was hit, which doesn't seem to cause any apparent issue so far since it transitions from the current value to the same value
I guess it takes care of other edge cases such as getting hit when you're reading a lore tablet (this is my next step, fading the UI when text, tablet or UI hints show up)
alright so how am I being pepega here
_uiCharms.InsertMethod("Set", 0, () =>
{
int charmNum = _uiCharms.Fsm.GetFsmInt("Current Item Number").Value;
_equippedCharms[charmNum]++;
});
NullReferenceException: Object reference not set to an instance of an object
HutongGames.PlayMaker.FsmStateAction.Init (HutongGames.PlayMaker.FsmState state)
ModCommon.Util.FsmUtil.InsertAction (.PlayMakerFSM fsm, System.String stateName, HutongGames.PlayMaker.FsmStateAction action, Int32 index)
ModCommon.Util.FsmUtil.InsertMethod (.PlayMakerFSM fsm, System.String stateName, Int32 index, System.Action method)
ModCommon.Util.FsmutilExt.InsertMethod (.PlayMakerFSM fsm, System.String stateName, Int32 index, System.Action method)
state or fsm is null
shouldn't be
[INFO]:[Charms] Set State null? False
ok but what's the log statement
Log("Set State null? " + (_uiCharms.GetState("Set") == null));
huh
I think action.fsm is null
Because that never gets set anywhere
But it should've exploded on every other InsertMethod then
Nope I'm an idiot
Fsmview doesn't work on linux
@fair rampart Log("Set State fsm null? + (_uiCharms.GetState("Set").Fsm == null))
yeah
that is what was said
The old js based one does though
Wow I'm blind
why a function is called twice in a coroutine?
I would assume the coroutine is being started twice
are there any ways to make 'remove()' just call once ?
Yeah definitely
I can't say what the bug in your code is with just this screenshot though
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Modding;
using ModCommon;
using UnityEngine;
using HutongGames.PlayMaker.Actions;
using ModCommon.Util;
using System.Collections;
using UnityEngine.SceneManagement;
using HutongGames.PlayMaker;
namespace FsmLearn
{
public class FsmLearn : Mod
{
public static PlayMakerFSM fsm;
public override void Initialize()
{
UnityEngine.SceneManagement.SceneManager.activeSceneChanged += GameObjectFinder;
}
private void GameObjectFinder(Scene arg0, Scene arg1)
{
if (HeroController.instance == null)
return;
HeroController.instance.StartCoroutine(PVFinder(arg1));
HeroController.instance.StartCoroutine(PVSetup());
}
private IEnumerator PVFinder(Scene arg1)
{
if (arg1.name != "GG_Hollow_Knight") yield break;
yield return null;
GameObject pv = GameObject.Find("HK Prime");
fsm = pv.LocateMyFSM("Control");
}
private IEnumerator PVSetup()
{
while (fsm == null)
yield return null;
//modify();
yield return null;
remove();
yield return null;
//add();
}
private void modify()
{
fsm.GetAction<SendRandomEvent>("Dstab Tele?", 3).weights[1] = 0.1f;
fsm.GetAction<FloatCompare>("Dash Distance Check", 2).float2 = 1f;
}
private int remove_called_counter = 0;
private void remove()
{
remove_called_counter++;
LogDebug($"[FsmLearn](remove) time:{remove_called_counter} fsm is null? { fsm == null}" );
fsm.RemoveAnim("Tele In", 2);
fsm.RemoveAction("Slash1 Antic", 0);
}
}
}
here's the code
btw,How do you paste codes with block like this?
i think that's a screenshot
oh
```csharp
code here
```
activeSceneChanged is probably being raised twice
@rain cedar Oh I see, thanks for you help
private int tmp_counter = 0;
private void GameObjectFinder(Scene arg0, Scene arg1)
{
tmp_counter++;
LogDebug($"[FsmLearn](GameObjectFinder) Counter:{tmp_counter}");
}
``` Just a Test
btw,is there a hook after a scene loaded instead of UnityEngine.SceneManagement.SceneManager.activeSceneChanged?
Maybe I found it, it's 'UnityEngine.SceneManagement.SceneManager.sceneLoaded'
im considering making a skin for hollow knight. how would i go about doing that? would i just take images from default knight and edit them?
#modding-discussion pinned
👍
My First ModBoss about Pure Vessel,It's a shit like mod
Cool I’ll try it soon
@jolly oriole maybe?
Tot looks really cool. Good luck on it
so here's a question
is it possible with the current modding tools to add a boss somewhere else then in the godhome ?
Yes
awesome news, thanks
i'll start to look into this whole modding thing then
i suppose i can find all the documentation in pins
As an example you should look at the indie crossover or pale champion
thanks
You ever wanna work, but then your device says Unable to boot windows, System files corrupted or not found?
Imagine this level of documentation
not quite sure what the point of that is versus just using the constructor
maybe it's about global targeting?
you lost me at constructer
new FsmEvent(string eventName) as opposed to FsmEvent.FindEvent(string eventName)
When you want an event that already exists you want the latter
Otherwise it compares wrong
ah, I thought it just checked against the string
Idk exactly about normal events but I know the constructor doesn't work for FINISHED
there's a member on FsmEvent you have to use instead
bit me in a mod
Huh. I guess the safest thing is to just always use this then
FsmEvent.FindEvent(string eventName) ?? new FsmEvent(string eventName)

Does hitting two different parryable objects freeze the game?
if you do it on consecutive frames probably
unfortunate
pause unpause fixes it
yea but I think that's going to happen a lot with zemer so I'll have to do something about it
I have a bunch of stuff you can parry and I haven't had it happen fwiw
alright then
GameManager::FreezeMoment
I know it's a thing for enemy kills
Because it happens during wk sometimes
awesome
I was like
Well the work certainly paid off, she's amazing 🤩
Believe it or not, it took me over 100 hours, just to change the character
And there are still spells, charm, not to mention I wanted to add some stories
Hope I can release this skin in, about a week)
No, it should be soon
I hope so too, I need this skin in my game and my life
don't push yourself too much though, you've done a lot of work already
I love it it looks beautiful
amazing work with the HUD! I love it 😄
Thank you! I'm just wondering how can Lazycat finish JOJO skin in 4 days
When I'm drawing the mystery deepens
I'm just wondering how some of you mod this game so quickly 
amazing work with the HUD! I love it 😄
@o.7.0.7#9516 Thank you! I will tell the member who made it. I love it too
4 days... Absolutely wild
I'm wondering how some of you mod 
He finished JOJO in 4 days and all version of Sekiro knight in 2 week
wow that's insane
He is not a human being
jesus it took me over a month to get cought up with JOJO 
I haven't watched jojo yet
go to off-topic if you want more info, I hear they talk about that a lot 
i could do like maybe 10ish animations in 4 days, but just the knight atlas is like 214 animations
well 10ish if i had enough time, my current rate is like 1 a day lol
go to off-topic if you want more info, I hear they talk about that a lot
Nah I'm good, see enough stuff just by hovering art-discussion
He told me he finished 80 animations each day, so 4 days are enough including polish
holy sh-
he also may be a clean artist, which I'd be profoundly jealous of
And it's true, Because he just started to learn Spritepacker before making these skins
80 animations per day sounds so difficult
also daunting like phew. Thats some great dedication... 
Damn I need to take notes for when I try to make a lifeblood skin 
good luck with that 👍
Oooh that sounds cool
this guy making 80 animations a day while i don't know how color adjustment masks work
Ooh cool
Yea my idea is a bit different cause I plan to base it more around the lifeblood seeds things
If im brave enough I might attempt to just make the head a lifeblood seed 
what you could do is just make the knight legs and a head, and draw the lifeblood seed on top 
And the designer is Waterup, he did plenty of great jobs
Yeah there are always skins with the same theme
Omg the grimm child
I'm probably gonna work on concept for my own lifeblood skin in a bit cause iv been holding off on that
ENG
Here is the return of the freshly improved Godmaster version!
Little Hornet (Godmaster version): https://drive.google.com/drive/folders/1PIU05_ZOX0Pqg1MXjJJ7EX5XZkFvIvMk?usp=sharing
Hatchling Silkson...
probably wont finish it because i suck at drawing and sprite packer doesnt agree with me but i always thought it would be interesting to have a mother character skin so i tried my hand at a single frame of lucas
AHHH
he lost it a while ago
it looks good smh
Oh that's a neat lifeblood skin! Very splashy
And hornet looks classy in gold
That Lucas is integrated surprisingly well into the HK atmosphere... It would be impressive if you managed to make him as a whole new set of animations
ill keep working on it i suppose lol i am just struggling with the sprite packer it gives me some error everytime i press check but i would like to make his sword slashes look more like his psi powers to really sell the difference
What's this about sprit editing is there a way to do it without opening up a duplicate Sprite sheet and editing by hand or am I missing something?
I'm working on the unn animation, the skin makers do need a assistive tool to change all kinds of heads in different angles
These are all mechanical jobs
I wonder what Unn little Hornet's gonna look like
@west ridge yeah, you use GODump and Spritepacker, check discussion pins
Thank you that should of been the first place I checked
Can I get exaltation back on the mod installer? https://discordapp.com/channels/283467363729408000/327461802311155714/717932454572457984
sure
I’m probably going to update it some time with deglorification
https://youtu.be/lzjh2t5a9yI
@hasty fractal
The hatchling link results in 404
Looks awesome 🤯
ENG
Here is the return of the freshly improved Godmaster version!
Little Hornet (Godmaster version): https://drive.google.com/drive/folders/1PIU05_ZOX0Pqg1MXjJJ7EX5XZkFvIvMk?usp=sharing
Hatchling Silkson...
Hi everyone! I'm new to the server and I'm nervous breaking any rules or disrespect anyone by accident. so if i make any mistakes please let me know so i can improve.
might wanna go to offtopic to announce that but welcome anyways 😄
Welcome
Lol
Thanks for the welcome
. That beeing said, i came to the server because i was intrested in the skin modding stuff. i have a few ideas and I was wondering which one i should go on with(my art skills are quite poor so i can only do one at a time without losing my sanity). care to listen?(i'm asking here because, well, here seem to be the most interested people about this topic)
I think modding discussion might be better, but idk
yeah, modding discussion is more for ideas, this rooms for developing mods
second rule breaking, that's a ban
I think people will listen to what your idea for a skin is
If you need help with getting the sprites, check the pins for spritepacker and godump
thank you
GG_Grimm_Nightmare doesn't have a _SceneManager
anyone, would it also be possible to just replace the actual music file with a new one, and keep the same name? Or am I being a brainlet
it indeed does, didn't show up in fsm viewer for me for whatever reason
Oh, thanks
I’ll just make changes to the scene manager every time a gg scene is loaded that’s not Grimm or anything that’s not a boss scene
Then I’ll make an separate thing for Grimm
PV and radiance have their own music in the pantheons right?
yes
Ok I don’t need them
Ok, there are some exceptions where FSM is not the correct fsm
I think I can just check if the “gg_music_control” fsm isn’t null
would this work?
try
{
GameObject.find("_SceneManager").LocateMyFSM("gg_music_control").ChangeTransition("Boss Sequence", "Finished", "Statue Level")
}
catch (NullReferenceException e)
{
GameObject.find("_SceneManager").LocateMyFSM("FSM").ChangeTransition("Boss Sequence", "Finished", "Statue Level")
}
i keep getting an error in the sprite packer when i check the knight atlas that says "Repeated sprites below in this collection are modified differently. Please try again after replace the rest of them with the one you need." and i dont really get what is the problem. i press replace and all it does is replace the sprites i edited it with the default one
i must have missed it the first time through, thank you.
where do you find the boss files to edit them btw? I know you gotta use dnSpy to edit, but can't find the files themselves 
how were mods like Lifeblood master developed? they code him up based on the Hive Knight's FSM?
ahh I see, it's not as simple as just taking code from a boss, and using it as a template for another boss...makes a whole lot more sense
I'm planning on adding c# generation but I'm not touching the wpf fsm viewer because it's coded like trash and not x plat
or I could just not

@jolly oriole I can't find GGArena_Prefab, where is it?
Cool
are you sure that prefab exists
They said it does
wdym
I should have been searching for that
I decided to give up for the night so a family member could use my computer
GG_Ghost_No_Eyes.unity and GG_Ghost_No_Eyes_V.unity
Why there specially team Cherry?
idk they just did
also it's not a prefab, else it would be in sharedassets
so they just copied the gameobject to the _V scene
How does ModHooks.Instance.LanguageGetHook work with multiple mods? Is only the first mod's hook called?
ick
Would be nice if the API had a dictionary of sheetTitle/key/values so that multiple mods could make language edits
or something along that line
ah interesting
but if the first one calls GetInternal it goes to the second?
that's good then
Whatever one is first in the invocation list and returns a non-vanilla result gets to go first
If you want to win you just load priority
Or do it in the constructor if you hate cross-compat
Yeah, I thought I had that fail in something yesterday, but now I'm pretty sure I was just targeting the wrong key
yeah, makes sense
If it's something you use for modification instead of overriding then it usually just goes through all
nay
yaynay
yay
nayyay
put pv
yay
can we access another mod's globalssettings?
if so, how
PlayerData.instance.GetBool("other mod var")
does this work?
RandomizerMod.RandomizerMod.Instance.Settings; i think
but thats save settings
theres probably something similar for global settings
where does it get RandomizerMod from?
i think its just a reference
you just ref it
If you want to fail gracefully when a dependency isn't installed you just check for the mod via reflection before calling a method which uses the ref
tfw pdt crashes plando because it couldn't find rando 
not my problem
pog
cool
Want me to test with mono?
even better, make an actual app for mac/linux
well the problem with spritepacker is that it looks in a windows specific file path, so wine/mono won't work on mac/linux
would be cool if we could change the directory
if you literally just make it let you choose an atlas/direct it to where your sprites are located, and have it pack the sprites, then i wouldn't have to find someone i trust on windows to pack sprites for me
working in mono
can it pack sprites dumped from godump?
Godump depends on the size of all frames in an animation to get image size, mine uses untrimmedboundsdata which doesn't rely on an animation
Do you have mono?
should have it installed because of modinstaller
there's no interface for exporting yet and right now it's hardcoded
but see if you can at least run it
open -> one file -> pick file for now
why is it super tho
ok maybe i'm doing something wrong
i mean should be correct
i just navigated to the folder and then "mono sseadv.exe", enter and then it says mono quit unexpectedly
do you want the json or something?
running with wine works but this pops up when trying pick file
the mono bug report i think
linux
or crash report or whatever it's called
I don't have hk on my linux so I'm downloading it now
I also don't have mono wine installed so can't test with wine
@languid goblet can you show the details section
uh there's a lot of text
ok but can you screenshot or copy it
mono worked fine
wine complains about texture memory marshal
i can't really screenshot or copy the whole thing
and what happens if you run with mono?
mono crashes
you can just paste here and discord will make a txt file
i'll dm
fixes (I'm done now for real ok I'll stop spamming)
I have ubuntu if you want to test that version
It artifacts on Linux mono, works fine on Linux wine. Mac mono starts tearing and mac wine can't use openfiledialog for some reason
Mono's fault, not mine
when using Wine, was that with wine-mono or .NET Framework?
if it's wine-mono I'd personally be interested in a bug report


simo add something with a U
Regular mono broke, wine with net45 from winetricks (original .net I'm guessing) works 100% fine
I basically confirmed drawimage is broke in mono now
but what about wine without dotnet45?
May I ask how the co-op mod is doing? I saw that they released a trailer for it on youtube
Do you have wine mono? I just did winetricks so I didn't have to look up anything.
shoot I just tried sixlabors and it's about 100x slower
Does anyone know how the aggro range colliders work? I tried disabling both LineOfSight Update() and the StillInColliders()/OnTriggerEnter2D() from AlertRange by using the On. hook and it didn't work
Any one scene since I'm trying to delete them all pretty much
I can't find anything resembling alert range in hierarchies
This is the Lake of Unn one for reference
Unfortunate
I currently have a hack which is just changing the hero's layer because that's what TC seems to do on death
But that obviously breaks other things
Moss Knight\Attack Range just has an alert range and a playmaker proxy
could prob just destroy the proxy on anything with an alert range and the alert range
according to someone else it works fine in wine mono, probably a libgdiplus problem
have fun building the code for Crystal Guardian, its a bit hellish if you don't have much experience with C# like I do 
I did the same thing haah
I did the opposite
just a warning before you start though: you can't just copy the Crystal Guardian code. I made that mistake already hurhur 
yep
I actually find it fun to mess with fsms
no
you edit the pre existing stuff
copy, paste, remove, add
you more or less look at the FSM and base it off that too
crystal guardian attacks as fast as absrad's lasers oh lord 
maybe you should add phases too? I am working on a uumuu mod and it indicates that it is in a new phase by roaring
and changing color
oh it changes color, pog pog 
I actually added 2 completely new attacks
Davey do me a favor and have Crystal Guardian Shoot those crystals that explode into crystal shard balls
cool
nah those 2 attacks were for Uuwuu, upside down Uumuu
I have an Idea for an attack for crystal guardian that I could add though
he launches off the ground and shoots a beam in a way that you need the shade cloak
yeah
If you want I could help code new attacks since I am nearly done with my Uumuu mod
I am terrible at making animations
I think I am slightly good at making new moves
first I need to move the collision on Uumuu to finally work upside down
Yeah
I think I know how to fix uumuu’s hitbox now
k
I will just do practice
since it is fun
thx
I can't offer a whole lot but I can give you some animation tips/help if you want some when you do start working on animating CG's new moves. Might also be helpful to see the development, so I can work on my own mod
hello
I think it is finished(now with custom music)
what is this
modded Uumuu I think?
well lifeblood master wasn't a modded soul master so this could be any boss
^
lmao
music?
why is the music so large
it's a virus

if you want me to put it on the modinstaller, give me a readme.
monkau
I think you forgot the "don't" 
K
I was too lazy
I was too lazy to do normal things
I’m making a readme
now I think that it sounds better when there is only one audio track.....
Actually, would be nice to see a mod load .wav from resources and convert it to an AudioClip
I tried to do it once and couldn't get anywhere, so I just preloaded an object with the clip I needed 
I remember trying to pass the byte array to some Unity method, but it only ever gave static noise in game
But maybe I missed something
thanks!
copying pale champion code :monkaU:
I just wanted to add custom music
@fair rampart alexxa's cagney is invis, any idea why?
I actually don't
that's just me being lazy
you saw the stream right?
watching it rn
i thought you fixed that bug
maybe the ab is fucked?
one other person who had that issue had it fixed by reinstalling the mod
though I tested in a vm and had the same problem and reinstalling didn't fix anything
maybe the shader?
why is only the boss fucked then
I used Shader.Find("Sprites/Default-ColorFlash")
so the issue was fixed for Alexxa by either disabling benchwarp or seanprcore
idr having either of those in my broken vm but ig this is a solution
it's off because it doesnt feel like he is preparing to punch
it looks like he is raising his gand
hand
ah that's not so bad
so as far as animation for HK goes they like to animate in a flash sort of manner
look at the heads of many enemies and you'll notice Ari rarely redraws them
what I'd suggest doing is using Crystal Guardian's body sprite, and just draw over parts where limbs are
You'll have to edit it yourself, I am also willing to help
yeah I know what you mean, I'm making sprites for the Moss Mother atm
Alright, give me a few minutes and I'll get the body done so you can use it
Alright here is the body, I included a crystal hand. I noticed both of these were used a lot
just let me know if you need anything else
if you want the telegraph frame to feel more dynamic, i suggest moving the arm kind of like it's preparing to throw something and raising the left leg (our right)
cause right now it doesn't look like it's doing much besides raise its hand
In the end it would also be wise to reduce the amount of preparation frames it has, make it a bit more challenging
ooooh it already looks great I love the animation
okay so if I may put some of my thoughts here, I'm thinking instead of redrawing eyes we make another crystal guardian body template with eyes. I can do those tonight and you can (if you want to that is) put them in the animation tomorrow.
this is your project, so I think its fair to have the eyes widen if you want them to
you're in charge
How does asset bundling work once I've make everything do I press a button and it turns it in to a set off assets? And could I make a level this way?
.
Nvm it's in the pin
If I wanted to make a small change to an existing mod, what sort of development environment would I need?
Which is a good editing program to make a custom knight
You should probably start with godump and sprite packer. For the actual editing, I just use anything
Yeah that’s what I meant
I got spritepacker to work
So I need a recommendation of a good (free) editing software
I just use paint 3D since idk good editing software
Hey, any ideas for “easy” mods I could try to make to practice?
@vocal spire thank you for the pointer!
now my ModLog.txt is no longer exploding at 0.5GB/hour
this beats hex-editing by a long shot :D
In the future if you ever need to search big unity logs, get glogg and search by "exception"
damn that jab animation looks really good
homing projectiles /s
pale prince
modded cannons that fire rad beams
what is it though? is it part of white palace or something?
cause of the buzzsaws?
i mean more platforming i guess
https://puu.sh/FYS51/47f58ca8d2.png
there you go
Any news on the pale court mod?
still WIP
Thanks
Looks good except I don’t see pure vessel
ur mum is cringe
Ok
what does that meme
The shriek
Looks good
Yeah for baby Hornet skin
that is awesome
That does sound like a tough one
yes
nope everyone here hates Celeste
not only is there aesthetic (wip, friend is helping me with tilesets) but the gameplay fully resembles path of pain
ok I don't like it anymore
good
I hate it because of all the hours of rage
oh that's cool, path of pain but celeste art style
The abundant dream monsters makes me very uncomfortable
Is there anything better and more useable to work with assembly directly than dnSpy? I can extract code with ILSpy and compile it as aclass lib with dotnet but it wont work properly, all data serialization for classes will fail altho it is virtually the same structure. Just curious if there is something more useable for raw modding (I dont use modloader or whatever)
no
dnSpy is the best afaik if you want to actually straight modify it
If you're ok with some extra steps then you can use MonoMod and that's really nice and you can use whatever decompiler you want
I'd just use the API though
Makes your mods actually cross compatible and there's been a lot of work done to make it easier to do things for you
But you do you I guess
monomod?
It's what the API uses to patch itself into the assembly in the first place
For the patch-time part
There's also the runtime part which can hook any method and modify IL
it's a very good framework
ah, is it like harmony?
the runtime part is similar yeah
imho much better api
Monomod actually backs harmony now
so harmony uses monomod.common
Sorry for taking so long but I finally got to add in your Uuwuu mod. Ngl I like this more than lifeblood master 
@vocal spire
bitch stfu dyno
Not having mod privileges 

Why does this fail if I don't write it as a lambda?
does the hook just not save the instance I'm using
wdym by "fail"
On.GameManager.StartNewGame += start.OverrideStartNewGame receives start with default values
so in my case it was throwing because start.sceneName was null
I guess that isn't too surprising as expected behavior, though
that should be the same thing
As long as you're not capturing any params or anything
show us your non-lambda implementation
and that works with the lambda but not without?
yeah
the exception occurs when GameManager retrieves the respawnScene
yeah, I solved the problem by just making the start location static
but it surprised me at first
It works for me just with a general struct and event
https://hatebin.com/cabiyfdbcz lambdan't
after decomp
hmmm, I wonder if it matters though that test is still in scope as a local variable when you invoke the event
Idk much about making custom bosses, but could I make one in playmaker and then put it in a mod?
yes
Ok
can I ask for help getting the specific sprites of the knight striking the nail? the spritesheet is too messy
get knight.zip from #modding-discussion pins and search in there
are the sprites separate in there? because I already have the night spritesheet (that is a clusterfuck)
hoh?
Skin part finished
I really want to change the shade, anyone can add it into customknight? I will send this skin to him/her
Well, that is a good enough reason to try to add it
beautiful spells

is top howling wraiths or abyss shriek?
woah cool
We will release the whole mod after we finish it
ayyy
is the beasts den the story part of the skin you were talking about?
Because you know the whole mod will be lots of work, and it may come very later)
Yeah I want to change the way getting spells
ooh cool
As you can see all the spells are about silk
woah i just noticed that hornet has spider legs during shriek, that's a really cool touch
what a way of saying "never"
@jolly oriole No I really want it to come out before SilkSong
those are really cool
imo, shade soul could be the silk attack she has in silksong, and abyss shriek could be gossamer storm pointed upwards
that would be one thick ass needle to throw
this one https://youtu.be/gkbM5L5Q9qY?t=471
Gameplay de Hollow Knight: Silksong para Nintendo Switch en Gamepolis 2019.
Tienes más información sobre este vídeo aquí: https://www.hobbyconsolas.com/noticias/gameplay-legend-zelda-links-awakening-gamepolis-2019-459321
Si quieres estar al ...
Is the skin available? I'd really like to try it out
iirc Poppy said it'll be available once it's finished
only just looked back at the chat, sry
no worries
the sprite videos look amazing, Poppy did an amazing job ^^
imo, shade soul could be the silk attack she has in silksong, and abyss shriek could be gossamer storm pointed upwards
@nimble lake I can't remember that, do you have any screenshot?
i love that skin. great work poppy
@nimble lake that skill is a needle throw
yea
I don't think that would transfer very well into a VS reskin because she needs to get her needle back
not to be confused with hornet's fight in HK, when she uses the "needle throw"
i thought it was a shockwave
what
no, she throws the needle and pulls it back in both games
in silksong it only takes half a second though
the needle throw in SS i mean
take it frame by frame
it even pushes her back a little bit when she catches it
I think the ball of silk is better just in terms of dimensions
it should match up visually with the hitbox
I have tried to add shades to custom knight, and I probably have failed


