#archived-modding-development
1 messages · Page 426 of 1
No that's been in for a while now
to make it easier to torment your friends
The problem with the current randomization is that it only places progression items which unlock new locations
In other words, Nailmaster's Glory can never receive an item in the logic chain, because the randomizer never places all three nail arts in the first stage
Oh I see
oic
Because it places the progression first
And there are a lot more issues with the new items being randomized
so you'll never get it
They have more combined pathways like that one
okay that makes sense
lmao just force sean to update rando 2 to be your version
I mean, there are good reasons not to overwrite rando 2 just yet
no force- request him to pull your finger fork
But it might be good at some point to have a more "public" beta of my randomizer
Right now, I'm still constantly making a lot of changes though
@fair rampart ok, so you'll need to take a look at some other existing mods
do you have dnspy?
currently, mods work like this:
what is dnspy
the API is a modified assembly of the vanilla game that can loads dlls contained in the Mods folder
dnspy allows you to decompile dlls
you can use it to read the game's code
okay
Step 2 is - Fill accessible locations randomly until only one is left. Will that constantly update the list of reachables after every place? Because I assume you want to minimize a separate between special "progression" items and others in order to ensure maximum "randomness". So then step 3 is the last resort, if there's only 1 location left?
Or is step 2 using only non-progress items?
Yeah, it would constantly update accessible
when I modify the code where will the new dll be at my desktop or in a folder
@unborn flicker is getting it to be less biased towards early areas for the progression items on the list of plans? or is that just a side effect of charm density in early areas >_<
well you won't modify the game's code
you'll only use dnspy to figure out the game's internal methods and classes
Can you swap nail art locations w/charms?
and then you'll write your own mod from scratch
We'll see. It already has a lot of protocols to incentivize late game progression
ooh so like addition
ill just blame it on the game being to easy to finish in "any%" mode then
Here's the method I proposed earlier, for those who don't want to scroll up
So I guess I'm thinking of this as a potential randomization method:
- Place all geo pickups, to prevent these from ending up in shops
- Fill accessible locations randomly until only one is left. Update accessible list with each placement.
- Get list of progression items which unlock new locations
--- If the list is nonempty, choose one to force into the remaining location
--- If the list is empty and there are no more locations, place remaining items into shops
--- If the list is empty and there are more locations, try placing progression items into shops. If too many are placed there, get new seed and restart (the cases where this happens should be rare)
epicname, are you familiar with coding at all?
yes but not modding
api docs updated when 
okay that's good 😃 Check out a few of the githubs for examples. I might be biased, but an easy one is RandoMapMod; there's not a lot to it. https://github.com/CaptainDapper/HollowKnight.RandoMapMod
not the cleanest code but it gets the job done
It even has bugs!
LUL was my old name until I realized that's what it sounded like
the state of #archived-modding-development
the duality of modding: shitposting and serious programming talk at the same time
LOL
56 don't you?
serious programming talk? im only here to nag KDT and get help on random issues :^)
no i take pisses at myself everytime i have the opportunity to though
where's saleh
literally dming me right now
he is tryna not release PC again
someone mentioned these magical finite state machines, and i got scared and ran off
@ornate rivet holy shit
smh, stop sliding into people' dms
just slide into #archived-modding-development instead

Oh look at that!! I can change my github name. WELP all my links are broken now
how's the progress saleh
literally a minute ago
suggestion saleh:
smh
lol
correct
i would nagg other people than KDT, but they are the only person i know here D:
make pale champion dive kick
nagg 56
^
nagg 56
Give pale champion firebats
who is this 56, and where do i send my nagquests
@copper nacelle
pale champions animator will have to draw that mola
Should we make a #archived-modding-development-offtopic channel 
56 is basically depressed modding god
^
modding is offtopic
basically
We should have ?rank modder
oh no
and then seal modding from the outside
how are you adding reactions so quickly?
yes we'll have to kill eachother 😻
That's the only way I can think of to possibly get people to use #archived-modding-help
I need help
not sure if im crazy enough to mod this game, honestly, finite state machines and all 
its not that bad of an idea
what's up gradow?
infinite state machines when
just delete the FSMs
sid.
^
i can just delete the FSMs?
nagging me 
we need to get someone to rewrite hk for $7.53
so in order to make the Poorly Translated HK mod, I need to pass all dialogue of the game through a chain of google translates and back to english
modding-help should be how-to-add-mods
if you are good with unityâ„¢
modding should be mod-making
I tried google for some tools to do that, but was unsuccessful
did you take your time to look into my friends issue 56? :p
gradow as a potential linguistics student this hurts my soul
I got home like 10 minutes ago
But what about modding-ideas 
that's the idea, mino
also gradow: i dont have time for hk modding
it's hilarious
modding idea
yeah modding could be separated lots and lots
modding idea
just thinking about getting assets into this game scares me though <_>
so
give modding twice the channels speedrunning has
can anyone help?
do i look like an artist?
google translate?
what if we move modding to speedrunning and force people to get speedrunner role before typing in modding
you planning to scrape?
does anyone have any idea how I can accomplish that?
modding-development, modding-ideas, modding-beginner, modding-requests
for what? a shitty translator?
... oh wait, my profile picture has my drawing, i guess i do D:
Sorry, we're full meta right now, try another channel Gradow 
modding-artist 😔
just use a free translator api
aside from the obvious manual labor
@solemn rivet https://cloud.google.com/translate/docs/
I couldn't find one that works 56
yeah
o wait a chain of google translate 😓
#archived-modding-development-requests when?
well mola, you know how well people here react to requests
but that's mostly what I was thinking of, dapper
make a list of like 50 languages and randomly select like 20 of them for each piece of dialogue
Exactly you all are so enamoured by the idea of working on someone else’s idea for no reward
and chain translate it
is that free tho 
wdym sid
well okay that's fair
google cloud features aren't usually free
yeah google apis are free until you have like 200,000 requests a month usually
also, I don't want to run it on-the-fly, btw
the limits depend on the API too
Google's pretty damn generous; even as a webdev in a company with 400 to 500 websites, I don't think we ever had to pay google
well not for APIs. ads and seo was a different thing
okay so back to rando2.5, homothety, what kinds of protocols incentivize late game funtimes?
In the current version?
azure services aren’t mad either
i'm not sure, you just mentioned there was stuff in place to incentivize etc
i use the facial recognition from azure for my bot
holy shit gradow that's way simpler than I imagined
New locations are added to the list [randomizationdepth] times
@honest walrus has he tried toggling the native controller input thing in-game
I am an accidental badass
Or maybe [randomizationdepth]^2, I don't remember
maybe i should look into modding this game after all, as long as no FSM sneak their way in D:
@copper nacelle ... forgot that option existed, ill give them a poke
nice
That's rando 2 though, I don't know how one would do it with the method I proposed above
Other than perhaps weighting claw, wings, etc to be less likely to be forced
python is even simpler
ngl that looks to be the same complexity
unnamed format groups? are you mad
yea^^
.format(**locals()) is where its at
how is that simpler i can't even read it
not using f-strings 
locals() I sleep
import stack
I awaken
Discord.py used to steal local vars from up the stack
Cursed
not sure i like weighting the items
honestly though, python format strings are amazing
i wish there was more go-mode items in HK tho. dream nail and (isma|c-dash) is so small
okay, I'll give it a shot later tonight, when I have some free time
ty again Dapper
How long would running every single sprite in the game through a filter take?
python format strings arnt as good as playmaker fsm
No problem 😃
@shy cloak isnt it DN && (isma | CH | shadecloak)? >_<
i assume quite awhile saleh lol
Is it really? I've always heard isma | CH; you might be right though!
Well, the best way to fix that is what we're doing right now. Allowing more paths to get out of Crossroads, and delaying when you get vertical movement, without weights
with shadecloak you can't get to monomon
you can do uumuu with shade cloak
you can get into teachers archive
oh, right
well, 56...
Right that was easy
you can do shade cloak + sharp shadow + djump
you need CH or Isma to survive to get over to the dreamer
see that's still dumb
u
... i forget VS skips exist
the only reason CH | isma is because of a single dreamer
i dont do them in my Any% runs, therefor they dont exist
excuse me, they are hard, okay
def _get_variable(name):
stack = inspect.stack()
try:
for frames in stack:
try:
frame = frames[0]
current_locals = frame.f_locals
if name in current_locals:
return current_locals[name]
finally:
del frame
finally:
del stack
they're fine
@copper nacelle they arent seeing the option... is it windows only?
u guys talking about the teacher?
Shouldn't be afaik
We should impose a King's Brand requirement on Beast's Den
It's just under controller iirc
Nah, it's fine with low finish requirements
at least then there'd be an item for each dreamer
because Isma and CH tend to be quite late anyways
Options -> Controller is what i told them, this is my options for it
i'm not even sure if that's what frustrates me
yeah that's what it should be
LttP and SM are balanced so well between go-mode count and locations count
SM has ridiculously low requirements to finish though
is what they are getting
and relatively small map compared to HK
unfortunate
ngl I should probably finish my alttp sm combo rando
I mean, you want SM style rando, then you can do skills+keys in my version
but I dont really want to figure out where I can go
maybe I am just rose-colored glasses my SMZ3 runs
and it will be very similar to what you say you prefer
because I'm not really that good at sm
hope you chose casual logic LUL
I did
tewtal's a bastard with his logic
but I'm just really bad lmao
and I mean I at least know how to wall jump
even if I'm not that good at it
well i'll be back later. keep up the good modding everyone!
except you 003, you suck
jk
poor sid
@copper nacelle thanks for the help though, i think they somewhat got it resolved through some haunted arcane magic? ... i dont know honestly
i dont even question it, honestly
very nice
I really like the charmoverhaul readme lmao
real time filter
sigh
saleh where is your trademarked gif
this ain't it
it's only used in proper situations
extern 
:x5fiftEch:
cursed image
stop showing irl pictures of me it hurts
can't stop till you release the mod
internet stopped working randomly
@copper nacelle got some updated information
- steam driver unmodded: I can use it to navigate the menu but it isn't recognized as a controller so I can use it in desktop mode emulating keyboard presses basically
- generic driver unmodded: works just fine
- steam driver modded: crash
- generic driver modded: either recognized as controller, but inputs not working, or crash if you connect it while the game is running
``` the controller is a switch procontroller, used as bluetooth for generic driver and wired for steam driver
apparently it was only somewhat working... until it wasnt >_<
updated the updated information >_<
i too like being some weird middle part entity in this conversation :p
Imagine if the person having this issue could just get an invite link to this server to report it themselves
Now that'd be way too easy
very nice
question, whats the strat for killing elder baldurs with cyclone slash
oh look, the random white bar turned into a loading screen
oh look, generic input driver is working
Steam controller is still not supported, but if I close steam and force it to use the generic driver it seems to work
The switch pro controller has terrible calibration issues on linux with the generic driver but that's not a problem for you to deal with :P
thank you very much


yea, thanks for the help 56 
now i know you are the right person to nag, and not KDT 
Fun fact: on linux you can literally just delete the libsteam_api.so to get hollow knight to run with steam closed
gg, I just did cyclone slash elder baldur for steady body
That explains why it no longer crashes with the steam controller, it just fails to recognize it, I guess what I could do is make an action set for HK and basically use it emulating a keyboard
real #archived-modding-development discussion 
That would resolve my calibration issues at least, since steam's drivers are a lot better
HK doesn't need analogue sticks so that should work just fine...
Thanks anyways, I can get this to work now
I hope
lmao imagine not using kbm
I'm sorry, my fingers are currently dead from bouldering
lmao imagine playing hollow knight in 2019
well it's not like silksong can be played yet
yet
Ye but you could play literally anything else, like lying in bed for 12hrs a day
get a switch
I have a switch 🤔
get another one
wait, there are other games than hk?
get me a switch then
get me sekiro then
same
does save settings save the data in the save file?
yeah
Pog
orig copies attributes
I can actually fix linux support
wait i'm bad
can't use orig
Otherwise when you build with the other dll set it'll be fucked
copy paste time 
@frank pilot Could you try this by any chance
@copper nacelle with steam controller support?
no it's just the same as before
o
but this makes it so the api just has one build
instead of having to build with both dlls and having two output dlls
does this unbreak controllers on windows
no
h
i don't know why windows controllers don't work
neither do I
if i did i would've fixed it
same tbh
I diff'd the api and the vanilla assembly
and from what I could tell, the only added things were on. and the modding namespace
and IL.
same stacktrace as before
and that wasn't happening with the old new dll right
aye

oh
I guess I know the difference
let me try this
yup
ok trying the new version again
pog
works
Ok so
If you connect the switch pro controller via bluetooth it gets recognized as a generic controller
if you have steam running steam recognizes it as a switch pro controller and uses its own driver (which HK doesn't recognize but I can make steam emulate keyboard input to test it)
but if you wire the controller up to your computer, the generic driver does not recognize it, steam however still does
HK crashes with a wired up pro controller and steam running
it works with it hooked up via bluetooth now
(as in, the generic driver works, and steam controller in keyboard emulation)
actually
yup
@copper nacelle new version works with steam driver and keyboard emulation, but does not work with generic driver
old new version worked with both
cursed
(all of that bluetooth only)
is there maybe a hardcoded list of gamepads or something?
and the wired version has a different ID to the bluetooth one?
I wouldn't know
one of them crashes, the other one just isn't recognized
incontrol has something like that i think

yea no switch pro controller support then
Other than Native linux dll is just better
So I guess we can just build with that
Because I fixed InControl.Native
to not be different across builds
looks like the new version on the unity asset store supports the switch pro controller
but the one HK is using does not
unfortunate
xinput appears to be open source
so i could get the dll
and then merge it in while building
and then fix SetupInternal and Utility so both OSs can build


what's the random black spot that appears on the thing she wears
D:
😔
It's ok, I would be sad if That Mothe Boi wanted to fuck me too

is there any way to get to ismas without mantis claw or ismas?
isams
because if not then the rando tracker is lying to me
Its her arm. Try looking at the animation agsinst discord light theme @ornate rivet
pale champion when
Soon
tm
Four more anims
Sometime before early 2028.

and pale lurker i guess ?
Ye
im suprised once more
Honestly cant wait to finish pale champion and work on other things
honestly cant wait to finish school and work on other things
relatable
sameo
School holding this community hostsge
school bad
This is true
honestly can't wait to die and die
sigh
lmao nerds imagine depressing when there is something called
actually couldnt find anything
@silk jetty there is a mag skip... But I doubt that's it
i dont knokw what a mag skip is and at this point i'm too afraid to ask
mag skips are super hard skips that are barely humanly possible
so they are basically tas only
what mag tho
Magolor
The logic for rando2 doesn't even have that, iirc
just like the homothety fireball
I think so homothety
Cammie, how's nier automata
Honestly, if CaptainDapper makes his injectable logic mod, I would just remove magskips, since it confuses so many people
Nice
cammie sacrificed their save file so they cant easily experience the rest of the game
oh fuck
oh god
2B is better tho
also @safe hamlet i might do that, but PP's hp is different so i'm not sure how those mods will work together or conflict
same
sigh
sigh
oh god
i want a daki of saleh
Why not both
i hope it's the latter
Do i pass out for an hour or stay up till suhoor
whats suhoor
when you wake up before dawn to eat before you have to fast
Mozlem thing
not if you instantiate it
fuck urite
dont use big words on me
why stop at 2 hard PPs
Sigh
🔞
not in my good ramadhan
It's all because 56 wanted to have alliteration with his Ps

alliteration is a big part of this person's life
i can understand if 56 regrets naming his mod Pale Prince
sid sid sid sid sid sid
yes
yes
im willing to take you up on yoru challenge
i can make it work with PP
isn't there a chance that the mod is already compatible?
¯_(ツ)_/¯
good point
just a minor change is enough
ye
so 6k terminate at 3k
3000k 


this is actually really good training for NGG
you are saying NGG is harder than 2 PP?
i have actually never seen NGG in action
wait no
i thought you said 2 pv
2 pp is harder than 2nd phase ngg
but basically NGG phase 1 is you doing 2400 dmg to NKG with constant spikes
or something like htat
and some speed changes
2 NKG 😩
also 3rd phase makes the spikes do 4 damage
i've only made it to phase 2 like 3 times and immediately die
do they work together or it's just like my PV mod?
that happened to me
double NGG 
And then I realized doing attempts without practicing phase 2 is dumb
and I modified it to practice phase 2
just like the pv mod sid
Except they don't do pillars iirc
only way i could think of doing that as a non modder is getting to phase 2 with inf hp and then changing nail dmg to 1 and having inf hp
or make it so that they don't do it at the same time
plumes?
(spikes)
They are called plumes in the fsm
If you want I can try and find the phase 2 dll I was using Zaliant
I had it set so he'd do the last balloon and then go into p2
That way it felt like actual p2
sounds good
though no rush cause i wanna do other stuff first
i actually wanna double pp and 1.5 pp
balloon as in the pufferfish?
yeah
balloon is so lame tho
ye

time to install 56's PP 😩
phrasing
you said that about 2x pv
Descending dark is the answer to everything.
^
no
don't think so
you used to be able to
also don't really know how i would do this, i mean i could always just hardcode it since it's not a proper mod
wdym
i don't want to check if PP is installed or not
how you would do what
open up installer
check for PP, but i got it
is it enabled
ModHook instance has it
why is this so complicated?
http://i.imgur.com/tnGVDoB.png
fsms obviously
it doesnt really matter what order you read them in tbh
nou
Alternatively read them randomly and then go on the wiki for lore tidbits you have missed
once you read warbreaker before words of radiance you can read it in whatever order you want imo
I finished all the SA books
So I should start with the very last book in the mistborn series and read backwards
no
that's what I'm getting from this
read the different series in whatever order you want*
yes sir
yes
yes maam
@unborn flicker so I did a run
Read all of mistborn at once
a few things were broken
whenever I walked over the watcher graves it trapped me, and also the geo gate for crystal peaks wasn't purchasable
the only thing i hate about double pp is that they are dagger attack happy
read one page of each book then move on to the next book and cycle back
It's intended for that toll to not be purchasable without lantern
I'll look into the other part
I think I'm caught up in Cosmere but it's been a while since I checked.
But keeping up with the tidbits is usually just better to wiki it.
probably cause you havent unpacked 👀
but why block the toll?
by watcher graves, I assume you mean the dreamer cutscene in Resting Grounds?
I don't have any issues with that
not sure if this crash after dying was caused by mods or not lmao
this is hard @safe hamlet
2 of 56's hard pp 😩
ok this isnt possible
how about double vessel at 1.5 speed
Is your API up to date?
What item was at dream nail?
I have this error in the log:
[ERROR]:[RandomizerMod] - Error processing action of type RandomizerMod.Actions.ReplaceObjectWithShiny:
{"sceneName":"Ruins1_24","objectName":"Quake Item","newShinyName":"Randomizer Shiny"}
System.NullReferenceException: Object reference not set to an instance of an object
at RandomizerMod.Actions.ReplaceObjectWithShiny.Process (System.String scene, UnityEngine.Object changeObj) [0x00000] in <filename unknown>:0
at RandomizerMod.RandomizerMod.EditShinies (Scene to) [0x00000] in <filename unknown>:0
I'm not sure if that's related
I believe that should be fixed
oh nvm
It's when you go back to soul master room after getting the item
huh
@safe hamlet does DV change hp of base PV to 3k or just PP
I did DV with PP on and it was normal PV health
how are you getting pp from ModHooks.instance
i am not getting it, i am just checking for it using LoadedMods field and if PP is installed, i set the health to 3000
i know it's quite bad
since if you change the mod name, it won't work anymore

if jngo DV's PP im uninstalling
I was gonna recommend Type.GetType
GetType on what?
o
assembly-qualified name => Type | null
e.g
assembly qualified name doesn't need the id stuff
which makes it pretty nice
e.g 2 "System.String, mscorlib"

New randomization method
It does freeze up a little though
the inside looks something like this
Not shown: it restarts whenever it places too many shop items for every real location to be filled
homothety, how are you so into modding?
i just start something then just lose interest in few minutes
The alternative is analysis homework
understandable
due in 12 hours 
i have my chemistry test tomorrow, i am also using modding as the better option
I also find this stuff fun since I have almost no experience
it lives
sir wtf
why python tho
who said its phyton 
true
So when my randomization algorithm started to take 10s of attempts instead of exploding after 1000s of attempts, I felt pride and accomplishment 😎
I feel ya homothety
I also have no experience with coding
so even these small achievements feel so nice
😩

Any algorithm that is based on restarting until it works is pretty not good
isn't that life in a nutshell tho
that is true
but is there really a better way to implement compound item requirements?
Pick the location first rather than the item, taking into account how many items would be required to reach that location
With some additional logic/weighting to make it not do stupid shit like pick abyss first and place everything in crossroads
I see. I'll give that some thought then
that's some nice argument parsing
thanks
I'm going to work on hw now, but while it's on my mind
Is there any decent way to actually pull a choice of required items from the location logic? (other than the obvious, setting all to true)
Wouldn't that basically be an sat solver, or am I overthinking it?
I guess you could split at every '|' and choose a branch, etc, but then the difficulty settings cause problems
You could check all combinations of relevant items for every location to figure out what item sets lead to them
Would make sense to do that on init rather than during randomization
result: "56 It's quite difficult"
Right, and since we have small numbers of items that wouldn't take too long either I suppose
Yeah, it would be very fast
And as long as you're doing it you could also use it to speed up the randomization
By making truth tables for everything
Front-loading the expensive operations is much better than having lag when clicking buttons
Summons weaverlings to give the lonely bearer some companionship and protection.``` becomes ```Add a music room to listen to music that is not relaxing.
Call your organization```
that's so good
maybe 20 translations is too much?
I broke "Hallownest" into "Hallow nest" and got this
I tried to use my friend and burn it in the hall.```
maybe some languages should be avoided
absolute madlad
"These pins will mark any Stagway Stations you've visited.\nThey must have been very lively places when the stags still travelled through them."becomesIn fact, security is provided. There are many
i wanna work on custom bosses
maybe the string is too long?
the first answer was what i was looking for 
oh ok
so I have a dict of all languages that work for googletrans
and I'm accessing random entries in it
i see
are you going to run these each time the game loads? or are you just going to translate them all and replace it just once?
ideally it'd be each time the game loads
but
that'd require internet
and it'd take some time too
so for now I'm gonna pre-generate these
and hardcode them
plus requests limit
also that yeah
should still be fun tho
make sure you find a way to mention 56's PP in there somewhere :^)

56's pp in the HK dating sim
is there an event for inventory open or something similar to that?
basically, i wanna draw something on the inventory menu (where the vessels/items are shown), what would be the best way to do that?
Modify the canvas
nice
anyone here good with regex?
I need to write a python script to parse this file
picking up everything between <entry name=blah> and </entry>
and blah can also vary
what
yea
then \1 is the text
it doesn't completely work
but it picks the ><
yeah just in the replace add them back
^
What if > or < are in the text
just hope they are not
The radiance: "I think moths > other bugs"
also angle: "I think moths > other living beings"
prolly could also just use .Replace(), which i think is faster, correct me if i am wrong
||is there a mod for real life to turn me into a moth?||
no
fuck
libtard destroyed 
make the mod
the true reason I'm majoring in biology revealed
I only need to get the text in between ><
ok then do this
u already said that earlier tho angle
i meant replacing >< with ""
Imagine becoming a moth and not an anime catgirl
hmm today i will leak angle chat logs from #556637315015901215 into #archived-modding-development
where key is the entry name and value is between ><
no pls
isn't this xml?
#deleted-channel is the best channel
I think it is, sid, but assetstudio exports it as txt
it's from the moth server that may or may not exist
ooh, invite me
gradow play apex with me
Apex bad
unfortunate
ehh
Play good game
i see
sorry kdt but i already played ico
Ico is bad too
SoC is OK I guess
what about fortnite hahahahahahahahahah
.*\"(.*)\">(.*)<*
then \1 is the name of the entry and \2 is the contents
kdt objectively wrong
I'm funny arent i
kdt turning into acrid ???
last guardian?
Shit
@acrid
tell me if this works
that works angle, thank you!
yay
Last guardian played like it was programmed by TC in fsms
nice
finally we agree on something
now I gotta learn how to actually parse the file
ty for the help!
for some reason I need to do this to exclude the ending </entry> from the thing
.*"(.*)">(.*)[<](.*)
idk why
find:
.*"(.*)">(.*)[<](.*)
replace with:
dictname[\1] = "\2";
also there's things like "<" that I dunno you might need to replace
or maybe unity parses those
yeah actually I'm remembering unity deals with those for you
ye
also just cut off the top and bottom lines by hand I guess cuz they're useless.
I guess I can do that
so the current plan is to
1- parse each EN_ file like this to a dict
2- use my script to translate the values
3- write the new values with the old keys in a new file
4- do that for all EN_ files
5- load EN_ files in new mod
6- use LanguageGetHook
7- ???
8- Profit
much profit
@rain cedar sorry just saw your messgae while scrolling up, how would I modify the canvas? i can't even figure out where the game handles it
could skip most of these steps by adding your script into a library that new mods can load
I think it's called inventory top
can't find it, is it a fsm?
wdym angle
uhh I dunno why you need to parse the data, save it to a file, then load the file in a mod

