#archived-modding-development

1 messages ยท Page 19 of 1

wispy root
#

that would make sense

leaden hedge
#

sean will probably want your modlog.txt

wispy root
rain cedar
#

No, I see the problem

#

It's an easy fix

#

Like super easy

#

I just forgot to change something that's still checking player data

#

Alright it's up

#

And now I've moved to bed for the third time

#

Don't go finding any more bugs I need to fix

leaden hedge
#

420 to buy the 2nd best spell hollowface

wispy root
#

Say I didn't have dive, would these glass floors also be broken?

leaden hedge
#

after soul master?

wispy root
#

yeah

leaden hedge
#

yes

wispy root
#

ok

modern hound
#

Descending Dank gives I frames

#

Its the most op

leaden hedge
#

desolate dive does too

wispy root
#

I'm guessing Elder Baldurs won't spit baldurs if you have dive instead of fireball?

leaden hedge
#

sean wanted to do that

#

but decided it against it iirc

#

he knows it works though

summer tapir
#

oh, did he randomize the spells too now?

leaden hedge
#

yes we got it working a few hours ago

#

ismas tear should work next version too

summer tapir
#

jesus

#

what Im supposed to do now after false knight cirThink

leaden hedge
#

getting vengeful + soul catcher is still 2 charms

#

or whatever you get

summer tapir
#

oh, I thought the vengeful spot is also randomized

#

is the new version already on the drive?

leaden hedge
#

yes

#

vengeful is randomized

#

you can get anything from it

solemn rivet
#

KDT: @Gradow when you wake up or whatever, what do you reckon to making the more powerful spells require higher intwhat do you mean?

leaden hedge
#

so, if you get shade soul

#

but you're too stupid

#

you just cast vengeful instead

solemn rivet
#

hmm...

#

how about the other way around

#

you get shade soul by levelling up int

leaden hedge
#

did you find the pin @sturdy whale

sturdy whale
#

yes

solemn rivet
#

and instead of just giving you the upgraded versions of spells, the game gives you a certain amount of "levels"

leaden hedge
#

maybe,

solemn rivet
#

no, that doesn't sound good

#

you could use those to make an already OP str/dex/lck build even more op

leaden hedge
#

I'm not sure, it's just thats a pretty common trope in these sorts of games, that you require X in a stat to use a spell

#

if anything its a nerf to nail builds

#

because you cant use the op spells

#

unless you spec into int

solemn rivet
#

yeah

#

but that would make the shade soul drop useless, no? I mean, reather than useles... you go out of your way to get it, but can't use it due to lack of stats

#

that sounds more and more like an arpg

leaden hedge
#

I guess the pale ore would be useless on a spell build hollowface

solemn rivet
#

yeah

#

no, I agree with you

#

that sounds like a good idea

#

sigh

#

I should have made this using the modding api

#

bonfire mod would synergize greatly with randomizer

leaden hedge
#

well, in a few days / weeks

#

you're going to have to recode it anyway for grimm troupe

solemn rivet
#

but that shouldn't be tremendously more work

sturdy whale
#

Now that I've downloaded randomizer which files do I extract and where?

leaden hedge
#

so they should just go into the root folder of hollow knight

#

the one with the exe

solemn rivet
#

^

leaden hedge
#

C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight

sturdy whale
#

ok

leaden hedge
#

it should ask you to overwrite hollow_knight_Data

#

just say yes to everything

#

also

#

make a backup

#

of C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\assembly-csharp.dll

solemn rivet
#

on steam you can always verify, so it's not a huge issue if you don't make a backup

#

but it's quicker and safer if you do

leaden hedge
#

also @solemn rivet the earlier you port it to the api, the less of a pain it'll be

#

you've got less features than you will in future hollowface

solemn rivet
#

but I don't know how to

#

I have 0 coding experience

#

I literally don't know what to do

summer tapir
#

Is fury of the fallen supposed to give you always a movement ability? I think I never got something else

solemn rivet
#

I can try and reverse-engineer the mods that are currently ported

leaden hedge
#

no

solemn rivet
#

but that would take a LOOOOOONG time and effort

sturdy whale
#

so both README.txt and hollow_knight_data go to hollow knight folder

solemn rivet
#

yup

leaden hedge
#

the readme doesn't need to go but yeah

sturdy whale
#

done

solemn rivet
#

then, done

#

try launching the game

leaden hedge
#

all you need is a cs file that look like

using System;
using Modding;

namespace BonfireMod
{
    public class BonfireMod : Mod {
        public override void Initialize() {
                ModHooks.Instance.whateverHookYouWant += YourFunction
        }
    }
}
#

and compile it as a dll

#

your functions work the exact same as they do in dnspy

sturdy whale
#

collected fury of the fallen

#

and it says its fury of the fallen

leaden hedge
#

you can tell if its a randomizer

#

it says randomizer at the bottom

#

did you extract the randomizer zip

sturdy whale
#

is the randomizer not working?

#

yes I did extract

leaden hedge
#

so you have a C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\Randomizer this folder

solemn rivet
#

KDT: I'll give it a try this next week

summer tapir
#

if you start the game, does it say at the bottom right of the title screen "randomizer" ?

sturdy whale
leaden hedge
#

C:\Program Files (x86)\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\Mods do you have this folder

sturdy whale
#

no

leaden hedge
#

ok so where did you extract the Randomizer zip

#

not the Modding API one

sturdy whale
#

wait

#

I do

#

but nothing is there

leaden hedge
#

oh, you didn't extract the randomizer then

#

randomizer should have a readme and 2 folders

sturdy whale
#

i got the modding api

#

is that not it?

#

oh its not it

leaden hedge
#

the randomizer needs the modding api

#

you extract the randomizer zip to the same place

sturdy whale
#

do I put the randomizer in the mods folder?

leaden hedge
#

you extract the zip to the same place

#

so there should be a Randomizer folder by your exe and a Randomizer.dll inside the Mods folder

sturdy whale
#

extracting to hollow knight folder

summer tapir
#

it should look like this

#

dont mind the backup folder

#

also yea, you need the modding api

#

which is in the drive too (at the bottom right)

leaden hedge
#

I believe he already extracted the modding api

summer tapir
#

hmm

leaden hedge
#

but forgot to install the randomizer

summer tapir
#

also, he changed the elder baldurs, now I understand

sturdy whale
#

done

leaden hedge
#

ok now it should work

sturdy whale
#

what's this easy randomizer?

leaden hedge
#

its the difficultly of the tricks required to complete the game

summer tapir
#

easy shouldnt require difficult tricks to progress

leaden hedge
#

or possible difficulty

sturdy whale
#

hard then

#

I played the game twice

#

shouldnt have any difficulty

leaden hedge
#

er

#

you might

summer tapir
#

hehe

leaden hedge
#

if you've never speedran before

sturdy whale
#

well shit

#

oh whatever

leaden hedge
#

you potentially need to do queen station -> fungal, fireball skip

summer tapir
#

Im in the same boat as you tho, I did now 3 randomizer runs, all took me around 3 hours

#

before I played once 100% + 100% steel mode and a 5 hour speedrun for the achievement

sturdy whale
#

skip the wraith then?

leaden hedge
#

this is a thing you might have to do

sturdy whale
#

holy

summer tapir
#

or shade skip

#

into blue lake

leaden hedge
#

you can't if mantis claw is there

summer tapir
#

you can do it with double jump too

sturdy whale
#

dram nail chamr?

leaden hedge
#

its random

summer tapir
#

charms and abilities are mixed up

sturdy whale
#

so I start out with dream nail

leaden hedge
#

charms, skills and spells are all in the same pool

sturdy whale
#

lets beat the game

leaden hedge
#

you need claw, c.dash and dream nail

#

to beat the game

summer tapir
#

monarch wings are not critical?

leaden hedge
#

nope

summer tapir
#

hmm interesting

#

Im not too familiar yet with the game

leaden hedge
#

you don't get them in nmg

summer tapir
#

oh yea, thats true

leaden hedge
#

and you could skip dash in nmg

#

but doing c peak without it is cancer

solemn rivet
#

getting dash saves more time than not

summer tapir
#

I dont even know how you want to do c peak without the dash ๐Ÿค”

leaden hedge
#

I mean its possible to beat the game nmg without getting dash hollowface

#

not that'd be faster if you decided to put yourself through it

#

and yes, claw can spawn on c.dash

#

and yeah you can not have dash before then

#

hopefully that happens to the race in a few hours hollowface

#

no one can finish the run

summer tapir
#

can you get to the c.dash then? without claws?

sturdy whale
#

first boss dead

leaden hedge
#

if you get monarch wings yes

sturdy whale
#

brooding mawlet

#

he gave me a mask

summer tapir
#

masks are not random

#

same with soul vessel shards

#

will the race be now on the new version?

leaden hedge
#

masks, vessels, notches, rancid eggs, ismas tear, void soul / king soul and some keys are static

#

the race should be on the new version

summer tapir
#

how long does a randomizer run take you normally kdt?

leaden hedge
#

around 1hr30 -> 2hr

#

depends on how long it takes to find dream nail

#

I think this version is slower due to spells being random

summer tapir
#

the last two runs I did I was struggling finding the claws hollowface

young walrus
#

Yo, you guys got it updated then?

leaden hedge
#

yes

#

spells work now

#

isma not yet

young walrus
#

In Google Drive?

leaden hedge
#

yep

young walrus
#

Sick

#

Super excited

leaden hedge
#

the baldur doesn't close in ancestral mound

#

and the floors after soul master are broken if you dont have dive

young walrus
#

Same with Greenpath baldur?

leaden hedge
#

nope

young walrus
#

Ooh

leaden hedge
#

you've gotta get dive or spirit to get past that one

summer tapir
#

you can damage baldurs with dive?

young walrus
#

So.... Farm for geo and go through CP

summer tapir
#

jesus, Im always learning new shit

leaden hedge
#

im not sure if with lv1 dive

#

but lv2 you can 100%

summer tapir
#

let me drive

#

I just got the dive from soul catcher

leaden hedge
#

I got 4/6 spells in shops

summer tapir
#

let me try*

leaden hedge
#

the last run I did

young walrus
#

You guys weight them?

leaden hedge
#

I don't think they are weighted

#

another run I did, none of them were in shops

#

and vengeful spirit was at lifeblood core

summer tapir
#

nah, normal dive is not damaging

leaden hedge
#

are you hitting it with the edge

#

not diving ontop of it

leaden hedge
#

get as close as you can whilst he'll stay open

#

and try it then

young walrus
#

Ooh lifeblood charms in there now?

#

Core and Joni's blessing?

leaden hedge
#

oh yeah he added in some new charms

young walrus
#

...good to know

solemn rivet
#

wait, there's a rando race today?

leaden hedge
#

in like 2hrs

young walrus
#

Yeah 2 hours

leaden hedge
#

you can see whats new

solemn rivet
#

oh shit

#

can't wait

summer tapir
#

I would like to participate but Im a turtle

solemn rivet
#

anyone streaming it?

leaden hedge
#

risky

sturdy whale
#

so city crest is in the same place

leaden hedge
#

oh btw @young walrus the spells work like dash

sturdy whale
#

what about the wraith?

summer tapir
#

3 dives

sturdy whale
#

in the ancestral mound?

leaden hedge
#

so if you get lv2 spell you get the lv1 one instead

#

and the lv1 becomes the lv2 one

#

yeah dive does more damage

#

and wraiths is random

#

it can be any item

sturdy whale
#

so I can get stuck if I get something that doesnt kill the baldur?

leaden hedge
#

no

young walrus
#

So dream nail.... Is that the same?

leaden hedge
#

the baldur doesn't close

summer tapir
#

the baldur is not turtling in anymore

#

only that one tho

solemn rivet
#

easy mode has failsafes so you won't get stuck, no matter how bad luck you're having

leaden hedge
#

you shouldn't be able to get stuck

young walrus
#

"shouldnt"

solemn rivet
#

theoretically

sturdy whale
#

I got gubberfly elegy

young walrus
#

You guys fix the abyss softlock?

sturdy whale
#

instead of wrait

leaden hedge
#

if you actually can legit get stuck you should post a bug report hollowface

sturdy whale
#

im doing hard btw

summer tapir
#

yea, I had a hard lock yesterday

solemn rivet
#

oh

summer tapir
#

but I think he fixed it?

leaden hedge
#

you mean the hardsave if you can't get out

young walrus
#

Yeah

leaden hedge
#

I don't think so

young walrus
#

Lol

solemn rivet
#

in hard you can get stuck if you're not familiar with some bugs and glitches

#

and exploits

leaden hedge
#

I don't remember him mentioning it

#

maybe he did it on the sly

summer tapir
#

will the race be on easy or hard?

leaden hedge
#

hard nmg

summer tapir
#

sweet

#

srl?

sturdy whale
#

sharp shadow
most useless mod ever

leaden hedge
#

I believe its using srl for now

#

I think we want to not use it though if we can in the future because discrepencies in timing methods

#

but for now its on srl

sturdy whale
wispy root
#

I think I might have gotten an impossible seed...

summer tapir
#

what happened?

wispy root
#

I haven't been able to find mantis claw or double jump, and I'm pretty sure I've check all the charms/spells I can get

leaden hedge
#

check the modlog

wispy root
#

even had to buy a simple from sly to get to flukenest, lol

#

hmm, spell twister is mantis claw and shade soul is double jump

#

I can't get to either of them with just superdash and dash

sturdy whale
#

guys

leaden hedge
#

s+q

sturdy whale
#

no wait

#

this should be easy

#

just go to menu

leaden hedge
#

yes save and quit

#

you'll go back to the menu

royal ridge
#

save+quit = s+q

leaden hedge
#

hmm can't you get to CoT with just dash

wispy root
#

You can with dive

leaden hedge
#

I'm not sure if you can get to spell twister though without claw

summer tapir
#

you have to get first the mantis claw

#

otherwise you gonna be stuck like me in the abyss

wispy root
#

Oh wait, I misunderstood you KDT

summer tapir
#

but I dont know if you can get to the claw without jump

leaden hedge
#

I think you can superdash to the door

wispy root
#

I got to CoT, but I can't get up to soul sanctum

leaden hedge
#

hmm, wheres the shade soul key

wispy root
#

sly probably, but only after getting shopkeeper's key in crystal peak

#

Which again, can't get to it

sturdy whale
#

oh bestiary is the same

leaden hedge
#

hmm

#

maybe disabling spells from being movement ablities

cedar raven
#

the 2 baldurs for baldur shell still only spitting fire

leaden hedge
#

do you have fireball?

cedar raven
#

i have shade soul even

leaden hedge
#

did you update?

cedar raven
#

yeah, coz the baldur in greenpath spat? i got to baldur shell

leaden hedge
#

sean might have wrote the wrong scene name

sturdy whale
#

and hallownest seals are the same

leaden hedge
#

relics are random

#

you get a random relic when you pick one up

#

well, none of the spells have any requirements

#

so the game thinks you can get to all of them with no abilities @wispy root

wispy root
#

Hmmm.... rip

leaden hedge
#

I could make all the lv2 abilities require claw

#

well I know dive needs dive too

sturdy whale
solemn rivet
#

what you got?

wispy root
#

Shade soul and descending dark, both I think you can get with either mantis claw or double jump

sturdy whale
#

nothing

#

maybe papa grub will give me smth

leaden hedge
#

ill just make it claw / dash / dream nail

#

so you can always beat the game without going there

summer tapir
#

with the elegy you can maybe kill the the baldurs under howling cliffs

leaden hedge
#

for now

summer tapir
#

for the shell spot

solemn rivet
#

dash/superdash/mantis claw/vengeful spirit would help you there

leaden hedge
cedar raven
#

its ok, i got the baldur shell now, u can kill baldur with 2 shade soul

#

just gotta save warp after

#

maybe someone can try get there with lv 1 fireball

#

i'll try when i'm done

summer tapir
#

that goes into the randomizer folder?

#

in the root

leaden hedge
#

yes, replace the one you've got

solemn rivet
#

okay, so I'll try and port the bonfire mod to the modding API while it's still early in development

#

wish me luck

summer tapir
#

good luck hollowface

sturdy whale
#

after this much time randomizer shouldnt break

young walrus
#

you know the randomizer is super new right?

sturdy whale
#

it is?

young walrus
#

and definitely still in development

sturdy whale
#

i thought more people would try it

solemn rivet
#

it's technically still being developed

#

many people do

#

it's just that not that many people play HK mods at all

sturdy whale
#

its easier to get into than glass soul

leaden hedge
#

it shouldnt break but this is an entirely new mechanic that got added hours ago hollowface

sturdy whale
#

what new mechanic

solemn rivet
#

spells

leaden hedge
#

spells being randomized

#

which work different to everything else

young walrus
#

So.... google drive is up to date, except the xml

sturdy whale
#

kinda makes sense

young walrus
#

which you've put in the race channel

sturdy whale
#

I have only dream nail

#

that shouldnt unlock me many places

young walrus
#

it won't unlock any

#

are you playing on hard or easy?

sturdy whale
#

hard

young walrus
#

and you haven't speedrun before?

sturdy whale
#

I really have nowhere to go

young walrus
#

you're going to have a bad time

sturdy whale
#

no speedrun can bypass this

young walrus
#

Hard implements a bunch of speedrun strats

sturdy whale
#

like what

young walrus
#

like shade skips, fireball air stalls, explosion pogo

sturdy whale
#

shade skips?

leaden hedge
#

yeah probably just make sure everyone has that xml

summer tapir
#

shade skips requires you to die and then pogo off the ghost

solemn rivet
#

@sturdy whale like this:

#

which KDT posted a while ago

leaden hedge
#

thats a fireball air stall

summer tapir
#

I would not be able to do that with my dpad hehe

solemn rivet
#

yup

sturdy whale
#

shadeskips are interesting

#

but nope I cant make use of it

leaden hedge
#

have you been to salubra?

sturdy whale
#

maybe I should just grind for the lantern and go to crystal canyon

solemn rivet
#

what movement abilities do you have?

sturdy whale
#

none!

summer tapir
#

did you rescue sly?

#

and checked the shops

sturdy whale
#

yes

leaden hedge
#

did you check salubra?

sturdy whale
#

no

#

no movement abilities

young walrus
#

you don't need any

leaden hedge
#

you can pogo up there

#

off your shade

#

hard is for speedrunners

summer tapir
#

shade skip hollowface

sturdy whale
#

are store bought charms different?

leaden hedge
#

yep

sturdy whale
#

are they randomized?

#

oh

#

nice

solemn rivet
#

if sly and salubra don't help you, then you'll have to shade skip

leaden hedge
#

you have to shade to salubra

solemn rivet
#

I mean, to actually progress into new areas

summer tapir
#

the race is in an hour right?

solemn rivet
#

I've done a few nmg runs myself and wouldn't dare try the hard mode randomizer

#

I fail explosion pogo more often than not

summer tapir
#

hmm, I did the hard one now a few times

#

maybe I was lucky idk

#

and I dont speedrun

young walrus
#

the hard one ndoesn't guarantee a hard seed

#

just doesn't restrict it

summer tapir
#

yea

sturdy whale
#

alright I got an upspell

solemn rivet
#

scream?

sturdy whale
#

yup

#

this should be enough

summer tapir
#

thats not helping for progress

solemn rivet
#

nope

#

that's good for dealing damage

#

and that's it

sturdy whale
#

so vengeful wraith can get you to the other side but the scream cant?

leaden hedge
#

it has recoil

summer tapir
#

more like slight knockback

solemn rivet
#

does howling wraith cancel falling animation like vengeful spirit does?

#

never tried it

leaden hedge
#

I'd assume so

hazy sentinel
#

does desolate dive cancel falling animation

leaden hedge
#

yes

#

although it instantly causes you to fall at a fixed speed until you hit the ground

solemn rivet
#

there's also a momentary increase in height before the drop

sturdy whale
#

does the shade have range limit?

leaden hedge
#

yes

sturdy whale
#

damnit

#

how do I get to salubra then

leaden hedge
#

die next to the little hill next to her

#

and the shade should spawn on top of it

sturdy whale
#

best place for early geo grinding?

leaden hedge
#

theres the big mushrooms in fungal wastes

#

those are 45

solemn rivet
leaden hedge
#

but you probably can't get there yet

sturdy whale
#

done

#

salubra had the dash

#

mothwing cloak

#

she also has dreamgate

#

very interesting

#

yes I got thorns of agony

#

my favorite charm~

solemn rivet
#

does hard require any oob?

sturdy whale
#

oob?

solemn rivet
#

out of bounds

leaden hedge
#

no

#

hard can always be done nmg

solemn rivet
#

that's good to know

#

since I know basically no oob glitches

summer tapir
#

yea same

#

Please dont go to fast guys, I'd appreciate it

sturdy whale
#

got desolate drive

sturdy whale
#

im fucked

#

im at crystal peak without mantis claw

#

the only way to leave now is through the passage to resting grounds

#

and I dont have the lantern

sturdy whale
#

IM OUT

#

TOOK ME A WHILE BUT IM OUT OF THERE

heavy geyser
#

Went through the darkness?

sturdy whale
#

yes

#

took me a long long long long time

buoyant wasp
#

Does anyone happen to have a single image that contains all the icons for the charms + abilities + special items (basically a spritemap for inventory+charms).

marble scarab
#

probably not

buoyant wasp
#

I know i could build one from the images on the wiki, but if i can avoid putting 60 something images together ๐Ÿ˜‰

leaden hedge
#

yes

#

there is one

buoyant wasp
#

Thoughts: https://iamwyza.github.io/HollowKnightRandomizerTracker/Index.html ? Basically a tracker for the randomizer for commentators to use.

Known things.

#1 the images are just pulled from game screenshots, as such, things like the charms still have some of the background on them which meh.
#2 because I used greyscale to indicate having the item or not, several items are difficult or impossible to decern.

Otherwise, it's fairly simple/straightforward to use. Click on an item, it lights up, click again, and greys out. Reset clears everything. "t" shows the borders around the items to show clickable area (mostly a debug feature).

young walrus
#

it's really hard to tell when one is clicked vs not

leaden hedge
buoyant wasp
#

mmhmm, that'd be #2 on the list. HK is such a grey/muted game which makes alot of these not pop, a better way to indicate having it would be nice, but not sure a good one that wouldn't look bad (but I'm absolutely garbage at UI/prettyness on stuff, functional I can do, pretty I can't)

young walrus
#

i mean, even to put a bright white light behind them to make it super obvious would be enough

#

or a green lithgt

#

light

leaden hedge
#

thats every sprite you should need

young walrus
#

or just something

buoyant wasp
#

@leaden hedge thanks!

#

hmm, a green glow might work

cold bluff
#

so how would i implement this?

young walrus
#

you just open the web page

cold bluff
#

each individual racer would have their own thing on stream?

young walrus
#

and screen cap

#

yeah risky

#

each would have their own

#

if they want

high moat
#

Just use the same color as admins here, the highlight will light up at village then.

young walrus
#

lol

#

tru

buoyant wasp
#

well, for example for super metroid

leaden hedge
#

sean was going to make an automatic one

#

that'd auto light them up

cold bluff
#

oh, do they check it off?

buoyant wasp
#

the tracker is on the restream box

#

so it's up to a commentator or tracker to keep it

#

since the racers aren't going to have time

cold bluff
#

tracking 4 players at a time while commentating is a little much

#

might be able to

buoyant wasp
#

in SM and LTTP, they do a dedicated person for tracking

young walrus
#

no. it'd be players doing it

leaden hedge
#

they can't auto do it

buoyant wasp
#

trackers and commentators are separate, because it's too much for 1 person

young walrus
#

i'd want it on my stream anyways

leaden hedge
#

we can just write a mod

#

that auto does it

cold bluff
#

oh kk, so i'b basically just have a browsersource open and someone else would be checking it

#

or an auto one like kdt said

buoyant wasp
#

auto would be better

high moat
#

Would be sick, you could play in chinese aswell then

young walrus
#

auto would be sick

#

tru Ush

#

don't have to read

buoyant wasp
#

but that's significantly more complicated ๐Ÿ˜‰

leaden hedge
#

meh not really

#

just have the webpage read from a text file

buoyant wasp
#

except that a webpage reading from a local text file requires you to override security settings

leaden hedge
#

not a json file

buoyant wasp
#

Chrome/IE/FF all block local file system access by default I think

leaden hedge
#

also you'd use the obs built in thing

#

so the bg is transparent

#

without having to chroma key

young walrus
#

ya. that's easy

#

making this more visible and distinctive though would be nice

buoyant wasp
#

yeah, there it is, by default, browsers like chrome block local file system access unless you launch them with the equivalent to "--allow-file-access-from-file" flag

young walrus
#

but we can figure this out

#

tracker is sick

buoyant wasp
#

it's a security feature

leaden hedge
#

hmm thats not enabled for json

#

try it

buoyant wasp
#

there is a difference between doing file://c/somefile.json and trying to open it via javascript (which would be required in order to read it on demand). Reading it via the file:// method will work, but if you tried, for example, to do $.getJSON("somefile.json"), then you get this

#

that said, this doesn't have to be in the browser. Could just as easily write it as a c# program

#

did it in a browser cause it was quick, dirty, proof of concept

#

and it makes it easy to make it available to the masses ๐Ÿ˜ƒ

#

though i suppose the number of folks who will use it number in the dozens

#

or less

young walrus
#

might grow after agdq

#

or once randomizer takes off

buoyant wasp
#

true

young walrus
#

all randomizers spread like wildfire

high moat
#

Do they do randomizer races at agdq?

buoyant wasp
#

they are this one ๐Ÿ˜ƒ

young walrus
#

they are this year for LTTP

#

but just having HK at agdq will help

#

plus you know... i can bring it up

#

it's not like i won't have a mic

leaden hedge
#

obs browser source doesnt have that issue

#

you can literally load any file you want

buoyant wasp
#

interesting

#

could work then

leaden hedge
#

in a normal web browser yes

#

but in obs you can literally load whatever

buoyant wasp
#

if someone can get the json file generated, I can make it parse. but later, dinner now and wife is giving me the look

leaden hedge
#

sean will have to do it

#

I can't just dump the playerdata

#

the randomizer makes all of them wrong

rain cedar
#

Most things are right in there

#

Just spells are wrong

leaden hedge
#

so if I dump the value for hasCharm_1 via reflection

#

it'll actually be correct

rain cedar
#

Should be, yeah

young walrus
#

would be cool to have dreamers on the tracker

leaden hedge
#

doable I guess

#

let me try this

#

is there a hook for setBool sean if not can I get one hollowface

rain cedar
#

There is both GetBool and GetBoolInternal

#

Calling GetBool also calls hooks to mods

#

Internal does not

leaden hedge
#

I mean a hook to be called when something gets set

#

so I can save whenever playerdata gets updated

#

I guess on level change works for now

rain cedar
#

There's a hook to SetBool

buoyant wasp
#

anychance there is a simple mapping from the names in _Sprites, to what would be in this json file?

#

or would the names vary enough we'd need to maintain a mapping

leaden hedge
#

the names in _sprites are the order they appear in the game

#

wait are they

buoyant wasp
#

looking at a few, seems right

leaden hedge
#

yeah they are

#

you'll want a mapping

#

those are massively wrong for in game values

buoyant wasp
#

haha

#

sounds about right

leaden hedge
#

heres the ui data

#

<entry name="CHARM_NAME_1"> is the first charm in game logic

buoyant wasp
#

so basically, thinking:

{
    [
    {
        "name": "Charm1",
        "has": "true"
    },
    {
        "name": "Charm2",
        "has": "false"
    }
    ]
}
leaden hedge
#

the name will be

#

hasCharm_1

rain cedar
#

It's gotCharm_x in PlayerData

buoyant wasp
#

hasFireball_1, hasFireball_2?

leaden hedge
#

oh is it

rain cedar
#

fireballLevel

leaden hedge
#

no fireball is an int

buoyant wasp
#

right

#

but

#

could keep the coding simpler if it's just that every thing in the tracker is represented as a "item", doesn't have to be though, could just use the int values for the spells

leaden hedge
#

well you're going to have to do something weird with spells anyway

#

and with dashes

#

you can just do bool fireball1 = fireballLevel &1, fireball2 = fireballLevel&2

#

if you want it to be a bool

buoyant wasp
#

sort of ๐Ÿ˜ƒ - javascript being non-strongly typed makes that a little weird. not a huge deal just so long as i know what the format of the json is

#

also this en_ui file is weird, it's like it wants to be XML, but isn't

rain cedar
#

It's pretty easy to turn it into proper XML

buoyant wasp
#

yeah

#

already done

#

doesn't it make it less weird

#

so will the json have the values from that UI file, or is it going to be more like what Sean posted with the gotCharm_x, got_Lovekey, got_something, got_arcaneegg?

leaden hedge
#

gotCharm_x

#

but the the x is the same the x in the ui file

#

so CHARM_NAME_5 is baldur shell

#

so gotCharm_5 = baldur shell

buoyant wasp
#

ah, k, so use UI file to look at the values in the 7z sprite folder to get the right charm # for the right image

#

cool, gotta run, but will tackle more of this later. Don't think it's going to be terribly difficult now that i have a good idea of what we'll have.

leaden hedge
#

for now I'll probably just dump the entire save file

#

incase people want to track other stuff in there at some point

#

@buoyant wasp

#

you can even do stuff like, see what people have equipped

buoyant wasp
leaden hedge
#

gotCharm_x for charms
xxxLevel for spells
"maskBrokenLurien":true,"maskBrokenHegemol":true,"maskBrokenMonomon":true these are dreamers I think
most of it is self explanitory

#

if your not sure which variable is which you can ask hollowface

#

but im going to sleep so don't ask me

#

for now it just saves to playerData.json in your save folder

rain cedar
#

Fixed the greenpath baldurs and put in more accurate requirements for baldur shell

#

I need to implement a way to do proper boolean algebra in the XML so this doesn't happen

buoyant wasp
#

@leaden hedge - how often would it dump? Any way of determining if something changed? (IE can we add a flag to the dump that says, "inventory/skills/spells" changed, since it looks like there is alot of data here that is likely to change each time the file is persisted)

ebon dock
#

there is modding for hollow knight?

buoyant wasp
#

several ๐Ÿ˜ƒ

hazy sentinel
#

several modding

ebon dock
#

please elaborate

#

information

hazy sentinel
#

pinned google drive has all mods

ebon dock
#

what is there to mod

#

im on mobile

hazy sentinel
#

oh if you're getting into modding get UABE and dnspy

ebon dock
#

i just want to know what is there to mod

hazy sentinel
#

?

#

textures, text, code

young walrus
#

like... everything

ebon dock
#

hrm

young walrus
#

it's modding. that's the point. you can do whatever you want. your imagination is the only limitation

#

that and some coding stuffs

#

probably

buoyant obsidian
#

You probably won't make new areas or enemies, but everything else is fair game

buoyant wasp
#

There is a randomizer, there is a debug mod for practicing stuff, there are mods that completely change the way you get power (like the bonfire mod), or different ways of doing combat

dapper folio
#

any mod updates that Sean hasn't put into the drive folder himself?

buoyant wasp
#

me and KDT are cooking something up for the randomizer, but it's not ready yet.

dapper folio
#

alright

heavy geyser
#

Nude mods when

dapper folio
#

do it yourself

buoyant wasp
#

and then never share them

#

ever

dapper folio
#

Considering the following:
Shortening the Mods drive folder pin
Copying the two guide pins (replacing audio and extracting game assets) to a drive folder and pinning that (or adding it to the Mods drive folder pin)
@small nest, @buoyant obsidian, @leaden hedge: Please consider editing your pinned posts and adding "<" and ">" to the ends of your links so that the previews don't show up to save on space

buoyant obsidian
#

Done

dapper folio
#

thank you

buoyant obsidian
#

I wanna say keep the pins pinned, the drive folder isn't exactly more accessible

dapper folio
#

fair enough

#

keep the list of mods in the drive folder pin?

buoyant obsidian
#

Yeah

#

I wish there was a way to rearrange the pins, it'd be like a welcome message if it was at the top

dapper folio
#

Yeah, lemme unpin and repin it

#

I just wish there was an easier way to provide info and keep tabs besides a scroll history of posts

buoyant obsidian
#

Oh repinning works like that? Nice

summer tapir
#

could maybe just edit the post in lobby?

dapper folio
#

how so?

rain cedar
#

@cedar raven I added some platforms to get you out of City without wall jump, just gonna change a couple more things then I'll put this build up https://imgur.com/a/90N6P

summer tapir
#

I mean simo would have to do it

dapper folio
#

No, I mean, what would you recommend putting there and why there instead of as a pin in the relevant channel?

buoyant obsidian
#

You can do that, Seanpr!?

rain cedar
#

I mean I'm not exactly creating new platforms here

#

I'm making copies and moving them where I want them

buoyant obsidian
#

So could you make copies of enemies too?

summer tapir
#

I thought it would be maybe more visible?

#

was just an idea

rain cedar
#

Yeah

#

That's already a feature of debug mod

#

You can clone enemies

dapper folio
#

Visibility isn't the problem, it's ease of access, and looking tidy

summer tapir
#

can you clone zote? cirSmug

young walrus
#

Lol

dapper folio
#

lobby still has the same problem of having to scroll to see everything

young walrus
#

All zotes in cof

summer tapir
#

haha

buoyant wasp
#

Colors are subject to change. The sprites need to be normalized in size, their actual sizes are all slightly different which makes aligning them yucky. But, It reads from the json file provided by @leaden hedge and marks the charms you have based on that and marks the ones you have equipped too. Currently have 3 sets of sizes that can be tweaked, and location of where the charms go can be tweaked too. Next up, abilities and items, which should be fairly easy now that i have the rest working.

#

this is overlayed via OBS Browser source btw

rain cedar
#

I can make the randomizer output a json file every time you get something

buoyant wasp
#

yeah, kdt, did something where he's dumping basically the contents of the save file

#

it's up a few dozen messages earlier

rain cedar
#

Oh, I see

buoyant wasp
#

did a dll for it too, but i don't know how often it's being updated, not that it matters too much

summer tapir
#

thats neat

buoyant wasp
#

it's target is primarily Randomizer, but honestly there isn't a reason why you couldn't use it for normal stuff either i suppose

summer tapir
#

so, if I go for example to glowing womb but I'd get dashmaster, it would mark the dashmaster?

#

in the randomizer

buoyant wasp
#

yup

#

that's the goal

#

the idea was to make it so that if you're casting, it's easy for viewers to see what you have

#

since if you show up to a race like 20minutes in, you have no idea what the players might have at that point unless they menu and you can catch it

summer tapir
#

yea, its a good idea

buoyant wasp
#

(not original, totally stole this idea from Super Metroid Randomizer, which I think stole it from A Link To the Past Randomizer ;))

#

though the implementation is original

summer tapir
#

I wonder if it would be possible to make it an twitch extension

#

what file do you read?

#

the json file?

buoyant wasp
#

yeah, kdt is generating a json file based on the contents of the save, or something to that effect

#

and i'm just putting a timer into the overlay change checks the file every X seconds and updates the overlay based on the data there

summer tapir
#

hmm

#

did you coded it in javascript?

buoyant wasp
#

yeah, i'll push it up here before i go to bed

#

or at least, what i have so far. still more work to do before it's done

young walrus
#

Hmm.... So is there a way to have two PCs talk to each other about this? Lol. Or have the overlay interact with chat commands like a lot of LTTP runners have?

buoyant wasp
#

no need

young walrus
#

I have a two PC setup

buoyant wasp
#

hmm

#

so your 2nd PC is recording?

young walrus
#

So I can't have my gaming PC have the program since I can't key it with obs onto the overlay

#

Gaming and streaming pc

#

Yeah

buoyant wasp
#

if they are networked, you could map the drive where the json file get's written to

#

the browser doesn't need to care if the json file is over the network as long as it can reach it i think

#

I'll have to test that

#

otherwise....idk, I'd have to think about it. adding server communication is a great deal more complicated than simply reading status data from a file ๐Ÿ˜ƒ

young walrus
#

Yeah. That's why I was thinking bot commands could do the same thing that the json is

#

Just change the state of a bit in the code

#

And thus change the overlay

buoyant wasp
#

yup, but then you'd need a server even if it's a small local one in order to do cross client communication

young walrus
#

The info is for chat anyways. I don't need it

#

Why? My boy is on my stream pc

#

Bot*

buoyant wasp
#

oh

#

i see

young walrus
#

If I have the info overlay on the same PC as the bot

#

It could just affect the charm overlay

buoyant wasp
#

i suppose as long as there is a library already out there (there has to be i assume) that can interact with the bot, that's pretty doable.

#

we'd just need a bot on the game PC that can post and then on the streaming PC it would need to login and listen for bot commands to update the overlay

young walrus
#

I mean... I'd just have viewers donit

buoyant wasp
#

which I suspect wouldn't be super dificult

young walrus
#

Do it

buoyant wasp
#

haha

#

you could...

young walrus
#

Increases chat interaction

#

Whitelist people I trust

#

I don't care if they mess with it. Like I said.... I don't need it

#

It's for the viewers

buoyant wasp
#

yeah, it wouldn't be hard to add the ability to do that as long as a JS bot client already exists. if it does, should be straight forward to swap out the "read from json file" for "listen to bot events"

young walrus
#

Yeah that's what I'm thinking

#

Would it also retain the click to change functionality too?

buoyant wasp
#

right now, click to change doesn't exist (because this version is automatically doing it and i did new code because of the updates), but adding it in again would be trivial

#

i rewrote most of the prototype once i found out i could get the data without interaction from the user

#

๐Ÿ˜ƒ

#

so, yes

young walrus
#

Sveet

#

Doesn't hurt to have options

rain cedar
#

Put up a new randomizer build with some requirements updates and hard lock fixes

#

Also this ugly button in the top left for logging the randomization without being in game

#

Useful for finding a good seed to race on

young walrus
#

Lol

buoyant wasp
#

so when you press it, it dumps the spoiler log?

rain cedar
#

Yeah

buoyant wasp
#

oh, there's a question, is the randomizer seed in the save data?

young walrus
#

Do we have versioning yet? Coordinating what version with others is a bit confusing RN

buoyant wasp
#

cause if it is, I want to put the seed # in my UI overlay too

rain cedar
#

Yeah, good point, I should add a version number text

#

All the randomizer save data is in .rnd files

#

Which are just plain text

buoyant wasp
#

k

young walrus
#

Could just put version right after the randomizer text on the title screen

buoyant wasp
#

^

#

i thought the mod-framework was going to start putting the Version# in the lower left corner

#

or was i imagining things

rain cedar
#

It's on the to do list

buoyant wasp
#

ah

rain cedar
#

There's a lot of things I should do

trim totem
#

does the randomizer mod randomize relics

rain cedar
#

Yes

#

Relics can be any of the 4 relics

trim totem
#

can a movement item appear in a relic spot

rain cedar
#

Nah

#

Movement items are restricted to places that aren't terrible to get

#

Can't get them from relics, grubfather, or seer

buoyant wasp
#

Closer, all skills, spells, relics now in and working. items are displaying, but not working yet.

frail copper
#

how to install blackmoth?

#

do i just move the .modbundle file into the hollow knight folder?

#

and then start a new game on 'classic mode?'

rain cedar
#

For the modbundle method you need the mod installer

frail copper
#

oh, i have that

#

k

young walrus
#

does this work with upgraded versions of spells/movements?

#

movements??

#

items

#

bah

rain cedar
#

I can guarantee you the item thing doesn't work with spells in randomizer, at least

#

With randomizer the spell variables in playerdata do nothing

#

It's saved in the randomizer save file

frail copper
#

hang on, so, started blackmoth, and chose classic mode

arent you supposed to get dash ability from the start?

cuz im not

rain cedar
#

Yeah, you're meant to have it from the beginning

frail copper
#

hmm

#

im in king's pass

#

lemme check controls

#

yeah, their normal

#

weird

#

hm

#

it said 'blackmoth knight' in the title and all

rain cedar
#

Weird

#

You can try the modding api version of the mod

#

Which I am biased towards anyway

young walrus
#

no way

#

can't imagine why

rain cedar
#

I'll help you with the reasoning, then

#

Because it's better in every way to shitty non-compatible mods

dapper folio
rain cedar
#

Yes that is what I said

dapper folio
#

have any other mods updated?

#

I see Blackmoth has been updated to the api

rain cedar
#

Yeah, I did that a few days ago

dapper folio
#

any reason not to just replace the regular version with it?

rain cedar
#

Not really my call

#

Ask Gradow when he's on

dapper folio
#

fair

#

Though I think I'll put them in the same zip, keep the folder clean

rain cedar
#

Alright

dapper folio
#

@rain cedar how about folders that hold the individual game version mod zips? did it with Glass Soul as an example

rain cedar
#

Sure, that looks a lot better than 2-3 files per mod

buoyant wasp
#

@rain cedar - so the save data for spells won't work the way that @leaden hedge did it then? hmm, how to test that, guess I'll have to run a rando until i can find a randomized spell and see what he did

rain cedar
#

You can see exactly where everything is if you look in ModLog.txt in your save folder

#

So you don't have to hunt a spell down

buoyant wasp
#

hmm, were you talking about a different mod when you said

#

| I can guarantee you the item thing doesn't work with spells in randomizer, at least

#

just wanted to make sure i was getting the right data ๐Ÿ˜ƒ

rain cedar
#

I was talking about your thing

#

I don't use the spell variables in PlayerData because it messes with the pickups spawning

buoyant wasp
#

ah

#

wonder if KDT thought of that already

#

sigh - OBS doesn't allow for local JSON anymore with Browser Source, it adopted webkit with CORS too

leaden hedge
#

I can get spells to work via randomizer

rain cedar
#

Nah, don't worry about it

leaden hedge
#

I just dumped playerData, but I guess I could check the same variable sean used to calculate it

rain cedar
#

I will try to override the save/load functions to have the right values

#

That might mess with your thing, though

#

Or run after it

#

No way to choose which code runs first

leaden hedge
#

if I do GetBool(_fireball)

#

or whatever you used, that'd work right?

#

assuming randomizer is installed

rain cedar
#

Yeah, do whichever is greater between PlayerData.fireballLevel and GetInt("_fireballLevel")

#

I'm pretty sure GetInt returns 0 if it's not found

#

Maybe not, though

#

Probably better to double check that

leaden hedge
#

also for now @buoyant wasp it'll just change on scene change, until I can write a hook that gets called whenever something gets picked up

buoyant wasp
#

works for me

rain cedar
#

You can hook SetBool/SetInt and check for every possibility

#

Sounds tedious, though

leaden hedge
#

yee, maybe if you put nothing in

#

it should hook everything

rain cedar
#

I don't get what you're suggesting

leaden hedge
#

oh you're saying SetPlayerBoolHook gets called whenever you pick something

#

not that you've got to hook every specific variable

dapper folio
#

There we go, drive folder all updated, individual zips in folders instead of individual folders in zips

rain cedar
#

Yeah, it gets called whenever a bool is set

#

So you can just check if it's a bool that corresponds to an item

dapper folio
#

Not entirely sure on how/if to use tags to let people know which mods use the api, have modbundle option, drm free option, etc.

rain cedar
#

Just having something like [DRM-Free] in the zip title makes sense to me

dapper folio
#

yeah, sorry, meant for the folders

#

zips already have the tags

rain cedar
#

I think that's fine, then

#

Folder names are already too long to show for me

#

Wouldn't help to add more

dapper folio
#

already too long? with just author and mod name?

rain cedar
dapper folio
#

oh, i use list view for the mod folder

rain cedar
#

Oh yeah I see

#

That's much better

dapper folio
#

should i put the mod name before the author name?

rain cedar
#

I think it's fine as is

#

I can easily see everything in list view

dapper folio
#

alright then

rain cedar
#

Is there a way to set the default view for the folder?

#

Or is it just a user preference exclusively?

dapper folio
#

user pref as far as i know

rain cedar
#

Alright

dapper folio
#

apparantly there is a way, lemme test

#

rip, not actually available

rain cedar
#

Oh well

leaden hedge
#

it returns -9999

#

seems close enough

buoyant wasp
#

@leaden hedge - So, while older versions of OBS might have allowed local file access, new versions use strict CORS because they use webkit. So then, we have to approach this some other way. in order to make the data available. There is an option to disable that security, but it applies to all open chromium browsers, which, no.

One approach would be to look into doing a very light version of this: https://gist.github.com/flq/369432#file-httpfileserver-cs or this https://codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server - though instead of having it look for stuff to serve up, the only thing it ever would serve up would be the playerData.json contents as a JSONP on localhost:someport.

leaden hedge
#

I guess doing via a tiny webserver might work

buoyant wasp
#

the big thing is just making sure it doesn't impact the game's performance (if indeed it works at all). I'm trying to think of other approaches, but...

leaden hedge
#

@rain cedar when does NewGameHook get called before or after playerdata gets set?

rain cedar
#

After

#

It's in LoadFirstScene

leaden hedge
#

cool just making sure I can dump the json in there, and it'll actually be empty

#

@buoyant wasp have you tried starting obs with the --disable-web-security arguement

buoyant wasp
#

yup, it stops erroring but then won't load the data. From what I read, you have to exit out of all instances of chrome in order for it to take effect fully

leaden hedge
#

pretty annoying they'd just remove the best functionality of the browser source

buoyant wasp
#

yes/no. They didn't remove it, they simply updated chromium, and chromium has this baked in.

#

and IE/Firefox both changed their engines to behave the same way, so outside of custom compiling a browser engine, they're kind of stuck

#

wish they would have added an option that says "trust this page" or "grant this page access to this directory"

leaden hedge
#

or you know, hey this webpage is local and makes no external requests

#

maybe its safe to let it read files

buoyant wasp
#

that'd be too easy

#

we certainly wouldn't want easy

#

this might also be an option: https://github.com/sta/websocket-sharp - websockets would afford us one bonus in that instead of having to write the entire json every time something changes, you could just write to the socket on change for the thing that changes. apparently works with unity, so might work here too.

#

in any case, about time for bed here, so, good luck ๐Ÿ˜ƒ

leaden hedge
#

ez

#

ok, but this doesn't work for randomizer

#

hmm

rain cedar
#

How are you doing the alert?

leaden hedge
#

its a websocket

#
        public void updateJson(string var, bool value)
        {
            if (var.StartsWith("gotCharm_") || var.StartsWith("equippedCharm_") || var.StartsWith("has") || var.StartsWith("maskBroken") || var == "overcharmed")
            {
                ss.Broadcast("{\""+var+"\":\""+value.ToString()+"\"}");
                updateJson();
            }
        }
rain cedar
#

And I guess that's hooked to SetBool?

leaden hedge
#

yeah theres 3 overloads for that function

#

SetBool, SetInt and NewSave

rain cedar
#

I see

#

Well there's no way to tell what is actually being set from the SetBool function

#

Other than by running the randomizer logic yourself, I guess

#

I think it would work with a hook to SetBoolInternal

leaden hedge
#

well if you dumped randomizer values to a json, you could just look at that

rain cedar
#

Which doesn't currently exist

leaden hedge
#

to figure out what gotCharm_6 actually was

rain cedar
#

Yeah, I could do that

leaden hedge
#

that way I don't have to make this work for every mod

#

every mod can just make a different webpage

#

also fireball and scream work as expected

#

but quake returns -9999

#

did you call it _diveLevel or something?

rain cedar
#

No, I'm looking for _quakeLevel

#
{
    if (name.StartsWith("_"))
    {
        name = name.Substring(1);
    }
    return pd.GetIntInternal(name);
}

if (string.IsNullOrEmpty(name))
{
    return 0;
}

if (name == "_fireballLevel")
{
    return _fireball1 + _fireball2;
}
else if (name == "_quakeLevel")
{
    return _quake1 + _quake2;
}
else if (name == "_screamLevel")
{
    return _scream1 + _scream2;
}```
#

There's the relevant bit of my GetInt function

leaden hedge
#

oh

#

mb lol

#
            int randomFireballLevel = ModHooks.Instance.GetPlayerInt("_fireballLevel");
            int randomQuakeLevel = ModHooks.Instance.GetPlayerInt("_quakeLevelLevel");
            int randomScreamLevel = ModHooks.Instance.GetPlayerInt("_screamLevel");
rain cedar
#

Nice

leaden hedge
#

@dapper folio give me edit priveleges hollowface

dapper folio
#

send me a message with the email you want to have privileges

leaden hedge
#

@rain cedar is the a hook for when the application quits I know monobehaviours can do OnApplicationQuit() but I don't want to create a gameobject and attach it somewhere just for that

rain cedar
#

Nah

#

What do you need that for?

leaden hedge
#

just to tell the websocket its game is closing

#

it probably shouldn't display anything unless its in game

rain cedar
#

You can probably check if the process is running

#

Sounds tedious, though

#

Not sure where to even hook for application quit

rain cedar
#

I added in a hook to GameManager.OnApplicationQuit @leaden hedge

leaden hedge
#

alright I think everything I need to do is done

#

unless wyza can't get default -> randomizer working on the javascript side

#

@buoyant wasp the json responses look like

{
    "var" : "name",
    "value":"true|false|int"
}

theres a few keywords, GameExiting, NewSave and SaveLoaded, everything else is a game variable

#

and the mod is in the google drive

#

oh and if you send "json" to the server, it'll respond with playerData in a json

buoyant wasp
#

@leaden hedge - is there any debug logging for this? When i drop in the dll, load the game, and load the test html, i get "connectoin refused" for localhost:11420

leaden hedge
#

you can check the modlog

#

oh did you refresh the page

#

for somereason it only ever accepts the first request

buoyant wasp
#

hmm, that'll be problematic. cause OBS sometimes refreshes browser source (for example if you change the scene or show/hide the source). it'll also make development and debugging really, really hard if every time you need to refresh the html you have to close/start the game.

#

but in this case, the modlog helped. Looks like i have a old version of the mod framework and/or randomizer

#

missing the QuitHandler

leaden hedge
#

ah the link just above where sean at'd me has it

buoyant wasp
#

yeah, got it

leaden hedge
#

I have no idea why it only accepts the first request

#

its not like socket is a 1on1 thing