#Dungeon Generation Plus
1 messages · Page 3 of 1
1.5 wait
I use this formula for LevelMultiplier since it's what LC uses
private float GetLevelMultiplier(ExtendedLevel level){
var roundManager = RoundManager.Instance;
if (roundManager == null) {
Plugin.logger.LogError("RoundManager somehow null. Can't set level length multiplier");
return 1f;
}
return roundManager.mapSizeMultiplier * level.SelectableLevel.factorySizeMultiplier;
}
you said that your Unity Editor sizes are diff or just regular landing sizes are diff?
should it have some division by tile size in there?
uhh
our MapTileSize is 2.5, so if that's not accounted for in the length then that would explain why Black Mesa is yoog
uh
I forget exactly but it was a while ago
but also perhaps after you made the mod
ya lets say after ya
I mean I'm not mad lol but ti would explain a lot and I am glad if that's the reason we've been having issues
since we have an easy solution then to make the dev tools more useful
it also affects mansion size
in case you want an easy test case
it also rounds the length multiplier to the nearest 100th 
ohhhh
i think i remember seeing this long ago
but i didnt use maptilsesize or whatever nerd shit so i just ignored it
why so many variables zeeks
wait
that could explain why my length is 3-4 then huh
in which? sdm?
I see I see
Glad we found it 😄
Am I free from the dungeon now?
NEVER
no you're still a dingus
yeah never
oh yea Lady just wanted to make sure you're aware, but it is literally just the MapTileSize that's the issue
RoundManager.mapSizeMultiplier initialized to 1, but the assets from the game set it to 1.5 so that explains the 150%
all goog no worries
glad we figured it out
btw pls ping whenever I can try out a version that includes MapTileSize, I'd like to get some stats on how many retries we're getting after changing Resonance to nodes
no rush as always though, it seems to be working well
wait does the base game use map tile size?
is map tile size based on the level, not on the dungeon flow instead?
no it's on the dungeon flow
well this is a LLL thing but, the haunted mansion returns 1 for MapTileSize
wut da
I'm in-game lemme check
well IndoorMapType is
[Serializable]
public class IndoorMapType
{
// Token: 0x04000B4E RID: 2894
public DungeonFlow dungeonFlow;
// Token: 0x04000B4F RID: 2895
public float MapTileSize;
// Token: 0x04000B50 RID: 2896
public AudioClip firstTimeAudio;
}
so maptilesize can be different depending on the moon
LLL might be trolling you
wait wdym? this is per dungeon flow
this array used to be DungeonFlow[] but became IndoorMapType[] and is used to list all the available flows
you don't copy the MapTileSize correctly from vanilla dungeons
at least when I do
selectedExtendedDungeonFlow.MapTileSize
on vanilla dungeon flows
very possible that your right but that example might be flawed
since dungeonflow maptilesize isn't the same field as indoormaptype field. when does vanilla sync that
wait sync it? it's a fixed value
cuz atleast in my head depending on when that happens this might not be correct yet (but again i still might be doing this wrong)
isn't there multiple instances of the same dungeonflow used in dungeonFlowTypes but with different map tile sizes?
is that me issue?
in GenerateNewFloor() in vanilla anyway
just when I thought I was cooking
all dungeon flows is different in the dungeonFlowTypes field
i trust you two to accurately blame me
is this an asap type thing or can i check it out tonight/tomorrow?
there's just an extra MapTileSize field attached
not an asap thing you good
I did think you were in the right, IF zeekers used dungeonFlowTypes like I thought he would
but it's just another container for dungeonFlow,
yeah it's really weird half measure shit
i really wish he did it proper like selectablelevel for a couple reasons
well what I wonder is, is the field in LLL meant to be accurate or is it meant to be a dial for devs to set the value used by vanilla in the RoundManager array?
seems like the final source of truth would be the RoundManager field but idk what your preference is Batby
hmm gotcha
now i can't be held accountable
@final shale pushed btw, the map tile size will be bugged for vanilla dungeons until Batby fixes it
but that latter part doesn't matter to ya
I think CentralConfig fixes this already at least, it does suck that LLL's sizing stuff doesn't work
its not that it doesnt work, its probably that Batby didn't notice/realize that someone would actually use extendedDungeon.MapTileSize for vanilla dungeons
I know that's been an issue that has bugged PureFpsZac for quite a long time
Ahhh that makes sense
still having issues with local global props :(
on 1.3.0 and on the latest from your git
literally what issues whats happening
oh my git
is that trusted
well it should be
same thing as before, failing generation or getting stuck on seed with no network spawns
I sent a DM
I also just tested with 1.3.1 fresh to be sure
sorry for the cryptic message lol I was trying to package it up and upload it
oh did you have to change something?
I don't remember if I even changed anything
also if you are free to vc we could maybe look together there
pull up
sheesh
@final shale try if this fixes anything
@pine jay We have experienced a fun interaction with our mod and HarmonyXTranspilerFix. We have a transpiler patch for Dungeon.FromProxy. Without your mod, no issues. With your mod, while the function seems to be patched it doesn't seem to call any of the new code instructions provided. As far as I can tell, that transpiler function is the only one not behaving.
I have no clue on what is happening. I beg your insight.
try inserting instructions after finally, where the leave label is pointing to
because you're calling the function after endfinally was called, so it jumps out of try/catch block
if i understand your wrapper of codematcher
@wide mantle hopefully DiFFoZ's response helps you :3
I am already inserting my instructions after finally, unless there's a second one I'm missing?
As I test, I tried to insert my instructions right right before the ret instruction, but HarmonyXTranspilerFix still doing something weird and blocking the instructions from being called or something
Oh wait did you mean to say to insert the instruction before Endfinally? Cause that seemed to fix it
Huh weird
@final shale @lone plover btw can you provide some pictures of the generation so I can use them for the mod page
Zaggy probably can since he is at his PC unlike me haha
What kinda picture you want? It can be pretty difficult to get everything in one image
did discord convert those to jpeg or were they already jpeg? the compression kinda did a number on them
In editor delete the moon
So you can go higher
not in editor eww
I'll do that then
can just disable the moon and hide the layer that trigger collider under the map is on
I can try that
Thing to note @wide mantle the vertical gap you see on some of these is because we separated the office Path with the elevator that sends the generation upwards to continue so it has more room for generation up there
Some think it's a glitch when they see the generation pics, but it's just that elevators cross that distance
That image is so dark haha
Soul (2020)

i feel like you don't need an interior this big
You’re right. Bigger!
We balance the scrap for each path and the global props each path so every path is worth exploring so it becomes a choose your adventure kind of choice if you are going solo or if you are with a ton of people then you all can split up and explore the entire facility fully
https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/wiki
Docs updated for those who like that stuff
Only real difference are these enemy and scrap item managers for those who think they want to use it. I use to it guarantee that my custom enemies and scrap always spawn if my interior spawns.
https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/wiki/Managers
I'm getting some errors from DunGenPlus on Sanguine after switching from LoadstoneNightly to LoadstoneUnstableBeta. Should I switch back to Nightly?
They should be the same thing please post the full mod list and I'll check it out
There are definitely some other issues, because the skybox is also fucked—so I'm going to try removing ShipWindows to fix a netcode bug and seeing if we still get the other ones. If that doesn't pan out I'll post logs and the modlist.
The loadstone mods have been getting updated recently and a new beta came out and nightly got deprecated, dunno if they're the same anymore
They're not, the Beta has some changes that have yet to make it over to stable
The differences between Loadstone normal and beta, in terms of what I touch, should be nearly the same now
And I didn't have issues with normal loadstone yet so I don't think it's my mod's fault yet (I did have issues with loadstone in general last week but that was all my bad)
did the mod ID perhaps change again?
I would scream if so
Nightly and unstable beta are separate uploads, so if that'd cause it...
That said, I tried switching to nightly and then to stable and still had issues, so it probably isn't DGP at its core. It's either Sanguine or something breaking prior.
Tolian's moons causing problems from time to time are something you have to expect when using his moons, they focus on visuals more then gameplay and stability and always kind of have focused more on it
and I'm not saying this in a negative way
It's just always been how his moons have been

getting this on Hadal, wondering if maybe your hook is running before LLL has selected the dungeon flow and the moon doesn't have one assigned by default?
Let me stare at this a bit
i run my patch before https://github.com/IAmBatby/LethalLevelLoader/blob/2ad5751a6e435aab76a9acee50d3e049ef0207df/LethalLevelLoader/General/Patches.cs#L587
uhh the dungeon should be selected by then no?
yeah I think maybe my configuration is screwed up? I didn't even know I could get it to break like this lmao
idk why LLL isn't erroring before your patch though if that's the case
lemme check
dungeonFlow is null, strange
yeah okay I had it configured to where there was no dungeon that could be selected
what's odd is the LLL logs showed viable ones still
I think anyway lol
Never assumed that dungeonFlow could be null lol
yeah you shouldn't have to really, LLL gets an error if DunGenPlus doesn't
what confused me is that before I was getting an error in LLL related to reverb presets instead so I had no idea this was the issue
oopsie
oh wait I still get it after making HadalLab spawn on the moon
wat
huh okay so it appears to be succeeding generation despite that error, and the one in LLL that happens without DunGenPlus
very weird
the one in LLL is a null deref here, not sure why that would be happening while it still manages to generate the interior
anywho
not your issue anymore lol
:)
If I want minimum distance between global props
Should it be a globally enforced or locally enforced inside it's main path
My gut says globally, much easier, but I'm not sure
@final shale your thoughts
I think globally makes sense
I'm not thinking of any reason we would want to limit it per path, and if that makes it easier for you I fully support that
It's a different solution to the problem but would some sort of round robin esque system work where instead of requiring a minimum distance you just try and divy them out between areas until its fufilled?
It's not too bad to check the list and remove elements that don't pass the distance vibe check
This is in the context of the fire escape stuff right
Well that's the main draw, but it can extend to anything global prop related
forsure forsure
I guess my take is that while minimum distance can totally solve that, the issue of them "being to close together" is kind of identifying the wrong problem in regards to the intent of the fire escapes.
I don't think it's a problem because they are necessarily too close together but more because their thematic and gameplay intent would ideally have them dispersed across the different """parts""" of the map
I'm not sure what the solution to that would be necessarily
it still needs some randomness to it I think, otherwise the locations become completely predictable
It could totally still be distance checking, But I just wanted to point out that distance checking is a potential solution to solve the problem, and not like the actual problem if that makes any sense
I can understand that settlement since I solved my fire exit issue by forcing one fire exit per main path on my interior. But not every dungeon wants multiple main paths and they want the fire exits to be at least someway far away ish.
Vanilla dungeons would love to have this
Min distance is totally a fine bandage solution without messing with the vanilla dungeons
only other solution I can think of to make distribution more consistent while maintaining randomness would be to
- Select a random global prop location for the first global prop
- Select a random tile at the farthest location from all previously selected global prop spawn locations
- Choose a random location in a certain range of that random tile
- Select the closest random global prop location to that random location for another global prop
- Go back to step 2 if there are more global props to spawn
but that probably doesn't really fit into the per-path limits very well, and also has a fairly arbitrary radius value involved
and it may not even result in a very good distribution tbh
probably is way more complicated to do properly, especially with only a fixed number of positions to work with
I would imagine it might need an iterative approach
And imo, all that can just solved with min distance checking.
The elements grabbed from the global prop table is random, with weight scaling decided by the user, but still random. All we doing is removing items that are just too close.
yeah I tend to agree as well
tricky thing is if dungeon generation becomes small enough that the props can't spawn outside the radius, but I suppose you can check for that and just force spawn any remaining if so
skill issue. it's the modder's job to not give it terribely big values
I can't completely prove that it works, but it seems to work
I hate to say this but I went through trying to implement the Hadal end caps using branch caps and then realized that they won't quite achieve their vision
basically, the showstopper issue (from my perspective) is that the connector spawns in the connection to the end cap, which isn't intended
I should've grabbed a screenshot as an example while Tolian had the generation up and running here, but basically there is an "end cap" that is a tunnel with a fan in it that then curves to go straight upward, and it has its own "frame" (though the fan is quite exposed), and the doorway connector (which is quite a small doorframe) blocks that almost completely
Hate to ask you to run it back but could you get a screenshot so I can visualize
Oh wait you in the dev chat
My next goal is to add multiple entrances/exits to the Tiles
Instead of the single one we are allowed
Cause I want it, and I know yall want it too
Yes waiter more backported dungen features please
@wide mantle I get that it would already be implied to be included by nature of having it not be in either list but may I suggest also having a list of doorway’s that is exclusively for receiving looped back connections?
So those doorways aren’t allowed to be used for the main path they just exist incase they can be connected by nature or the generation
I have a tile that has an optional upper balcony area and I don’t want the path to ever involve the balcony because it means without a jetpack/ladder it’s unviable
already planned
will be curious how you end up doing it
i kinda want to inherit from tile and doorway in my thing which might be tricky to combine
dunno tho
either i inherit from tile/doorway
or i add a separate component that gives more information
The first option is better but it forces people to use my components forever
the second option is still fine and lets itself get removed if needed
separate components is probably the best way, little gross to juggle in inspector but
that sounds like it might also be useful for your windows no? although you would probably have to do something a bit fiddly if you want to give the windows thickness
right now that's done as a post-processing step and is not involved in the generation process so no but if i wanted to do that ye
yeah
definitely seems easier as post processing, that's for sure
should I assume that it'll initially need to be blacklisted for CullFactory or are you gonna fix up the door connections for first release?
There's a lot of design benefits to it aswell tbh, But just depends on how you wanna use them
yee I bet
We'll see
eg. it's nice knowing pits will always lead into a tile that can path back to where you fell from by nature of the generation
right yeah, that's definitely important for those
hadn't even considered doing things like that as a post processing step
gives me ideas...
right 😄
but also keep in mind all my tiles have proper consistent thickness and allignment
so i can have behaviours on them and do stuff like overlap boxcasting and other fun stuff
the consistency gives me a tonnn of power that most interiors dont have
oh yea for sure
definitely can think of something involving post processing for Black Mesa though
there are a few things I would like to do with the Resonance Chamber, although I may try to make that work with DunGenPlus before I try post processing for it
that would be sooo nice T.T
Forget to say but the new feature to force GlobalProp spawns to be a certain distance from each other has been added.
yall think its pyscho energy to add a small bit of scripting into DunGenPlus
Nah not if it's beneficial stuff tbh
what dat mean
Meaning scripting that allows some cool unique features that weren't possible before, which I imagine is the case since it's to expand Dungen related stuff
nah i mean scripting as a simple expression evaluation leading to list of pre-defined function calls
I meant what Raphtalia meant
convience more than anything, I can't be bothered to write scripts for every small interaction
huh I'm a bit confused what I'm lookin at there
i'm still in the debug stage in getting this to work (so it's ugly and unclear as hell)
is it supposed to set something on the Doorway instance via reflection or somethign?
(hopefully the reflected fields can be cached if so)
let me setup a proper script so it's purpose makes sense
lmao in the purpose of redoing my script I realized that I over-engineered this a bit
well it's still useful to me, one sec
How many sec's can we give before we've given you our lifetimes 😔
A couple.
Damn I got a short life
Indeed.
This is an extreme example only cause of how detailed I wanted my doorways to look.
The top Doorway script stores some references and values to be used by the scripts below. The scripts are called on onMainEntranceTeleportSpawned so I can modify my doorways after many mods mess with the dungeon (like Mimics wink wink).
How DunGen handles Connectors and Blockers is completely disabled by the Doorway script. The script will still handle the gameobjects like DunGen but with extra scripts called after.
The first script checks to see if the connecting doorway has a priority of 11+. This is my dungeon's way of knowing that the connecting doorway has a shaped 口 hole instead of a 凹 shaped doorway. As such, I disable the "doorway" gameobjects which is colored red here. Now both doorways have shaped 口 holes.
The next script checks to see if the the current doorway spawned any active connector or blocker with "FireExit" in it's name. If so, I forcefully set the connector prefab to be on (since fire exits spawn on blocked doorways) and disable the "doorway" gameobjects since the FireExit has it's own custom model doorway. Now the fire exits look integrated into the wall geometry.
But ALSO that last script works in conjuction with Mimics. The mod selects inactive fire exits to spawn its little dudes, specifically before onMainEntranceTeleportSpawned. I've set it so the mimic will re-activate the fire exit gameobject that it spawned on top of. So if we return back to the previous script, it will detect that the current doorway spawned the re-activated blocker with "FireExit" in it's name. And as such, the correct renders are setup and Mimics look legit.
One small issue. All this worked before no issue it's just that the scripts were schizo as hell. I re-did the scripts to be more proper since I thought I was gonna need it. It turns that there was a simplier solution so really all I did was re-factor to something more generic.
ohh ok, that's interesting
definitely sounds like something we could potentially find useful in Black Mesa
if you actually do find it useful please tell me so I feel like my time wasn't gone to waste with this nonsense. I had to pull someone's expression solver on the internet and fix it
we have some issues with out door connectors as well
basically, we have some red doorways that have glass around the outside, and some that have solid walls
if we could select connectors based on some priority between the two with this system, that might be nice
although ideally we could also encode the differing socket size, that's definitely out of scope for your stuff
How would it be out of scope?
well, idk, is it reasonable to change the socket after generation?
if so, that would be cool too :^)
as long as this runs before CullFactory bakes everything, anyway
well it's called on onMainEntranceTeleportSpawned. Don't know if that's before CullFactory
I could 100% change socketsize, I don't see why not
well, not socket size, since sockets are reference types and that would affect all spawned doors with the same socket
we would have to swap out the socket itself
who provides this event? I don't know where to look for that
No that's what I meant, I could change the reference
ah yea
Oh that's just LC. It's like a few seconds after LC generates the dungeon I believe
oh so it's the wait enumerator?
I had trouble with that one previously, might want to use SetLevelObjectVariables instead
that's what CullFactory uses since a long while ago
I could probably give that hook the lowest priority so if you use Harmony I end up running after you
Never had an issue personally. I'll have to see when SetLevel is called
or do you need the main entrance to be spawned?
SetLevelObjectVariables calls the enumerator
Ahh makes sense. I'll have to see why i picked MainEntrance but I honestly just picked it due to its good vibes
And maybe because I needed to be after Mimics
uh oh, I see
maybe I'll have to move my hook too then lol
lemme know what you find
Well it's not like I can't add different callback times
The scripts can be called whenever. Is no issue
oh you mean you have control over the mimic hook as well?
I thought that was managed by their api
no i mean, when i call these dungen scripts
its literally just an Awake() that adds the script to a list. i can add more lists for different hooks
hmm, I see, but then if you use a hook after CullFactory has baked the culling data to make changes to the dungeon, it kinda invalidates that
sure but it's on the dev to make sure their big dungeon changes happen on the hook before CullFactory and small visual changes happen afterwards
until it becomes my problem when they don't 😅
its my code so they can yell at me
hmm not sure how it would be your fault if they misuse API
not sure if it would cause visual issues though in practice, hard to say
other than a log saying that someone destroyed something if they do something dumb
by that same token its not your problem when misuse API and cause issues with CullFactory
I'll be stating anyway which hooks to use when anyhow
yeahh
I guess we'll see how it goes
but it kinda concerns me that things could slip through the cracks and result in worse performance with no good reason
generally it would probably be about the same impact as we already have with SpawnSyncedObject being ignored but I really would like to cull those as well
I don't think we have to worry
Just like right now I finally transferred my dungeon to this new scripting system
A couple of tiny dumb bugs that made it hard to solve
but finally, it's all good
closing all these windows never gets old
still testing but
extended features seem to be working
shit i can't spell
i have a doorway here that only appear if an overlapping doorway is next to it. it will never act as an entrance/exit
it wasnt working but now it does
pushed update with cool new feature, tile extender
https://git.touhou.dev/Raphtalia/DungeonGenerationPlus_LethalCompany_Mod/wiki/Components#tile-extender
aka entrances/exits are lists now
Woo, fire exit social distancing time
Hello I encountered an issue twice while using Solarius but i'm not sure from which mod it's really coming from
We could not enter the interior cause it said the doors were block by something, all doors said that, but one friend could enter without problems
The scan command on terminal noted that there were 0 scrap 0 credit inside, and the performance report also displayed 0/0
The interior was StarlancerWarehouse, the log had a lot of debug messages from DunGenPlus which mostly said:
[Debug :dev.ladyalice.dungenplus] Main branch gen failed at Branch 0 (Length: 3, Ratio: 0,6)
Prev tile: Maze4WayStandardConnector
Archetype: SciFiArchetypeMain
Tilesets: SciFiTileSetMain (DunGen.TileSet), SciFiTileSetHallways (DunGen.TileSet)
Reason: NoValidTile
Available Doorways: DoorwayNorth, DoorwayEast, DoorwayWest
Used Doorways: DoorwaySouth
With variating tiles (all said ScifiTile... etc) and all saying Reason: NoValidTile
Next in the logs, there's two error messages coming from LLL one saying:
[Error :LethalLevelLoader] Removed: 38 SpawnableItemWithRarities From CurrentLevel: Solarius Due To Invalid Properties To Prevent Errors.
And just further down another saying
[Error :LethalLevelLoader] ExtendedDungeonFlow: Warehouse Spawned 0 RandomMapObjects.
Preventing Spawning Of Interior RandomMapObjects To Prevent Gamebreaking Error!
This error does not happen all the time on Solarius, but it when it happened it was both on Solarius and I only use StarlancerWarehouse interior on Solarius
I'm really not sure where I should report that problem so I reported it both on Solarius thread and in here
your using older LLL?
Yes, I believe it is 1.4.5 ? or 1.4.6 one of the two, updating to the latest version broke like 3 mods
Is that the reason?
Wait my LLL might be way more older than that actually I feel so dumb
Omg i'm so dumb, when I rolled back version when it was breaking I got back to 1.3.12.0 💀 i swore it was one version back i'm sorry
I updated to LLL 1.4.8 and the issue is still happening, instad of saying removed 38 SpawnableItemWithRarities the Error, it's saying
[Info :LethalLevelLoader] Removed: 38 SpawnableItemWithRarities From CurrentLevel: Solarius Due To Having 0 Rarity.
But it also still says after that
Preventing Spawning Of Interior RandomMapObjects To Prevent Gamebreaking Error!```
I can replicate it rather quickly, it seems to happen like 4 times out of 5, I'll try to set StarlancerWarehouse on another moon to see if it's related to Solarius or not
Yeah I can confirm this only happens on Solarius
Even if it was my mod's fault, that error specifically is not my mod
I was just making sure to report in case something similar had happened, alright thank you a lot
I don't think that warehouse uses DunGenPlus, you should be able to just disable it and see if the problem goes away
the messages about generation are purely for debugging and the situation in which they print can occur without DunGenPlus
NoValidTile is a very suspicious thing for it to print though, you probably should report that to Starlancer
it may indicate that some tileset/archetype is set up in a way that means it has nothing to generate
if Solarus is really big, that could explain why it seems to happen only there, make sure whatever other moon you are testing on is similarly big
By disabling DunGenPlus do you mean via a config, or removing the mod from my Lethal Company?
Solarius isn't really big, to me it is a quite small map, I tested in loop StarlancerWarehouse on EchoReach (which i concider a rather big moon) and I did not encounter this issue at all
StarlancerWarehouse isn't using DunGenPlus but I got some other interiors that do use it though
disabling the mod
and any that depend on it
reason I suggest this is that if you suspect it is the issue, that's the way to confirm it so that you don't report the issue to a mod author that has nothing to do with the bug
Sure, I will do, thank you
also not sure it was clear, but the size I'm referring to is the interior size multiplier
Oh right
Well, removing DunGenPlus is making the game close itself on landing when StarlancerWarehouse is the selected interior on Solarius.. it's actually making it worse without DunGenPlus lol. Anyway it's deffo coming from somewhere else in my pack, sorry for the reports here and thanks again for the help
spooky error. just my thought but maybe the game crashed because the dungeon generation entered an infinite cycle of failure, eventually causing a crash due to memory overflow
aka, try a mod pack with just solarius + starlancerwarehouse. if that mod pack works then definitely something in your modpack is causing big issues. if it doens't work then you know it's just those two mods together
oh yeah, it could be that it triggered a stack overflow, I think that DunGen increases the stack for each retry instead of using a loop
I've seen stack overflows crash the runtime instead of throwing exceptions before
I trust your thought, all I can add is that even the logs are clueless cause there isn't even any error before the game closes lol
I will try a clean install with only Solarius and StarlancerWarehouse yeah!
DunGen so funny, literally crashing the game cause you setup the DungeonFlow wrong
Brillant design
how I see DunGenPlus now that I encountered this issue with dungeon generation
lol
thanks a lot for the help and the directives very appreciated, and sorry to have cluttered this thread 🙏 thanks for your work on DunGenPlus
Too lazy to read convo, from what I can see raph did bad, expected
I'll forgive your needless aggression and not feed you to the dogs if you listen to this
https://www.youtube.com/watch?v=BbJMRhDJ0x4
○o。..:・───────────
理解は要らぬ 幸せな悲劇の中
────────────・:..。o○
2022年12月31日(土曜日)コミックマーケット101
東方永夜抄より、
「竹取飛翔 ~ Lunatic Princess / ヴォヤージュ1969」の東方アレンジ
『#永遠の都で』を頒布します!
Iceon×Marciaでお届けする、輝夜と永琳の切ない二人の物語。
この冬は幽閉サテライトが送る「えーてる」をお楽しみください🎋🌙
もし楽曲を気に入っていただけたら評価ボタン、チャンネル登録していただけると励みになります!
◎12月31日「コミックマーケット101」に参加します!
配置:土曜日「西“あ”63ab 」
:;;;;;:☆:;;;;;:☆*:;;;...
Better not be as bad as the last one
Why am I near the origin
better question why is the UK near the origin
Reminds me of seven deadly sins opening, I think
Cuz u suck at math
Shoulda known you don't watch anything good
It was definitely better than the first video
Didn't even finish the first video u sent
ima pretend i didn't hear that
📣 the first song you sent was ass
would interior devs have to make their interior with the mod for it to work or can i just install the mod and get better interiors?
I think the interior devs need to do stuff on their side.
damn
not even vanilla ones?
I don’t believe but I could be wrong
it's possible to create a mod that messes with vanilla dungeons
I did it for the preview pictures, I can do it in game live with the dev tools
But I haven't created the actual mod since I don't want to be responsible for such a mod
But yes, it's the interior devs' job to implement
you "dont want to be responsible for such a mod"?
what's wrong with making it compatible with the vanilla interiors?
That's not what I mean. If I make the mod I have to spend time to maintain it and work on it.
Not something I want to do or be responsible about. Someone else can do it
https://github.com/JacobG55/JLL/issues/3
I’ve been experiencing an issue when using Wesley’s Interiors mod, and it looks like it’s caused by the mod running both DungeonGenerationPlus (1.4.1) and LethalLevelLoader (1.4.11 + JLL 1.9.2) at the same time.
The game console repeatedly throws this warning:
[Warning: dev.ladyalice.dungenplus] Already contains DunGenExtender asset for AquaticDungeonFlow
This happens multiple times per second and seems to indicate that both dungeon generation systems are trying to modify the same dungeon flow, leading to duplicate DunGenExtender assets.
Possible Cause
Wesley’s Interiors mod is using both DungeonGenerationPlus and LethalLevelLoader/JLL at the same time, leading to conflicts in dungeon generation.
Both mods try to extend AquaticDungeonFlow, which results in duplicate assets and potential instability.
This may be causing performance issues when launching the game
It is true that my code spams some errors during startup due to an issue on how I load data from .lethalbundles. The error spam will cause some slowdown at startup. However there shouldn't be any issues or conflicts.
I have to fix it but I haven't gotten around it tbh.
it sometimes causes my pc to slow down and prompts me to close program or wait for program. Just a quality of life issue really.
@wide mantle any eta on the fix? 🥺
sad answer, one day
Well if this is about the issue with Wesley's Interiors, it was indeed a LLL bug and it should be getting fixed soon
Pacoito has been working on a pr that will fix it with Batby
Lmao just glad to see you active again, I know you've been quite busy
active enough to just fix my mod cause zeekers forced my hand
Fair lol
@wide mantle bug
no
"day 1 of saying bug"

This mod seems to struggle when generating large (multiplier 3.0+) dungeons with Castellum Carnis (aka Flesh Dungeon). It does not error, but has so many failed attempts at generating a dungeon that the game might crash before it is successful. This does not happen with the vanilla interiors, a 6.0 size Factory takes maybe a few seconds longer than a 1.0 size, meanwhile Castellum Carnis is effectively a softlock
The logs indicate the mod repeatedly runs into colliding tiles and no valid tile issues
With sizes smaller than 3.0 it does fine
It might be an issue with the tiles tbh.
Ye, I’ll post this over there too
That's normal. Its why it size multiplier cap of 2 in LLL i believe? I have no plans to fix that
Bummer, I had some ideas for it
I apologize. I thought you were referring my SDM dungeon
Though my response is about the same. Making the dungeon bigger is asking for a higher chance for failure. This is an unavoidable part of DunGen.
I assume you are using additional/alternate main paths and making it generate at 3.0 size multiplier?
My modpack has Carnis and LC Office as its two modded interiors, and the latter has DunGen as a dependency
This mod does not have many configs so I can only assume it is trying to work its magic with the Carnis dungeon too
The dungeon has trouble generating even when DunGen is turned off, so this mod is likely not at fault
I think LCOffice uses my mod for other features, not for dungeon generation
@true forge so my mod shouldn't be at fault in particular
Oh you saying the LCOffice asks for DunGenPlus, so you think my mod affects Carnis
My mod only touches dungeons if it has a dungeon extender loaded (modder's side only)
Carnis certainly doesn't have one, so my mod shouldn't be doing anything
I see
Your mod was the one throwing a ton of messages so that was initially finding
Thanks for the clarification
that's probably the debug messages to make it clearer why generation is failing, since DunGen is pretty terrible about that
hello hello!
im unsure if this error is directly related but whne trying to update my project for the new lethal version i cant seem to use plugins to recover the scripts and receive this error
For starters this mod isn't updated for v80 yet
yeye i just figured sharing since i havent seen anything on it in the thread yet
@wide mantle do you plan to update to v81?
It likely just needs to be rebuilt and its references changed from DunGen in Assembly-CSharp to the separate dll Zeekerss now has
That's my goal tonight, and to see if I need to update anything else
Cause like, I heard that Zeekers upgraded to a new version of DunGen
which terrifies my code
Awesome <3 just working on updating Slaughterhouse and ik I was using DunGenPlus
hopefully it is just that simple, I wish you luck
I think you used it for some lights stuff, which isn't that big of deal for the time being
Mhm, and I do plan to do some custom code to optimize my lights myself at this point
Ya it is exactly what I expected
Welcome back Raph, I look forward to seeing SDM updated as well ^^
If I can even fix dun gen plus
I think paco said a few methods got made obsolete but it will still be needed
Hopefully it can be fixed
Will probably be the only time it happens if it makes you feel better
I suggested it cuz it had some nice built in culling he could enable + like almost 4 years of additions and performance improvements
I don’t think he’ll have reason to update again for the foreseeable future
transpilers gonna kick my ass
it's been a whole year since I touched them, my Gods
On bright side, not the worst code to fix
I feel ya
even if it's on a much less extreme level I can no longer get Slaughterhouse's DunGen tag script to work at all
This should be good news. At the very least, I restored the main paths code
changelog btw incase any of dungen plus features overlap with the updates
https://dungen-docs.aegongames.com/2.18/changelog/
i think for example list based entrance and exit doorways are built in now?
I've seen the recent dungeon features. What's slowing me down is all the small refactorings
And remembering what I was smoking 2 years ago when I created this
I'm happy that my main path trickery still works
Step one is complete. Get main path count working again
Actual cb toture, but it's doable
I give it a week until I finish
@wide mantle Question, DunGenPlus had a thing that overrode the max number of attempts, right?
iirc
It has max attempts in the debug window above, but it doesn't matter in normal gameplay
In game, it keeps doing it forever
gotcha
More progress done. Only thing left I believe is the branch path simulation and additional tiles
And it'll be good for testing
By chance, does anyone have a simple interior to test with? I didn't change any properties, just fixed the references
Most recent test version
You could maybe add Wesley's Interiors and see if Citadel Generates
I can give it a shot tomorrow morning, both of mine use it
messing around rn
so far so good! im seeing the assets in the editor
although as for testing the interior with it ingame uh... well i might need a minute lol
with my 140 missing scripts and all
well, DunGenPlus doesn't work with DawnLib since i haven't done the soft compat stuff :3 (it's written, it's just not pushed since there was no version of DunGenPlus out that worked with it)
if you want, send me DunGenGenerationPlus dll if you have one that's working and i'll send you a dawnlib zip of the soft compat code workin
o
i totally thought this was your thread not dungengenerationplus btw
this is the dll i am testing ^^
i have a habit of hijacking threads youre good

okie ill get you somethig soon
@graceful fiber remind me the shit I needed to add. Was it just removing stuff from the dictionary?
@hard finch additional tile sets may or may not work. Haven't tested yet
you added it for me
it was a function remove the stuff yeah
im ngl currently im just trying to get the project to even work at all
it seems alot of the scriptableobjects under game are just dead and ng script recovery has no idea what to do
check your console for errors
You said I already added it? I just never pushed it for v70 or whatever
yep
Until Zeekers forced my hand
hm
i was gonna force your hand eventually
that tool doesnt do automatic, dont use the automatic option
o
Ngl, I'm surprised you forced my hand. I nagged Batby for months about similar code that he never did
Had to prefix his own code
I can test Slaughterhouse but I don't really use much other than the lights thing
but if you want me to
OKAY big news
i managed to get far enough in my v81 project that i have begun testing
however i seem to be getting stuck at the startroomteleporter rn
aka this
Be sure to disable AdditionalTiles and Branch Tile Simulation
oh kk
Those are not fixed yet
its also very possible this is still my end, as im still basically a toddler bumbling around with this new project + also trying dawnlib
had both of those enabled, trying disabled
I'll return to my nap and respond in a in hour
have a nice nap!

i should do the same but im stubborn
hmm okay still seems to be a no
im gonna try disabling dungenplus to see if my interior itself is messed up
okay interesting it still doesnt generate
LOL WAIT A MINUTE
HMMMMMMM
okay surprisingly fixing that didnt change anything
idk how it even was able to attempt generating without those scripts at first
lol
hm okay yeah still no idea so gonna take a break for now
Gonna get back to testing today, this means it can't connect the teleporter to the start tile yeah?
So I gotta uh... Well honestly I'm not sure how that's possible but I'll needa mess around
I could be wrong but I think for now my issue lies with my interior itself rather than this mod
my bad yall i was supposed to make progress but kamiina botan ep 2 aired and i got distracted by making a cocktail and gushing about the episode for like 2 hours
wait why am i apologizing in this thread that doesnt really make sense


Me, the humble outsider viewing into this explosion of red errors
@wide mantle is there a ETA for v81 support?
We currently have a build for current interior devs to test out dungenplus
I'm waiting on someone to confirm that it's good
And only then, will I attempt my own dungeon
I thought @radiant canyon was waiting for it to update to v81?
He probably didn't see the message, dont blame him
@quaint cave i know he was testing it, but he ran into issues and I don't know if it was dungen or dungenplus related
i'm gonna try to give as much insight to it as i can
but i basically think i just couldn't solve anything because dungenplus was telling me
reason :
like straight up no idea
changing any sort of dungeon generation related stuff changed nothing so it's probably tile related
I have some work to do, but I'll update the code to fix that issue
I did indeed not see that
This is the most recent test version. Additional tiles and multi branch simulation doesn't work yet. So you want to disable them first
Otherwise, everything else should work
but i have what's called : procrastinus maximus and can't focus on work more than 25 seconds without it doing anything, so i generally end up checking 2 rooms and moving on to youtube watching whatever, so i have to rely on dungenplus to tell me what exactly is wrong
otherwise my stuff is never coming out lmao
Sounds like something my mod can't solve, good luck to you
Eitherway, you pointed out a missing feature. That's good for me
your mod can't solve my ADHD, but it sure as hell could tell me what is fucking up 😭
i found out why it wasn't working, missing reference on a doorway
i swear this is the most frustrating thing to happen
Let me see if I can fix the missing text that describes the failure
@quaint cave A missing reason means "NoMatchingDoorwayPlacementResult"
Fixed it, but that's the reason
what does that mean?
It means that when trying to find a valid doorway pair with each available doorway from the previous tile, and every doorway from every tile, it couldn't find any valid pairs
You said that your dungeon didn't work with dungenplus yes?
But it worked by itself?
Typical Rend (126 tiles)
Rend with two main paths (200 tiles)
Rend with two main paths and branch path muli simulation (246 tiles)
It looks to be be working completely now?
Should be the latest and greatest for testing purposes @stuck elm @hard finch @radiant canyon @final shale
Testing on factory seemed to work, but I can't test on y'alls dungeons since I assume they need fixing too
Well it looks like you removed my dependency Nikki, so you safe
yeah I have been distracted this weekend so I didn't get to Black Mesa yet 
hopefully soon
I've yet to port the interior which uses it but I'll let you know if anything implodes
I should take a day off lol
What it sounds like is importing our interior is going to be c&b torture
So I'll also see if my dungeon implodes too
Awesome thanks! I'll do some testing tomorrow
Though I think my problems still lie with my interior itself for why it isn't working
Haven't figured it out quite yet
I fixed the logging so it should better tell you what's wrong
Before there was an empty reason, which was code for no valid doorway pairs
I uh
no longer need it for Slaughterhouse 
but I am glad to see progress happening <3 cuz I may want it for future interiors
Ya I saw
no
but that shouldn't be possible
i made sure every single doorways make sense, can be connected
and i added 1 tile connection rule
so that certain tiles wouldn't connect a certain way
then again, it was working at some point, i just don't know what went wrong
hmm my doors seem to be fine but i noticed my spawn synced objects are totally fucked
this might be whats breaking it
i was confused about it saying bepinex so i tried readding the project patcher thing and disabling then readding bepinex but didnt seem to do anything
oh wtf
okay so out of curiosity to see if i was missing a dependency i enabled validate references on the mentioned dll (dusk) and suddenly its working
i didnt add a dll it said was missing, just enable that setting
will build and test rn
some of Dawn does need it on, some doesn't
hmm still same issue

quadruple checked all the doors on the start teleporter and the entrance tile and they all look perfect
idk if itll help but this is what my StartRoomTeleporter looks like
oh wait now that i look at it
i dont recognize these lists for entrances and exits
omfg that was the problem
i moved the doors from the lists to the direct assign at the top
and it fixed it
though it seems i have atleast 20 other issues with my mod still
💀
@hard finch are you saying that dungen by itself recognizes the entrance/exit lists, and my dungenplus mod doesnt?
Cause that may be the issue
Maaaaybe? I'll have to do more tests that just appeared to be what happened, but iirc I also tested not that long ago with dungenplus disabled and it still didn't work
I can mess around sometime tomorrow
Sure
that would explain a lot when I was debugging some generation issues with @verbal eagle
does that also fix DunGen's buckets for that? I think it doesn't print a counter for that most of the time from what I could tell
Hello, i want to test this in-game. Does running this with DunGenReferenceFixer by Zaggy okay? Or do i need to disable it?
I wouldn't know. Maybe, maybe not
Most likely not though
The fix is for interior devs to use my mod again, but they still need to fix their interior mods in general
I will try to repace this dll and UAT in-game. Thanks for replying me
testing rn
this will be what im testing with for reference
i confirmed it works with dungenplus if the doorway is set at entrance at the top rather than list
wait wtf it also works if i do that..?
So without dungenplus, both fields work (single or list)
And with dungenplus, only single works?
maybe it was because i had it set in both? ill try that
i just tried with the list and it worked fine
so im confused
(the new dungen added the lists for context)
if its not that then im at a loss
maybe i changed something somewhere that was breaking everything without even realizing i did it
My code adds both the single and list to the possible options to pick from
That may be wrong. It's possible dungen filters both values so any possible overlapping doesn't break shit
yup just tested with the door set in both and it worked fine
so most likely something else in that tile was broken and i fixed it unconsciously
Also, a null entrance may be adding null to the options to pick from
Which is equally bad
I'm sure future testing will reveal the bug again if it happens
So let me know. It does seem to be working now
will do
also quick question, i assume this is something new in vanilla v81? built in culling or smth?
Idk maybe
gotcha okay cool
Also I want to say Imperium lets you toggle the culling
@wide mantle i forgor what dat mean
DunGen.NoMatchingDoorwayPlacementResult
what exactly could cause this if there aren't too many ways this could be triggered
It means exactly what it means
When trying to find any possible doorway pairs, any possible doorway links from every possible tile, it found none
If this happens, you have major dungeon issues. Either my mod or your dungeon is the cause
i wonder if their issue is related to the doorway references mentioned abit above?
It may be, but I can only go off by what they tell me
as far as i could tell in my case the doors themselves were fine but likely a separate problem with the tile was causing it to mess up, leading no possible tiles to match
well i could give you all the info related to doorways/dungeonflow if you want
but there's a lot of doorways
like the fact i use tags on doorways
you just have to tell me if your dungeon works without dungenplus
cause that heavily clues into the underlying issue
what issue
launching rn
your dungeon generation not working
but i doubt it's working without lol
then it's most likely your doorways not being setup correctly
well lets be sure
which sadly can mean a lot of different things
trying rn for the whole "without dungenplus"
doesn't work still
well
no luck, gotta show you some doorways setup ig
but just because, i think you could also tell me more about if dungeonflow could act in it since i'm using the tag system
like this
here's a doorway from a dead end room
@wide mantle (pingingincaseyadidn'tsee)
It sounds like you rejecting any 1-1 and 2-2 connections
Also, doorways may be unaffected by the tag system but someone is allowed to correct me if I'm wrong
I only ever used tags for tiles
But in that case, it's most likely not a dungenplus issue
Which means the folks at #dev-interiors can help ya out too
Did your dungeon work without tags?
yuh
i'm genuinely removing the whole fucking interior at this point man 🥀
it's been like 4 times i've been remaking it entirely i'm not doing this shit no more bruh
Then it's probably the tags ruining the generation
If it is, then how am i gonna make my doorway system work
Like, tags genuinely sure would be great if it it's not the thing that breaks the interior
removed tags
i have no missing references
only 1 "No doorway pair"
instead of the usual large number though, so something has changed, but no idea what
I assume the tags is what's ruining you. They can make dungeon generation very strict if you aren't careful
Yes but you said it's a smaller number
Which means it's getting better
Why is the main path length 57?
That's incredibly big, way too big
because i want the interior to generate like a bunch of stretched spaghettis with meatballs on the side
(meatballs being the loot rooms)
If you going to do that, then you need much looser tiles
Cause the longer the path, the much likely it will fail
which means?
It's very vague cause there's many ways to make "loose" tiles
well the thing is, i wanted to have a lot of branches, but not much length on them, like just one room connecting to each possible doorway for the thing
Essentially, the main path tiles must have doorways on all sides
This is non negotiable, you cannot have random tiles ruin your main path generation
If one tile fails during generation, the entire path is regenerated from scratch
this kind of gen
Debug :dev.ladyalice.dungenplus] Main branch gen failed at Branch 0 (Length: 55, Ratio: 1)
Prev tile: NewSaunaRoom
Archetype: NULL
Tilesets: GHNewSet (DunGen.TileSet)
Reason: DunGen.NoMatchingDoorwayPlacementResult
Available Doorways:
Used Doorways: North
Next Possible Tiles:
It's also always failing at the final tile
This is your main reason why it's not working
how
genuinely i have not ever heard that happen
I don't make the rules here, that's what it says
Making my mod is causing issues
But you also say it fails without my mod
You see, that generation can easily make the path snake back into itself
whenever using the visualizer in ship, it can fuck up your control scheme
Not fixing for now, but I'm aware
how would i avoid this then
Make the path length count shorter
icy
Or make every main path stole have doorways on all sides
Maybe add some verticality too
for branch count, should i have a lot of em?
It's up to what you want
have that covered and would like to add a lil more too lol
well idk, branches are so weird, i don't even know what modifying certain values actually do
You just need to make sure the main path can be completed. After that, the branch paths can help add some extra rooms if they can fit
You just gotta learn and figure it out
@wide mantle it's not fixed without tags
how evil
also you should fix the room's generation speed/the async gen
cuz it goes too fast for me to even see whether a single room is spawned or not
Pushed the update live along with my dungeon
There's a weird GUI bug when using the DunGenPlusEditor.dll. Please don't use it. It'll be ugly, but at least you can interact with it.
I have a big question, but do mods like Black Mesa that require Dungeon Generation Plus work? I'm already super happy that Scarlet Mansion works, but it would be great if the other mods worked too.
They need to update the mod to work in general with the new lethal company update
@wide mantle where may I find the DunGenPlusEditor.dll to replace my old ass copy from the Black Mesa project?
didn't even notice you mentioned it was borked oh my
nvm found it since it's the last commit on your git lol
uh oh
DunGenPlus requires LLL? 
I never ran into this before because I was actually using LLL, but I'm trying to port over to DawnLib now 😅
DawnLib replacing LLL 🤔 ? @final shale
I'm currently in Japan so I can't fix it for a solid 2 weeks
Actually I just landed
Just right now
no worries, I was just surprised by it, I didn't realize you were touchin LLL
holy moly
enjoy japan
I touch LLL due to how LLL works, but I can fix it to be a soft dependency
ahh I see
hopefully dawnlib doesn't require the same thing?
although I'm sure Xu would be happy to add some hook if needed
I can yell at Xu if needed
yee
@wide mantle @final shale iirc it was because of how LLL needs to network the rarities/results of the dungeon right?
For my mod?
cuz in base game rarities are static so the game just pops dungen.generate right off the bat
i think so?
I don't mess with rarities. If I remember correctly, I require your mod due to most people creating extended dungeon assets for your mod to handle
Host syncs clamped Dungeon size too 
It was commented out before
And I didn't want to complicate that workflow for those people
@wide mantle sorry to disturb again but is there an editor dll that isn't borked for this version?
i never responded but this woke me up btw (i dont get notifs or sounds but i still woke up when you pinged me)
No. I can't understand why but I'm getting GUI not implemented despite not changing any code
I'm told it's because, what I'm doing doesn't actually work
But that's weird cause I knew it worked before
what are you doing
Teleporting bread? 
@wide mantle wondering if you would have any idea about this:
[Debug :dev.ladyalice.dungenplus] Main branch gen failed at Branch 1 (Length: 2, Ratio: 0.1538462)
Prev tile: Entrance1
Archetype: Office
Tilesets: Office Entrance (DunGen.TileSet)
Reason: DunGen.NoMatchingDoorwayPlacementResult
Available Doorways:
Used Doorways: Lab Doorway, Office Doorway, Quarantine Doorway, Start Doorway, Security Doorway, Sewer Dummy Doorway
Looks like it's trying to start the second main path off of our Entrance1, but all the doorways are already used?
Is it generating branches before completing all main paths or something?
.. I should probably check our DunGenExtender to make sure the main paths count didn't exceed the number of doorways though maybe
hm still 4
Yes check that one
Hmmst
Length 2 is weird, is it not?
No wait I'm dumb sorrry
That just means how far it is
is that length value the length only including tiles already placed? that would track
it places the Start tile and then Entrance1 before starting any main paths
Yes, that one. My brain fried and thought its how tiles for that path
It shouldn't be attempting to do branching. Have you tried using the dev window and asynchronous generating?
To see what step it's failing
unfortunately that's broken with the interior hotloading
I'm gonna see if I can patch your report function to dump the connected tiles on the used doorways
..if I can find it
I'll try to have the interior bundles load when the dev menu gets opened but it might be a while to rewrite that code for this use case :p
might be best to only load the one selected in the menu if you're willing to get a little more granular with your patches
but I get if you don't want to depend on internals like that
loading might just take a while on some profiles lmao
I guess you might have to refresh the UI anyway though 
I'd prefer that but you'd need to teach me how to use the dev menu on a version of black mesa you'd send me or smthn :p
Disable hotreloading altogether if the debug menu setting is enabled 
Though do log it should be disabled when actually playing lol
I probably could yeah
[Info : Unity Log] Used doorways' tiles:
- Lab Doorway -> Entrance1
- Office Doorway -> Lab Hallway Double
- Quarantine Doorway -> Entrance1
- Start Doorway -> Start
- Security Doorway -> Entrance1
- Sewer Dummy Doorway -> Entrance1
erm...
did the semantics of the MainPathExtender's nodes change?
this is what I have set up for the lab path, which seems to be incorrectly attaching Entrance1 to Entrance1 instead of placing a Resonance tile there:
iirc it was set up this way because this Lab path was the first one that generated, so it would place the initial Start tile and the Entrance1 tile, not sure why it would be placing another Entrance1 though
the other paths start with an Entrance1 node, I think you had mentioned that was how to set it up when I was initially doing the multiple main paths 
yeah removing those nodes just made it generate with no Start tile lmao
not sure what's going on here 
Damn I wish I could access my computer to fully see the issue
Your nodes look correct
The semantics shouldn't have changed
However, I remember changing a line of code after realizing it was a bit wrong
It may be possible that you setup the nodes wrong, but because of the bug, it came out right
But that's my only current theory
When you can @final shale send me pictures of your setup which may clue me in
hm, I don't suppose that change is on a commit I can revert locally to test without
No the changes was all in one go
It had to due to the nature of the update
Had to recode a lot from scratch
for the screenshots, you mean the flow, the extender, and all of its paths?
Yes
Ya, archetypes and tiles should be fine
oh jeez I see
You dont need to send those
okok
lemme try and see if I can fit everything into screenshots without a whole bunch of scrolling lol
🫡
is it normal for your dungeonflow to not include all labels you have in the extender?
Try adding a normal normal archetype with an empty string and a generic archetype
That may be the cause?
wait where dat?
This one
Also, give me the debug log. There should be a warning that says something like reverting to main generation
Your setup should have outputed that
hmm okay gimme a lil bit
🫡
gotta rebuild with the removal of the nodes reverted
you suspect that your suggestion of making sure that the node types have corresponding node archetypes assigned will remove that warning?
if so I'll try without that fix first
Ya it may remove the warning, but regardless the warning isn't that important
oh hmm, okay
It was just extra info that can help me find a beginning issue
@wide mantle I'm wondering, you mean a normal node archetype with label "normal"? is there something particular in my setup that makes that necessary or do you just require a fallback in general? all my nodes should have a valid label for an archetype but I may have goofed that
here da log (I copied only the part after dungeon generation started so you don't have to scroll a ton, lemme know if I may have missed something)
Tried adding node archetypes for every node label I have defined, then tried adding a blank one with the office archetype, neither seems to have changed anything it prints to the logs and behavior is the same
not that I was expecting it to fix it since you mentioned it was just one issue
if there's anything you think would be worth trying in the DunGenPlus code, I have it cloned so I can just fiddle with it
I shall be gaming in the meantime
top 1 lazy modder
truth nuke
Something that you can try and do is, find the GenerateAlternativeMainPaths function in the DunGenPlusGenerator class
And just log variables inside the function. That can help tell me what it's thinking
would that be expected to run before any doorways at Entrance1 have been populated?
ah I guess it's after the first path has been placed it looks like
Yes, I don't remember why I did it like that, but it's always after the first main path is created
I was thinking it was because DunGen takes care of one path but I guess that doesn't quite make sense since you still need to override the generation parameters from the first main path
I think it was a left over of my original approach years ago
And I'm sticking with it out of laziness
Eitherway, I should be changing generation parameters for all main paths regardless
ah, this should've occurred to me before
it looks like the first path may be generating on the wrong doorway?
this is what I'm seeing
[Debug :dev.ladyalice.dungenplus] Main Room Length Index: 2
[Debug :dev.ladyalice.dungenplus] Initial, used doorways' tiles:
- Office Doorway -> Lab Medical Research Room
- Start Doorway -> Start
[Debug :dev.ladyalice.dungenplus] After randomize line archetypes for path 1, used doorways' tiles:
- Office Doorway -> Lab Medical Research Room
- Start Doorway -> Start
[Debug :dev.ladyalice.dungenplus] After modify group, used doorways' tiles:
- Lab Doorway -> Entrance1
- Office Doorway -> Lab Medical Research Room
- Quarantine Doorway -> Entrance1
- Start Doorway -> Start
- Security Doorway -> Entrance1
- Sewer Dummy Doorway -> Entrance1
placing a Lab tile on Office Doorway ain't right, currently trying to figure out why that's happening
I think I said earlier that I thought I found a bug in how it selected the main tile to branch from
yeah
the main tile seems correct though
those are all doorways on the main tile
unless you mean elsewhere other than the alt paths code?
ah, it looks like the TileProxy passed to ModifyGroupBasedOnBehaviourSimple is wrong
(it only gets null, I'm checking the transpiler now)
huh, fixing that certainly changed things but now it's failing on the lab doorway a whole bunch, weird
the fix was
- attachToSequence.AddBasicLocal(OpCodes.Stloc_S, 13);
+ attachToSequence.AddBasicLocal(OpCodes.Stloc_S, 14);
Oh, was that the issue? Is it working correctly now?
it's placing Lab on the right doorway at least
still seems to like failing to generate though
It's a start at least
what I'm seeing may be our issue though
yeah
gotta fire up our unity project to check now 🐌
🫡 God speed
looks like it can succeed actually, but we definitely have something weird going on with these failures, it's failing on length 2 on the first path a lot
Hmmst
Well at least it works for now. And I can use your dungeon as a baseline to test my codr
I'm wondering, does PrintAddTileError always get called at the head of the path? Or can it be called after a backtrack to where NoMatchingDoorwayPlacementResult can show up on Entrance1 after it successfully placed a Lab tile onto the doorway?
dunno if you would know off the top of your head 😅

