#archived-modding-development

1 messages · Page 524 of 1

floral blade
#

yes i know, i mean if / when the log works then imma actually write the unload code

fickle sparrow
#

I mean

#

are you loading all of the textures in your Initialize code lmao

#

cause that would make it freeze on load

#

this doesn't seem like a problem with the api tho

#

you are in fact

floral blade
#

let me comment that bit and check

fickle sparrow
#

ITogglableMod on enable calls Initialize again btw

floral blade
#

yep need to refactor it to be toggleable again

jolly oriole
#

isn't there a / too much

fickle sparrow
#

///// just goes down to /

jolly oriole
#

oh

fickle sparrow
#

in all file systems

#

if it doesn't then pauseshroom

floral blade
#

Yuri it works like magic , it was CK doing CK things

fickle sparrow
#

nice

radiant basin
#

what do i name the dung defender sprite sheet?

floral blade
#

dirtyboi.png

radiant basin
#

oh so i can name it what i want, i guess the name isnt the reason why its not working then

floral blade
#

i mean you can name it whatever you want to

#

yes

light zodiac
#

@radiant basin try this instead

radiant basin
#

i have 0 idea how to do that, its probably not working because i got this wrong

light zodiac
#

Did you add the PNG as an embedded resources?

radiant basin
#

AH

floral blade
#

and you could directly use "Dung Defender" in the second field i would assume

jolly oriole
#

does the new xml need an assemblyinfo.cs? because then the assembly version tag in the xml is unnecessary

radiant basin
light zodiac
#

Does washer knight work in HoG?

radiant basin
#

i think so

floral blade
radiant basin
#

and yeah it works in HoG

floral blade
#

i'm curious what're you planning on making ogrim into?

radiant basin
#

i want to make the sprites when he rumbles his chest into the "me when beans" ones

#

so just distorted

floral blade
#

okay

#

i dont know what you're referring to but that sounds like it might be fun

#

warped boss vs uwu knight

radiant basin
#

id send it here but ill probably get smited lol its usually spammed in #hk-meme often

light zodiac
#

Dandy make washer knight roll into a ball of old clothes

floral blade
radiant basin
#

if you give me the godump i could probably do something as thanks for helping me with this

floral blade
radiant basin
#

niice

fickle sparrow
#

its useless

radiant basin
#

also the godump for dung defender would be nice because godump just doesnt make atlases for me

light zodiac
floral blade
#

in case that was directed at me , you've already helped me by making the uwu expressions on a new layer

radiant basin
floral blade
#

i shall attempt a dump defender

radiant basin
#

pfft thanks!

#

ive renamed everything but it still names the dll as WasherKnights?

floral blade
#

inside the csproj file

#

AssemblyName is prolly what does it

jolly oriole
#

bro python fucking sucks

#

put in multiple lines for fucking reasons, i hate regex in programming languages

re.sub(
    "\\\\\\.\\\\\\.\\\\\\\\\\.\\\\\\.\\\\\\\\\\.\\\\\\.\\\\GOG\\\\Hollow Knight \\d\\.\\d((\\.\\d)+)? (Modded|Vanilla)\\\\Hollow Knight_Data\\\\Managed\\\\",
    "$(HollowKnightRefs)/",
    groupChild.getElementsByTagName("HintPath")[0].firstChild.wholeText
)
radiant basin
#

ive changed it here but it still does it as WasherKnights

floral blade
#

i mean in the .csproj file

copper nacelle
#

have you heard of my boy

floral blade
#

this bit

copper nacelle
#

r"raw string"

jolly oriole
#

r"" died for no reason before so i ditched it

#

also fuck minidom

#

reads \ as \\

radiant basin
jolly oriole
#

fuck this i'm removing this regex

copper nacelle
#

parsing with regex shroompause

#

doomed from the start

fickle sparrow
#

so true

floral blade
radiant basin
#

no the .dll file

floral blade
#

glad you got it working then !

radiant basin
#

thanks to you!

floral blade
radiant basin
#

hell yeah thanks

merry lotus
#

@light zodiac is it possible to make everything left-aligned, instead of toggleable ones being left-aligned and sub-menu ones being centered? It looks odd, imo.
||I've only loosely been keeping up with the new menu talk, so if this is completely irrelevant with this current version of the 1.5 mods, then I'm sorry 🙃||

floral blade
#

Dwarf you testing 1.5 stuff popseeker ?

deep wave
#

tbh imo the centre vs. left align is very functional, especially when you have a separate toggle and settings in the same list

#

there needs to be some visual distinction, even if it looks a tiny bit messy

fickle sparrow
#

yeah and thats how vanilla does it

merry lotus
#

Ah. Does it at least auto sort all toggles to the top always then? (They are currently in alphabetical order, so I can't tell just from these)

fickle sparrow
#

its mod load order

jolly oriole
#

mod load order is fucked

fickle sparrow
#

extremely true

#

but it doesn't sort them

#

cause I can't be assed

floral blade
# merry lotus

i'mma prolly finish my 1.5 CK build this week unless Yuri adds more cool stuff then, imma send it over to you sethscheme

floral blade
jolly oriole
#

i have a fork of mapi where i have sorting them in the order they are needed, but 56 told me to not have that because apparently the types are there regardless, so i'll give the shoutouts for having that weird order

fickle sparrow
#

no its just mod load order

fickle sparrow
#

i said it doesnt

jolly oriole
#

when

floral blade
#

ah it's one for 2 ifs and not 2 ifs 2 fors

jolly oriole
#

found it

fickle sparrow
#

yeah i only iter through once

merry lotus
#

Imo, it's really jarring to have the two different kinds of alignments close like that, and if they weren't coincidentally sorted right now, I would have visual difficulties with it. I personally don't have visual issues like this too bad, as far as it goes, but it may be something to consider, as I know people who will definitely have issues with it if there are more mods there. (The primary difficulty if that if they are mixed up, the center-aligned ones are easy to visually/mentally "skip over")

floral blade
fickle sparrow
#

have you looked at the vanilla menus

pine girder
#

Is it possible for custom knight mod to change items/spells prompts?

fickle sparrow
#

i cant really sort them

floral blade
#

no sort just all toggleables then all menus

fickle sparrow
#

cant do that

merry lotus
fickle sparrow
#

well i can

#

its just cursed

floral blade
merry lotus
#

I honestly just feel like it's always worth mentioning something if it may be an accessibility issues, even if it's not as significant of an issue as other kinds.
I'd put it at the same level as "some fonts are more difficult for certain people to read", which is also something that is not a huge issue, but is something that people can often address if notified about it.

floral blade
radiant basin
#

oh man the roar animation is only 3 frames its gonna be hard to make the distortion look right

floral blade
#

this should be nice

pine girder
#

Prompts are the UI when you find abilities and spells

#

Showing knight holding or ulitizes

floral blade
pine girder
#

Good to know

jolly oriole
#

i think my script to change the v15 xml to the "god" xml is good now, but i probably need to add something like project guid before actually using those new xmls

copper nacelle
jolly oriole
#

why didnt you link it before

copper nacelle
#

because i thought you were just converting refs

#

with the xml

jolly oriole
#

smh

light zodiac
# merry lotus

Is there a way to allign the button or do I have to do it manually with adding spaces?

fickle sparrow
#

you can always edit the game objects

#

and their positions

light zodiac
#

How?

#

It's created by mapi

#

$"{icmmod.GetName()}_Settings" do I look for this object or something?

fickle sparrow
#

yeah just search for it tbh

#

this config is all possible I just didn't want to bloat the config structs with it

#

but if you look at the source you can see the structure

primal latch
#

I had a cool PR prepared that added an option to open up a console that would log everything with a designated colour, but I just realised that I am using the windows API to attach a console and I couldn’t find a way to do it on max and linux

#

Now I’m sad

floral blade
#

You might be able to just output to a log file and open a "tail" command on Linux / mac

#

Not sure if the colors would work then tho

primal latch
#

Then I could just tail the mod log file right?

jolly oriole
#

coloured ingame log would be poggers

primal latch
#

I didn’t mean in game

#

I meant a secondary console window

primal latch
#

I could try adding colours in game

light zodiac
primal latch
#

Nah. I think I got a way

#

Just wondering: is tail a default command on macOS and linux?

copper nacelle
#

don't output color codes to a text file

primal latch
#

I wasn’t planning to

#

I was planning to just not support colours on unix-based systems

copper nacelle
#

if anything it'd be trivial to color based on log level in game

primal latch
#

I was firstly planning to add it to an external console

#

And I could just make it a setting

#

In game colour console

copper nacelle
#

I mean when you add text to the console you can just inject a color tag for unity to handle

#

The actual file writing being completely unaffected if you do this only on the console

primal latch
#

That was what I was planning

#

But I need to know if tail is a default command on macOS and unix

copper nacelle
#

why

jolly oriole
#

if you're doing things to the in game log, can you also put a black image behind it, so its readable everywhere

copper nacelle
#

but then it's ugly

#

So sad

jolly oriole
#

transparent black also works

primal latch
#

I could do that

copper nacelle
#

I think tail is coreutils

primal latch
#

To all unix based systems?

floral blade
#

And an option to resize the console if it's not too much work

primal latch
#

Damn. Let’s just rewrite the console

floral blade
primal latch
#

Great

#

I’ll get to work after school

copper nacelle
#

literally wtf

primal latch
#

This will be my first major contribution to the mapi

primal latch
copper nacelle
#

why tf do you need tail

primal latch
#

I have no way to directly output to an external console on macOS and linux

#

Otherwise I could also inject colour into the macOS and linux console

#

The original idea for this PR was to add a setting to open up a second window with a console that way it doesn’t obstruct the game view and you can have the output on a secondary screen

floral blade
#

Can unity not open two windows?

primal latch
#

On windows I can use the winapi to create a new console window, but since this uses the winapi I can’t do this on other platforms

primal latch
light zodiac
#

how do i change the player's setting like ingame brightness

copper nacelle
#

actually can't find a way to spawn a terminal window on linux

#

Aids

primal latch
#

Process proc = new System.Diagnostics.Process ();
proc.StartInfo.FileName = "/bin/bash";

copper nacelle
#

sus

primal latch
#

Wait…. Not everything might have bash

copper nacelle
#

does that actually pop up a window even

primal latch
#

No. You still have to call proc.Start();

copper nacelle
#

I mean on start does it not just spawn a subprocess

primal latch
#

?

copper nacelle
#

like if I fork and then execvp bash when no terminal is open it's not gonna open one

primal latch
#

Ah. Good point. I’ll have to look into that

#

Well, it seems there is no default way to open a console on linux. I’ll just drop it and make improvements to the in-game console

#

I’m not going through the hassle of creating a seperate console application and calling that from the api

#

That is a bit excessive for this feature

floral blade
#

@light zodiac did you ever get big knight to work ?

light zodiac
#

to work yes

#

to work without giving headache no

floral blade
#

wdym ?

floral blade
light zodiac
floral blade
light zodiac
#

would you happen to recall where that was

floral blade
#

i barely know how to view FSMs so it is likely in herocontroller itself but i can check once again tonight

floral blade
#

lol found it

light zodiac
#

time to fix bug to make bug bigger

rancid yoke
#

how can i get started with making Hk mods?

floral blade
#

else you'd do those before hand

rancid yoke
#

hmmmm what classifies as basic programming unity not very well

light zodiac
#

it works now

floral blade
light zodiac
#

i was recording

merry lotus
#

You gotta become one with WinKey + Alt + G

light zodiac
#

it may or maynot have a bug of getting stuck on the floor

floral blade
#

Glorious !! now all you need to do is make every step shake the screen and increase nail knockback like heavy blow does

light zodiac
#

is it too big?

floral blade
#

I'd didn't realise just scaling up would automatically make the knight slow but that makes sense for it to feel slow

#

As compared to the animation speed the ground covered reduces a lot

floral blade
#

Big characters need to slow down a bit under their weight imo

light zodiac
floral blade
#

This is amazing I imagine kaiju fights now

light zodiac
#

time to do pv

floral blade
#

Someone needs to make pv skin that makes it gojira

merry lotus
# light zodiac is it too big?

My two cents: make it in between that size and base Knight size. It'll still feel big, but will be more interesting gameplay.

light zodiac
#

2 is too small

#

3.5 or 4

floral blade
#

Fun idea, the knight's scale increases by 0.1 every second , so hitbox keeps increasing, getting in some damage resets the timer but not the scale that'd reset only if you die or kill a boss

light zodiac
floral blade
light zodiac
#

now to add the hkmp stuff i just casually yeeted tisoweary

floral blade
light zodiac
#

or how about i dont add it

floral blade
#

watch as someone adds both smol and big knight and is confused lol

light zodiac
#

does hkmp allow you to change names?

#

midgame

floral blade
#

yes if you disconnect and reconnect

#

not without a reconnect afaik

light zodiac
#

i wanted to make this so you can press key to toggle size

floral blade
#

it would work, but not when HKMP , because you need to also let the other players' games know

#

for single player it would work

light zodiac
#

so single player it is definately not because I'm lazy

floral blade
#

there is a way to make it work, but it's a one time trick lol

#

tie both biggen / smollen to an animation & make the knight play that anim. when any of the player objects from HKMP play the same clip change their localScale.

it won't work across scene transitions, but for temporary transformations it can work.

#

it can be made to work across scene transitions if you play the correct animation byforce after each scene transition lol

light zodiac
#

time to learn how to tie it to animations

floral blade
light zodiac
#

is setvignette only used in HKMP stuff?

floral blade
#

but always

light zodiac
#

no but like before each of its use you check transform.gameObject.name.StartsWith("Player Container")

floral blade
#

!

light zodiac
#

ok

floral blade
#

Player Container is something HKMP adds

#

so only current player would not have it

light zodiac
#

ah

floral blade
#

might have been easier to just check transform.gameObject == HeroController.instance.gameObject

floral blade
cedar hemlock
#

hopefully xD

floral blade
#

the new mod menu , if adopted by major mods will take all this out of pause menu

primal latch
#

Imagine not having your mod settings in the dedicated settings tab.

#

Our settings have been in there from the moment we added them

light zodiac
#

our?

primal latch
#

Fyremoth

copper nacelle
#

communism

primal latch
#

Oh god. You found the secret lore behind the colours red and gold in Fyremoth

light zodiac
#

why does fyremoth even have settings

floral blade
#

even before modmenu existed ? 😮

primal latch
primal latch
floral blade
#

in 1.4

radiant basin
#

could also make the dung balls into balls of beans

light zodiac
#

Change his starting text

#

To make it say what you want him to say

radiant basin
#

how do i do that?

copper nacelle
#

oml no it's the shitty beans meme

#

This is the worst thing I have ever seen

radiant basin
#

PFFT

light zodiac
floral blade
ornate rivet
#

are the apidocs hook page even accurate anymore

#

they're not right?

floral blade
#

for 1.4 yes i think

copper nacelle
#

1.4 🤢

ornate rivet
#

1.4 is the best

copper nacelle
#

nope

ornate rivet
#

yes

copper nacelle
#

nope

ornate rivet
#

yes

copper nacelle
#

net 3.5 can die

ornate rivet
#

1.5 literally ruined my life

copper nacelle
#

sounds like a you problem

jolly jungle
radiant basin
#

yes

jolly jungle
#

burn

#

also nice

radiant basin
#

lmaoo

#

do i need a reference for this?

jolly jungle
#

For what?

radiant basin
#

wait sorry

jolly jungle
#

Hooking?

ornate rivet
#

for the hook? you need to reference Modding

radiant basin
light zodiac
#

reference Assembly C-Sharp (modded one)

light zodiac
#

which i assume you did

radiant basin
#

yeah ive already got that

#

oh wait im being stupid

jolly jungle
#

Welcome to the modding experience

radiant basin
copper nacelle
#

is this 1432

radiant basin
#

yeah

copper nacelle
#

Language.Language

radiant basin
#

that didnt work either

copper nacelle
#

show

radiant basin
copper nacelle
#

no

#

Language.Language.GetInternal

radiant basin
#

ohh sorry

#

yes that works thank you!

#

how do i find out what the key for the dung defender starting text is?

copper nacelle
#

log it

#

Log($"key: {key}, sheet: {sheet}, text: {...}");

#

or check the xml

jolly oriole
#

Stretch it

ornate rivet
#

where does the game do the thing where it damages the parent if a child's hitbox is hit?

copper nacelle
#

HitTaker.Hit

ornate rivet
#

thanks

radiant basin
copper nacelle
#

language xml

#

it's somewhere

#

effort

#

i'd just log

radiant basin
#

thank you!

#

ill try with the xml first

ornate rivet
#

The recursion depth seems to not actually affect it for some reason?
I did this

On.HitTaker.Hit += (orig, targetGameObject, instance, depth) =>
{
    bool checker = Regex.IsMatch(targetGameObject.name, "^W\\d$");
    if (checker || targetGameObject.name == "Whip") return;
    orig(targetGameObject, instance, depth);
};

And hitting the children still hurts the parent

copper nacelle
floral blade
ornate rivet
#

very nice

radiant basin
#

im being dumb i dont know where this language xml is,,

floral blade
#

it'd be easier to log it MTmerm

#

if you log it you can just search in your modlog.txt

radiant basin
floral blade
#

i think you just need to add this in your hook

Log($"key: {key}, sheet: {sheet}, text: {Language.Language.GetInternal(key,sheet)}");

radiant basin
#

ah thank you!

floral blade
#

it will put in your modlog all for all text that the game fetches while it runs the key, the sheet and the text
so if you search the text you can find the key and sheet

light zodiac
#

You also have to go to the room where the text is

#

Or else it won't be logged

radiant basin
#

heck it didnt work, i think ill just leave it as is and work on the sprites for now

floral blade
light zodiac
#

<@&283547423706447872>

light zodiac
radiant basin
#

THANK YOU!!

radiant basin
#

so would this be the code?

light zodiac
#

I assume you want it to say me when beans

copper nacelle
radiant basin
#

oh yes i had beans defender in my head fjdkahkfj

light zodiac
#

Make main "Me when" and sub as beans

floral blade
#

or

🇲 🇪
when beans

light zodiac
#

Too much me for a meme

floral blade
radiant basin
#

like this? it didnt work ingame

light zodiac
#

Where did you add Modhook.LanguageGetHook

radiant basin
#

where am i supposed to add it?

light zodiac
#

Initialize

cedar hemlock
#

Modhook.LanguageGetHook += methodname

floral blade
#

i made a meme mod

cedar hemlock
#

no need for instance anymore?

floral blade
cedar hemlock
#

and isn't it Modhooks.instance.LanguageGetHook but idk

floral blade
#

scene name for directory , GO name for pngs and lang key for text

#

all tk2dsprites go brrr

light zodiac
#

Add this to custom knight tbh

vast rock
#

custom knight only changes the knight

vast rock
#

i think

floral blade
#

when Mul said we could find the GO on scene change i was like i has ideas

young walrus
#

well considering customknight already changes charms too....

floral blade
light zodiac
floral blade
vast rock
#

is there a download link?

light zodiac
#

Merge the in-game text mod with it

#

Like don't make people add a txt for each text

jolly jungle
#

But why is it purple

light zodiac
#

Testing purposes

floral blade
#

this one is purple for testing

jolly jungle
#

Oh cool

#

Can you send me the sheet?

floral blade
cedar hemlock
young walrus
#

didn't you know, all washing machines are purple

light zodiac
#

Either way your asking the player to find the key

jolly jungle
#

Thanks itssoulgood

cedar hemlock
#

when its done add it to art mods

light zodiac
#

You could probably check for the actual text like "DUNG"

jolly jungle
#

Mind if I fix the nail?

#

Attempt*

floral blade
jolly jungle
#

to fix the nail

#

Cool

radiant basin
#

oh i was gonna offer to do that too lol

jolly jungle
#

Can we really add any reskin we want to them?

floral blade
light zodiac
#

Why arts mod

#

Custom knight mod

cedar hemlock
#

what

jolly jungle
#

Oh yeah Customknight+

floral blade
jolly jungle
#

Supposed to support all sheets

cedar hemlock
#

it did not reply to that but ok

light zodiac
jolly jungle
light zodiac
#

Like just add a extra stuff page

jolly jungle
#

I thought they were complete

#

This is nice

#

So we can just add an ever-growing pile of shitposting to them

floral blade
#

i can add it to CK but then i would need to support skin packs and the whole UI for it

light zodiac
#

Skin packs?

jolly jungle
#

Btw if anyone here is good with editing sheets while keeping the animation fluid and feels like doing something for me please tell me

jolly jungle
#

Redfrog is adding it to CK+

floral blade
# light zodiac Skin packs?

like people might want to mod all skins for all bosses for example
and if someone has multiple skins for same boss they'd need support to swap ingame

young walrus
#

you could just add it to the "packs" that current skins have

#

like how charms are added

light zodiac
floral blade
light zodiac
primal latch
#

could you guys give me colours (names or rgb codes) for all log levels?

jolly jungle
#

Or you can make boss pack selection be separate from knight skin selection

light zodiac
primal latch
#

and for error?

#

wait..

#

transparant?

cedar hemlock
#

whats the difference between fine and normal lol

light zodiac
#

Sorry white

primal latch
#

what colour for error?

copper nacelle
primal latch
#

cool

light zodiac
floral blade
light zodiac
#

Errors = good

primal latch
nimble lake
light zodiac
cedar hemlock
#

is 0 high or low

primal latch
cedar hemlock
#

ah ok

floral blade
#

this is what i'd do

light zodiac
#

Grey for normal grubsad

#

That's the one your gonna see most

floral blade
primal latch
#

got a point

floral blade
#

blue / white would be normal

primal latch
#

I'll use that

#

I can always change it later

light zodiac
#

But you gotto use green for errors

floral blade
nimble lake
#

colorblind moment

radiant basin
nimble lake
#

@radiant basin why here though

radiant basin
#

because ive been talking about it here

nimble lake
#

i think convo's passed dude

radiant basin
#

im just showing what im doing?

#

its a mod

nimble lake
#

ah

#

OH

#

i thought it's a meme

floral blade
# radiant basin

nice, i assume you'd also want to skin the actual projectile like that ?

nimble lake
#

sorry about that

radiant basin
#

yep ive already done that

radiant basin
floral blade
#

this is going to be super hilarious

#

it doesn't do much if i click it grubsad

jolly oriole
copper nacelle
#

articles section meme

light zodiac
#

The real reason he asking this is because he wants to put SFCore in there

floral blade
#

best of both ideas

#

Though the person authoring the skin would still need to know the scene & GO's name , might just be easier to compile a list of common GOs and keys lol

#

does debug show all lang keys as they are accessed ?

light zodiac
#

Makes sure it's not placed wrong

floral blade
#

so the text would also be selectable by selecting the skin

cedar hemlock
#

TOK

#

The OwO Knight

light zodiac
floral blade
#

yes, that would allow the player to change the text right ?

light zodiac
#

Yes

floral blade
#

but not the skin maker to change the text and share that with the skin

light zodiac
#

didnt consider that

primal latch
#

I got colours kinda working.... but it gives all of the log the colour of the last log

floral blade
#

as in most recent one colors the older ones ?

light zodiac
#

atleast theres color

floral blade
#

you might need to make each log a separate text thingy if you want individually color them

floral blade
#

is there color code magic ? or rich text html scam ?

primal latch
#

looking kinda bad

#

anyone got beter colours/hex color codes?

#

and anyone got a color for the OFF level?

#

I get it probably isn't used, but I just want to add it to be complete

#

I'll just make it white

floral blade
#

i think if the blue were cyan it would work

sage relic
#

how can I view this cameraShakeFSM? I tried opening Assembly-CSharp.dll in the fsm viewer; it opens an FSM Selector window with zero available selections

jolly oriole
floral blade
sage relic
#

what kind of file is valid to open? I tried opening a couple .resource files but the app just closes (crashes?)

floral blade
#

atleast, with the avalonia viewer i think you'd give it your game's path and then open a scene via scene list or the resources.assets

sage relic
floral blade
#

is more recently updated too i think

sage relic
#

ah ok

#

I clicked "Open resources.assets" and it opened hk relevant stuff....does it have that default coded? How did it know what I wanted?

floral blade
#

i think it might have picked the install location from steam

#

i don't really know it is all magic code to me lol

jolly oriole
#

fsmview picks steam path for those options, avalonia defaults to steam but can be customized

sage relic
#

thanks! I have the camera shake fsm open; I'm trying to see if I can find where the new CameraShakeMultiplier fits in. I'm new to all this valiWoozy (update: the multiplier is in code, not the fsm)

radiant basin
light zodiac
#

how to i see how far a player is from the nearest floor

floral blade
jolly oriole
#

shoutouts

primal latch
#

??

light zodiac
#

its pull 56

#

so theres going to be shoutouts

floral blade
#

dam

primal latch
#

ah

#

damn

#

what do you think of the PR?

light zodiac
#

customisable colors when

jolly oriole
primal latch
#

@jolly oriole IDK why the indentation is wierd

#

I'll fix it

floral blade
#

after much pain and stackoverflow it works, case insensitive global replace

#

replace.txt is like

Elder, Cool Dude
Rest, Do a sit
#

gotta remove the space

light zodiac
jolly oriole
#

uh, did it end up being something like

var outStr = str.ToUpper().Replace(myOtherString.ToUpper(), myThirdString);

?

light zodiac
#

if so it could break

floral blade
floral blade
primal latch
#

should I add customisable colors?

jolly oriole
#

yes, eye sore

primal latch
#

alright

floral blade
light zodiac
#

use a different deliminator

#

like a ; or % or # or anything

jolly oriole
#

store it in json

floral blade
jolly oriole
floral blade
jolly oriole
#

the longest lang string in the game:

In wilds beyond they speak your name with reverence and regret,For none could tame our savage souls yet you the challenge met,Under palest watch, you taught, you changed. Base instincts were redeemed,A world you gave to bug and beast as they had never dreamed.                                                          - Excerpt from Ode to Hallownest by Monomon the TeacherOur cherished dreams you granted and delivered more,But in dismay you found too late our desires had no end,What cost to tame our savagery? You gave your all and then gave more.Yet still desires lay unquenched, more dreams remained, your energies spent.Amongst it sprang a dreadful scourge,that forced return our aggressive urge,and turned us back to beasts or husks,Our souls consumed by light above.Within your corpse can still be heard the plaintiff cries of one,Who took our pain, and loss, and dreams inside itself to...Through it&#39; pain we found a truth that must now be confessed,For nothing can contain such things but perfect emptiness.
floral blade
primal latch
#

' should be replaced with something

light zodiac
#

ah yes.an instance of random code that everyone understands

jolly oriole
primal latch
#

I marked the pr as ready for review

floral blade
light zodiac
#

not that bad tbh

floral blade
#

right that's what i do then

#

i think i like it this way lol more meme potential

#

use the key for precise serious mods , use replace when memeing

#

In case anyone wants to test it (1.4.3.2)

to replace a tk2dsprite : mods/Swapster/<scene-name>/<gameobjectname>.png

to replace a text with it's key : mods/Swapster/<scene-name>/<key>.txt
(scene-name here is just for organisation, the text will update globally)

to replace a text without it's key (Find & replace style) : add in
mods/Swapster/replace.txt

elDer=>Cool Dude

edit from the future : if using this version you NEED to have atleast one folder inside the /Swapster directory. it can be anything as long as it exists.

#

I plan to merge this in CK for 1.5 , where it'll probably be mods/CustomKnight/<skin>/Swapster/... to allow skin authors to skin a lot more stuff

floral blade
primal latch
#

Well, this PR I created is officially the most work I ever put into a PR

#

Now I'll just have to move the settings to a new class

#

I'll do that tomorrow

light zodiac
vocal spire
#

Imma just stop developing ck+, this is basically 1/4 of the features

light zodiac
#

nooooooooooooooooooooo

#

just copy it so you have 25% less mod to make

#

~~its not like you were making ck+ anyways vesselsip ~~

cedar hemlock
#

what happened here that redfrog want to stop with ck+ confuzz

cedar hemlock
#

damn that is half ck+

#

dont add it to ck, give the code to redfrog to use it

floral blade
floral blade
jolly jungle
floral blade
#

wdym ?

jolly jungle
#

How does one use a replace.txt

#

What mod

light zodiac
#

sprite didnt grubsad

floral blade
#

anything obvious in modlog?

light zodiac
#

folder structure

light zodiac
#

so its my fault ig

cedar hemlock
#

_ ?

light zodiac
#

this what debug shows

cedar hemlock
#

is debug accurate?

light zodiac
#

why would it not be

#

it takes the gameobject name and places it there

floral blade
#

what you've done seems correct, i am suspecting it just does not exist in the room after scene transition + 1 frame

cedar hemlock
#

i've seen some wierd names tc ig

jolly oriole
#

the go do be called "Hollow Knight Boss"

light zodiac
#

try this code

jolly oriole
#

this

light zodiac
#

yield return new WaitUntil(() => GameObject.Find(BossName));

jolly oriole
#

that destroys frames while its waiting

light zodiac
#

changing sprites >>> fps

jolly oriole
#

fps > anything else

floral blade
#

i also dunno if it is just this one sprite right ? Swapster could be changing anything in any room

#

even multiple things in the same room

light zodiac
#

show current code

light zodiac
#

i has problem applying stuff to markoth in HoG cuz he takes forever to spawn

#

i dont get it

#

why foreach each game object

#

just find the one you are looking for

jolly oriole
#

activescenechanged is way better for sprite changing, you can change sprites without any coroutine

floral blade
light zodiac
#

oh makes sense

floral blade
#

i might fall back to looking for them in update if all GOs are not found

light zodiac
#

you dont need update

#

a couroutine would do

floral blade
#

like one for each GO ?

floral blade
#

is that better than doing a GameObject.Find in update ?

#

i mean idk how many times a second the WaitUntil predicate is checked

#

if i did a find in update i'd add a couple of seconds between searches at-least

#

unless i completely misunderstood how WaitUntil works

light zodiac
#

if not find then wait frame and try again next frame is how i understood it work

floral blade
#

so once per frame ?

light zodiac
floral blade
light zodiac
#

or just yeet the file from the folder

floral blade
light zodiac
#

why am i sending individually

floral blade
#

ty

#

did you use 1.4 sprite lol

light zodiac
#

I didn't make the sprites

#

Someone posted it here a while back

light zodiac
floral blade
#

yep

light zodiac
#

Atleast it works

floral blade
#

thats why i asked you to send me the thingy lol

#

yeah but like it doesnt load for the first 2s then freeze frame then skin loads lol

#

i might do disk access on scene change anyway , and only save the apply part

#

wow the thing that roars in THK fight is not the boss GO?

jolly oriole
ornate rivet
#

wouldnt it make sense for the roar to not be a part of THK since there are other bosses with a roar?

floral blade
#

no not the roar the THK that roars

ornate rivet
#

oh lmao

floral blade
#

yep trying to set that GO's sprite that makes it work on scene load as well, even though now i have added the thingy in update to check

wicked garden
#

Whats happening with that fanmade modded dlc thats like a whole new area but it looks like the white palace

ornate rivet
#

Test of Teamwork released already

#

technically not fully done since there's more to it but the platforming challenge part has been released

#

you'll have to revert to 1.4 hk to play it though

copper nacelle
primal latch
#

This should be up to date

light zodiac
#

Thabks

#

thanks*

floral blade
#

Mul I thought about the problem where skin authors need to find keys / go names and sprites.

I'm thinking I'll just add a toggle that dumps that information for the scenes they visit / text they encountered

#

It'll be slow as all heck, but it'll make it easy to figure the structure out

light zodiac
#

doesnt sound like a good idea

#

because lag

#

maybe like a key that toggles it. because if they have to toggle it from the start of the game its going to be alot of uncessary info

floral blade
#

yeah pretty much,
like you turn it on in settings and then go visit the scene / see the text > the /dump directiory now has swapster's folder stucture with the png & txt files

#

and then turn it off

cedar hemlock
# floral blade

I already did this for 1.4 btw, its just not easily swappable (just see my github) and the sprite was made by @naive nimbus for credit

floral blade
cedar hemlock
#

Well to swap the sprite for THK you need to add it to the project, and change the name of the sprite in the code and compile it

light zodiac
#

Dandy solves that problem by asking the user to figure it out

cedar hemlock
#

Eh i didn't really make the mod, Redfrog Godfriend and SFG did most of the work lol

#

I still need to remake it for 1.5

floral blade
floral blade
cedar hemlock
#

Plus i get some 1.5 practice

light zodiac
jolly oriole
#

yes

#

EnemyChanger freeze frames my game for like minutes at a time dumping sprites

light zodiac
#

i tried to dump only inventory stuff it still took liek a minute

#

idk about text tho

floral blade
light zodiac
#

boss name can be found by debug

#

and room name by benchwarp

#

so would that be problem solved?

floral blade
#

The point was it'd be easier for the skin author to do this than dig through multiple resources to figure out how to make it work

getting scene name , GO name , sprite.png & key.txt all things are separate resources

jolly oriole
#

but does it work for bosses with multiple spritesheets

floral blade
floral blade
jolly oriole
#

tmg, nkg, radiance, absrad and possibly a few others as well

floral blade
#

if they have different GOs for the different sprites it would work, i might need to add additional checks for when to find the GO and apply the skin to make it a smoother transition though

floral blade
#

it'll check it for radiance once tonight

primal latch
#

Well, I'm stupid. I'm moving the console settings to a new file. The save file is loaded when log has been called the first time. The problem is that the load function also logs things.

#

I don't really feel like adding the option to resize the console

primal latch
#

I don't think I should make it more complicate by adding an option for all log functions if they should log with color or not

#

@floral blade could you maybe test it on mac? I don’t think it makes a difference, but I just want to be sure

floral blade
primal latch
#

It should be in the artefacts of the latest test run

#

This should be the unix build

primal latch
#

@copper nacelle what is your opinion on my pr?

copper nacelle
#

why is the console settings a different file

#

you just want a field in the modhooks global settings with the console settings so it doesn't clutter the top level

primal latch
#

I had that

copper nacelle
#

also you should rebase and drop the worktree commit

primal latch
#

Rebase?

copper nacelle
#

git rebase

primal latch
#

Ok. So should I put it back into the globalsettings?

copper nacelle
#

I mean it should be part of the modhooks global settings but not directly as 20 fields

#

modhooks -> other struct/class -> fields

primal latch
#

I have no idea how to do that.

#

Just add a field for the console settings into the globalsettings class?

copper nacelle
#

yeah

primal latch
#

Ok. I’ll do that later today

cedar hemlock
#

@radiant basin what are the methods you've tried already to get the text working

radiant basin
#

i tried this

cedar hemlock
#

welp, time to do some logging

#

here goes nothing

#

bruh why is hollow point fix version 0.0

#

i have 10 sec before my modlog become 10 gyg ;-;

#

worked 1st time! @radiant basin

#

lemme send it

radiant basin
#

hell yeah!!

cedar hemlock
#

wait lemme try to get a screen

#

wait howwow knyight added a >w< lol

radiant basin
#

PFFT

cedar hemlock
radiant basin
#

YEAH!!

cedar hemlock
#

now time to remove the logging to prevent 10 gig modlogs

radiant basin
#

thanks!!

cedar hemlock
#

np

#

now post a better image then mine in #hk-meme

radiant basin
#

ill use the image i made yesterday gimme a moment

cedar hemlock
#

but does it have the text

radiant basin
#

oh, no its just this

#

i can just say that its been updated to replace the text though

cedar hemlock
#

ah nice

#

it seems like you did 2 things wrong, which were easy to fix

#
  1. there was no
ModHooks.Instance.LanguageGetHook += Beans;
```In initialize
radiant basin
#

oh yeah i tried to put that in but i think i was being dumb about it

primal latch
cedar hemlock
#
private string LanguageGet(string key, string sheetTitle)
        {
            if (key == "DUNG_DEFENDER_MAIN")
            {
                return "Me When";
            }
            if (key == "DUNG_DEFENDER_SUB")
            {
                return "Beans";
            }
            return Language.Language.GetInternal(key, sheet);
        }
```Is not correct, it must be
```cs
private string Beans(string key, string sheetTitle)
        {
            //Log("Languagegethook called");
            if (key == "DUNG_DEFENDER_MAIN")
            {
                //Log("Dung_Defender_Main found");
                return "Me When";
            }
            if (key == "DUNG_DEFENDER_SUB")
            {
                //Log("Dung_Defender_Sub found");
                return "Beans";
            }
            /*Log("Key:");
            Log(key);
            Log("");
            Log("sheetTitle:");
            Log(sheetTitle);*/
            return Language.Language.GetInternal(key, sheetTitle);
        }
radiant basin
#

ohhhh

cedar hemlock
#

notice: sheetTitle instead of sheet

radiant basin
#

yep

#

thank you though!!

primal latch
#

How do I rebase my PR? When just typing git rebase I get Current branch master is up to date.

steady comet
#

Try git rebase -i HEAD~n where n is the number of commits you want to rebase (not 100% sure but I think it works)

primal latch
#

I'm just gonna close the PR and recreate it. I messed some stuff up badly

fickle sparrow
#

rebased and redpilled

primal latch
#

redpilled?

fickle sparrow
#

don't worry about it 🥴

primal latch
#

ok

rough pulsar
#

"me when beans" 💀

primal latch
#

How does the modding API merge the Assembly-CSharp and Assmebly-CSharp.mm assemblies? I couldn't find it in the csproj or sln files

#

nevermind. Got it

jolly oriole
#

> open mail program
> 13 new mails
YEP github

primal latch
#

nice

#

now go review my new version of the PR

jolly oriole
#

no

#

nice commit you have there

jolly oriole
copper nacelle
#

it's good

jolly oriole
#

its new

#

change bad

copper nacelle
#

it's like 10x less ugly

jolly oriole
#

so should i use the system nuget packages or link directly to the games assemblies

copper nacelle
#

the system packages?

#

like system.x?

primal latch
light zodiac
#

That always happens

jolly oriole
copper nacelle
#

idk maybe

#

less refs are nice

jolly oriole
#

thanks i guess

#

so ig manual editing time hotdogHotdog

copper nacelle
#

stop using the terrible postbuild

#

it hurts my eyes

jolly oriole
copper nacelle
#

they're reference assemblies they should be identical api wise

#

the only weird one is mscorlib

jolly oriole
#

shouldn't mscorlib also have the same functions

copper nacelle
#

should

#

unity netstandard x5fiftAleph

jolly oriole
#

i'm just amazed that the tool put debug/release for 32/64 bit all on the same level

jolly oriole
fickle sparrow
#

target name is correct

#

technically assembly title can be different and whatever

jolly oriole
#

how is that targetname set though? i kinda need to customize it for my unity mod dlls so i don't have to rename them each time i build

fickle sparrow
#

its automatically set

#

by msbuild

#

for the build target

jolly oriole
#

to the project name?

fickle sparrow
#

idk it just sets it correctly

jolly oriole
#

just asking because i do need to have the projects TestOfTeamwork and TestOfTeamworkScripts both output a TestOfTeamwork.dll

fickle sparrow
#

TargetName just gets set to whatever the name of the built DLL is

jolly oriole
#

hm, ig imma test that

fickle sparrow
copper nacelle
jolly oriole
#

the new way just looks a bit odd

copper nacelle
#

better cross platform

jolly oriole
#

ok, edited my projects to the new xml, though i still need to readd the nice after build thing to nearly all of them, also need to do that hkrefs thing

#

can also do a Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " for assembly signing

primal latch
#

Small question: Why does the API use a log level instead of a bool for every level? Maybe you want to log fine but not info. Just adds a bit more customisation

jolly oriole
#

thanks mods

jolly oriole
primal latch
#

Ok. I just wanted to know what prompted the decision.

fickle sparrow
#

yeah essentially the log levels are actual levels

#

cause its assumed that if you want all debug info you also want all really bad errors

copper nacelle
#

has anyone tried debugging with detours on 1.5

floral blade
# light zodiac how do you do this

It's probably not the best idea but you basically see what animation clip is being played to take an action (for all remote players)

When you want to transmit the command for said action, you just play that animation ( on local player)

The multiplayer mod takes the clip name and plays it on all clients ( where you're listening for that clip to perform the action )

This does mean that if the animation is played actually in game then the mod for remote players will still assume it was a command and perform the action.

#

The reason I call it a one time trick is because once a mod uses an animation, any other mod using the same animation is incompatible with it.

#

(this is also why I prefer changing name to change size in smolknight)

rough pulsar
#

Me when i start typing something in vs

#

Is there any way to get loaded save id or no?

#

By other means other than modhooks

inner plank
#

are there any recources on how to make mods?

copper nacelle
#

doesn't pd have the loaded save id

#

and there's two sets of docs pinned

jolly oriole
light zodiac
#

profileID

light zodiac
#

appart from this I'm pretty happy with the state of the mod

primal latch
#

Quick question: why is the mapi build the same for macOS and unix? I get macOS is build on unix, but there has to be a reason that unity has seperate options for macOS and linux right?

#

Also, does anyone have a .75 modcommon build? I’m too lazy to port the 1.4 version myself

light zodiac
#

why use mod common

#

use a mod that's already ported

#

like sfcore

primal latch
#

Fyremoth relies on it. I don’t even know why

light zodiac
primal latch
#

Thanks

jolly oriole
#

sfcore hotdogHotdog

jolly oriole
primal latch
#

I meant modcommon

jolly oriole
#

then that's a great question

rough pulsar
#

is there a source code for bonfire mod

#

actually i just wanna know if there is any chance to set the carefree melody chance to a set number

rough pulsar
#

oh

jolly oriole
#

nope, carefree melody chance is entirely in code

rough pulsar
#

i guess i can do something like this right

#

to make the player invincible and it works in TakeDamageHook i hope

cedar hemlock
#

is modding possible without the modding-api?

rough pulsar
#

i... no

#

you need mapi to even make a class based on mod

#

oh wait

#

editing assembly is one thing

light zodiac
rough pulsar
#

is there a list of all translateable strings

jolly oriole
#

yes

primal latch
#

Ripped from 1.4 not 1.5 they might have made little changes

rough pulsar
#

bytes file?

#

Are those normal txt files

light zodiac
#

I changed the ending to .txt and it opens

rough pulsar
#

ok

lavish iris
#

Dont mean to rush or pressure, just out of pure curiosity, is there a modding client being developed for 1.5?

rough pulsar
lavish iris
#

Thanks

#

Just cause im wondering, 1.4 seems to be causing input lag for me

#

with no way to fix it sadly

#

and i wanted to play modded, but the game is unfun while being on 1.4

rough pulsar
#

Well you shouldn't really use 1.5 if you are not making mods

lavish iris
#

?

rough pulsar
#

Since 1.4 mods won't work on 1.5 modding api

lavish iris
#

that makes sense

jolly oriole
rough pulsar
#

Uh yeah

lavish iris
#

I think the problem for my input lies in that my system is 64bit while 1.4 is 32 bit

#

i may be an idiot but thats really the only difference i can find

#

its that or the modding API is just bonkers for me for some reason

jolly oriole
#

i mean, do you have input lag with vanilla 1.5? if no then it's probably the bit difference, if still idk if 1.5 modded can fix that

lavish iris
#

1.5 no input lag

#

let me try 1.4 vanilla

#

ive only ever tried it with mods

rough pulsar
#

Don't know if it's just me, has anyone got random glitches that soft locks you and you can't even do anything other than closing down the game in 1.5 modded?

jolly oriole
#

nope

rough pulsar
#

Dang it it's just me then

lavish iris
#

so its the modding API thats screwing me over

light zodiac
rough pulsar
#

Happens rarely and randomly

#

Last time it happened during elevator transition

rough pulsar
#

The parameter here is the target scene right

light zodiac
#

You could always log it and find out

copper nacelle
#

last I checked that hook is garbage ngl

rough pulsar
#

i can't even check which direction the hero is leaving from in any of these hooks 😔

jolly oriole
#

Last i checked it doesnt even get triggered like half of the cases

#

Nice keyboard

rough pulsar
#

lmao

light zodiac
#

Use on hook

#

To see direction

rough pulsar
#

🪝

light zodiac
#

I don't remember which one tho I'll check later

jolly oriole
#

Why would you need direction

rough pulsar
#

reasons

jolly oriole
light zodiac
#

Direction is important

#

So you can see where to move the player

rough pulsar
copper nacelle
#

I should make a less shit scene changed hook

#

And kill the old ones

#

They're only triggered on sync loads I think x5fiftAleph

jolly oriole
#

i only use the unity active scene changed one

merry lotus
#

Question:
I assume not, but is there a dedicated HK-Modding discord? If not, is there a reason?

Most games i play that have modding communities, tend to have a dedicated server for modding, which allows for more space for various things, like a dedicated 1.5 modding channel vs 1.4 vs old-patches; mod devs could have their own channels for bigger projects, to keep things sorted; channels for more clear updates about stuff (like the Rando Announcement channel on hksc); and just generally more QoL for those who are more interested in HK modding at this point than vanilla.

jolly oriole
#

i'm not aware of any dedicated modding-server, aside of the mod specific ones (hkmp, hk multiplayer) and spread out single channels in other hk servers

light zodiac
#

Time to bully SRC mods to give us modding section on speedrunning discord

jolly oriole
#

there do be modding and tech-support

light zodiac
#

But no one uses modding grubsad

jolly oriole
#

that's because it's kept clean of the heathens of hell

fickle sparrow
#

I used that for my timer mod to explicity check for sync loads

jolly oriole
#

oh, i was wrong

#

it do be used for every load the game does

merry lotus
jolly oriole
#

ye

primal latch
#

.75 broke Fyremoth. Yay

#

or it broke frogcore. One of the two

jolly oriole
#

👍

primal latch
#

Just wondering: if the json file being read wrong causes issues, why don’t we use the build in way of newtonsoft.json to validate it?

fickle sparrow
#

the what

#

I mean we error on invalid json reads

#

cause its better to error than to silently do something else

floral blade
fickle sparrow
#

you gotta enable it

#

in the settings file

floral blade
#

thanks it works now!

light zodiac
#

@floral blade
I have question

#

Why is hkmp stuff in UpdatePlayer function even tho it has its own UpdateHKMPPlayers function

floral blade
#

UpdateHKMPPlayers updates remote players
UpdatePlayer updates local player, even when connected to an HKMP server

The reason to divide them as such was because local player's GO is different from remote players

light zodiac
#

also there seems to be something wrong with the false here

floral blade
light zodiac
#

also make 1.5 branch

#

so i can pr

rough pulsar
#

You can just do if(fsm.ActiveStateName != "Normal" (...) but ok