#DawnLib [V80]

1 messages · Page 5 of 1

obtuse pecan
#

But the new system to save is pretty good i have to say

#

Does it only save one value (primitives) or can i save multiple ones?

oak linden
#

Tbf it's just grabbableobject with two virtual methods

#

Like inheriting it won't do anything lol

obtuse pecan
oak linden
#

Oh fair enough

#

I need to make it an interface anyway

#

I forget why I didn't at the time

obtuse pecan
#

that will be cleaner yep

oak linden
#

But I need to make it an interface and inject it into every grabbableobject

#

That was the initial implementation and I guess I forgot and redid it as just a class lol

oak linden
#

JToken is like a newtonsoft thing, I've never used it before but it's similar to object

obtuse pecan
#

ooo

oak linden
#

It's something I'd have to look into to explain or just ask matty probably

obtuse pecan
#

interesting, if this really works then you gave me one more reason to use DawnLib lol

oak linden
#

I think the coderebirth halloween update will give some people another reason as well

#

It'll be an update entirely using dawnlib and not touching coderebirth at all

#

Just to show how far things can be taken

#

(Item replacements, enemy replacements and unlockable replacements but there's just a lot of control on what you can change, add or modify)

vernal umbra
#

Finally a replacement for SmartItemSaving?

oak linden
#

Should be ye

smoky crag
sly marsh
#

Oh I thought the names on the radar were an easter egg til Bongo showed the reference in how it works. Mostly cus of the Mel pfp and the name being Yeeeeeeeeeeeeehaw lmfao

oak linden
#

lol

#

anyway there is an incompat with AutoScroll rn, i told mrov about it he'll probably update his stuff to run like half a second later than it does, that's about it

spiral axle
oak linden
#

ye thats fine

#

its not really a big problem anyway

dense iron
#

hey, 2 questions.

should SUITS be throwing this error? I get that suits can be unlockables, but, a lot of suit mods will likely be never updating... xD

also i think for the first one it is a body of a dead thumper, so ill check that out, but unsure why thats erroring when the other bodies dont (its from SellBodiesFixed), ill check them all out later thought, just figured id write because i was surprised the suits popped up, especially as some people have hundreds of suits, luckily i only have like 15)

[22:21:59.9807612] [Error  :   DawnLib] Item: CrawlerBody(Clone) doesn't have a DawnItemInfo, this means this item cannot be committed to the savefile, contact the developer of this item to fix this ASAP!
[22:21:59.9807612] [Error  :   DawnLib] Unlockable: GlowSkelActi doesn't have a DawnUnlockableInfo, this means this unlockable cannot be committed to the savefile, contact the developer of this unlockable to fix this ASAP!
oak linden
#

but the current version out on thunderstore should be saving LL unlockables just fine

#

oh right suits arent LL

#

ugh ill take a look at when moresuits adds suits 😔

dense iron
#

ok, well, mid session, just thought id share while my friend takes 5 mins to reload the game xD thanks

oak linden
#

oh thats fine then, as long as the item gets added by LL it'll be okay

#

please tell me you're not adding it like midgame

dense iron
oak linden
#

yeah that's fine, by adding midgame i did mean the CrawlerBody(Clone) item, idr if you ever worked on SellBodiesFixed or if that was someone else

#

im hoping that mod isnt adding their Item's midrun

dense iron
#

oh right, i d k. but it adds a lot of items as bodies, and is supposedly working on v73, ill report it to them later once ive checked it properly, but i assume if one is broken, all should be broken.

oak linden
#

yeah rn its probably a me issue

dense iron
#

to be fair, would that error only appear if an item was spawned in a round?

#

we only killed a thumper that day.

oak linden
dense iron
#

just actually checked, the thumper body vanished, so i guess the error was correct for that one.

oak linden
#

and the second is that i was checking for items before LL saved em (in the current version of dawnlib), so this is kind of an everyone LL item issue

#

yeah the thumper body would vanish, that is completely my bad (Assuming they registered it correctly in sellbodies)

dense iron
#

ok, so potentially thats still a you issue?

oak linden
#

yeah the item disappearing is potentially a me issue

dense iron
#

we have suits terminal, and they are always unlocked.

oak linden
#

okay nice, since they're always unlocked its not something i gotta fix immediately

#

the problem is the moresuits dev patches prefix of start, so i need to collect the suits AFTER they patch, but i cant since i use monomod

#

as long as the suits from that mod are always unlocked though im fine with letting it be like this for a while until i force myself to do a harmony patch

#

or ask em to patch earlier

dense iron
#

yeah thats fine, i got that would personally have no issue for me (because i unlock them all the time), but yeah, i can see that being a problem for others if they dont.

oak linden
#

v0.3.6

  • Got rid of DawnGrabbableObject, replaced with a preloader injected interface, DawnSaveData
  • Fixed incompat with LL items not getting registered
oak linden
weary sable
#

||Interfacing with dsd? That sounds explicit.||

oak linden
#

no idea what that meas

#

means

weary sable
#

.....actually nevermind that's a really bad joke

obtuse pecan
thorn abyss
thorn abyss
paper fog
#

dawnlib .3.5 and .3.6 gave me the black bar
havent tried fresh minimal profile tho

sly marsh
#

@thorn abyss @paper fog If you have AutoScroll try disabling it

#

Should fix the issue

#

At least if what Xu said is to believe anyways

paper fog
#

i dont have autoscroll

#

unless there is other mod that does that

sly marsh
#

Idk then

#

I lowkey am mixed on my feelings about DawnLib including moon and interior stuff anyways

#

Doesn't really feel fitting for DawnLib imo

sacred tulip
#

Lunxara fix it pls thank you :3

sly marsh
#

I'm busy working in Unity updating all my Vtuber models so uhh

#

No.

sacred tulip
#

:0

vernal umbra
#

you fixed lethal elements

#

fix this mod

sly marsh
#

pacoito did all the fixing of Lethal Elements lol, I only asked him about it

#

So ig you're asking pacoito to fix DawnLib

#

☠️

#

@white finch I'm sorry apparently you have to fix DawnLib now

vernal umbra
#

xu would never lie

#

whos pacoito

sacred tulip
#

who tf 😂

#

Lunxara made every mod

#

thats a fact

sly marsh
#

I have 0 coding knowledge

#

LOL

#

I would break it not fix it

#

I may be smart with a lot of things but coding ain't one of them

vernal umbra
#

but you also fixed better ladders

#

wdym you would break it

sly marsh
#

pacoito did all the coding for BetterLadders tbf, it was a collaboration project XD

vernal umbra
sly marsh
#

He's even credited for redoing all the coding ☠️

green wind
vernal umbra
sacred tulip
#

-# plink

paper fog
sacred tulip
vernal umbra
#

it does have moon loading capability now

#

just nobody uses it

sly marsh
white finch
#

I was actually just now pranked by DawnLib plink

vernal umbra
#

only reasons i could see for not wanting to use dawnlib is either its still kinda buggy or they dont like xu

white finch
sly marsh
#

Idk what she did to piss so many devs off though

#

☠️

vernal umbra
#

idk either

green wind
#

that might be a bug if youre seeing that though?

white finch
#

Shows up when routing to a moon

#

Oh huh didn't realize the ship lever tooltip's just disabled when routing (in vanilla)

#

I was trying to change it to say like 'Routing...' or something but I guess it's not necessary

thorn abyss
paper fog
#

ok dawnlib + tworadarmaps also makes the line

#

do u have tworadar map @thorn abyss

thorn abyss
paper fog
#

try

thorn abyss
sly marsh
paper fog
#

well it also give u the line

sly marsh
thorn abyss
#

I dont' have the line with two radar map removed

static iron
#

its a fucking library

#

you tell batby what to put in LLL and not

sly marsh
#

I think it's the name of it that makes it feel unfitting, Libraries are usually relatively small, and large API mods are named something diff that doesn't include lib in the name so it just feels weird since DawnLib's goal is to be a large API

#

I think that's why it feels weird I didn't say I dislike it

#

it just feels odd

bronze girder
#

well this isn't a small library

white finch
#

To be fair the LevelLoader part of LLL kinda suggests that's the only thing it do plink

static iron
#

its just an easter egg

bronze girder
#

because xu outdid themselves

#

why make a bunch of small libraries when you can have everything

sacred tulip
#

Dawnpi

oak linden
#

absolutely ridiculous what i wake up to, you have no idea what you're talking about and you have no right feeling self important enough to be here saying shit like that, please get out of my thread#

sly marsh
#

I didn't say anything negative you can chill and put the pitchforks down

oak linden
#

what you said is so insanely negative, you need to recheck yourself

sly marsh
#

It wasn't though, at least it was not intended to come across that way

bronze girder
#

maybe not intended but it didnt come out that way at all

sly marsh
#

I can't help that I have Autism and I say things sometimes that comes across in ways I don't mean for them to

bronze girder
#

that
doesn't..
what?

static iron
#

I believe while not malicious, none of your comments were pertinent or helpful. Code rebirth lib was renamed to dawn lib to account for the scope enlarging

white finch
sly marsh
#

I hate that it happens, and I feel bad when it does my goal is not to piss people off by saying some things

sly marsh
#

I'm sorry, I genuinely did not intend for anything I said to come across as rude or negative at all

#

☠️

sly marsh
urban plaza
static iron
#

its just you come in often and give your opinion which usually boils down to i dislike this, and while youre entitled to your opinion, its usually not constructive or pertinent to any ongoing discussion

bronze girder
white finch
bronze girder
#

And I relate

sly marsh
#

In this case it wasn't me disliking it at all or trying to be against it and I'm sorry it came across that way

sly marsh
#

I can't really defend or say if my other alters have acted opinionated or self important but I definitely wasn't trying to do either of those things

sly marsh
vernal umbra
#

this probably isnt a good time, i'll come back later

white finch
#

Can also kinda come off as shifting blame or making excuses, but I know that ain't really the intent

dense iron
#

not to get in the way of whatever is going on here.. but... in a fresh profile, default configs... this is happening.
0199f578-5f05-f954-4731-fbf9158db22f

it doesnt happen with dawn lib 0.3.4
it does happen with dawn lib 0.3.5

its a conflict between TwoRadarMaps and DawnLib, I didnt try and downgrade TwoRadarMaps because there is only one version which is supporting V73.

I will post it in the other thread too incase its fixable at the other side (TRM).

oak linden
#

okie

#

ill talk to zaggy and see what the problem is

oak linden
sly marsh
# white finch Can also kinda come off as shifting blame or making excuses, but I know that ain...

I just shouldn’t have said anything I’m sorry… I really did not think I’d upset everyone over what I thought was just a small comment. Sometimes I hate being an alter and being our system’s Co-Host cus I don’t always know if what I’m saying is right or not and if it doesn’t sound bad my other alts don’t step in and say “Maybe you shouldn’t say that Lacy” so situations like this make me feel genuinely terrible… I understand now why Alex used to get stressed out a lot tbh cus it’s so easy to accidentally fuck up things and it really sucks v.v

dense iron
#

i think the line is always there, but the routing to only appears in orbit, the screen does change.. but its a mess

sacred tulip
#

was reported before

#

:0

oak linden
#

i just wokes up cheese let me catch up smh

sacred tulip
#

they were just talking bout this

sacred tulip
#

its eepy time

oak linden
#

nah im awake enough to not be able to go back to sleep

dense iron
oak linden
#

sorry 😭

paper fog
#

but yeah the problem appears in 0.3.5 and 0.3.6

dense iron
# oak linden sorry 😭

its fine, shit happens, if i had of just turned off the most recently updated mods, i would have found it right away... but i havent used mods until today on v73... SO.. yeah, could have been anything for me 😄

paper fog
dense iron
paper fog
#

its ok im also looking at my own stuffgreed

sacred tulip
#

I meanthey were literally just talking bout this

#

Like a few minutes

#

Moroxide had the same issue

#

Tworadarmap

#

Is haunted

#

Or maybe dawnlib or both idk

paper fog
#

well using TWOradarmap alone is indeeed gonna invite something beevil

sacred tulip
#

:0

paper fog
#

its ok guys just accidental halloween feature

#

small spooky stuff

sacred tulip
#

Ooooh makes sense

weary sable
#

Small spooky thing

sacred tulip
#

Small spooky Xu

dense iron
# sacred tulip Moroxide had the same issue

oh yeah, i saw part of the conversation, didnt see the image, but id already narrowed it down to dawnlib and trm by then.

problem with just images is.. cant search for the image with text.

thorn abyss
#

this one

dense iron
#

yeah, thats what i said xD

#

i was about to say before you edited xD

weary sable
#

I wish there was a mod that every time you did a ship scan it would emmit a submarine style sonar ping sound.

weary sable
#

Sorry

thorn abyss
#

oh

#

my bad

weary sable
#

I don't know why I keep forgetting to type entire words

#

Especially because I think of the words and then continue thinking I typed them only to find out I didn't.

#

It's like I'm going schizophrenic.

meager inlet
#

Makes it sound like autistic people can’t learn

white finch
#

-# (But also probably not really a discussion to be had in the DawnLib thread)

unborn nebula
#

Now that was offensive. I didn't see any negative or painful comments except a few that criticized luni. She apologized because now every message of her own that can be misunderstood ends up in people getting very mad. She doesn't have bad intentions ffs, I know this, I've seen her growing as a person for a year and I have similar problems, so I understand her. You better chill and just tell her that it was badly worded

oak linden
#

My thread isn't a place for drama, please do not continue

spiral axle
oak linden
#

Mrov i love you but I'm hoping it ends here

static iron
#

you too morv

#

no gas on the fire

#

shoo

spiral axle
#

I'm not continuing this here, no worries

oak linden
#

You know how I feel about any of this so it's best for everyone to just not continue, thanks

oak linden
#

Whys it called dawn lib though

static iron
#

Who up dawning their lib

oak linden
white finch
oak linden
#

Paco

oak linden
#

Hmm

#

Yeah probably some sort of easter egg

#

I feel like it has a deeper meaning on a while

#

Whole*

white finch
#

Whale* 🐳

oak linden
#

Ponder inside the whale

#

Let it speak to you

static iron
#

Wheat*

oak linden
#

Women*

cloud flower
static iron
#

101 gals confirmed

paper fog
#

I got flashbanged from my phone seeing the cat

oak linden
#

I was playing I spy and that was my exact thought process

cloud flower
#

If it was at breakfast time you should’ve named it ToastLib

oak linden
#

FriedEggLib kinda fire though

paper fog
#

Is it gonna be the year of food named lib

#

Youre looking at your modlist trying to check something and got hungry instead

static iron
#

modfood list

blazing nacelle
paper fog
#

first time im seeing these
is this the saving achievement to savefile thingy after going back to orbit

white finch
#

I think MoreSuits compat's still being made, but those errors are ignorable iirc (though not sure if that's the case with the new saving system)

urban plaza
#

There are a lot of words in here but just incase I will report something very minor, i have the clipboard and what not turned off using science tweaks or generalimprovements i believe (forgot which one), and 'unlockable saving' caused it to come back until i disabled it in the config of dawnlib

paper fog
white finch
#

Those do just be the two items the ship starts with

paper fog
#

is something planned for them or just starting items in general

oak linden
#

SBT or GI would have to make compat depending on how they're getting rid of those items

#

as for suits its ignorable since most people always set suits up to always be unlocked but ill eventually make proper compat

white finch
#

(Hence why StoreRotationConfig exists lmao)

#

jk it ain't urgent, I still need to update my own modpack overall plink

oak linden
#

i'd need to do a harmony patch specifically after them just to get it registered

white finch
#

Fun

oak linden
#

but ill probably just move their patch earlier

#

to like terminal awake

#

rather than startofround start

#

(unlockables load from the savefile at startofround start so i cant do it later than that)

oak linden
#

oh damn you got rid of that patch?

#

thats neat

#

i no longer need to patch LLL

white finch
#

Ye kept it as a dummy method so it won't complain when DawnLib attempts to patch it

oak linden
#

noice

#

ill get rid of it next version then, might take a bit since there's some weirdness going on with preloader and whatnot

blazing nacelle
#

all of this because XU is a MonoMod elitist /s

oak linden
#

exactly

frozen widget
#

hey @oak linden, the modpack i'm playing on doesn't load moons and i'm wondering if dawnlib is doing it

#

cuz this happens upon changing moons (the host's icon appears)

#

and this huge ass shit appears

urban plaza
oak linden
#

People reported this issue with that mod

#

I havent had the chance to look into it

urban plaza
#

I do not, but just in case, I will say i was using imperium to route at that time since i know that mod does... things

oak linden
#

Oh yeah idk I don't test with imperium

zenith remnant
oak linden
zenith remnant
oak linden
#

Ye

urban plaza
# oak linden Oh yeah idk I don't test with imperium

okay, gets wonky if you go to a moon that doesnt have the image

1st moon -> normal
2nd moon -> normal if has image
3rd moon -> turns static, shows 2nd moon image
4th moon -> becomes black box
5th moon -> back to normal if has image

#

or might just be black boxes now rather than nothing if the moon doesnt have one

#

idki m too tired for this im out

oak linden
#

Oooh well that helps me a lot thanks

#

When I get around to it I'll remember this

#

That does truly help a lkt

urban plaza
#

is that sarcasm 😭

oak linden
#

No it's not 😭

zenith remnant
oak linden
zenith remnant
oak linden
#

Cuz I've been told it's with combination with that mod but I haven't investigated it yet

paper fog
#

so if u guys got those lines try turn off any mods taht is related to the monitor
thats how i found out tworadarmap does that

zenith remnant
#

Does TwoRadarMaps need to fix it or do you?

oak linden
zenith remnant
#

When routing to auralis, which is using lethal level loader, it showed the loading bar with the player head just like the other moons.

weary sable
#

.....idk what is but I don't like it. It looks like it's going to steal my soul.

oak linden
oak linden
#

It'll just look finished from the first instant pretty sure

sly marsh
#

No idea why this error is throwing on boot

#

Oh maybe this, but why is it still erroring like the function is there?

agile sky
# sly marsh

okay I was super confused as to why MonoDetour's analysis isn't there but it's because it's a hook and the method is JITed for the first time there and it always had invalid IL

#

anyways this is an issue Xu is aware of

dense iron
oak linden
#

I mean I do mess with that screen so I'm sure it's an incompat with my mod included just wasn't 100% that it was TRM

#

Zaggy was also confused when I told him about it lol

dense iron
#

yeah i read in his thread xD shit happens, what can you do xD dont think it even produces an error, just, things seem to be running together wrongly.

oak linden
#

Yeah is weird

paper fog
oak linden
#

Oh I never had that when testing with autoscroll so that's weird

charred field
#

men

#

did i just hear autoscroll?

#

peak mod autoscroll?

charred field
#

hi zikpa

paper fog
#

but maybe i was tripping cuz i remember someone said that you say autoscroll also does that lol

oak linden
#

Nah afaik autoscroll just doesn't work as intended rn as in it does nothing

#

Will be fixed soon so its alright anyway

paper fog
#

aighty greed

charred field
#

oh does it not work?

#

ig I never noticed cuz I haven't been playing custom moons in quite a bit

paper fog
#

but wait no i swear i saw it scroll last night

#

ill try import the pack from someone last night they also have the lines and autoscroll be scrolling still

oak linden
# charred field oh does it not work?

The new hotloading UI broke it since i re-enable the moon's information the same instant mrov tries to run something relevant to them but they're still disabled

#

So it's like it just needs him to wait like half a second before starting the scroll

oak linden
paper fog
#

ok I AM trippin, its joever i should prob sleep lol

#

its 7am already lovely

oak linden
#

Lol

charred field
#

like I thought you meant it was broken like, since v73 or smth

#

not because of the incompat

#

makes sense

oak linden
#

Nah its so minor unless zeekerss changes up a very specific thing it should be fine

charred field
#

ye

meager inlet
#

I wonder if the easiest way to even consider non-moon related content hotloading is to just dump like some absurd amount of dummy prefabs into the network registration then indiana jones swap them in and out when needed

#

that way you don't need to deal with the idea of having to register and unregister mid lobby and whatnot

white finch
#

Interesting concept lol

kindred charm
#

I JUST CAME BACK

#

@oak linden IS THIS NORMAL?

#

It looked so good before

#

Unless you wanted to change it

#

But before it looked so good...

oak linden
#

no i didnt make it extremely bright red on purpose lol

oak linden
#

must be something i changed by accident, ill fix it next update too

kindred charm
#

All good!

#

Just wanted to mention it

oak linden
#

thats alright

#

i knew about it and forgot about it so i needed a reminder anyway

kindred charm
#

Whoo hoo
!

carmine elk
oak linden
#

it is a pretty cool easter egg

meager inlet
#

what font is that in the pic

oak linden
#

that's a good question i gotta open the project and check

#

probably one of the default ones, i wasnt too sure if i should use the LC one but i do use it in the actual button's UI

#

(which isnt shown in that screenshot)

#

this would be how the UI would look like before it broke for some reason last update lol

#

actually that might be the normal LC font

#

wow that screenshot from pineapple is really messed up, how badly did the bundle differ from someone else thats not me building it lol

meager inlet
#

Yeah I was gonna say

#

Though if you don't mind abit of nitpicking feedback,

-Bit odd that in the left panel the distance on the right is notably larger than the left and top
-The max font size on the achievement descriptions feels a little big, that Alternate Horizons desc. looks massive
-Those bin icons are very big, maybe reduce them to where they will allign nicely with the achievement title text
-The big icons are also a very dark colour and hard to make out in that pic without full-screening it
-The hidden achievement texture is a little low res 😛

oak linden
#

yeah i appreciate the feedback, ill have to recheck the first since its a poorly cropped old image of the UI so it might be lined up unsure, i agree with 2 and 3, 4 i assume you meant bin, i should change the colour maybe, white might contrast better and not just look horrible we'll see ig
(for 5 i definitely didnt just copy paste the steam hidden achievmeents icon lmao)

#

i think its lowres because icons are at most 64x64, i dont think the spacing i gave em allows people to make achievement icons bigger than that

meager inlet
#

If you can find a higher quality image I'm pretty sure with the right import settings that should downscale nicer tho

#

no stress on any of this though ofc it's just yap for the sake of it

oak linden
#

yeah i do appreciate that, i didnt enjoy the end result of the UI too much so i've been looking for feedback for this anyway

#

ill probably have to make a custom image for hidden achievements, which might not be a bad idea anyway

oak linden
#

@obtuse pecan it might be because you change the scaling of items (and i don't put that in the save file) but the SSS just doesn't hold up the items despite the vanilla cupboard holding em up, I'll test more tmrw with scaling but I didn't think matty fixes would do anything with scaling

obtuse pecan
oak linden
kindred charm
#

Some items just flat out vanish in the SSS

#

But keep up a slot and you can't take it out

#

It's a a bit funky

oak linden
#

okay well i do see the problem :p

#

you'll have to patch postfix startofround.start @obtuse pecan

blazing nacelle
#

you'll have a lot of this problems XU XD

oak linden
#

yeah a lot of people probably will patch those two specific methods

#

dunno if i can really do anything about that sadly lol

#

honestly this type of code would probably have been better on like, the .Start of the SSS though?

oak linden
# obtuse pecan why?

i override LoadShipGrabbableItems completely, kinda have to since im overriding vanilla's saving entirely

obtuse pecan
#

AH

oak linden
#

(also this code shouldn't be here i think, like i said, .Start of the SSS would be a better suit)

obtuse pecan
#

wait, so it does not run anymore at all?

oak linden
#

ye it doesnt run at all

obtuse pecan
#

oh boy

oak linden
#

there are probably a good chunk of mods hooking into that so i would have to ask all of em but yeah kinda have to 🙃

obtuse pecan
#

I mean if my situation is just me changing this call for it to be in the Start of the SSS i guess that could work, but what about other mods that just have code run by patching this method without other alternatives?

#

Is there another good place to patch

oak linden
#

ye just postfixing StartOfRound.Start would give basically same result

#

as long as they add host check

obtuse pecan
#

hmmm ok ok

#

Ill try to do this as soon as i can

oak linden
#

thanks

obtuse pecan
#

Since ill install DawnLib in my test local profile to see if its working, while im at it maybe ill go and switch to using dawnlib directly so i dont need to do that in the future
Ill come back and ask you things then

oak linden
#

i am gonna push it sometime today bhut just testing a couple more things, so you might or might not need it :p

obtuse pecan
#

oh so you fixed something after all? ok i didnt know what was this first #1387434268577370324 message
So you fixed some item positioning but now there is just the patch i made that needs to be edited?

oak linden
#

(and it actually still will for some vanilla decorations and ship upgrades because zeekerss put them on the wrong layer, but ill also patch that lol)

obtuse pecan
#

Oh ok i see

#

zeekers moment i guess

oak linden
#

yep

dense iron
obtuse pecan
#

i would not hope such things but maybe? lol

dense iron
# obtuse pecan i would not hope such things but maybe? lol

well i hope its not the cause, but i also hope the falling doesnt happen anymore 🙁 but i havent seen the falling since i put the vanilla cabinet and SSS apart (and if you remember the vanilla cabinet seemed to be moving items from the SSS). lol

obtuse pecan
#

Yeah i remembered but since i never managed to reproduce this then i assumed it was Matty Fixes or simply something strange in the modpack

#

But yep i hope these issues will be gone

#

for you

oak linden
#

matty fixes does do stuff with cabinets but thats all i know, i dont touch anything like that so maybe stuff will work out better :p

obtuse pecan
#

we'll see

oak linden
#

also i'd push teh update now but uhm yeah quite a few prefabs need fixin

blazing nacelle
#

matty fixes does try to parent items to the cupboard, but uless the two storages were litterally intersecting i doubt it would cause problems

obtuse pecan
#

Thats what i thought as well

dense iron
# oak linden matty fixes does do stuff with cabinets but thats all i know, i dont touch anyth...

well yeah, my thought was the reparenting to the vanilla cabinet in matty's fixes, was pulling items from the SSS to the vanilla cabinet, leading to the SSS breaking, leading to the falling out of the ship (because the items dropped to the floor from the SSS), then it seemed it maybe improvedcruiser shifting items around (i d k if that did anything, but i disabled a setting there).

but after i disabled the CI setting, and seperated the cabinets, no more issues... til this weekend 😄 (SSS items fell again)

dense iron
#

i now put a few (ingame) "inches" between them (at least, maybe 10 inches?)

oak linden
#

yea when me and zigzag update it should be back to normal

dense iron
#

silver lining anyway... at least it all leads to greater understanding of the bs that is falling through the ship floor.

kindred charm
oak linden
kindred charm
#

Pretty cool Easter egg tho

oak linden
#

agreed

#

v0.3.7

  • Fixed a compat issue with TwoRadarMap.
  • Fixed registering issues with MoreSuits.
  • Fixes regarding soft dependencies breaking.
  • Fixes regarding UI to achievements tab.
  • Fixed issues regarding LL shop items not being registered potentially
  • Fixed issues regarding items not spawning on top of furniture as they should be, including fixing some vanilla furniture that would have forced items to spawn under, like the following:
    • Table
    • Romantic Table
    • Signal Transmitter
    • Sofa
    • Microwave
    • Fridge
    • Electric Chair
    • Dog House
#

there might still be a couple more issues with TwoRadarMap but hopefgully its fixed now

oak linden
#

lol i forgot to push my changes

oak linden
#

yeah it means ill push again

kindred charm
oak linden
#

oh uh probably

kindred charm
carmine elk
kindred charm
smoky crag
#

Hey, this is a new save file I just made and for some reason it contains scrap of a previous one that I just deleted. And that one key had a weird rotation so that it stuck in the ground. Besides DawnLib I have BetterSaves & BetterSavesFix installed, just like myriad of other mods which I assume to be irrelevant for this.

Currently we are testing though and enabling one mod after another, trying to figure out which (without errors) makes connecting impossible, so maybe that has something to do with it

oak linden
#

you cant grab thahat key? it's probably desynced into someone's inventory, i've seen this so many times but dunno whats causing it

#

not dawnlib afaik

zenith remnant
oak linden
#

yeah those are fine

#

ignore the scene placed item errors

#

sticky note and clipboard

#

those are just in the scene zeekerss doesnt spawn em and i havent bothered "fixing" em

oak linden
oak linden
#

i dont think any of this causes players to be unable to join though

oak linden
#

cuz i save item rotations

#

and it looks like that key is being dropped lol

smoky crag
#

lol X3

smoky crag
smoky crag
oak linden
#

i should be deleting any savefile info when a save deletes (atleast from my tess stuffis gone fine)

#

tests*

smoky crag
#

It's weird. I can not see a clear cause or correlation either, just thought it'd be better to share such strange behavior in case you or anyone else got an idea as to why this happened

oak linden
#

yeah ill keep it in mind thanks

meager inlet
#

Just food for thought but if your doing an extensive full replacement of the saving process should that maybe be a separate mod independent of all the additions dawnlib adds?

#

That way it’s easier to assume any modpack (and by extension mod) would have no strong reason not to use it

oak linden
#

it'd need to depend on DawnLib since it uses the data about the items i collect, the SourceGenerator in Dawnlib collects the different vanilla items, Preloader in DawnLib makes it easier to get tthe data from each item, and DawnLib itself implements the NamespacedKey system that i use for saves

meager inlet
#

I see

oak linden
#

im about to about 6 different C# projects in DawnLib lol

#

Compatibility has the stuff that cant belong in editor even as soft dependencies so the editor tool auto deletes taht when seen in the editor

#

DawnLib is just the coderelated registration etc

#

Interfaces is what the preloader takes from to inject interfaces into different classes like Item

#

and Dusk is the editor registration and registration stuff that isnt base game

vernal umbra
dense iron
#

seems to now be showing my steam profile picture and name ingame interestingly.

oak linden
dense iron
#

yeah, i turn off TRM, it goes away, let me double check its happening only with TRM and Dawnlib, didnt get a chance to check that yet, one sec

#

ok, maybe its now TRM with something else... hmm

#

yeah, seems dawnlib isnt causing this anymore 😄 nvm

#

ok, im confused, because its now not occuring.. maybe related to the save system being converted? i was using a file that was last saved on the vanilla save system.. but have TRM reenabled and its not happening on my main profile..

oak linden
#

Weird, maybe it's just a thing with routing to specific moons and not particularly TRM then

#

I'll have to do more extensive testing

#

But wouldn't be save system :p

dense iron
#

yeah i d k, ill leave them both on and see what happens. its a minor bug, not a big deal.

oak linden
#

If this is the only issue encountered though I'm happy with that

dense iron
#

it reappeared.. hmm...new save, freshly opened game.. it appears.

#

i reopen same lobby without closing game.. its gone.

#

i created a new save without re-opening the game.. and it was fine, but then change of moon.. and its back. so it seems its occuring on change of moon now.

oak linden
#

You're just showing that you routed to offense from another moon and it did the overlay bug

dense iron
oak linden
#

Oh how do I break this to you

#

Uh

#

The line is a progress bar

dense iron
#

ah ok, well it doesnt go away

oak linden
#

Yeah okay that part is a bug

#

Lol

oak linden
#

You also reminded me I needed to rewrite a bit of how the line works

#

Since rn it snaps to the next position (which is just 100% for vanilla and LLL moons), but I'd like to make it step increase from where it is to the point rather than snap to point

dense iron
oak linden
#

The progress bar is supposed to have a ship icon above it, but I've never managed to get it working

#

Appeared in your screenshot somehow lol

dense iron
#

oh that original one yeah.. not the rest though.

#

ok, i know why the icon appears.

no icon during the loading time
icon appears once i pull the lever to land.

#

so with my profile, its doing it wrongly, but showing the icon, so something else is conflicting in my profile, ill try find out what.

vernal umbra
#

Is it because that ship icon is part of the clock when vote is called

#

Like does it just get unloaded in orbit

oak linden
#

It should just be part of the loading bar, my guess is some sort of sprite layering issue

#

Though I really think this is just a DawnLib bug to be honest I dont think it's a profile conflict

thin delta
#

might just be because my pack is full of stuff, but on latest dawnlib being 0.3.8 when transiting to a new moon this error pops and doesn not transit me to a moon thus softlocking, but 0.3.6 functions properly

[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
Dawn.MoonRegistrationHandler+<>c.<DelayTravelEffects>b__10_0 () (at ./src/API/Moons/.MoonRegistrationHandler.cs:361)
UnityEngine.WaitUntil.get_keepWaiting () (at <c39a522eee05469b8171a6cfeb646c59>:IL_0001)
UnityEngine.CustomYieldInstruction.MoveNext () (at <c39a522eee05469b8171a6cfeb646c59>:IL_0001)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <c39a522eee05469b8171a6cfeb646c59>:IL_0026)

sly marsh
#

@obtuse pecan Will the SSS be updated for my session tomorrow for the DawnLib compat? ;o

#

New changes be peak

#

Ty Xu

thin delta
#

i just turned off the save stuff for sss to work

oak linden
#

This error is saying that the networker is non existent

#

You got a log i can look at?

sly marsh
thin delta
thin delta
dusky lark
#

Yeah I cant even open the game anymore since the recent dawnlib update, I Get the fatal error off the bat when loading in, downgraded it to a previous version I can load into the game again, but cant even play with friends anymore since the game disconnects my friends from the hose (me)

oak linden
# thin delta heres the log

Huh I don't see anything going wrong too badly, HQRebalance, mirage and spectate enemies errored a couple times, I'm unsure what happened here

thin delta
#

yea im not certain either, it only appears on the latest ver, i didnt see anything that stood out aside of dawn

#

but 0.3.6 does function perfectly fine

oak linden
#

Hmm I see

#

I dont think I really changed anything relevant to that stuff in 0.3.8 so that'll be fun to check ig

dusky lark
# oak linden Uh what's the fatal error?

[Info :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead.

[Info :HookGenPatcher] Already ran for this version, reusing that file.

[Info :HookGenPatcher] Previous MMHOOK location found. Using that location to save instead.

[Info :HookGenPatcher] Already ran for this version, reusing that file.

[Info :DawnLib.Preloader] DawnLibPreloaderPrepatcher Started

[Fatal :DawnLib.Preloader] Could not find Interfaces dll! ⬅️

[Info :FixPluginTypesSerialization] Running under Unity v2022.3.62

[Info :FixPluginTypesSerialization] Found offsets for current version, using them.

[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]

[Info : BepInEx] Patching [Assembly-CSharp] with [Dawn.Preloader.DawnLibPreloader]

oak linden
oak linden
thin delta
dusky lark
oak linden
#

It's basically saying you're missing part of the mod lmao

#

But based on the log just above yours from dilly it's not for them

#

That's why I'm confused

dusky lark
oak linden
#

Are you able to open up the mods folder, go to dawnlib and screenshot what's inside?

#

There should be a com.github.teamxiaolan.dawnlib.interfaces.dll somewhere in there

oak linden
# dusky lark

Are you able to copy paste your file path here? You can obscure the naming of anything you don't want to share I just gotta be thorough ig

dusky lark
oak linden
#

Thanks, you might be okay to downgrade to 0.3.6 for now until I figure this out (tomorrow after I wake up)

thin delta
#

i also hope your illness has been improving well, make sure to drink them fluids and get all that sleep

oak linden
#

Thanks! I'm almost through it yeah

obtuse pecan
#

But ill try to do it as fast as i can, so first a small compat update and after that a big compat update

white finch
# dusky lark

@oak linden Actually wait why are the .dlls on the top directory here

dense iron
white finch
dense iron
white finch
#

I see that is no longer the case, though I know not if it's intentional

sly marsh
#

@oak linden Since you save item rotations I assume I should disable this option in GI lol

urban plaza
#

im in the middle of testing all that stuff rn loll

urban plaza
#

and as for furniture, all items drop down 1 shelf in the vanilla red cupboard when loading a save, even after disabling matty's fixes, generalimprovements and sciencebird tweaks

#

and just incase ill mention it again, but going to a moon that doesn't have an image/video as a preview on the monitor causes the previous moons image to freeze/displays a black box

#

furniture rotations - im not 100% with my report, tbh. the monitor one, i am at least positive about. seems way better than it was on previous dawnlib with items and unlocks, so amazing job so far

oak linden
oak linden
oak linden
urban plaza
oak linden
#

Lobby save isn't even needed since vanilla does save when u exit the lobby lol

#

Assuming you're in orbit

#

But yeah i never tried with having matty fixed GI SB turned on

#

Matty Fixes thing probably doesn't run with my mod and the option turned on

urban plaza
#

it wouldnt save my positions in the past

#

uhhh specifically bought furniture, moved items, etc. without launching

oak linden
#

You can do lobby save if you'd like, no harm no foul, but I am confident in it being somewhat redundant (atleast without a mods interference ig)

urban plaza
#

mmmm sure alright i will go test and return to see if i figure anything out

blazing nacelle
blazing nacelle
urban plaza
# oak linden That shouldn't be though, unless the scrap is fairly problematic I've had no iss...

clip 1 - Sciencebird tweaks, GI, matty's fixes all enabled
clip 2 - Aforementioned mods turned off (might have to pause at the very start to see rotations)
clip 3 - Some items from previous save carried over (?)
clip 4 - Items remained floating after moving furniture

I just think the way the rotations are handled is different, you can really change the way you place it down depending on your angle in clip 1, whilst in clip 2 they're all pretty much the same, but you can change the rotation if you place it from a very different angle. This might just be the way it's intended and I have gone crazy. As for items falling through a shelf, well... they do it either way and I didn't test with dawnlibs options turned off unfortunately. Of course, if you'd like, I can go test this in an empty profile, but... meow.

oak linden
urban plaza
oak linden
#

Hmm so you are deleting it through the vanilla options

urban plaza
#

yes... is there another way to do this rather than deleting the actual save data on my drive (doing that sounds like a pain everytime)

oak linden
#

no thats fine, i was just making sure there wasnt like a weird mod utility that you had that deletes save files or whatever

urban plaza
#

I will send you the code incase regardless

#

019a0084-d518-1232-89f1-3f46a06d2b89

smoky crag
obtuse pecan
#

#1387434268577370324 message I lied, Im trying to do the small compat update now
@oak linden i got some errors regarding DuskUnlockables

oak linden
#

oh yeah for scene placed ones you can ignore em

#

zeekerss doesnt sspawn that set of unlockables, he just has them in the scene

#

which has its own set of issues but it just means that in dawnlib i dont "save them" etc

obtuse pecan
#

ah ok i see

#

Then maybe you should add checks to prevent errors from everything placed in the scene

oak linden
#

maybe but it'd have to be pretty hardcoded so not worried about it rn

obtuse pecan
#

ok

#

anyways rn im trying to change the patch you mentioned yesterday
If it works then later ill try to fully switch the SSS to DawnLib, at least i will try and see if it works without problems

oak linden
#

🫡

dense iron
# oak linden Though I really think this is just a DawnLib bug to be honest I dont think it's ...

so um... done a bit more Testing...

on my profile...
i disable Open Monitors (i know its depreceated, but its worked fine until now), and the issue goes away.
i disable DawnLib, the issue goes away.
i create a profile with only Open Monitors and DawnLib.. and all is fine.

so it maybe a 3 or more mod conflict between DawnLib and Open Monitors and something else, or something else causing the whole issue now, i d k

will keep looking into it.

Edit: can apparantly add Terminal Formatter to the list.. xD (but more need finding x.x)

obtuse pecan
# oak linden 🫡

hmm changing the patch did no effect, ill investigate a bit more to see whats going on

obtuse pecan
#

this does not seem to run at all, the same as the Loading part

#

was this also overrided by Dawnlib ?

oak linden
#

saving items? lemme check

oak linden
obtuse pecan
#

💀

#

can you just give the functions names that you nuke please

oak linden
#

it just be the 3, LoadUnlockables, LoadShipGrabbableItems and AutoSaveShipData

#

i have to override it otherwise basegame will run its saving which isnt ideal greed

obtuse pecan
#

lmao

#

ok

#

im be honest, is that really a good idea to nuke these vanilla functions? Is it not possible instead to still make them run but make it so they have no effect ? Like for example harmony patch return false ? And in the patch you run all the things that are needed such as SaveItemInShip but everything else is just return false?

oak linden
#

well, there are the obvious downsides of me nuking other people's patches, but its a sort of necessary evil, the fun reason i can give you is that i dont like harmony and prefer to use monomod to patch

#

but i believe LLL and LL also do their own saving, which i should be overriding

#

and theres also other mods that do try to save stuff like in the items

obtuse pecan
#

Also AutoSaveShipData is run in SetShipReadyToLand but items are not saved when disconnecting which is supposed to be in Disconnect of the GameNetworkManager so whats going on

oak linden
#

wdym?

obtuse pecan
# oak linden well, there are the obvious downsides of me nuking other people's patches, but i...

I mean ok thats fair, monomod is fine
But there should still be a way to run all those important functions to keep the calls while still having them have no real effect
I don't want to just disagree at what you made because im chill with it but other devs might be not, and patching vanilla functions should usually always be done in a way that will not nuke these vanilla functions completely. I have a similar example in LethalThings actually where the mod is just nuking the battery charger for some reason without any possibility for other mods to patch it if LethalThings is installed without patching the patch of LethalThings which shouldn't be something that someone would need to do in the first place if the original patch was made differently

obtuse pecan
# oak linden wdym?

GameNetworkManager.Disconnect is run when the player is disconnecting yes?
Well inside of this function we have SaveGame and this will run SaveGameValues and this will run SaveItemsInShip
You didnt said you nuked this path so idk why it's not working

oak linden
#

oh sorry i was multitasking and accidently typed what i was looking at rather than what i was thinking about

#

i dont nuke autosaveshipdata

#

that one would be dangerous

#

i nuked saveitemsinship

#

they're on top of eachother so accidently got it wrong lol

oak linden
#

cuz otherwise you have like 4 main stream mods all trying to save to different save files about the same information and just causing some unnecessary performance

#

mods im thinking about would be like LLL LL SmartItemSaving and DawnLib

#

now obviously if a mod is unmaintained or something is preventing them from moving their patch, i have solutions to those specific scenarios

dense iron
# dense iron ok, i know why the icon appears. no icon during the loading time icon appears o...

ok, found the sources of this issue.

019a015c-f601-8b44-c849-b36cea5e6946

DawnLib
Weather Tweaks
Open Monitors
Terminal Formatter

you have all 4 enabled, the screen has the DawnLib loading bar screen stuck permanently on screen after routing to one moon.

if you disable dawnlib, there is no loading bar screen
if you disable any of the other three, the loading bar appears, and disappears (intended effect i assume)

so yeah, i guess a 4 way conflict.. somehow.. lmao.

all other mods in that profile are dependencies except for the typeloadexceptionfixer mod.

oak linden
#

💀 okay ty ill try that

obtuse pecan
#

Rn Im just really tempted to patch your patch
Because i want to fully switch the SSS to DawnLib then it will have no soft dependencies problem, is that something i can do safely or no?

oak linden
#

yeah lol, you are actually a rare case honestly, and i dont blame you for patching those spots, i might even have to check coderebirth later to see if i do patch any of those

oak linden
obtuse pecan
#

Yeah ill do normal prefix/postfix without any override

oak linden
#

dont be me, be better

#

basically

obtuse pecan
#

And actually it's even better cause it will work no matter the config value

obtuse pecan
#

jk, no it's just that i only use monomod when i need it, otherwise harmony is fine

oak linden
#

im just a monomod supremacist

#

it's probably okay to use that word in this scenario

obtuse pecan
#

Probably

dense iron
#

fanatic?

white finch
#

Need a Harmony fan vs MonoMod enjoyer meme

oak linden
#

funnily enough slider was never a snap slider, it just had a really strong lerp value that skipped everything

obtuse pecan
oak linden
#

i do know the binoculars moved down, and i do wanna improve it but i am slightly lost on that

obtuse pecan
#

Ask Matty then because it works perfectly with Matty Fixes

oak linden
#

it was made with matty's help in vc dont worry 🙃 (though there's a lot more in matty fixes that i might have to slowly integrate in a clean way)

obtuse pecan
#

ok ok, hope this can be done soon

oak linden
#

there was a point where i was really confused why my items just were not staying on top of stuff like the vanilla furniture i was testing with, then we tested with matty fixes and it was like "it happens on matty fixes too" lmao, was just a silly vanilla bug

#

for some reason vanilla raycast for item spawning and dropping from spawning has different layers compared to player dropping it

obtuse pecan
#

Oh really? But i didnt saw any items fall through with Matty fixes so idk how it's possible

oak linden
#

it was only on like 6~ different vanilla furnitures

#

but if you do find an item that doesnt sit pretty in SSS (preferrably vanilla) i can use that as a baseline to test

#

i have a couple ideas

oak linden
obtuse pecan
#

there is 2 SaveData in your patches with different parameters, how am i supposed to get the one i want by name?

oak linden
#

oh with harmony patches i think you're supposed to just give your patch the right parameters and from there it'll know?

#

(or atleast thats how normal C# would work lol)

obtuse pecan
#

I dont think thats how it works, because the compil says im on the AutoSaveShipData one rn

oak linden
#

yeah but that's nameof, thats just gonna get compiled down into the string

obtuse pecan
#

ah yeah thats true

oak linden
#

its as if you typed "SaveDataPatch.SaveData" in there (or "SaveData" i dont remember)

#
    [HarmonyPatch(nameof(SaveDataPatch.SaveData), new Type[] { typeof(int), typeof(string) })]
``` might also be how you're supposed to do it (the parameters arent the correct ones idk what they are off the top of my head)
obtuse pecan
#

this should work then?

oak linden
#

might just have to try and see, it might want you to put the parameter types in the harmony patch and not the method's parameters

obtuse pecan
#

ok lets see

#

you might be correct

#

ok its working, thanks Xu

#

just for the patch at least, now ill see if by converting everything i have item falling issue

oak linden
#

me personally i woulda did a fatal log

#

(which is why the current release has a fatal log that i forgot to delete)

obtuse pecan
#

Lmao

obtuse pecan
#

the shovel does not fall

oak linden
#

noice

obtuse pecan
#

Ok

#

Now xu, lets be serious for a moment zigzag55Abibabou

#

How to i replace those lists with DawnLib?

#

and this

#

and that

oak linden
#

alright let me see what you're talkin bout

obtuse pecan
#

😊 no problem

oak linden
obtuse pecan
#

Those are the list that contains all modded items

#

installed

oak linden
#

when do you need that list

obtuse pecan
#

When the cupboard is spawned

oak linden
#

okay that should be fine,
you can get every item through:

foreach (DawnItemInfo itemInfo in LethalContent.Items.Values)
{
  if (itemInfo.TypedKey.IsVanilla())
    continue;

    // blah blah (itemInfo.Item gives the item)
}
obtuse pecan
#

Will this give me every items even registered by things like LL, LLL, blabla?

oak linden
#

there is also a Freeze event you can subscribe incase you want it as soon as its ready, it'd just be:

LethalContent.Items.OnFreeze += MyMethod;
// or
LethalContent.Items.BeforeFreeze += MyOtherMethod;
obtuse pecan
#

Ok

oak linden
#

if i miss a library, then they're probably adding it too late to even get saved by the game lmao

obtuse pecan
#

Well if the list contains items from DawnLib, LL and LLL then i think you have all

oak linden
#

ye, there are a couple cheeky mods manually adding their items here and there

#

AND THERE'S MODS DUPLICATING VANILLA ITEMS (COUGH REMANENTS COUGH), but we dont worry about those too much i think

obtuse pecan
oak linden
#

yea as long as its like anywhere after StartOfRound.Start tbh

#

thats the benchmark for all content

obtuse pecan
#

Ok

obtuse pecan
oak linden
#

goldscrap is the only popular one that does manual afaik

#

but i think that one's scrap is in dawnlib too

oak linden
# obtuse pecan and this

so for this, you should probably setup a code approach to registering stuff like this, ill get an example rq

#

Okay, so bear with me here and ask any questions you need to, it's a bit overkill for like registering one thing but DawnLib was meant for more bigger mods anyway
you need to split the SSS into two bundles, a main bundle and the one the SSS is in, this is an example of my code in Plugin.Awake that handles what you should do in the main bundle

#

oh uh you dont need the MainAssets part

#

that part is just me loading in extra prefabs with some utility from DawnLib

#

which is neat so you might like it but unneeded for just registering stuff

obtuse pecan
oak linden
#

for LLL the mod name is whatever the dev of the mod sets it to

#

in LL its LethalLib but not always i think? its a bit inconsistent

#

it's all soft dependency code where i grab it from em so its whatever they decide it is

obtuse pecan
oak linden
#

ye thats what i grab from LL

#

so for LL items that's what you're getting

#

for LLL, since its an editor mod usually, it'll be the "MagicWesleysMod" or whatever wesley decides to call his mods

#

sometimes its "therubberroomsmod:therubberroomsinterior"

obtuse pecan
#

i see

oak linden
obtuse pecan
#

Is there a way to get the real mod name? Cause i didnt know LL was just LethalLib

#

for the modName at least

#

This means this can create conflict between 2 items from LL that have the same name no?

oak linden
#

uh it should be the real name, it's basically what you had before if thats the field you were using

#

oh right i know why its sometimes LethalLib

#

i totally forgot, i think its unlockables?

#

unlockables dont store the calling assembly's name

#

in LethalLib^

obtuse pecan
#

Ah ok

#

But for items it's the real mod name

oak linden
#

ye

obtuse pecan
#

Ok ok then its good

oak linden
#

so items will have ModName:ItemName
but unlockables will have LethalLib:UnlockableName

#

oversight or forgor ig

obtuse pecan
#

no worries

oak linden
#

for the rest of the code part, you just need to make a content handler, doesnt matter what its called i just have one in CR for each category of content types

#

this is how my content handler looks like for registering skins (rn only has the halloween skins bundle)

#

i store the Assets class into CRHalloween incase someone wants to check if its loaded/enabled

#

i know emergency dice checks stuff like CRHalloween != null to make sure the skins do exist before trying to access em

#

RegisterContent gets fed the assetbundle's name

#

and there's a third parameter that's optional but basically it's like an extra check for forcing something to load

#

since anything in DawnLib can be disabled, i dont want people to go on oxyde whilst having some core mechanics disabled, so the third parameter is just me checking if all that content still exists

obtuse pecan
#

Ok i think i get it, but that does not explain how i can get the asset as a UnlockableItemDef, which i need to do stuff in Awake

oak linden
#

yeah that's all handled in unity, I grab the UnlockableItemDef (UnlockableItemDef is an LL SO, DawnLib has its own which just means you'll need to refill the parameters since it'll be similar in some ways)

obtuse pecan
#

But how to you know it's a UnlockableItemDef ? It could be any asset

oak linden
#

well I just look for assets of type DuskUnlockableItemDefinition :p

#

(i grab all DuskContentDefinitions's and then run a .Register method on each of em that does whatever it needs)

obtuse pecan
#

ooo ok

oak linden
#

this is how one of the gal DuskUnlockableItemDefinition's look like in unity for mine

#

you create your Namespace at the top, the key is automatically grabbed from the UnlockableName a bit down

obtuse pecan
#

And then when it's registered, how can i get the registered asset in code? Is it just something like GetComponent<>()? or something else

oak linden
#

then you give it a prefab but dont really have to touch much else

oak linden
#

well, ideally you'd do:
LethalContent.Unlockables[NamespacedKey.From("code_rebirth", "daisy"] to get the data on it

obtuse pecan
#

hmm ok ok

oak linden
#

accessing the ScriptableObject is kinda yucky because in reality there are no ScriptableObjects for this kind of thing for any vanilla content etc

#

all the important info is inside DawnUnlockableInfo which is just your UnlockableItem.GetDawnInfo();

obtuse pecan
oak linden
#

same key no, same namespace AND same key yeah

#

wesley does it once, which is yucky but it doesnt get rid of the item or anything but DawnLib will kinda recognise both items to be the same thing in some ways

#

wesley has like a big red button scrap

#

same mod name, same name on both

obtuse pecan
#

Yeah i was thinking of imaging someone enters they namespace "code_rebirth" or something that already exists but if its not a problem then fair

oak linden
#

the only case that someone should have of entering a namespace that isnt theirs is for entity replacements

#

which is just DawnLib's version of EnemySkinRegistry but more expanded and hopefully more versatile

#

and non-code

#

(basically the top one is the entity replacement's mod namespace and whatever key, and the one below it is what entity it wants to replace)

obtuse pecan
#

Well yeah for code rebirth thats pretty obvious
But now imagine a less unique namespace, idk something like "more_scraps" or similar, this could be a duplicate with another mod

#

im sorry for these questions lol im just curious

oak linden
#

yeah that's definitely true, the nice thing about namespace is that it doesnt have to be accurate to the mod's name completely, the alternative was to make people do something like ModName.AuthorName.ContentName

#

which would've been hell for people doing configs LMAO

#

i do log warnings/errors when the scenario happens though, so hopefully WESLEY cough WESLEY changes it

#

i think i got those coughs backwards

#

after you setup the DuskUnlockableDefinition in unity, there's just one thing left, assign the SSS assets under the SSS's asset bundle, which you probably already do, then create a new SO, it'll be called ContentContainer, just give it the main assetbundle's name, mine was "coderebirthasset" like you saw in the first screenshot, and then make a new entry in the empty list and give it the assetbundle through the assetbundle dropdown, keep AlwaysKeepLoaded unticked since i believe ticking it would double the amount thats loaded into ram, and set whatever the config name you want to be

obtuse pecan
#

okok, then ill try to do all these things and see if it works
For the editor part i need com.github.teamxiaolan.dawnlib.dusk.dll right?

oak linden
#

oh for the editor just drag pathfindinglib's zip and dawnlib's zip and dawnlib's editor dll into the editor all at once

obtuse pecan
#

ok

oak linden
#

the editor dll is needed because i do a lot of inspector prettying (and i also delete one of dawnlib's dlls that shouldnt be added to the editor automatically but its in the thunderstore release so it would)

#

and pathfindinglib is my only dependency lol

obtuse pecan
#

wait dawnlib's editor dll ? Thats not in the zip?

oak linden
#

nah including the editor dll in thunderstore release would cause a lot of issues

#

and also i dont think im allowed to

obtuse pecan
#

Where is it

oak linden
#

i always include the latest in the github releases

obtuse pecan
#

Ok nice

oak linden
#

have you ever used Editor dlls in unity or do you want me to tell you where to put it

#

unity is strict abotu what folder you put editor dlls in

obtuse pecan
#

I used it before

oak linden
#

ah alright then ye you should be good to go

obtuse pecan
#

i know that dw

oak linden
#

oh i guess you might need to look at your export zip when you're making a release package for thunderstore, the output needs to be a tiny bit specific for the main bundle to pick up the SSS, lemme check what its like in coderebirth rq

#

oh actually i think it was just that the dll needs to be in a folder above the assets, wherein the assets are in a folder called Assets lol

oak linden
#

config name is for the automatic config that generates, DawnLib generates your configs for you so you dont have to add ones for generic stuff like pricing etc

#

one of mine is ACUnit Gal so a new category in my config called ACUnit Gal Options is created by dawnlib

#

and it makes entries similar to these

#

the blacklist is the only one that isnt an automatic DawnLib config

#

Gale does kill config formatting a bit though which hurts 🥲

oak linden
#

like why uncapitalise everything, get rid of my |'s blehhh

obtuse pecan
oak linden
#

ye its in the SO iirc

obtuse pecan
#

Ok

oak linden
#

oh it might still keep the config for asking if its a ship upgrade or decor but i can add that rq if you'd like

obtuse pecan
#

Yes please

oak linden
#

the other stuff like enemies and items require the dev to manually ask if that part is allowed but i was the only one using unlockables so didnt mind it too much lol

#

if there's anything in the editor you'd like as well feel free to ask, dawnlib's editor dll is huge with a lot of convenient stuff for dawnlib itself but i can always add more

obtuse pecan
#

Yeah no problem, ill come back if i have some requests or questions, ill first see if i can load the entire thing like you explained

oak linden
#

ye im free all day today

#

or well, and all the time

#

im not employed smH

obtuse pecan
#

😔 damn

#

we are different

oak linden
#

one of us will/has money

#

one of us does not

#

lmao

obtuse pecan
#

lol that is true

oak linden
#

added the config thing, it'll be there for next release as soon as i figure out how to fix the UI with the very specific and weird combination of TerminalFormatter, WeatherTweaks, OpenMonitors, DawnLib

oak linden
#

ig i gotta look in ALL 3 REPOS to see who's patching what

#

okay, honestly? no idea

#

i made a fix but i hate it because its not a fix that's specific to any of these mods, it just checks if someone who overrid the ship monitor made the text pop up again

#

and im hoping this doesnt cause any issues with someone loading text too early

dense iron
oak linden
#

yeah its super weird

#

i also got the ship icon back so it should look nicer too for the UI in general

dense iron
oak linden
#

yeah, the vanilla method is called TravelToLevelEffects

#

im patching that method and none of my logs inside the patch runnin

dense iron
#

yeah, looking at that right now.

#

ok, so essentially. they are preventing "TravelToLevelEffects" from running then i guess as your replacing that?

oak linden
#

im not replacing it, just patching it

#

but ye, they just prevent that method from running

dense iron
#

thats what i mean by replacing, sorry.

oak linden
#

ye thats right then

dense iron
#

in weather tweaks this is the best lead i can find i think
https://github.com/AndreyMrovol/LethalWeatherTweaks/blob/c3eb47dc7a0b54e606f8a6cf498195dd42514795/WeatherTweaks/Compatibility/WeatherRegistry.cs#L9

also, i noticed there is compatibility patches between open monitors and weather tweaks... for example weather tweaks unpatching open monitor's patch on a method that maybe relevent.
https://github.com/AndreyMrovol/LethalWeatherTweaks/blob/c3eb47dc7a0b54e606f8a6cf498195dd42514795/WeatherTweaks/Compatibility/OpenMonitors.cs#L15

then.. in open monitors.. this patch exists..
https://github.com/julian-perge/LC_OpenMonitors/blob/6e5aed49cb97ac4b640234cddd4afa117202661a/OpenMonitors/Patch/StartOfRound.cs#L43
ChangeLevelClientRpc calls TravelToLevelEffects.. so maybe this is generating the issue by calling the screen after the level has already changed, leading to it getting stuck? i dont know if you were meaning for your code to run earlier or what..

then.. terminal formatter may just be a passenger because weather tweak has patches for terminal formatter..?

thats best i can find in the short time i looked.

obtuse pecan
#

hey xu, im doing this rn #1387434268577370324 message, havent tried it yet but you said "DawnLib was meant for more bigger mods anyway", however the mod's description is "A modern API for Lethal Company content and all sizes of mods", which is idk strange? lol
Does this mean you are planning a simplier way to register stuff in the future?

oak linden
#

but i think bongo just changed the description and i never realised lol

#

the mod is meant for everything that anyone wants to do, but the current workflow promotes creating content en masse if that makes sense

#

not coderebirth big, but like, if i have to register more than like a couple things at once it'd be my go-to because its only the setup that takes longer compared to any other step

urban plaza
#

I know these mods are the kind that never see an end almost because of how much there is, but if you had to give it a percentage of where its at currently, what would you say?

oak linden
obtuse pecan
oak linden
#

yeah exactly, the idea is actually to have a unity package that people can just import and use and it sets everything up for them as a template

#

which DOES exist but its outdated to DawnLib 0.2.0 and its hard to get people to realise they need to update that stuff etc

oak linden
#

v0.3.9

  • Added more logging for a specific issue that shouldn't really happen?
  • Added a WaitAction to replacements so you can have a wait happen inbetween actions.
  • Fixed an issue where the combination of the mods WeatherTweaks, TerminalFormatter and OpenMonitors would break the ship monitor.
  • Cleaned up the hotloading UI a bit more.
  • Created ProgressiveMoonScrap that when interacted with, unlocks a specified moon and destroys itself.
oak linden
#

Oh and the config thing for unlockables

obtuse pecan
#

thx

#

and i think i finally understand why you said that it's a bit overkill to do all these steps for just 1 thing
Like i have the main bundle which is a Content container with the main bundle name and config name, nothing else, and then the SSS bundle which has the SSS only so it can be loaded by the ContentHandler, it's correct ?

obtuse pecan
#

Ok then yeah its nicely done

#

Just rn i have a Content container that is empty in unity ?

oak linden
obtuse pecan
#

no there is like nothing on the screen

oak linden
#

Uh do you have the editor dll in there

obtuse pecan
#

yeah

#

dont tell me i put that in the wrong place

oak linden
#

Uh is your console erroring?

#

I mean

#

As long as its in Assets/Editor

obtuse pecan
#

it is

oak linden
#

Huh, ig yeah any errors in console?

#

You probably forgot to untick Validate references on a couple of the dlls

obtuse pecan
#

this happens when i create the content container

oak linden
#

Wah? And there's no other errors in the console?

obtuse pecan
#

no

oak linden
#

Do you have the lethal company SO's in your Unity project?

#

Like Item, EnemyType etc?

#

I assumed you had a patched project but do you not?

obtuse pecan
#

I have

#

oh wait i think i know let me try something

oak linden
#

Okie

obtuse pecan
#

ok no idk

#

ill see again a bit later

oak linden
#

Rip, I'll probably just need you to screenshot the errors that come through and I'll make sure the latest github dll isn't broken or smthn

obtuse pecan
#

ah ah, ok i fixed it

#

But i thought of something
About the config, is there a way to create config sections?

#

What i understand in Code Rebirth, every sections is a bundle

#

And when you have big mods that is great so you dont need to generate everything for like items and stuff
But for a small mod with some utilities that does not really load a lot, then the sections are just pointless, so is there a way to change that?

#

hmmmm yeah ok i think it's right
so thats some kind of a limitation

obtuse pecan
#

Ah also xu, if you want to improve things, i think it could be a good idea to have new configs options in the editor
If all those options are tied to the bundle then it's the bare minimum to add nice and simple configs options such as

  • acceptable values list
  • pair values / or n values of the same type
thin delta
oak linden
oak linden
#

I guess u could put multiple bundles under the same config ittle

#

Title*

#

Wouldn't that do it for ya?

midnight schooner
#

it's perfectly fine to use those (meltdown does) and it is nicer than LL's methods (not to mention it's also entirely future proof). i spent a while trying to figure out how that would work smh.

oak linden
#

teehee

#

yeah @obtuse pecan a lot of the code stuff is made by Bongo so I'm not 100% aware of it all, it is fine to ping both me and bongo when asking something just incase i fuck it up

oak linden
#

DawnLib [Looking for maintainers]

sacred tulip
#

:0

sly marsh
#

Just please don't do what happened with Diversity and abandon this amazing project while waiting for a maintainer

#

Keep updating and supporting it ❤️

#

Btw the hot loading ui is cool and we all really liked it

meager inlet
#

Completely unnecessary shot at the diversity dev that is made weirder by the lack of any evidence that this project would be abandoned

sly marsh
#

I understand he is vv busy

oak linden
#

yeah im probably not abandoning, i still have a lot to do, most of it is just external documentation and converters etc as most of hte content in DawnLib is in a mostly polished state at this point

sly marsh
#

Yeah and you've done an amazing job so far on it, getting it stable and polished so quickly has been really amazing too you've outdone yourself

agile sky
# oak linden Okay, so bear with me here and ask any questions you need to, it's a bit overkil...

In PEAKLib (a community modding API for PEAK) we have an API that can be used like this:

// In your BaseUnityPlugin class:
void Awake()
{
    this.LoadBundleAndContentsWithName(
        "yourassets.peakbundle",
        // optional argument, called just before the bundle's content is registered
        (PeakBundle peakBundle) => { } 
    );
}

And it'll register all the content in a bundle of that name that is found in the same directory as baseUnityPluginInstance.Info.Location or in a subdirectory. The method loads the bundle async, which is what the second optional argument is for.

PEAKLib also has a concept of a "ModDefinition" which is basically a container for a mod's registered PEAKLib content. It's basically a reflection of the BepInPlugin attribute's data, and all content registered with PEAKLib will belong to a ModDefinition, meaning one was created for the BepInEx plugin in the LoadBundleAndContentsWithName call.

The PeakBundle type is a wrapper of AssetBundle which doesn't have access to all the methods of AssetBundle, mainly to prevent users unloading the asset bundle or whatever as PEAKLib wants to handle all of that (suggested by Batby). The PeakBundle type also has a public property for the ModDefinition for convenience.

agile sky
# agile sky In [PEAKLib](<https://github.com/PEAKModding/PEAKLib/blob/d58f0ee4ea3808400333d5...

btw so because the ModDefinition can be implicitly taken from the plugin info, no content container SO is need in an asset bundle. One is only required when making a no-code mod which does not load the bundle via a BepInEx plugin, but instead entirely relies on the PEAKLib bundle loader to load it. The bundle loader automatically loads bundles with the extension .autoload.peakbundle (and .autoload_peakbundle because apparently . has a special meaning for Unity's asset bundle building stuff or something and it doesn't like it if there's two used like this)

meager inlet
#

the autoload stuff being done like that still seems silly

#

atp seems easier to just have something in the moddefinition that allows people to explicitly say dont autoload this stuff

agile sky
# meager inlet atp seems easier to just have something in the moddefinition that allows people ...

eh? That would be a lot more steps, the current solution is just a specific file extension, like LLL, right? Having .autoload_peakbundle in the file extension makes it super explicit for modders that the bundle is loaded by PEAKLib's bundle loader and not by any other mod. I like APIs to be explicit about what they do because having hidden stuff will lead to issues because someone doesn't know it also does "x thing".

The recommended and intended way for PEAKLib to be used by mods is to manually tell the bundle loader to load a bundle if there is a BepInEx plugin. Because that way you only define the plugin info stuff once, and that is for the BepInPlugin attribute.

#

As for just .peakbundle as a file extension, it does nothing and there is no checks for it

oak linden
#

Yeah in DawnLib only the ContentContainer is loaded through auto (in no-code mods) , cuz otherwise every bundle would be need .duskmod and would need to be autoloaded, this is would cause problems in the cases of not wanting to load specific bundles because how is the user supposed to inherently know that the extension is what auto loads the bundles

meager inlet
#

why should users be caring about what the extensions do period?

oak linden
#

Yeah true, all they need to know is the main bundle is what has the extension in dawnlib, everything else is just defined within the ContentContainer's UI

meager inlet
#

sorry when i meant user there i meant like user user

#

for developer i dont think they need to inherently know that, thats what explicitly should be taught in documentation or fields/values in editor

oak linden
#

Oh yeah they'd never care or even see anything like that ever, or atleast they shouldn't need to

agile sky
meager inlet
agile sky
meager inlet
#

that is not extra steps

#

that is 1 step in a different place

oak linden
#

Afaik you do need ONE thing to be auto loaded someway in no-code mods no?

meager inlet
#

in lll? no

oak linden
#

How do you know which bundles to load then?

meager inlet
#

oh sorry misread that

#

in no code mods yes

#

because there is no code

oak linden
#

Oh yeah okay then I agree

#

Technically there is some step I can think of for it to be code yet at the same time no code, and for it to not rely on any extensions, but it's a bit of a roundabout way that involves an editor tool creating the dll for you within the ModDefinition or ContentContainer or whatever

meager inlet
#

personally given how unity editor dependent this kind of modding inherently is auto loading is the superior and more natural default option, with abstaining from it being the choice, rather than the other way around

agile sky
oak linden
meager inlet
#

i just dont get this kind of hypothetical

#

if your the developer you have unity open

#

you are using unity to actively tweak and develop your stuff

oak linden
#

I do prefer how DawnLib has a "disable loading" button on every bundle in the config cuz sometimes I dont wanna load everything to test and unity takes ages to open, but other than that I don't see a reason for a checkbox in unity itself

agile sky
oak linden
#

Well technically that's bypassable by creating SO references but I don't think this is what batby means anyway?

#

Honestly I'm also confused what you mean hamunii