#DawnLib [V80]
1 messages · Page 4 of 1
Nope
Hmm, I see. In an older version of my pack, without TwoRadarMaps, it did not.
As said, I will test some more later. Then I might be able to say if it was TwoRadarMaps in the first place and might have more of an idea how it is caused (and if Dawnlib is at all relevant)
.
Also, I wanted to ask what I can do about this:
Dawnlib & MoreCupboards (in both logs)
[09:41:54.1975809] [Warning: DawnLib] UnlockableItem 1Cupboard is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:41:54.1975809] [Warning: DawnLib] UnlockableItem 2Cupboard is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:41:54.1975809] [Warning: DawnLib] UnlockableItem 3Cupboard is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:41:54.1975809] [Warning: DawnLib] UnlockableItem 4Cupboard is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:41:54.1975809] [Warning: DawnLib] UnlockableItem 5Cupboard is already registered by the same creator to LethalContent. This is likely to cause issues.
DawnLib & WeatherRegistry (only in the first log I think)
[09:43:53.8543375] [Warning: DawnLib] Weather rolling ground fog is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:43:53.8543375] [Warning: DawnLib] Weather rainy is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:43:53.8543375] [Warning: DawnLib] Weather stormy is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:43:53.8553375] [Warning: DawnLib] Weather foggy is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:43:53.8553375] [Warning: DawnLib] Weather flooded is already registered by the same creator to LethalContent. This is likely to cause issues.
[09:43:53.8553375] [Warning: DawnLib] Weather eclipsed is already registered by the same creator to LethalContent. This is likely to cause issues.
This one happens on lobby reload and is mostly ignorable
This I'm unsure which mod is readding the cupboards
Unlikely to cause issues but annoying nonetheless
So, the Cupboards that MoreCupboards adds are being readded by another mod?
Also, thanks for the insight ^-^
Maybe?? It might also just be that morecupboards has the same cupboard names as vanilla
I see
@oak linden
Do we even know why this happens?
I keep looking it up
And it's...
Just one Sillyscrapachievements file
yeah that error i dont know why its happening for you, i dont know where that extra file is coming from
cuz i dont see it in the assetbundles file in the mods directory
yeah like that is fine, but there's clearly SOMETHING going wrong
as far as i can tell, it hasnt caused you any problems
That I know...
Also does the value thing mean anything
i think thats mostly a me issue but it can be ignored
I do have a like duplicate audio file...
Because I was using for the achievement noise
You think that's it?
doubt it
@oak linden
Xu It still aint working
keeps crashing on a new quota
CANT EVEN DO ONE QUOTA
enable da weight logs and let me see 😭
Both are on
I EVEN MADE A NEW UPDATE
UPDATED EVERYTHING
Fixed all the Prefabs and spawns
nice
Can we have an option for like Config to update with the updates
like when you update your values?
Yeah
hmm
That way people don't have to update config every time
i should add something like that, i would use it too
I think LLL does that I think
LLL does do it in a way yeah
@oak linden question
answer
Crazy crazy idea
Would it be possible to A: when unlocking an achievement you unlock a specific item or something
Or B: Unlocks A like Accessory for More Company
Or is that just not possible
already a thing for A

probably not for B
Okay...
A is only for shop items though
Okay
Ship Upgrades and Decors also have that option where you can only buy em or see em if you finish an achievement
Oh that's xool
Regarding this, both DawnLib & TwoRadarMaps did not cause the issues. Suits mods were responsible apparently
v0.2.16
- Fixed issue with parent achievements not disappearing if they aren't possible.
- Fixed issue where inside hazards would not spawn.
- Fixed issue with being unable to move furniture properly with furniture lock mod.
- Fixed issue where SID started including items that they shouldn't because those items had 0 weights on the moon.
still doesnt work on v73 to be clear
@frozen widget
why the hell did it get renamed like this bro 😭
Boom hen
anyways i wanted to ask about having multiple unlockables in a single dawnlib mod, i tried doing so but upon testing, only 1 unlockable seems to be in the shop (being the first one i ever made), the rest aren't there but weirdly enough, upon buying the unlockable i get a glitched out version of the second one
kinda weird
not sure but i don't think this is a vinyl player
did you mark it as a suit material or give it one?
show how the unlockable definition looks in unity
is thicc coil head v73 compatible?!?!
please i need to know
I cant go on if it isnt
i think you're pushing the joke a little far buddy

hmm that looks fine, cna you sendme your zip? ill give it a test
also im assuming you're not using v73
sir this is the surfaced thread
sir this is the surfaced thread
I love v73 joke
here @oak linden
why you guys talking about v73 bro 🥀
yeah
it shat a ton of mods
you can't be serious
so older mods will be deprecated
we're serious
there ain't no way an update released
zeekers had to update unity version for security reasons
zeeks had to fix a security issue from unity themselves
when tf did it release bro
all unity games did
like right now??
i thought you guys were joking about a joke version that doesn't exist
and right when i was going to work on my stuff too lmfao
there ain't no way this is serious
nope, it exists, and it sure as hell broke alot of shit
bro
BRO SAME
the proof is right THERE
imma read through it tho and give my therough opinion on what i read
not all changes are listed in there
there wasn't a whole lot changes, but still
this feels like the stock market crashing
tf is this shit about on Dine
bro wtf is the modding community gonna do now
They're gonna update
get their hands in the mud and fix it
i so imagine just batby going through and just hitting LLL with a wrench and then just going
and then just disappearing without trace until another break
True
first experimental build for v73
https://github.com/TeamXiaolan/DawnLib/releases/tag/v0.2.17-pre2
note: you will have to manually disable pathfinding lib for the moment
wait fuck
i built the wrong branch
bwaa
works fr fr
We're gaming PathfindingLib just updated 🔥
due to rodrigo not being smart enough to make animations work as is, smh, i've started also implementing animation replacements as part of replacing entities in dawnlib
can we have bestiary entries too
if that isn't a thing yet
so thats a thing?
ye
Only skin imma leak, theyre almost done
damn should be in cr
wrong right thread
Spookyfly
every thread is the right thread if you believe in yourself
DawnLib now supports moons (hotloading included) and interiors, there will be potential issues however so if you can help by testing please contact me, I'd appreciate it
DawnLib
What exactly is the process in hopping over from LLL to DL?
is dawnlib gonna be like replacing lll or is it just an option
It's just an option for as long as LLL itself is maintained
It's pretty intuitive in the editor but I'm not home so I can't get any screenshots rn, there's a template in the latest release and I'll probably do a pre release with the latest dlls etc so u can use em
@midnight schooner can u do a pre release :3
nice also is the current version for v72 or v73?
V73
The pre release
The current thunderstore one is v72
But after some testing i should push it as v73
A new dawn is upon us
Indeed. This sounds absolutely incredible
I was wondering how I’d register all my content…
Then it dawned on me
looks like I have some company... some real Lethal Company...
@oak linden @midnight schooner Was testing the new build of DawnLib
Doesn't seem to break anything but
Still reporting it
Yeah okay I expected that one
Yeah I've been running tests with the new build of LLL pacoito worked on
So I can actually test my pack
Ahaha
I wanted to add achievements to one of my mods, but I don't want to add an "Assets" folder to my mod folder and it didn't seem achievements were getting register properly when I was registering the dusk mod via code. So I ended up registering the achievements manually.
I'm guessing there's a better way I could have done this, right?
hmmm likely not at the moment, achievements are in a weird category as they're not vanilla so they're currently only implemented in dusk. I think I should be able to abstract away some of the annoying (and somewhat internal) stuff here, and make it easier for code mods with a soft dependency for achievements
oh you also probably want "AlwaysKeepLoaded" to false, it's only if you have stuff like video clips in a bundle that you'd want it to be true
Alr
Pikmin achievements???
shhhhhh
@oak linden Is the new update close to getting a public release?
Idk what all issues there are outside of the dungen error spam on loading up a lobby tbh
It seems to be pretty stable though
I am I am, that's why I just asked how it's coming along lol
@oak linden Found another issue with DawnLib v0.3.0, if you reload a lobby you can't land the ship and it makes LLL error out, I tested v0.2.17 and it's fine
Log with v0.2.17
It doesn't brick it
i'm honestly surprised if LLL support has been working, considering there isn't that much special code for it
Yeah lol, v0.2.17 and upcoming LLL release work fine, but v0.3.0 and upcoming LLL release break the second you do a lobby reload
I would say if you wanna get a v73 update out rn v0.2.17 is prolly the way to go while you work on getting v0.3.0 stable
I am curious why a lobby reload with v0.3.0 causes Level1Flow to have a duplicate entry though
It was DawnLib breaking LLL
Idk why LLL throws the error
but it happens with LLL and DawnLib v0.3.0
Downgrading DawnLib fixed it
I mean 1.5.0 is paco so ig @white finch let me know where that code points

I still don't think it's me though
I think it relates to the dungen errors in v0.3.0 somehow, and after a lobby reload it duplicates them being registered
Level1Flow is being added to RoundManager.dungeonFlowTypes twice for some reason 
Idk for certain but that seems to be the case
Yeah I think cus after the Lobby Reload LLL and DawnLib both register it
Where as on the first load DawnLib fails, thus the errors
I can fix the error itself by doing a .TryAdd but the issue of duplicate interior being there would remain
Yeah ideally it should be fixed on DawnLib's end since it only happens after a lobby reload with the v0.3.0 changes
Also it's probably all interiors being added again, but errors out on facility first
Oh okay that might be me then yeah
I probably forgot to check for a frozen registry in the interior bit
v0.3.0
-
Update to v73. This version and versions after are not compatible with v72 or lower! (revert to v0.2.16 for v72)
-
Added support for
MoonsandDungeons. Please note that this is very experimental at the moment (compatibility for LLL is also unknown)- Moons have multi-scene support.
- Moons also have custom landing and exiting animation support.
-
Changes to entity replacement, idk what.
-
Added date for a
DuskPredicate -
Added ItemKeys for the new scrap introduced in v73.
-
New
#lethal_company:body_partstag. -
New
TerminalPredicateCollectionandPredicateCollectionto allow using multiple predicates on shop items. -
DuskAdditionalTilesDefinitioncan now use aDuskPredicateto determine when the tiles should be injected
Did you fix the issue with the interior being duplicated?

yeah
Neat
LLL compat should be fine then, it was all working fine besides the lobby reload issue
i am slightly worried about other issues like terminal too but we'll get there as more people mess with it
and when i actually release the coderebirth update for it
which isnt now
maybe in a few days
Yeah, well if pacoito is to be believed Batby said he'd release the LLL update today
that being said it's Batby so we will see...
It is unwise to believe me 
it's like 8pm in australia rn
Yeah
A condition sorta 
Or, gramatically, the latter part of a sentence 
lol
it is a condition yeah
like if i wanted a shop item to display in the shop on during christmas
i'd setup a date predicate
so a date condition
and then we added predicate collections, so you could have like multiple date predicates for a holiday thingie or whatever
v0.3.1
- Switched from using quaternion on entity replacements, I realised that if even I don't get how they work, I can't expect anyone else to also understand that.
just rq
There will be no more LLL 
FacilityMeltdown will work again on v73 with this new version from dawnlib?
When facility meltdown updates yes, might be tmrw not sure
It is currently not needed yeah, oxyde switched to DL in dev version
@inner gyro Moons have muti-scene support
the specific scene is also picked before landing onto the moon so technically scenes are the ones that are hotloading not the entirety of the moon project
which was my previous dislike of how i imagined LLL would implement multi-scene or how a scuffed multi-scene would be done
seems like dawnlib is freaking out when there is no LLL installed ?
sciencebirb mentioned too ill test? more i guess 
can i get the log?
🫴
i believe i was testing without LLL as i was testing oxyde on the new dawnlib moon stuff
can you cut down on the log's size by zipping it?
Dam.
dam 😔
i found out this thing after trying the new LGU update BUT i htink they forgot to add the dawnlib dependency download. then when i manually added them the error changed to that dawnlib compat with LLL not found then i added LLL back aaaaand it freaks out less
i can get in the game with LLL just yknow LLL still broke too lol
heres a minimal code, just turn off LLL i think
0199c97b-5390-cf2e-66a2-fab620efeb05
can you install typeloadexception fix mod?
i have that installed on the bigger profile but still stuck with LLL off
try it with that and send me the log after :p
the current logi s just yelling for that
so LGU dawnlib LLL and typeloadexpection all on ?
ok so the minimal profile is fine with LLL off now after adding typeload...
i guess i was facing 2 problem, one is lgu not having dawnlib automatically downloaded and the 2nd one is sciencebird new update freaking out (also) without LLL
lol
is it dawnlib that needed typeloadexpection or LGU ?
still confused
Uh I wouldve assumed neither
Is there anything you know doesn't work on moons? It says experimental but I imagine that's just because you haven't tested it much :p
hmm so the scene data has a base weight of a number, and a weight based off of whatever weather is on, the weather weight doesn't work rn, that's the only thing im aware of that doesn't work
for a basic setup as well
Gonna go to bed rn so I'll check in the morning but just posting this now. I'm starting to use Dawnlib now but when trying to use the bake definition to start using entity replacements it just throw this error and not sure why
Though I assume the reason might be because I screwed up setting up DawnLib/Dusk in the project. Originally I used the unity package in the github releases but that's only for 0.2.0 and I wanted 0.2.16. So I just replaced folders from the unity package and thought that would work, probably not, idk, I'm kinda slow when it comes to things like this
ᶦˢ ᵗʰᵉʳᵉ ˡᶦᵏᵉ ᵃᶜᵗᵘᵃˡˡʸ ˢᵒᵐᵉᵗʰᶦⁿᵍ ᶦⁿ ᵗʰᵉ ᵍᶦᵗʰᵘᵇ ᵗʰᵃᵗ ᵗᵉˡˡˢ ʸᵒᵘ ʰᵒʷ ʸᵒᵘ ˢᵉᵗ ᵘᵖ ᴰᵘˢᵏᴹᵒᵈ ᶦⁿ ᵗʰᵉ ᵘⁿᶦᵗʸ ᵖʳᵒʲᵉᶜᵗ ᵗʰᵃᵗ ᴵ ʲᵘˢᵗ ᵈᶦᵈⁿ'ᵗ ˢᵉᵉ
you just need dawnlib and its dependencies to setup project
and editor dll from github
I tried that originally but then the dll's from Dawnlib throw errors about missing MMHook which I don't know what that is
launch lethal company with dawnlib installed, it will generate mmhook but i dont remember if its actually needed
It shouldn't be, you should be able to just turn off Validate references on the dlls complaining
^
Hm, okay I see, got it set up properly, though I still run into the above problem with the bake definition
Yeah I'll take a look in a second
can u try the latest version of dawnlib, 0.3.1?
Would that version work on a v72 project?
i think it'd work on a v72 project but i think the mod would only be playable v73
noice
next version should have a scannodereplacement if you were also interested in that
Beef would probably be more interested in that with their more ambitious skins
true, let me know if theres anything u find lacking compared to ESR/ESK
From initial viewing seems like it already has anything I would need and then some, only using it for Beef's skin mod rn cuz my skin mods would be a huge undertaking transferring over
Though thinking about my mod I remembered how the Fox and Hydrogere are unique cases and I would assume replacing their material wouldn't be feasible in Dawnlib
Cuz the project patcher does not import their materials/shaders correctly so they come out as invisible
oh true, you'd probably want a texture replacement since we dont have the shader
i guess that's fair, i can add that next version too
That's what ESK does for the Fox yeah
Though for Hydrogere ESK also needed a "change gradient color" feature cuz the texture of it only barely influences it
oh interesting, i can do that too yeah, since its a field in the AI (i assume) itll be one of the auto generated ones
I apologize Xu but are you sure you won't add an achievement button like the main menu has when you're in a round?
The amount of times I wanna see like the achievements and having to fully close out the round is annoying
Again it's fine if you don't want to it's more like just a rehash question
please if this will be a thing, make it optional, I already have a lot of options on the pause menu :,]
Even if I do put it, it won't by synced to what achievements u got before going into orbit
But the main problem is the UI (and also the time since there's a lot of parts of the mod I'm focusing on)
Then it's fine. It was more just annoying. I mean if the mod works then all good
Why won’t it be synced?
Achievements get saved when you reach orbit and when you exit from orbit, and maybe some other places, which are all the same places base game does saving
Couldn’t you just make them save when you get them?
I could but I wont
It doesnt make sense to
Why not? Because of performance?
It's like cheating for achievements by save scumming, gotta play it out
Not a matter of performance
How could you cheat the achievements with it?
Let's say you had an achievement to gather like a specific rare item
You land on a moon, u keep going, and if u can't find it u could reset and try again by save scumming etc
In the end, I couldn't figure out a way to remove the achievement button from the menu using that main menu customiser mod I already forgot the name of
But how will making it save when you get the achievement break that process? Because you can still reset the save.
I still need to fix my achievements they're bugging out
In what way?
Yes you can reset the save but if its something like visiting all wesley moons in one run and u keep save scumming to stay alive it makes it easier
Have two achievements for two different scrap and made sure they both are referenced in their OWN instant achievements but for some odd reason only response to one
So you get one Mr. Crashout but it unlocks the Fuwatti achievement
And yes I updated the prefabs
Checked the instant achievements
Still nothing as of yet
Oh weird, I'd say make sure to unassign the achievement from the scrap, press ctrl s, re assign it, build bundles and try again, other than that no idea why it'd freak out
If it keeps happening send me a zip I'll test it
You could make it so it would be saved somewhere else but once you go into orbit it’s written into the save file like everything else.
Then if you want to save scum you can leave before the auto save and when you rejoin the temp storage will clear
Because like i said, main problem is gonna be figuring out a good design for the ui
You can have it display normal achievements then temp ones on top
I thought you already have a design
I dont really just wanna copy paste the current setup onto the escape menu
Oh
Plus that design in the main menu isn't that great either
It's a few boxes stacked on top of eachother
I mean in my opinion it looks fine
Maybe but im not the happiest over it
I'd need someone who's actually alright at UI design to help out in that front for me to be happy with it
you called
no fuck off
can i have a pretty cake please
no youre lazy
"uhm sir this is dawnlib thread, not lazy town hotline"
what are you designing?
achievements ui if you didnt read
It's a piece of DawnLib to bake a pretty DawnLib
basically just the menu where you have the mods that added achievements on the left and the achievements that you scroll through on the left when you select one, or something like that
sure
similar to like LethalConfig but it's achievements instead of configs?
ye
like thats sort of what i was going for
obv if someone has a better design i wouldnt mind
I'll see if I can make a quick mockup during the weekend
that would be amaazing ty

Is stuff like this the reason I need to patch the constructor for this stuff?
yeah
...What does that mean 
well yeah in order to override it you have to override it in the constructor
How does one override a constructor?
public Gullible(args) : base(args) { }

don't you need to create an inherited class?
How many devs does it take to patch a constructor 😭
@bronze girder Draw poo piaolan like this
thanks
v0.3.2
- Added MaterialPropertiesReplacement to EntityReplacements.
- Added ScanNodeReplacement to EntityReplacements.
- Gave devs support to NetworkVariable<bool> and NetworkVariable<float>.
- Added tag:
#dawn_lib:has_buying_percentto make your moon have the buying percentage similar to company. - Fixed some lag issues in the Editor.dll.
- Fixed replacing blank SO's of all the ones that LLL replaced (and more) in DawnLib content.
- Changed MapObjects to use NamespacedKeys.
- Inside MapObjects spawn more performantly now too.
- Fixed a small issue with hotloading where loading too early into a moon unlocks the lever too early.
I can make my man have a buying percentage? Heck yeah! My man loves buying
Galetry and Oxyde
yea ik those exist i was just wondering if its possible without coding
I think it’s just the vanilla company scripts
It took 5 devs:
Bongo
Paco
Mrov
Xu
Hamunii
Wheres my credit 😔
For being xu's moral support
And fumo for backseating
And mu for everything
fuckoffrigo i was here only for 2 days
mu did do everything
This mu person seems really good at everything

@oak linden I think DawnLib might be duplicating enemy prefabs, we had a radmech that was extremely broken and I saw DawnLib log this
I also see the duplicated moons after a lobby reload lol
I need the whole log
But also the terminal thing is an incompat anyway, cuz I don't have that on normal terminal
It's prolly due to LLL + DawnLib lol, I don't think it's TerminalFormatter's fault
I mean it probably is
is dawnlib locking me out from going straight to hidden moons
LMAO
it might be
im pretty sure that message comes from dawnlib's debug messages

sorry 😭 i'll fix it today along with whatever other issues there were

I believe in ya......but also don't burn yourself
theres no burnin here
0199d593-c8e6-6df7-1e30-e71554b2a749
Thanks I had been wondering how to make my husband buy things at a percentage similar to the company building
repost if you love your man
Unacceptable
triangle
i know 1 austrian painter who said the same thing! crazy right
yooooo I know that guy
MelanieMelicious
6
7
2
Have a great day mel
😭
also i need the modcode for this, i just realised i never got that
@sly marsh one of these is adding extra radmechs into the list of enemies
but you also have some moons also adding extra radmechs into the list of enemies
and one of these two is also adding 3 radmechs (or both are)
Nightmare Moons prolly, Wesley's was disabled during our session that day
Idk how the interiors would do it, would be interesting to know how
Odd cus his moons were disabled that day but might still be a good idea to let him know
wesleys moons wasnt the only one adding extra radmechs
so you'd still have encountered it
if you had any of those 3 interiors enabled
It kinda reminds me when months ago I found old bird in guardia fortress interior on assurance lmao
i dont have time to check anymore so ill just see if wesleyinteriors is adding any more
yeah wesleys interiors is adding like 9 more
Yeah I think he has them added via JLL
Well pretty sure it's for the ones inside of Grand Armory
But uhhh he might be able to change how that's done idk
@sinful dew Gonna plink you rq 
its confusing other mods for the most part
Yeah that would make sense, idk why some of his stuff is duplicating certain enemy prefabs 🤔
-# spider
Apparatus references to Old Bird if I had to guess 
Which he should just leave blank, iirc JLL does just replace it with the actual reference
it might be that then, lunxara had someone in espira spawning non base game radmechs 💀
ill check if i can see what interior it is from log

Royal, Cosmic, and Bloody Apparatuses from the moons bundle mayhaps
And from the interiors I think all have custom appies (except Fractured Complex)
Ohhhhh wait that mighta been the Freebird enemy dice roll
@sly marsh Probably why he was glitchin out sliding and stuff 
That specifically
potentially? but the core problem still lies in whoever's adding the extras
cuz paco
they're not in the network prefabs list
Ye I know
If the field is set in the Apparatus prefabs, a bonus Old Bird gets bundled for every bundle that has it
I just mean normally there wouldn't be anything that actually spawns the copies
But dice roll do it
icic
So ye @sinful dew you ought double check you're leaving the radMechEnemyType blank in your Apparatuses (or use a blank reference, but it's not necessary) 
I thought I used blank references but knowing myself I probably forgot to do that for one or two
Will check
i like how one of them just has a radmech set to a size of Tiny compared to all other radmechs with a size of Giant
idk if that'll make it killable with cruiser but hey maybe
it's at minimum LLLUpdated + DawnLib, im checking if there's extra mods needed to reproduce
im glad you knew exactly that it was your fault (partially anyway)
terminalformatter + LLLUpdated + DawnLib seems to reproduce it
Prolly TerminalFormatter since I don't think the vanilla moons node shows it, but yeah it happens after a lobby reload
but not any combination of having em together as duo's
TF probably has some LLL code that does stuff to the terminal idk
hmmm
that's interesting nontheless cause it shouldn't happen
im confused why its happening on lobby reload
yeah, that's weird
let me go through the logic of moons catalogue in TF:
- TF calls LLL (
LethalLevelLoader.TerminalManager.currentMoonsCataloguePage) - the catalogue is converted into a list of ExtendedLevels
- displayed text is assembled in a single
foreachloop on that list
whats that type from LLL? a string?
nothing is cached along the way
it could be LLL duplicating something but i wouldnt entirely know why its not doubled with just LLL and TF
to be clear i do recreate the terminal's moon catalogue
since i do moons and as you already know its a hardcoded string
i'll try to dig in with the explorer rq
text (probably)
maybe even meaningful one
after lobby reload
lmaoooooooooooooooooooooooooooooooooooooooooooooooooooooooo
fucking insane
this means i'll have to check for unique entries instead of trusting this list
more moons to explore 
@sly marsh check if this one works
lmaooooooo
and double haulers
i thought i tested LLL and TF alone, guess not
i don't really know why it happens tho
i've never seen that happening with just TF and LLL
yeah it's not like i touch LLL either so a lil confusing
i'll check what's going on
and now it's not happening
the fuck
this might be a v73 thing tbh
v73 shouldnt have touched anything like that, weird
and maybe some things are fucked up as a consequence
@white finch go boy, fix, fix
v0.3.3
- Fixed SkinnedMeshReplacement removing all base materials.
- Allowed materials to be replaced with null to hide.
- Edited 1 character in the SmartAgentNavigator class that should fix a lot of pathing issues, this was so stupid.
- Added
GameObjectEditorfor doing stuff like moving, rotating, deleting and/or disabling gameobjects. - Fixed an issue with Artifice and Embrion where because they're hidden you would get rejected from landing on them by default.
I shall look into this 
beef's message is not approved by me
he's no longer part of anything i associate myself with
please understand and i hope you forgive his outrageous comments
kys
Xu
Cheese
I swear this is the 900th time I've asked something, but the reason Lunar has to patch a constructor is to allow me to edit values later? Or to edit them when I patch the constructor?
If that makes sense
in the constructor there'll be parameters like IProvider<int> Cost.
IProvider<T> is a dawnlib type that has T Provide(). this is how dawnlib allows mods to do cool dynamic stuff.
this will usually be SimpleProvider which just provides one unchanging value.
for your use case, you'll probably need to make another class that implements IProvider, and feed that into the constructor in your patch. so you'll edit IProvider to be your own, and then you can edit whatever value that returns.
weights are a bit different and i can't remember exactly how they work
also, do make sure to check that the existing type is SimpleProvider. that should have the default value and means that mod isn't doing any compelx behaviour (that you could accidently override!)
in theory as well, you could make your mod hot-reloadable because you can just return the new value after the reload :3
testing rn
@spiral axle that build fixes the issue
😄
I have looked into this 
It is not me doing it 
I'll push it to live when I wake up, thanks for checking it out 😇
v0.3.4
- Fixed a small issue with custom moon terminal loading.
- Added proper soft compat with LLL hiding and locking moons.
@oak linden does it work with V73 ?
yeah the most up to date version of DawnLib is v73
hmmm
it'll work with an editor that's v72 but not v72 ingame
yeah uhh imma ask if it works with LLLU
afaik it does
wait was i suppose to put the Content Container and Mod Info in the .duskmod bundle?
yes
if i updated to 0.3.4 am i supposed to remove the achievements i made, and put them back?
(to refresh them of sorts)
nah shouldnt need to do anything
well uhh imma try something and if i don't see the achievement i'll hand you the zip cuz when i tried right before it didn't work :/
sure
did you build your bundles before using ModInformation?
the ModInformation doesnt build the bundles to be clear
it only puts them in the zip with a manifest etc
I REALLY need to clarify that in there huh, you're like the 4th person to assume it builds em
that makes more sense
birbrain
Getting this error upon loading the game
[Error : Unity Log] ArgumentException: 'dedication:lead_diving_gear' has already been added to this registry.
Stack trace:
Dawn.Registry1[T].Register (T value) (at ./src/API/Registry.cs:83) Dawn.DawnLib.DefineUnlockable (Dawn.NamespacedKey1[T] key, UnlockableItem unlockableItem, System.Action`1[T] callback) (at ./src/API/DawnLib.cs:113)
Dusk.DuskUnlockableDefinition.Register (Dusk.DuskMod mod) (at ./src/API/Definitions/Unlockables/DuskUnlockableDefinition.cs:45)
Dusk.ContentHandler.LoadAllContent (Dusk.IAssetBundleLoader bundle) (at ./src/API/ContentHandler.cs:64)
Dusk.DefaultContentHandler..ctor (Dusk.DuskMod mod) (at ./src/API/Auto/DefaultContentHandler.cs:31)
Dusk.DuskMod.RegisterNoCodeMod (Dusk.DuskModInformation modInfo, UnityEngine.AssetBundle mainBundle, System.String basePath) (at ./src/API/DuskMod.cs:47)
Dusk.AutoDuskModHandler.AutoRegisterMods () (at ./src/API/Auto/AutoDuskModHandler.cs:31)
Dusk.DuskPlugin.Awake () (at ./src/DuskPlugin.cs:34)
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset:OnEnable()
do you have multiple bundles in your one zip that have that ItemDefinition? also would happen if your profile has multiple of the same mod registered so you could try making a new profile and importing there
@oak linden
Don't have time to properly look over this but one thing worth considering while you still have relatively little usage of it is renaming some of the Dungeon stuff to Interior
LethalLib and LethalLevelLoader used the term Dungeon because of the DungeonFlow's but Interior is the offical name used in one or two places right?
Also however you want to do it you should absolutely implement and utilise the kinda networkcontentreference esque wrapper classes that exist in LLL
so people in the community use those instead of using indicies everywhere
It's got extensions for the specific content types to get the relevant DawnLib stuff for them 
nah i mean networkserializable refs so you can pass items, levels, enemytypes etc. through rpcs or networkvariables
Oh I just mean you can pass the NetworkBehaviourReference of the item itself and just get the DawnInfo on clients mayhaps
i am talking about scriptableobjects and potentially base classes 😛
Ye might be relevant for other types of content
eg. lll 2.0 has this kinda thing https://github.com/IAmBatby/LethalLevelLoader/blob/main/LethalLevelLoader/Core/Data/NetworkStructs/NetworkContentReference.cs
it's just a modified version of the offical networkobjectreference implementation
the idea is it just wraps to and from the index
just nicer to mess with than constantly getting and using an index
DawnLib doesn't do indices though I think, iirc it does a dictionary with the namespaced keys (e.g. lethal_company:shovel)
fair but my point still stands 😛
I mean ye
though in this case managing lists of stuff additionally is probably worthwhile just so only need to send over an int rather than that kinda string
I had to look up like half of this, and the other half is what you guys told me, I know nothing. Is this what I'm meant to do 
you should publicize dawnlib, that way you don't have to use access tools
the tag you have to apply is also under the class DawnLibTags
maybe, but sending namespaced keys is already enough i think. we also already have them for our scriptable object stuff, but they're more so editor magic to reference stuff between bundles.
i dont think you understood what i was talking about
no like the intended way to send references to a piece of content atm is to do
[RPC]
void FooRPC(NamespacedKey<DawnMoonInfo> key)
DawnMoonInfo = Lethal content.Moons[key]
I could write a wrapper around it all like we have for players, but it's just not needed I think
abit much to be sending the whole string over no?
The nefarious 1024+ character namespace: 
It's probably hashed in some way though before being sent, I assume 
Would be curious to know yeah
I'm imagining scenarios where people might be doing host to client rarity config syncs where something like this would be pretty comparatively heavy
it might actually serialise two strings I don't remember it's just not at the top of my list to optimise this :3 like there's a bunch of caching stuff I can do but I don't think people will send massive lists over like that
there's probably a lot that can be optimised and change within the same system, but im too busy adding to do anything like that 🙃
the pain of needing new maintainers
How would one do this
bwaaa
you do have the bepinex publicizer in your csproj right?
you can just add Publicize="true" to the reference to the nuget package
Alright I'll try that
I have no idea but I'll see if it works
<PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.2" PrivateAssets="all" />
Then set
<PackageReference Include="TeamXiaolan.DawnLib" Version="0.3.*" PrivateAssets="all" Publicize="true" />

💀
here's the mop
I gotta mop the deck 😔
the poopdeck's all yours pal
Like dis 
yeah
This too? :3 (Just setting to null to see if I can set it at all)
But thanks for the help, I think I finally understand what I'm doing
since you're doing a prefix i think you wont actually achieve anything :£
:3
(it'd already be null before the constructor lol)
I just thought a post fix wouldn't let me set the values :p
this would get fed through the constructor
if it was null things are fitted
fucked
oh wait this is messing with the parameter?
yeah
no
The value is readonly so I can't go straight to the field
then um yeah i guess you did it right :p
Yay!
icic okay that makes sense lol
though make sure for the things that arent supposed to be null to not turn them to null
you can just turn weights into a Provider with a weight of 0 or smthn right @midnight schooner?
So like, in terms of LunarConfig, I would get the parent info of the scrapinfo, then check the key to know internally in Lunar which item this is and what the spawning config is set to, then I would set it right?
could probably just make a new instance of it to make sure it has no weights
I was just setting to null to see if I could set the value at all
ah okie
oh scrap info probably won't have it's parent set yet
hm
Then how would I get the key 
i might also be drawing up blanks lol, there HAS to be a way...
bongo would they have to patch the constructor of DawnItemInfo and remake the DawnScrapItemInfo?
ig that is one way lol
it might have to be that children info don't have read-only properties
probably not a very good
yeah, should i turn them into private?
i can do a pre-release
yeah
Is it inconvenient for the sub-infos like scrap info to inherit the key?
That would also fix my problem right?
well like the point is that you go to the parent info for that
wuh
well LethalContent.Items wouldnt be frozen by then right?
the item info when it's created has to hold the reference to the vanilla item scriptable ovject
yeah so you can get the item, you just cant use the key to get to the item that early right?
like LethalContent.Items[Key] wouldnt work yet
it would yes
it would?
just because the registry isn't frozen doesn't mean there isn't anything in it
yeah but isnt the .Register called after DawnItemInfo is made?
oh yeah ig
silly
yeah ill just make the fields private for the sub children then
@wind mist you can get the Item and Key from DawnItemInfo's constructor you just cant do stuff like LethalContent.Items[Key].Item that early because we register the item after the DawnItemInfo is constructed
So I wouldn't be patching ScrapInfo anymore, as I'd be able to access fields like weight from outside?
yeah
yeah thats what i said :3
bwaaa
Well, would I even need to patch a constructor at all? It isn't imperative that I do this like as early as possible, so could I just do it when the registry freezes?
it would depend on what you're changing really tbh
Like dis
Well what would I need to patch a constructor for in that case?
i guess moon cost and the predicate for moons would be one
these in DawnMoonInfo if you mess with em (if they're DawnLib moons)
i guess with your tag they dont have to be DawnLib moons lol
same for the cost and predicate on DawnUnlockableInfo
vehicles too ig
that should be it
all 3 of those have the Cost and PurchasePredicate stuff
im not 100% sure on how good it is to make those fields private instead of read-only but bongo's going to bed and i got class so go for it
you want me to send you a dll?
nuget and thunderstore package incase you need both of em :p
rn the mod has some experimental Item and Unlockable saving going on so im not 100% sure if i should release it on thunderstore as is
also i'll be making a childinfo and moving the cost and purchase predicate stuff onto that child instead of them being there as a pair always included
so you'll probably just have to ignore those two for a bit
Also what's the difference between like:
ItemInfo.ShopInfo.Cost
ItemInfo.Item.creditsWorth
creditsWorth is where the cost is referenced in base game, but Cost isn't an int, it's an IProvider<int>, which basically means it's a dynamic cost that updates everytime you look at the terminal or whenever we set it to update for whatever conditions
so for vanilla items they're made of a new IProvider<int>(creditsWorth); (this isnt the actual code), where it'll be that constant value, because they are that value
doing Cost.Provide() gives you the current value at that moment in time
Burn at the stake
@oak linden my vinyl player isn't spawning its prefab and is instead spawning a suit with no mat
ig send screenshots of your setup
alright, ill check it out
seems like i missed something annoying, edit the UnlockableType value to be 1
ill just do this automatically next version
k
Every time I try and look into DawnLib porting it gets like 2x harder 😭
Also you say I would need to patch the constructor for these, but why?
they had some stuff that'd need patching but u shouldnt later
So in official 0.3.5 I won't need to patch for anything?
i rewrote em just not uploaded to thunderstore, probably will tmrw morning etc
shouldnt i think
I presume I still need to add the LunarConfig tag right?
Yeah, every non dawnlib content needs you to add that tag so the changes actually apply to em
I.e. I don't actively try to update spawn weights of vanilla and modded items that aren't dawnlib because that's a waste of performance and time unless you gave them the tag then there'd be a reason to
I also presume I need to add the tag before the changes?
Oh doesn't matter
Like it'll matter if you add the tag AFTER the scrap spawn method for levels run, but you'd have to be adding them preetty late for that
........why?????
Inconvenience!
No really why is that even a thing???
What
(I even added the /j since I know some people like that)
Oh that's what that means
its always my fault
I just sign it with (jk)
That norman misunderstood
yeah
Unbelievable cheese
my bad norman
Unbelievable
im gonna teach you better next time
I guess I'm kinda old fashioned in that sense
If you're wondering for real, Lunar changes item prefabs at the very start of the lobby, and doesn't touch them again
i also learned what /j meant in this server hehe
.....cool but still kinda odd
Can't really access them any earlier than that
Well there usually isn't a use case to do it more than that, so it's just a waste of performance
I guess that makes sense. Wouldn't that increase loading time though in other spots?
It does it only once like when you actually load into the lobby, and it isn't that intensive
That's neat.
It does the same for everything else except like moons (it'll only do it for the current moon you're on) and traps (since they have absolute bs logic, hopefully it doesn't suck with Dawn)
So @oak linden, I also presume that Dawn has it where items have weights on moons, as opposed to moons having weights of items?
Or have you by black magic done both?
unless u go down the rabbit hole 🙂
there is potentially a single way to do so
Where if you could inject a real RuntimeInitializeOnLoadMethod attribute with the BeforeSceneLoad param, you can access the contents of the first scene before they receive messages such as Awake, OnEnable etc.
What the documentation doesn't explain is based on some testing I did way back, it seems any other scenes you load off of that callback will also trigger that callback.
This means you could potentially load SampleShipRelay during the games initialisation which triggers those sharedresources files to be loaded into memory (all the prefabs and SO's we want), reference them in some static class or instance living outside of the scene, unload the scene before anything tries to wake up and keep those assets still loaded due to active usage.
You would also probably maybe need to patch some other mods so anything that is listening to Unity's sceneLoaded callbacks doesn't notice any of this
Also while I'm at it, how would I go about reversing this process, i.e. taking the ProviderTable and getting strings?
weight provider tables arent really reversible, you could try and do checks against its versions of the simple providers and stuff but it would probably be pretty messy. theres like 2 lists and a global weight provider, it's a mess :3 (it all gets abstracted away from its like .GetFor function)
my advice is to instead have a complete override config, and from there you just completly replace the ProviderTable. it's not ideal given that you can't fill in defaults, but you could certainly make up for it with the power the provider tables give you :3
you might honestly have to move past regular bepinex configs if you want people to have crazy advanced stuff (a system like soundapi's conditions could work) but that's future work :3
are your tests doucmented anywhere? i could maybe look into it once i fix my computer (i dont want to have to redownload ghidra)
thats crazy
🌅📚
I lowkey hope it's optional cus I dislike how pixelated it is lmao
It is a cool easter egg though
i like the loading bar 👍
its missing the little ship thats supposed to follow the progress bar
you need to get it or it will break my immersion forever
Is it scalable for >4 players?
this isn't dungeon generation :3
its not an easter egg
where did easter egg come from 😭
its april 200th
This is pretty neat ^-^
Thats a cool easter egg
Will it work with lethal level loader
:(
There's a lot I'd have to do to add LLL moons on it
Bongo tried for a good few hours lol
Don’t you just patch lethal level loader to see how long it’s taking
Oh
Just porting the UI wouldn't work, I'd need to port the entire system from LLl to use DawnLib's
Also what happened to code rebirth lib, is dawnlib a replacement?
Ye
Is it optional? I do like it, but I’m just thinking if it’s not LLL compatible it might be weird to sometimes see it and sometimes not.
I assume it’s vanilla compatible though?
vanilla compatible as in it shows routing to vanilla? yeah but theres no real point to it
since it's about bundle loading
and if something goes wrong it'll highlighjt the persons name as red
Yeah, ok.
it might show up with LLL but probably not accurate as well
I see
This is crazy
how does it work?
its a progress bar that tracks people loading the moons and the stages of loading the moon
it's dawnlib registered then right?
yeah is only accurate on dawnlib moons
Thats a pretty cool easter egg
I agree
v0.3.5
- Replaced vanilla save system (atleast for items and unlockables rn only) with DawnLib's own system.
- Also allows for the rotations of items to be retained in comparison to vanilla resetting rotations.
- Also allows you to get rid of and add mods that add items without your save's items getting scrambled.
- Added config to opt out of it in case of issues or dislike I guess.
- Added UnlockableReplacementDefinition for replacing the model etc of unlockables
- Fixed an issue with Unlockables sometimes registering as suits depending on setup errors.
- Added a loading bar that tracks each player's progress for moons with DawnLib hotloading!
Does this mean it would be wise to disable some configs in other mods in relation to item rotation saving?
Does this mean
Bump 
Thats a pretty cool easter egg
This easter egg sucks actually
This is a Easter egg
i got rodrigo's eggs
@oak linden
Question! If I wanted to make a scrap that is like a ticking time bomb can I do that with dawnlib?
There's something called Joey and if you don't shut it's mouth he blows up
Items have weights for moons
Yep
The scrap yes, the mechanic no
Use jll or scripting
Mechanic needs to be... Made?
Fair enough
Just asking in advance
Fhanks
Okay
Oh does lethal lib work?
I would imagine so
Okay good to know
Any plans to fix item rotations stored on furniture all being the same?
Does that not work currently?
I didnt test anything like that but I wasn't aware that their rotations would be handled separately
Yeah, disabled matty's fixes and general improvements options but didn't change anything till i disabled dawnlibs item save in its config
I'll ask matty about it then
Does this override the Lethal level loader save system
I'd hope so, I'll take a look later to make sure of it as well
It definitely overrides vanilla
Does dawnlib have a better one or something
And I'm fairly sure it overrides LLL since there's no duplicate items spawning
Yeah
DawnLib's is the most reliable u can really get with it, even with LLL you'll still have your items etc shuffle if you removed mods or add mods
oh boy dawnlib soft dependence for the SSS soon? ok ok i see
Might have to, sorry I didn't get time to test it
dw it will be pretty easy
Let me know if there's anything I can do on my end
ill see
Oh also I didn't mention it in the changelog but as part of the saving stuff for items, items also can now save a lot more than just an int
what? 😳
(It'll save most primitives and whatever else JToken supports, technically you can make it support anything but I didn't get matty's explanation on how to do that from item creator's end but it is possible)
Not for vanilla items though, items need to inherit DawnGrabbableObject I think, its been a second since I made it and forgor
Hmm I feel like it should work on vanilla items too
Bleh let me check if I added it through a preloader
I hope it does cause ill never inherit from your class even if it's technically good, i already inherit from other stuff
lazy to rework everything

