#Imperium

1 messages Β· Page 9 of 1

distant stag
#

Just the logic to even implement that

bitter compass
#

just have an extension for when a network object is spawned im confused

#

i just do:

NetworkObject.OnSpawned(() => { });
#

also no he cant

#

same issues we have, he will have

distant stag
bitter compass
#

ill check

distant stag
#

He doesn't have to send any rpc

bitter compass
#

i mean, yeah he can override OnNetworkSpawn (not awake or start that just wont work), and then run the code there for a specific client

#

but then he has to hardcode that

#

whilst we can send the specific client that we want to pick it up via rpc

#

if he wanted to make a thing that auto picks an item for a player without hard coding the player, he NEEDS to rpc

distant stag
#

No need for any RPC

#

It just happens on every client individually as soon as the object appears

distant stag
#

But I guess that's the way, this is also what I'm doing rn

bitter compass
#

i mean if you have a better cleaner way of waiting for the network object to be functional you can let me know

distant stag
#

I don't, I'm just saying it's unfortunate there isn't a better way, like technically unity could provide this on spawn function

#

Because it exactly knows when objects spawn

bitter compass
#

yeah

bitter compass
#

and just to be clear, when you are saying awake, you mean onnetworkspawn because awake wouldnt work

eternal perch
distant stag
#

Yeah

bitter compass
#

yeah that's how waituntil works

eternal perch
#

why are there no real signals in Unity 😭

bitter compass
#

a better way would be putting this on an update loop

eternal perch
#

RIP performance

bitter compass
#

to avoid the overhead of an ienumerator

#

performance my ass its just a bool 😭

eternal perch
#

I mean, it's not like there's any better way anyway

bitter compass
#

yeah, but its also not like even if there was a better way, it would actually matter how much better it is

#

performance wise anyway

distant stag
alpine glacier
#

Btw, I sometimes get teleported out of the ship when landing SCaraara

distant stag
#

Or not, there's probs a reason they didn't do it

#

Who am I to know

bitter compass
distant stag
#

Uhh I mean if every client executes this logic, why wouldn't it be synced?

#

Like as long as not every client tries to grab it themselves

#

I assume just the fact that it is grabbed at all is synchronized

distant stag
bitter compass
#

first of all, doing this on the awake of the item would cause the rpc's that should be running when grabbing an item to not run because the networkobject isn't spawned, so that would already fail
second of all, how do you make sure not every client is trying to grab it for themselves? what if multiple clients have this toggled? what if they dont want to grab every item but only specific items that they themselves spawn, but the problem is, spawning an item is server sided, so you have to run a clientrpc that tells the client that said they wanted to grab that specific item that they spawned that only they can grab it

distant stag
bitter compass
#

yeah but that's irrelevant

distant stag
#

I don't really remember how I implemented

#

But evidently it doesn't work πŸ˜­πŸ˜‚

bitter compass
#

im trying to say, you need an rpc to make sure that the client who's calling the spawn function to be the one to grab it

distant stag
#

So yeah I guess you're right?

bitter compass
#

and you're saying you dont need any rpc's, which makes no sense

#

even zeekerss would need an rpc

distant stag
#

I guess

#

You could have a network var

#

That specifies who is holding it

#

Then every client checks if that's them

#

And then grabs it based on that

bitter compass
#

how are you setting this network var before the object exists

#

and how is that NOT more overhead than an rpc

distant stag
#

Can't network variables be set on the host before spawning and then they are immediately set like that on spawn on clients?

#

I assumed so but I haven't really worked with them

#

I think I also read it somewhere but maybe I misremember

distant stag
bitter compass
#

This would mean that your serverrpc has to carry a reference to the player who's spawning, which is good, that's what i would do, i dont actually know if you can give network variables values before the networkobject is spawned, but having an rpc that targets the player who spawned, and you already know who this is, to run the code you want, is much less overhead and less hardcoded than going to every item's onnetworkspawn and checking this very specific network variable that wont be used again and will keep incurring overhead

distant stag
#

But you'd have to wait for the object to be spawned before sending the RPC, no?

distant stag
bitter compass
#

you DO have to wait for the object to be spawned, but not before the rpc that tells the client to grab the item is sent, because that would just be part of your networker and not grabbableobject's code

bitter compass
distant stag
#

But this variable literally exists

#

You'd just have to make it networked?

#

But anyways I need to go now, I can talk later

bitter compass
#

i dont know what variable this is, but yeah if it does exist i guess you can rpc it every time you want to change it, and then patch onnetworkspawn for grabbableobject and THEN write the code there, rather than just handle everything in one rpc

#

its just so much more complicated

ionic crescent
#

why cant netcode just be easy

bitter compass
#

it is 😭

distant stag
#

That's literally the point of a network variabke

#

That it does all the syncing for you

#

That's why I'm saying it's easier

bitter compass
#

because how are you making a network variable out of an already existing variable

distant stag
#

Rewriting the code

#

Like aren't we talking about how zeekerss could have made it easier?

#

Obviously we can't do that

bitter compass
#

okay true, we are talking about how zeekerss would do it

distant stag
#

So that's why rpcs

bitter compass
#

still hacky though

#

having a network variable that you would only care about when the object spawns

#

like surely network variables are always incurring costs over their lifetime

distant stag
bitter compass
#

if you mean playerHeldBy, which gets set when a player grabs it, turning it into a network variable will just add a bunch of overhead because it probably is just an rpc internally every time the value is changed

eternal perch
# distant stag Or not, there's probs a reason they didn't do it

"Unity is a C++ engine with bindings to .NET" it's also old AF, and supported JavaScript at some point. C# event was probably not an option back then, and it's too late to change now. They can't even migrate their IEnumetator/generator based coroutines to a proper Task/async/await, even though they tried.

distant stag
#

You could just use the variable for that instead imo, so the client just sets it to themselves when they pick it up and then the network variable manages all the networking for you
Every client executes their own logic in the onChanged of the variable
This way it becomes a lot more data centered, a lot of networking logic in imperium works like that

#

But atp this discussion becomes kinda useless, there are many solutions and architectures to solve the same problem

distant stag
#

Backwards compatibility and legacy code my beloved love

errant kestrel
#

I have returned

eternal perch
#

and my ability to launch in Unity Editor broke after some git shenaningans

#

:-\

distant stag
#

Yeah I remember this, I did implement some custom shenanigans a while back but it didn't really fix it

#

But it should be a simple fix I think

#

Another problem is that not all spider webs from a spider are removed if that spider is d e l e t e d

#

Which I think is described partially in the first issue

ionic crescent
eternal perch
eternal perch
#

how do you spell that shit

#

I spell it rm -rf

distant stag
#

Uhm TE_trollSmile

eternal perch
#

but yeah, Unity Project Patcher makers took some unreasonable decisions which results in git being useless unless you un-ignore a lot of stuff

distant stag
#

Oh...I see, I haven't really used the patcher in a while, I still go the old-school route of reading the asset files since that unity version didn't even run on modern distros with 475+ Nvidia drivers for a long time

#

Surprisingly, it does work now for some reason, indicating that they added some kind of backwards compatibility fix like 20 versions later TE_trollSmile

#

I usually had a second windows laptop which I used for the imperium asset stuff πŸ’€

eternal perch
#

linux + graphics == never working

distant stag
#

Idk I wouldn't say that in general, I don't like Nvidia at all but it will take me lot more to switch to windowsπŸ’€

#

Like this issue specifically was immediately fixed in newer unity versions, it just happened to be present in the one version zeekerss is using

eternal perch
#

Launched two instances in LAN, had to Reset UI in the second instance (windows moved out of bounds due to switching to Window mode, which we should finally fix for real btw).

distant stag
#

How would you fix the windows going out of bounds?

eternal perch
#

Two bugs happened:

  1. Moon Controls for Map Obstacles got disabled for the day for the client which Reset UI.

  2. Next day got a desync generation occurred. Presumably because logic state was stored in the UI components which got reset and not synced afterwards?

eternal perch
distant stag
#

Because with some windows it doesn't happen because 0,0 on the top left can't move

eternal perch
#

I honestly have no idea how UI works in Unity, so I'm underprepared for a more technical discussion of implementation details

distant stag
#

I'll have a look tomorrow, I think the problem is not that hard to fix

plucky granite
#

How is your vacation goin? pikaJam

eternal perch
#

As long as both windows and screen can be converted to some common math units, should be fine, right?

distant stag
distant stag
eternal perch
distant stag
#

Bro really exposed me like that

#

GitHub mobile, I like to add

distant stag
#

I'm almost certain it's possible

eternal perch
#

In other news, Flickering Lights turned out to be slightly more involved because it is not networked in vanilla

#

(for now, I hijacked an existing button to trigger the code)

distant stag
#

We can just add an RPC, no?

#

Or a message, rather

#

Easy as πŸŽ‚

eternal perch
#

now I believe my friend who said Dust Pan can be $69

plucky granite
distant stag
distant stag
#

WHICH IS A GOOD THING

plucky granite
#

YUP

#

You gotta enjoy life and touch grass sometimes peepoGiggles

distant stag
#

Exactlyyy

eternal perch
#

you guys have grass in April already?

distant stag
#

I mean in all fairness, I haven't worked on imperium for months before this, it's just an unlucky clash of schedules hahaha

eternal perch
#

what grass

distant stag
#

Degrees Celsius if that wasn't clear TE_trollSmile

plucky granite
eternal perch
#

phew, glas not Kelvin

eternal perch
#

yeah yeah yeah shader HRPD unity XR stuff of course

eternal perch
distant stag
eternal perch
distant stag
#

Nice, thx PES_Heart

eternal perch
#

wsup

#

or rather

distant stag
#

hahahhaha amazing

burnt cradle
distant stag
#

hahaha I love this

plucky granite
errant kestrel
#

Would it be fun to use Imperium to mess only with your friends? I can see why it would be bad with random people though.

distant stag
#

big imperium update coming

#

ALL bugs will be fixed

torn bough
distant stag
#

me, long time ago

torn bough
alpine glacier
distant stag
#

if not, would it be possible to deprecate it to not confuse people as to whether they need it or not?

alpine glacier
distant stag
#

what exactly is the issue again?

alpine glacier
#

I'm unsure. First Imperium throws an error at startup.

Then it throws an error every time you press space or control.

I "fixed" the issue by re-binding the key to the key it's already assigned to

distant stag
alpine glacier
#

That's my rudimentary fix

distant stag
alpine glacier
distant stag
#

huh okay interesting

#

yeah, might be a layout problem

eternal perch
#

Press Ctrl also error.

Somehow the error is gone for me since recently.

#

if anyone still experiences if on latest release, can you send you save file folder?

distant stag
#

cant see the vidd

eternal perch
#

crap, my Discord CDN sometimes does that

eternal perch
#

I managed to modify Unity LC project patcher gitignore to store everything meaningful in git. So now I have a git with Imperium that I can nuke, clone from fresh state, and it will launch into play mode with mods πŸͺ„ πŸ’«

distant stag
#

damn thats amazing

eternal perch
#

Imperium (or any other mod) can be configured to copy build artifacts right into Unity project BepInEx/plugins folder, so it can be playtested right in

#

(disclaimer: DarnLib does not work in Unity Editor due to MMHOOKs or smth)

bitter compass
#

it does work greed

eternal perch
#

does it now?

#

last time I tried it didn't

bitter compass
#

i've been told it works and to just ignore the mmhook ignores tbh

eternal perch
#

cool then!

#

sharing such project would violate something-something copyright, but the instructions (as commit messages) and gitignore are pretty simple

bitter compass
#

yea

#

could share publicised and stripped dlls though

eternal perch
#

basically, don't do this, which project patcher adds automatically:

# Patcher specific
/[Aa]ssets/LethalCompany/Game/*
*.dll*
/AssetRipper/*
/AssetRipperOutput/*

but do add this:

# BepInEx
Lethal Company/BepInEx/cache/*

and remove /AssetRipperOutput/ because its content has been copied elsewhere

eternal perch
#

stripped dlls won't really help with that usecase

distant stag
#

me when nothing does anything

#

just pretends TE_trollSmile

tough silo
#

Has the mod been updated for the most recent version of Lethal Company (V80/81)?

tough silo
#

neat, thx

desert silo
#

heyyyy imperium daddyyy

#

i think you were joking with the uhm fixing all bugs stuff, but do you think you will ever be able to fix bracken ai when using this mod?

#

or is it too hard to fix or theres another reason? hehe

#

not too bad but a weird issue

distant stag
#

the thing is, I don't really know the exact problem and its pretty inconsistent I think

desert silo
#

if you spawn a bracken it doesnt work at all

#

and naturally spawned brackens work really weird and spam logs

#

someone in #modding-general just had this issue

#

maybe a log could help you?

#

its been bugged for a long time now

#

since v69, at least that was the first time i saw that

pseudo field
#

imperium seems to break the bracken's AI

#

from what i experienced, spawning a bracken or a enemy using Flowerman AI will not move unless directly hit by a player when spawned through imperium in v81

#

(it also spams the console with errors related to imperium so i'm assuming it's imperium)

bitter compass
#

i think a log will help em out a lot

distant stag
#

yeah I just fixed this

bitter compass
#

ah, nice

distant stag
#

it will be working in the next version

#

which I will hopefully be able to push in a few hours

bitter compass
#

nice holiday btw

distant stag
#

im back since yesterday TE_trollSmile

bitter compass
#

damn has it already been a week

distant stag
#

yep TE_TrollDespair

bitter compass
#

time is going by faster and faster...

eternal perch
#

current challange moon is foggy art duck only

distant stag
#

I got an issue https://github.com/giosuel/imperium/issues/74 stating (among other things) that entities spawned with Imperium aren't added to GameManager.Instance.spawnedEnemies.
I purposfully did not do that to not intervene with any vanilla systems. Should Imperium add spawned entities to this list? WDYT? @bitter compass @eternal perch

bitter compass
#

but i thought you fixed this

ionic crescent
#

what is GameManager

bitter compass
#

RoundManager.Instance.spawnedEnemies

#

this is something i reported ages ago and i remember you fixing it

#

bro's looking up bugs from 2 years ago πŸ₯€

distant stag
#

well you gotta clear the list somehow

distant stag
#

it doesnt mess with vanilla spawning, right?

bitter compass
#

it just stores the list of enemies that were spawned during the round

#

yeah it doesnt really do anything other than exist for caching purposes

distant stag
#

so why is it important that Imperium adds entities to that list?

feral sentinel
#

as of v81 i dont think that is true anymore

distant stag
#

was there a specific reason?

bitter compass
#

cuz it's faster to iterate through that than do a SphereCast

bitter compass
#

fr?

feral sentinel
#

EnemyAI.Awake now sets thisEnemyIndex based on SpawnedEnemies.Length

#

iirc

distant stag
#

it seems like the game never uses the list, just adds to it and clears it

feral sentinel
#

which is used for certain enemies like barbers (which i digress)

bitter compass
#

well, there are places where it does iterate through the list, like manticoil? lol

feral sentinel
distant stag
#

yeah mb theres more

feral sentinel
#

and im not sure where else off the top of my head

bitter compass
#

is it just basicallyt a shortcut for getting the enemy in spawnedEnemies list? i wonder what the usecase is

feral sentinel
#

well like i said barbers use it but they are also turbo broken in vanilla

#

im not sure what else uses it off the top of my head

ionic crescent
#

like bee hive values

#

i think

bitter compass
#

oh wait no im lying im looking wrong

feral sentinel
ionic crescent
#

oh

#

thats a dif trhing

#

i rember

bitter compass
#

yeah i see it, the barber with the smallest thisEnemyIndex is the master i think?

distant stag
feral sentinel
#

master selection is really broken but this is the intent

bitter compass
#

i dont think he could've written this in a worse way

feral sentinel
#

because it doesnt even work

distant stag
bitter compass
#

lol

feral sentinel
#

every time barbers spawn all of them re-select the master and they totally brick if any of them disagree on who the master is

bitter compass
#

my issue, if he's looking for the smallest barber index, just loop through the damn spawnedEnemies and the first one is the lowest 😭

feral sentinel
#

even though the first barber spawn should always be the master

#

i refactored it in barberfixes

bitter compass
#

but yeah, @distant stag you should be fine modifying this when spawning enemies (and you probably SHOULD be)

eternal perch
distant stag
#

the thing is, funny enough every entity does add itself to RoundManager.Instance.SpawnedEnemies

#

but only on non-hosts (this is from EnemyAI.Start()

#

what

bitter compass
#

@feral sentinel i was wrong, he CAN write it worse

#

why is there an array sort if he's gonna be looping through the whole thing im genuinely confused what he's doing

ionic crescent
#

can i ask why the fuck this exists

bitter compass
#

maybe i just need to pay more attention to it

feral sentinel
eternal perch
#

))0))0))00)

feral sentinel
#

he added this to EnemyAI.Start() presumablt because hosts would be the only ones with functional near activity detection otherwise

bitter compass
distant stag
feral sentinel
#

but funny enough masked dont call base.Start()

#

so masked only work for hosts

distant stag
feral sentinel
#

with entrance doors

feral sentinel
#

i think

#

is why it's so weird

distant stag
#

but he could have totally done it in EnemyAI.Start() everywhere, no? its not used for any server logic or anything

#

also, I just want yall to appreciate this functionality. whenever a non-server calls this function, the network object of the prefab of the first enemy of the current moon is returned

feral sentinel
bitter compass
#

lol

#

i can sort of see why this is tbh

distant stag
#

thie never happens btw

bitter compass
#

i dont know what would happen if he returned null

distant stag
#

its a fallback "just in case"

bitter compass
#

yeah

distant stag
feral sentinel
#

now my plugin for printing the name of the first enemy to spawn that only works for clients can use SpawnEnemyGameObject

bitter compass
#

it should probably be logging stuff though if a client triggered that function πŸ’€

distant stag
#

well if he didnt add this check, it would just fail at the Spawn() call

feral sentinel
#

but later he started using it in stuff like AIs and entrance door detection

#

so he did the client thing as a bandaid fix and left host as is

#

maybe he was afraid it'd break something if he removed it

#

i have no idea

distant stag
#

yeah I can see that

#

I think this is a pretty good analysis of how most of the code probably came to be

eternal perch
#

I found a bug in SpiderAI maxWebTrapsToPlace, but I don't see any way to abuse it, at least not in single player

#

Due to an off-by-one error and inconsistent checks

webTraps.Count > maxWebTrapsToPlace
webTraps.Count < maxWebTrapsToPlace

it is theoretically possible that waitOnWallTimer will never run out, and spider won't switch from state 1 to state 0.

feral sentinel
#

another minor thing i'd like to see tweaked

#

#1225942840282976316 message

#

this is still a problem for weed killer

#

i think not having to shake the spray paint is fine (since you can just shake it 6 times after it spawns and then you never have to shake it again anyway)

#

but weed killer is specifically supposed to fire in these bursts

eternal perch
eternal perch
# feral sentinel https://github.com/giosuel/imperium/blob/00c39afb2e5d8afc2c7270f1e855af36d034662...

It does work.

I couldn't explain why, so I printf-debugged it. Apparently, it is important for weed killer to be able to run out of its sprayCanShakeMeter, because when it runs out, it stops, and when it stops it resets addVehicleHPInterval back to 0 but only if tryingToUseEmptyCan is set, which funny enough is set in PlayCanEmptyEffect

Currently, if you don't let the spray paint run out of sprayCanShakeMeter, it will take longer for the addVehicleHPInterval to run down to 0, which is another way for it to reset.

feral sentinel
#

the vehicle HP thing is another problem

#

zeekerss uses Time.deltaTime in a function which only runs every 0.1s which makes adding turbo boosts to the cruiser really weird and inconsistent

#

i have a fix for that in weedkillerfixes but i didn't even realize it was also getting reset when the spray burst was over

#

given that that's the case, this is even more of an issue, because if you hold the spray button down (which only works with imperium's battery patch) it takes forever for weed killer to work on the cruiser

eternal perch
#

also that explains how it is bound to FPS. higher fps == slower cycle, because it accumulates timeDelta every 0.1 second.

eternal perch
distant stag
#

Imperium v1.3.0 - Regular Update

This update tackles a number of long-standing bugs alongside several frequently requested features. The biggest change under the hood is a rework of the object explorer's multiplayer functionality, which is now far more robust against desync and network latency: updates are only sent when objects actually change, the explorer refreshes periodically to stay in sync, and RPCs are more consistently routed through the host for better access control.

Modded outdoor and indoor hazards added by LLL and DawnLib are now fully supported as well, so network-aware modded hazards will work out of the box. Oracle has also been updated to correctly predict entities in v81.

General Changes

  • Reworked the map obstacle section in the moon control window.
  • Added a button to flicker the lights.
  • Added a button to remove the slippery surfaces / gunk from the stingray.
  • Added an option to disable culling in the rendering window.
  • Added an optiont to disable the new indoor fog in the rendering window.
  • Updated oracle to correctly predict entities in v81.
  • Removed permadrunk functionality from the control center.
  • Added button to enable noclip while flying to the control center.
  • Added support for modded outside hazards with network objects.

Bug Fixes

  • Fixed a bug that made it so locking doors toggled the lock instead.
  • Teleporting a player now applies the correct audio reverb preset.
  • The apparatus teleport button now correctly targets an apparatus inside the facility.
  • Fixed a bug that caused Imperium's lock blocks to misalign sometimes.
  • Fixed a bug that caused speedy shovel to not work anymore.
  • Fixed outdated information about indoor map hazards in the info window.
  • Fixed a bug that made spider webs impossible to teleport or destroy in the object explorer.
  • Spider webs are now cleaned up properly when a spider is destroyed in the object explorer.
  • Fixed a bug that made it possible for the resolution slider to go below 0.
  • Fixed a bug that caused the game's resolution to ignore the resolution slider in the object explorer.
  • Fixed object explorer related bugs that prevented certain items from being toggled or toggle desync in general.
  • Fixed a bug that caused brackens to break when spawned indoors.
  • Fixed Infinite Battery causing the weed killer to fill up the cruiser slower.
  • Despawning a bee hive now also despawns the bees the hive belongs to.

QoL Improvements

  • Added terminal codes to landmines, turrets and security doors in the object explorer.
  • Made it so the position / teleport indicator points exactly to the screen center.
  • The object explorer is now updating periodically to account for desync and network latency.
  • The object manager now only sends object updates when objects have actually changed.
  • Removed the respawn button for spider webs as it didn't do anything.
  • Object RPCs are now more consistently routed through the host, improving access control.
  • Renamed "Full Auto" shotgun option to "No Cooldown".

Compatibility

This version is compatible with v81 of Lethal Company.

torn bough
alpine glacier
#

Is the error spam with keybinds fixed aswell?

distant stag
#

not yet, sorry

#

I have not been able to replicate it on my setup

alpine glacier
#

Buy a german keyboard greed

distant stag
#

funnily enough I do have a swiss keyboard, but it has US layout

eternal perch
eternal perch
bitter compass
#

@distant stag hey zeekerss can you get rid of your log spam stare

#

constant

distant stag
#

just disable debug, no?

bitter compass
#

πŸ’€

#

i need my debug logs too

distant stag
#

nuh uh

bitter compass
#

yuh uh

desert silo
#

Maybu uh

eternal perch
#

tbf it's not that trivial to be granular about which mods get to use debug level and which don't?

#

Normally I'd say that belongs to Trace level, but we don't have trace level in BepInEx

bitter compass
#

i think if im debugging and a mod im used for debugging is spamming my logs, no matter where it is, im gonna have an issue

eternal perch
#

true

distant stag
#

i would assume youre not using the bepinex console in real-time to debug TE_trollSmile TE_trollSmile

eternal perch
#

idea πŸ’‘ can we do a little status / pulse animation in UI, and trigger it every time an update comes? that would be so cool

bitter compass
#

im not gonna generate the whole thing, close my game, THEN look at it

#

slow and inefficient

distant stag
#

there is software specifically to read logs in real time

#

or you can just open it in VSCode

bitter compass
#

that isnt updating in realtime though

distant stag
#

it is

bitter compass
#

that updates whenever i ask it to update no?

distant stag
#

i am not sure if its enabled by default but there is definitely a way to make it auto update

#

thats what I am doing most of the time

bitter compass
#

maybe ill look into that, still doesnt mean i can cull imperium spamming logs though afaik anyway

bitter compass
distant stag
#

not in vscode, you'd have to search with Ctrl+F, otherwise you could use something like lnav to filter

bitter compass
#

this is weather registry spamming warning logs all over again 😭

distant stag
bitter compass
#

yeah i get it, atleast its not per frame

#

i think the puma does taht rn

#

actually annoying

distant stag
#

yeahhh

bitter compass
#

i dont like installing mods that cull logs because it's never gone well lol

distant stag
#

idk I have never used a mod like that before

#

usually I just search for the mod name with Ctrl+F and then go through the results

#

or I use lnav

bitter compass
#

Ctrl+F is usually what i do, and honestly bepinex console can break with Ctrl+F, ig im too lazy to find another alternative (it does mean i gotta have another application open and with unity, 3 vsc's, streaming in vc, youtube, etc i dont think my pc will like another πŸ’€)

feral sentinel
#

historically i have just used this to disable log levels for specific mods

#

you could disable debug logs for specifically imperium with this

feral sentinel
limber ice
#

I'm unsure if this is just a me thing, but does Imperium not load correctly on v81? Been trying to load it up and it just says "failure to launch, shutting down." In a lobby by myself btw and I am the host. Are there other mods that conflict with it?

#

Furthermore, is there a way to customize the welcome message or is that not featured yet?

dark heath
eternal perch
dark heath
#

at least it didn't last time i checked

limber ice
# eternal perch which Imperium version? logs?

I am currently on 1.30, the latest one. I'm going to try exporting my mod profile and just re-downloading it, hopefully that works too. GenImprovements is also not registering so it could be something on my end

eternal perch
#

what's 1.30?

limber ice
#

1.3.0*

eternal perch
#

logs please

limber ice
eternal perch
#

send game logs please. do you know where to find that? "C:\Users\<user>\AppData\LocalLow\ZeekerssRBLX\Lethal Company\Player.log"

limber ice
#

Oh sure! Let me try searching for it

eternal perch
#

or, like, just the relevant part where the error happened

limber ice
#

Want me to DM it? @eternal perch

eternal perch
#

sure, if you don't wanna upload here

limber ice
#

I appreciate the help, been a while since I've done modded

eternal perch
#

turned out to be not an Imperium bug

limber ice
#

An older version of matty's fixes conflicted with it but it got recently updated, so we'll see how well it goes

limber ice
#

Update, the new matty fixes works with imperium now!

eternal perch
#

https://www.youtube.com/watch?v=aa_LSL_I1kQ

@proper oyster explains how to use Imperium (previous version), and at 11:20 shows how to deal with Culling. Since the latest version 1.3.0 there is a checkbox in the Rendering window to toggle Culling now.

#

damn, the last section of the video could really make use of that

proper oyster
#

Very much so. I recorded this the day before Gio released that update

eternal perch
#

no hard promises, but I thing there will be more bug fixes and UI improvements later this week. For example, we had a prototype of help labels in Freecam mode, so you don't have to explain what is scrollwheel, or what arrows do

distant stag
alpine glacier
#

Is there a keybind to get off-screen items back on screen? stare

distant stag
#

for now, there is a button to reset the ui in preferences

eternal perch
#

(keep in mind, resetting ui mid-day breaks a lot of stuff, so only do that while in orbit, and maybe re-host for good measure)

burnt cradle
#

Hey so I forgot which layer did this but when you are in freecam and hit the L key

#

what layer is it that removes the first person arms?

#

cuz the first person arms mesh together with the third person arms

#

I mean these arms btw, these ones

#

oh god

dark heath
#

it's Water

#

but in my experience it only sometimes removes the arms

burnt cradle
#

water.

dark heath
#

i really dont know whats up with that

#

sometimes it's on the default layer

burnt cradle
#

Debbi lemme get this straight

#

Zeekers

#

our

#

beautiful dev

#

Zeekerss

#

of all layers

#

of all the beautiful layers of cake

#

he put the arms

#

ON THE WATER LAYER

dark heath
#

Β―_(ツ)_/Β―

burnt cradle
bitter compass
#

any issue in the universe:
"why would zeekerss do this"

burnt cradle
#

You know what

#

Zeekerss Jank

#

Yeah you're right its not disabling fuck

dark heath
#

it must be on default then

tight wharf
#

lol wtf

dark heath
#

you might have to restart the game until it changes

burnt cradle
#

damnit

dark heath
#

but i dont know if that fixes it, sometimes it does and sometimes it doesnt

burnt cradle
#

Imperium is weird

dark heath
#

i would recommend just using NicheTweaks to disable the arms though

bitter compass
#

personally this is the mod i use for freecam lol

burnt cradle
#

but you can delete the fog with Imperium

dark heath
#

i like that one but its pretty limited

bitter compass
burnt cradle
#

and me no likey fog in thumbnail unless im making one similar to the brutal translated video

dark heath
#

you cant change movement speed, fov, move up/down, and it wasn't able to show trees last time i tried it

bitter compass
#

but also ig i know how to disable the fog myself if i wanted to

bitter compass
dark heath
#

it may have been a conflict in my recording modpack, i dont know for sure

bitter compass
#

i blame zeekerss

dark heath
#

same!

hollow granite
#

I just disabled them through Unity Explorer one time I think

dark heath
#

yeah thats what ive been doing recently too, its really handy

#

because you dont have to restart the game to show them again like with nichetweaks

#

unityexplorer is also great for forcefully hiding the hud (especially spectator hud)

alpine glacier
#

Btw, any plans on improving the collider visualization?

I've been in a lot of scenarios where I added, scaled or moved colliders and the visualization didn't follow or appear in the first place plink

#

For example, I added a trigger collider to Blast Doors in one of my mods.

I was unable to properly debug it, because I couldn't see it (And I couldn't test in the editor)

distant stag
#

uh

#

i mean if you just add random colliders it wont be visualized

#

like why would it? i cant visualize literally every collider in the game, no?

alpine glacier
#

What rules do you use to decide which can be visualized?

distant stag
#

there are multiple

#

you can check it out in Core/Visualization.cs I think

hollow granite
distant stag
#

I mean if you want, you can always use Imperium API to visualize any objects

balmy scroll
dark heath
#

hmm that might just be it

alpine glacier
#

What has changed?

eternal perch
#

if i were you, I'd look around

distant stag
eternal perch
#

since StoreRotationConfig is not yet updated, I'll have to go with this method for my furniture mod for now.

#

this is minor inconvenience, but I wonder which code generated cfg with comments, and which omits them

alpine glacier
eternal perch
alpine glacier
#

You never know SCaraara

eternal perch
#

I would understand if comments were generated by a mod manager, but IIUC this config in unity project has never been touched by any mod manager

sly gorge
#

is it possible to select a interior you want to see with imperium?

distant stag
sly gorge
#

thx

limber ice
#

I may have glanced over the answer in my time here, but is there/will there be an option to change the "greetings padawan" message as you load into a lobby w/Imperium? sm_bb_plead

distant stag
#

it might be that I added a config that is not in the UI

#

so maybe you can change it in the config editor

limber ice
distant stag
#

either

#

its the same

limber ice
#

I can load it up/double check rn standby

#

Also just wanted to say a huge thanks for the Imperium mod overall. Has helped me bug test a lot as well as host some fun runs with my friends! ❀️

#

Okay, so I see the "enable custom welcome" mod lets you choose true/false, but I don't see a way to customize said welcome. I'll keep digging

#

Yeah I don't see the option yet! PikachuWow

distant stag
distant stag
limber ice
#

Haven't modded for a bit so I could be missing it

distant stag
#

okay yeah it might be that I never added it

#

is there a reason why you don't want it?

limber ice
#

Customized for the user per se

#

Like instead of "greetings padawan" it would be like "welcome retro" for example

#

Maybe I'm not phrasing it right. Yep I basically want to keep the greeting, but change the words in the greeting itself

distant stag
#

ohh, well no there is no option for that

limber ice
#

-# yet?

distant stag
#

maybe theres another mod that does that tho? I don't know any tho

#

if you really want you can make an issue in github

#

and i can add it

#

not that big of a deal probs

limber ice
#

Oof lemme see if I remember my login. I wouldn't call it an issue, more of a cool QoL interface feature

distant stag
#

yeah you can label it as such

#

like [Feature Request] ... or similar

limber ice
#

Lemme dig into it for sure

#

Just got to print out these screws for my helmet first

#

Got it! I believe I sent it in. CompanyDance

mellow fjord
#

can we PLEASE have a standalone real time clock mod

eternal perch
mellow fjord
#

i aint clicking that

eternal perch
#

Β―\_(ツ)_/Β―

#

you think modern web browsers have worse security context than installing random mods from thunderstore

mellow fjord
#

yes

#

my brother once got a damn bloatware virus from gamejolt

#

no warnings

#

and i try to download scp containment breach and it gives me a virus wanring

#

FROM THE OFFICIAL WEBSTIE

#

but that was one day

eternal perch
#

imagine getting viruses from websites in big 26

distant stag
#

they be using the chrome zerodays for adware thesedays

eternal perch
#

time to switch to ladybirb

mellow fjord
eternal perch
#

@silent river is Imperator, so imma be a price alright

distant stag
#

im joking

eternal perch
dark heath
distant stag
#

ahahaha rip πŸ’€

eternal perch
distant stag
#

Or is there more to it than just the timer?

eternal perch
#

you missed the "for the sake of the game" part, and "game" was not referring to Lethal Company

distant stag
#

Doing it for the love of the game

#

Fair enough, yeah I thought you meant lethal at first πŸ˜‚

eternal perch
#

and i missed the correct way to spell the idiom, huh

#

we love the company, the companey, the copmayne

eternal perch
#

I stared into the abyss of ship take off & landing animations, and the abyss stared back at me.

#

many entry points, need to skip WaitForSeconds and bump&restore animation speed, methods can be normal and coroutines etc

#

what if we combined both existing checkboxes, and the upcoming "Instant Route" (feature request #66) into one control? does anyone have a usecase for them being separate

hollow granite
#

The instant landing and instant takeoff toggles? Maybe if the moon has some trick jump you can do when landing (like Assurance)? You might want to have the landing be normal to try the jump but leave instantly. I feel like as someone who's made moons and some with a "landing jump" I might could see keeping them separate.

#

Or, the animations are a bit different iirc. I think I once had terrain cut into the ship on takeoff but not landing so testing with instant landing but normal takeoff was nice to reshape the terrain

#

though I guess in both cases you could just toggle it on/off as needed if it was combined into one toggle

eternal perch
#

what about Instant Route then? if those two are separate, then it would be separate as well

hollow granite
#

instant route sounds like a great feature. In my opinion, regardless of if the takeoff/landing is combined or not I would think the route would be separate. Because I feel like checking how a moon looks during takeoff/landing or just playing a whole normal day on a moon makes sense in development, but the wait to route really doesn't relate to the moon development/testing if that makes sense. It's just an arbitrary wait time that's not even a part of the gameplay on a moon.
And, yes, if it was all combined in one checkbox you could check and uncheck it as needed but that would mean opening the menu and toggling it a few times when it might be nicer to just have them set how you need and just run with that

distant stag
#

we can also add a toggle that skips ALL waitforseconds calls in the game

distant stag
eternal perch
#

I was trying to make it make sense. And then I realized not everything is a coroutine, so I can't wrap them in the same manner. And even if they were we'd still have to add a custom WaitForSecond until the 1000x animation finishes

distant stag
eternal perch
distant stag
eternal perch
#

"we could do better" is pretty much the goal rn

distant stag
#

okay okay

eternal perch
distant stag
#

technically we could just transpile waitForSeconds to always immediately yield

#

no more waiting

#

i wonder how much of the code would break honestly

#

like i think sometimes he does rely on stuff happening during waiting

#

without checks

#

like using setTimeout in react to wait for it to complete one draw cycle trolla

eternal perch
#

Real question, for the sake of the game of Instant ship animations:

What else ship animator is used for? Any downsides to leaving it at 1000x, and audio muted, if Instant checkbox is checked?

eternal perch
#

The problem with Unity animations is like with CSS animations: you can start/trigger them, but you have no idea when an animation finishes. Right?

distant stag
#

i think you are always able to start a coroutine that checks a variable every frame though that tells you whether the animation is done or the animator is in a specific state

#

I think

eternal perch
#

well, starting a coroutine which would wait for 0.5s and then reset ship speed and unmute audios is pretty much how I was gonna implement the resetting

#

not sure if there is a way to check for state, as an alternative to wait for 0.5s.

#

the thing with vanilla is, even though we skip WaitForSeconds, there is also a yield return null in a loop that implements an audio fade out, so that probably helps with skipping the 1000x animation

distant stag
#

couldnt we just replicate the yield return null aswell?

eternal perch
#

i mean, we don't quite have to. and it's still there, yielding as pass through

distant stag
#

okay

distant stag
eternal perch
#

side note: in WebAudio you'd use a GainNode, and schedule its gain parameter with linearRampToValueAtTime() which is not a coroutine. In Unity I can't find any equivalent API, so Zeekers' loop with volume -= 0.05f is pretty reasonable

eternal perch
eternal perch
#

git diff is not quite diffing, but looking at the code... yes, opaque

distant stag
#

uhh I am not actually sure, I copied it from imperium repo, it might be that i made them all non-translucent at some point

#

might be better to make them all non-translucent then

#

wdyt?

eternal perch
#

moreover, it's the only one with fully opaque background rn

distant stag
#

yeah

eternal perch
#

i think it should be like the rest. i like the ability to peek through windows

#

(it's one of my favorite tricks on desktop in general. I have Meta+scroll wheel bound to window transparency both on Windows and Plasma)

distant stag
#

but window transparency in general or just when moving them?

eternal perch
#

both lol

distant stag
#

okay, yeah I can make the new theme slightly transparent

eternal perch
#

I was a bit annoyed when everything started adding blur on desktops

distant stag
#

I have it in my hyprland config that windows are slightly transparent when they dont have the focus

#

but they are not truly transparent I think, they show a blurry version of the wallaper, not whats actually behind them

#

which I quite enjoy

eternal perch
distant stag
#

i already commited this hahaha

#

but I think i wanna adjust the transparency of some themes

#

i think the purple one is too transparent

eternal perch
distant stag
distant stag
#

or is this still WIP

eternal perch
distant stag
#

yes okay

eternal perch
#

looking

eternal perch
#

Speedy Shovel is the same deal as ship animation: animation needs to run for a bit before its speed can be reset

distant stag
#

hmm okay

distant stag
#

I am not sure how feasible the first one is and the second one might not be generic enough

#

but second and third sound the most promising imo

eternal perch
#

First time looking into metarig player animator layered spaghetti: god help us all

#

(yes, I am aware it is completely normal for a character in video games)

eternal perch
#

I think I solved it with

    private static int ShovelReelUpHash = Animator.StringToHash("ShovelReelUp");
    private static int HitShovelHash= Animator.StringToHash("HitShovel");

        yield return new WaitUntil(() =>
        {
            AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(layerIndex);
            var hash = stateInfo.shortNameHash;
            return hash != ShovelReelUpHash && hash != HitShovelHash;
        });
        SpeedyShovelReset(self.playerHeldBy);
eternal perch
#

don't look at the github. I'm cooking a shitpost

feral sentinel
#

some things about the item spawning which irk me:

  1. as of v80+, spawning an item into your inventory no longer updates the weight display (so even though im carrying a shovel that weighs 14lbs, and my movement speed is reduced, the screen still reads "0lbs")
  2. this is an old issue (been an issue as long as i can possibly remember), but the first time you drop an item after spawning it, it doesn't make any noise when hitting the ground
distant stag
#

might have to rework that entirely

eternal perch
#

nevermind, the shitpost mis-rendered

distant stag
#

lets goo

#

amazing

eternal perch
#

I think we can do even better by moving all the if-else logic into reelUpShovelPatch, and getting rid of ItemActivate patch entirely

eternal perch
#

blender doesn't wanna blend right

distant stag
#

BAHAHHHA

#

wfter who points them out?

eternal perch
#

@proper oyster this guy said speedy shovel doesn't work in the latest video

proper oyster
#

😳

distant stag
# proper oyster 😳

ohh its alter ego from youtube! i really like the AI behind videos!!! when are you publishing AI behind jeb?? :D || TE_trollSmile ||

eternal perch
#

AI behind jeb behind counter

proper oyster
distant stag
#

its fine thanks to @eternal perch were down to like 21 issues

eternal perch
#

I think he meant the list of enemies lol

proper oyster
#

Ahh rajitas so you’re the one gio’s been talking about

#

You’re a legend

eternal perch
#

goddaymn i'm famous

distant stag
#

ahahahhaahh

distant stag
eternal perch
#

oh wow, insider memes

distant stag
eternal perch
#

Possible null reference exception after deleting items in Object Explorer:

[Error  : Unity Log] NullReferenceException
Stack trace:
Imperium.Interface.ImperiumUI.Windows.ObjectExplorer.ObjectExplorerWindow.RefreshEntries () (at <fbbc061154f54daa8eca6f6752195785>:IL_0000)
Imperium.Core.Lifecycle.ObjectManager.RefreshLevelObjects () (at <fbbc061154f54daa8eca6f6752195785>:IL_0398)
Imperium.Core.Lifecycle.ObjectManager.Update () (at <fbbc061154f54daa8eca6f6752195785>:IL_000D)

(why is the IL pointer zero? that's just IL_0000: ldarg.0)

#

I'm not familiar with ImperiumWindow lifecycle though

distant stag
#

i think it can happen when the despawn command has been sent but it hasnt despawned yet

#

i think the IL_0000 might be a bug

eternal perch
#

nah

#

that's another one of Reset UI bugs

#

I performed Reset UI before that happened

distant stag
#

oh damn

distant stag
eternal perch
#

I mean it does remove the item. It's just yes another dangling event handler

distant stag
#

hmm okay interesting

#

does it always happen after resetting the UI?

eternal perch
#

yes

distant stag
#

okay interesting

ruby robin
#

Hey @distant stag! I’ve run into a conflict between Imperium and the LethalCompanyVariables (LCV) mod in the latest game version. I contacted the creator of LCV (the_ansuz on Discord) to report the issue and it looks like both mods are trying to patch the same methods, specifically PlotOutEnemiesForNextHour and SetNewProfitQuota.

LCV is throwing a warning that it’s finding unexpected indexes, and then Imperium shuts down right after. Here is the specific snippet from my console:

[Warning:Configurable Company Variables] Unexpected index for patch PlotOutEnemiesForNextHour_Transpiler#158 Got 122 but was expecting 83
[Error :Configurable Company Variables] Unable to patch LCV.Patch.RoundManagerPatch: IL Compile Error (unknown location)
[Message: Imperium] < [ERR] Imperium startup failed: IL Compile Error (unknown location) >

If you want I can provide the log entries from Imperium as well (I would need to send them as a text file).

Ansuz wasn't quite sure how Imperium handles these exceptions or if there's a specific way to make the patches play nice together. Would you be open to taking a look or talking to Ansuz about a fix?

distant stag
#

I basically skip it whenever indoor spawning is paused

#

maybe this is the problem? It would be possible to patch something further down the line if its not fixable from @hearty hatch 's side

hearty hatch
#

Hallooo, I see you are not using a transpiler but rather just a prefix, im not sure why does this cause an error in the IL... maybe its pushing a variable into the stack shifting it and thus causing an issue

#

im not sure what approach to follow to handle compatibility, let me try a few things

#

and let me also share the code too

distant stag
#

sounds good PES_BlankieThumbsUp

eternal perch
distant stag
#

does it work when you quit the game (to main menu) and then start a new one? this should be roughly the same flow iirc

eternal perch
#

it comes from Imperium.ObjectManager.CurrentLevelObjectsChanged += RefreshEntries. does the ObjectManager get recreated too?

distant stag
#

because now that I think of it, thats Disable + Enable

#

I guess we could add a -=

#

to that

#

you can see all of the main lifecycle logic in Imperium.cs

distant stag
#

hmm

distant stag
#

I am no expert with transpilers at all though, @eternal perch might have more insight here

hearty hatch
#

my method should lookup for the instruction stloc.2 regardless of its index

eternal perch
hearty hatch
#

your method might add new instructions but as long as the stack remains the same there shouldn't be any problems with the prefix

eternal perch
distant stag
#

we do a little forcing

hearty hatch
distant stag
eternal perch
#

I've been investigating this coroutine for hours. going afk to actually play the damn game

distant stag
#

ahahaha have fun!

#

hopefully youre more successful getting them quotas TE_trollSmile

hearty hatch
distant stag
#

classic TE_trollSmile

#

well it works, so we don't question it

eternal perch
distant stag
#

yeah fair enough

eternal perch
distant stag
#

and how the UI is spanwed, so we don't have to reset all of imperium every time

bitter compass
#

that's all imperium logging btw

fervent lion
#

this logs on debug every 1 second and drive me insane when debugging, i use async to block it

#

counter intuition... break logging to udnerstand logging

eternal perch
#

you can build Imperium from source, it's pretty trivial

fervent lion
#

imperium... i know what youve done, but i dont feel like explaining it... thats all

eternal perch
eternal perch
eternal perch
eternal perch
#

Setting Light.intensity at start does not work because... HDRP wants you to use HDAdditionalLightData?? Doesn't make any sense that it works during the rest of its lifecycle.

#

apparently, HDAdditionalLightData component will be added for you regardless

eternal perch
#

Changing intensity of Light does not affect HDAdditionalLightData, but

changing intensity of HDAdditionalLightData DOES change intensity of Light .

To make it more confusing, things has been shuffled around and deprecated in later Unity / HDRP versions

#

And apparently 1 HD Additional Light intensity = 0.07957747 Light intensity units

distant stag
#

and the component regulates all the lights

#

same with cameras

#

they also have some HDAdditionalCameraData component

eternal perch
#

somewhat makes sense

#

except the fact that OOP inheritance exists

#

and not used for its primary purpose in the slightest here

#

aaanyway

distant stag
eternal perch
#

disabling/enabling HDAdditionalLightData does nothing apart from a weird brief blinking, so you still have to disable "vanilla" Light itself. but set intensity on HDAdditionalLightData. huh

distant stag
eternal perch
#

disabling HDAdditionalLightData turns off the light for, like, one frame. but I haven't measured it or validated through hooks/logs.

#

either way, kinda pointless

eternal perch
sand thunder
#

Imperium broken again perceive

sand thunder
#

probably the hotfix gamepatch from like 12 hours ago

#

it just refuses to load at all

eternal perch
# sand thunder it just refuses to load at all

I patched the new version today, installed Imperium into it, and it worked right inside Unity Editor. So that can't be true.

What's the actual error you are getting, from the logs? What's the modpack? It is reproducible on a pure modpack with Imperium and its dependencies only?

sand thunder
#

i can try these things in a few minutes

#

perhaps tmi broke more than just itself? idk

#

yea ok without tmi it works so all good

mellow fjord
#

ok its not a mod

eternal perch
sand thunder
#

too many emote sry

#

tme

#

flipp updated it tho, gale just needs to pick it up bwaaa

eternal perch
#

can you check the logs to see what's broken, and tell if it's an Imperium bug or not, please? It's confusing

sand thunder
#

no its all fine dont worry perceive too many emotes just wasnt updated yet and apparently broke imperium aswell. its all working just fine without too many emotes and gale still hasnt picked up the update for too many emotes

eternal perch
mellow fjord
#

im a big boy now

fluid forge
#

u said the naughty digital currency word, I'm telling mom

eternal perch
#

alerts working as intended, i see

mellow fjord
eternal perch
#

ok i'm on it, making a mod with a trojan to [[TRANSFER]] all ur [[KROMER]]

eternal perch
#

It does have "Faster clock ui update rate" as one of its selling points

ionic crescent
#

HUDManager.SetClock was changed from string to void at some point, would that impact LCBetterClock using it

#

i would assume it would need to be recompiled but iono

burnt cradle
ionic crescent
eternal perch
#

It got changed in v81:

-    public string SetClock(float timeNormalized, float numberOfHours, bool createNewLine = true)
+    public void SetClock(float timeNormalized, float numberOfHours, bool createNewLine = true)

arguments haven't changed though. And HarmonyPostfix patch doesn't have __result magic parameter.

Looks like should be fine, unless there is an IL command to discard string value in the PostfixMoveTimeOfDay patch that calls HUDManager.Instance.SetClock ?

#

yeah, no. it's broken.

MissingMethodException: Method not found: string .HUDManager.SetClock(single,single,bool)
ionic crescent
#

o

#

:(

eternal perch
eternal perch
#

I got Imperium softlocked in a funny way, by opening it at the end of round. The windows overlay stays open, but the controls are handled by the base game in-world.

distant stag
#

Cursor locking is cursed OT_heymamas

#

It's a huge mess

#

Because I have to kinda manually account for every UI zeekerss opens

eternal perch
#

"make it make sense" ahh table

#

got it. timeToHoldSpeedMultiplier was invented specifically for cruiser. It defaults to 1 elsewhere, except couple of objects in Cruiser prefab (and I bet most of them don't need to be zero).

eternal perch
eternal perch
frail nest
#

is there a way to spawn in kidnapper foxes? i tried spawning vain shrouds but game still logs [Info : Unity Log] No game objects found with spore tag; cancelling and prevents the spawn

topaz matrix
#

kidnapper foxes won't spawn without a certain number of vain shrouds - FoxLover is a good mod to get around that ( [thread](#1491332478470848633 message) )

#

ah i misread what you said

#

i mean FoxLover will still help with that, but i think the vain shrouds imperium spawns in don't work for weed enemy spawning

frail nest
#

how does that affect its behaviour?

topaz matrix
#

FoxLover?

distant stag
topaz matrix
#

it just forces a certain amount of vain shrouds to grow for all the moons

#

yah

distant stag
#

i should probably do that

topaz matrix
#

oh hi while you're here giosuel... just wondering if you saw the pings in the LC miraheze server? plink

#

if ur busy or anything thats all good just wondering if u saw them

distant stag
#

uh no I did not see them

#

link?

topaz matrix
#

#1191555609779261492 message

#

#1191555609779261492 message

#

it was mostly about the curve stuff you uploaded, cause they've been updated since v45 and we wanted to get some updated ones on there

distant stag
#

but not the entity curves probs

topaz matrix
#

didn't look like it (the second image is experimentation outdoor curve)

#

i put some more examples [here](#1191555609779261492 message)

distant stag
#

hmmm okay interesting

alpine glacier
#

What does Imperium have against the Rubber Ducky specifically plink

Like, spawning anything else works just fine πŸ’€

eternal perch
alpine glacier
#

Spawning works, but they're not spawning networked SCaraara

eternal perch
alpine glacier
#

Seems to work fine. Probably another mod doing something I guess duck_sip

eternal perch
#

I should check if it's BepInEx or Imperium at fault. This diff is not fun to see in git.

eternal perch
eternal perch
hollow granite
#

This sounds like it could get around this, but idk if this just is for fire exits from the pull request name

hollow granite
#

Oh. Maybe it was changed and I forgot

eternal perch
hollow granite
#

I feel like it wasn’t that far back but maybe I’m just completely losing it

#

It was this: #1225942840282976316 message

eternal perch
#

ah, I see what you mean

#

yes, and that one has been recently fixed to teleport to Apparatus

#

so maybe I should do this for Main too

#

yet another rabbit hole, i see

eternal perch
eternal perch
hollow granite
#

I also couldn’t tell you which version of my moons had this issue (if they’d even still load for testing in V81). I don’t think it’s in any changelog nor did I explicitly update to fix it. It was just quietly slipped in whenever I did the next real update iirc

eternal perch
#

oh well

hollow granite
#

But really, if this works then now the teleportation should work on any moon. If the teleporting option still works after this change then name-related issues should be gone entirely.

#

Because, well, there’s no name checking at all any more

eternal perch
#

i wonder though, what if anyone made Main ID != 0

hollow granite
#

Surely no

#

That seems more unlikely than renaming the object tbh

#

And it would mess up fire exit stuff wouldn’t it? Because on the inside main is 0

#

You’d have main link to a random fire exit and then the inside main probably just wouldn’t work I’m guessing

#

Even LLL bases main as the id 0 to then dynamically connect up however many fire exits are on the moon iirc

#

At best I feel like main would connect to a fire exit, both going in and out. At that point, is it really even β€œmain” anymore? And can you really expect any mods looking for main to be compatible?

eternal perch
#

right, I didn't think of interior generation where ID is hardcoded in doors prefabs.

it's getting too late, I'm not thinking straight

hollow granite
#

Relatable

tight wharf
#

Hey, is there a way to disable those logs?

distant stag
distant stag
#

if you want you can build imperium dev branch yourself

#

its already fixed there

#

or actually, it should be in the Ci/Cd artifacts

tight wharf
#

OH since i've got you here: did you work on implementing a reload mechanism for weather selection in Moon Control panel?

distant stag
#

don't we already support weather registry as of rn?

tight wharf
#

Moon control panel never reloads the "current weather" that's selected in the dropdowns

#

yes, the changes work and it integrates with WR

distant stag
tight wharf
#

when the day ends and game rolls new weathers, the dropdown selection is not updated

#

after landing and going back up

#

i'm trying to find the code responsible for that πŸ˜…

distant stag
tight wharf
distant stag
#

and that yeah, thats the UI code

tight wharf
#

that runs only on lobby start

distant stag
#

does it not run every time the UI is opened?

tight wharf
#

sadly no

distant stag
#

it should run whenevr the UI is opened and whenever the scene is loaded

#

if thats not the case rn, it would be a pretty easy fix

#

for the open, there is a function to override in the UI window component

#

and for the scene, there is a binding Imperium.IsSceneLoaded or something that we could subscribe to

tight wharf
#

i was trying to "fix" it from my end, and running this code again created a second instance of all dropdowns πŸ’€

distant stag
#

uhh πŸ’€

eternal perch
tight wharf
#

so from my point of view the solution is to store all the dropdowns in a list, and after the scene change destroy them all and recreate them with "current" weathers

distant stag
eternal perch
#

normally in UI programming you don't create all the dropdown items immediately, only when popup opens

distant stag
#

or am I remembering it wrong?

eternal perch
#

I can take a look later too

tight wharf
#

that's the code that creates them

distant stag
#

okay so no binding interesting

#

but we only need to execute the second part of the code

#

on open

#

this

tight wharf
#

yeah, basically

distant stag
#

so we put this into a function that we all in ImpWindow.OnOpen and also on Imperium.IsSceneActive.onTrigger

#

we dont even need it in init

tight wharf
#

oh so it recreates every time it's being open

#

that makes more sense πŸ˜…

distant stag
#

realistically we only need this line

#

for each dropdown

#

because we just need to update the values, everything else stays the same

tight wharf
#

oh, yeah

eternal perch
#

also if request fails, there should be a way to rollback/refresh

#

like "optimistic updates"

eternal perch
distant stag
#

will do

distant stag
azure wagon
#

my character emotes when I type in the credit section, normally this wouldn't be a problem unless you're running better emotes which hasn't been updated since the big bang because it prevents typing all together.

distant stag
eternal perch
#

workaround: type digits on a numpad

eternal perch
#

btw I don't think it used to be the case, but now when spectating, open the Escape menu, and clicks on the overlay would still switch between spectates players. So yeah, the base game does a bad j*b at it too.

eternal perch
#

hey, any change you'll be able to work on the project in the upcoming days? just trying to plan the rest of the week

azure wagon
distant stag
#

but no promises, I am pretty busy rn

eternal perch
distant stag
#

im afraid i wont be able to do it this week, maybe i got some time on sunday but today and tomorrow is pretty packet :/

eternal perch
#

I'm proud to report I have accomplished ~nothing meaningful today, and now apparently won't do anything in the evening either

pseudo field
#

i have a question about imperium

#

what does this mean
[Debug : Imperium] [PROFILE] Objects refresh time : 61
[Debug : Imperium] [PROFILE] Total objects refresh time : 62

distant stag
#

will be fixed next release

#

dw

pseudo field
#

intresting

eternal perch
distant stag
eternal perch
#

(last time I opened Unity I got sidetracked trying the UI stuff instead of 3D/rendering stuff)

formal maple
#

i cant disable realtime clock for some reason

distant stag
#

So you have any other mods?

eternal perch
formal maple
eternal perch
distant stag
#

was that always a bug?

eternal perch
#

no idea. i could bisect, but a bit busy with my mod rn

distant stag
#

yeah no worries at all

#

i unfortunately also wont be able to work on it today

formal maple
#

it was working fine before

distant stag
#

interesting

#

ill look into it

eternal perch
formal maple
#

also was the cruiser bought in terminal fixed i havent tested?