#General Improvements

1 messages ยท Page 7 of 1

sour rain
#

latest

#

all of my friends except for 1 have the setting disabled (including myself and i was host)

#

whenever he pulled the lever it would just get stuck in the down position and nothing would happen

#

rerouting the ship made it usable again and if i pulled the lever the game started fine

#

maybe its possible he hadnt updated on his end

#

not sure

frigid bramble
#

i can confirm it's broken even with synced configs and latest update

broken crescent
#

Ugh ok thanks for the info

light girder
#

I will say I did have a couple occasions where I had clients pull the lever and it crashed their games for them

#

@timber vale and @short frost both had this happen

#

Interestingly enough when it happened to Xu though they got an error from LethalThings

timber vale
#

hello

light girder
timber vale
#

nice purple role

light girder
#

Thank you ๐Ÿ˜„

timber vale
grand umbra
#

one day your modpack will be stable Lunxara ๐Ÿ˜‚

light girder
#

The only time we broke it yesterday was when 2 people joined at the same time, I think Mirage broke from it cus dissonance went nuts and started hogging up ping and spamming errors

#

Lmfao

grand umbra
#

time to increase yet again the delay ๐Ÿ˜‚

light girder
#

I blame @proper quarry for Mirage breaking there, he wanted us to use experimental ๐Ÿ˜‚

grand umbra
#

time for me to push async experimental as i'm not getting any feedback anyways :/

light girder
grand umbra
#

on user side basically none XD

#

other than the mod beeing entierly preloader so it will not even show in the list for things like LobbyCompatibility

proper quarry
#

it's not even from mirage :(

light girder
#

Lol

#

If that's possible ofc

proper quarry
#

not possible lmao

#

it's a simple log flag change

light girder
#

Well what other mod in the pack could do that?

#

Honestly maybe LethalNetworkAPI? It is using an older version of Eba's netcode patcher

#

@cinder kettle any plans to update LethalNetworkAPI soon to update Eba's Netcode Patcher that's implemented into it?

cinder kettle
#

it's not high on my plans; the netcode patcher version doesn't really matter, the whole 4.0 thing was to support ngo versions after 1.5.2, which is not that useful for lc, since it uses 1.5.2

so there is no difference in how it would behave, since the actual patching for the api will be the exact same

cinder kettle
#

you happen to have the logs from it?

light girder
cinder kettle
#

I might take a deeper look at that later, but it does seem like a potential vanilla thing

light girder
#

Yeah it very well could be

proper quarry
#

happened a lot in the superlobby event

#

mirage catching strays again just cuz of the word dissonance there ๐Ÿ˜ญ

sly jolt
#

@broken crescent Hi, can you make monitors to update when player is inside the ship? Plus, why are you reading the texture on the main thread?

dire ember
#

The monitors are updating when the player is nowhere near the ship? . _.

sly jolt
#

In vanilla monitors disables when player is not in the ship

#

to improve the performance

dire ember
#

obviously makes sense o -o

#

GI monitors don't take that system of auto-disabling? o, o

sly jolt
#

but with better monitors makes the monitor to update even if you're not in the ship

dire ember
#

can we not just copy and paste how the default monitors work . ,.?

#

or is that section of code hidden from modders

#

(Questioning this cause I'd assume if someone made a mod for monitors, they'd copy the code for the monitors first and work around it)

#

(but if they're not disabling when leaving ship's radius, then they didn't copy/paste)

narrow oriole
#

it's not hidden

#

it would be a bit more work to set up and position canvases on each monitor I suppose, but I think that would be worth it probably

#

then it'll get frustum culled like any other object

#

it would probably improve things significantly to also not render in the update loop, but to do that it would have to use a coroutine to switch the camera's position and target texture in a coroutine to update each texture which seems like more work than just creating duplicate canvases

#

I've been wishing there was an option to disable all monitor changes (including on the vanilla monitors) as well, I want to see if it's affecting performance on some of my saves

dire ember
#

would it be difficult to disable? . ,.

#

I have the uh... what mod is it..

#

Helmet_Cameras

#

it simply disables itself when you're not on the ship afaik

narrow oriole
#

it shouldn't be too hard to disable then when the player leaves the ship, no

#

but it would probably require a bit of work to make things update after re-entering the ship, since at present I think GI relies on the fact that it updates those textures all the time based on game events rather than querying them when needed

#

I may be wrong though

sour rain
#

just out of curiosity, anybody played with v50 and noticed any issues with GI?

#

been just playing vanilla to experience the new stuff but im probably about to start fooling around with mods

proper quarry
#

@sour rain it's compatible with v50

sour rain
#

ah cool

#

my appreciation for whoever is organizing this

#

don't use most of these mods, but that's a lot of compat checks in a very short period of time

proper quarry
#

oh it's a collective effort, but gotta thank LethalMatt for starting it ๐Ÿ˜„

broken crescent
#

This isn't easy, but after a long consideration, I've decided that it isn't fair to my users to never receive updates anymore, after a sudden development burn out. So I'm going to remove my mod from thunderstore until further notice

Thanks to everyone for their support

grave heron
light girder
grave heron
#

fr

light girder
#

Don't deprecate the mod king please ๐Ÿ™

#

Just update it when you feel like it

broken crescent
#

There's just something about today, I can't put my finger on it...

grave heron
#

oh yea

broken crescent
#

And a happy quick April Fools to everyone ๐Ÿ™‚

light girder
#

Lol let's gooo you really had us ^^

broken crescent
#

It seriously works in v50? That's surprising with all the code changes I have

light girder
#

Yeah V50 honestly didn't break that many mods, I was using it last night when trying out the V50 beta

broken crescent
#

nice

#

Hmm I just tested this and I was able to pull the lever as a client to start the game without softlocking. Any change you have an error log for me?

sour rain
#

i dont

#

unfortunately

light girder
#

It's been fine for me lately too

#

I think it was just LethalThings those times it happened for me

broken crescent
#

ok I'll keep an eye on it

sour rain
#

i dont use lethalthings

#

it is possible it is a mod conflict for sure

#

though

#

my best guess for what it could be is loadstone

#

im not sure i have anything else installed that touches the lever -> startup sequence

light girder
#

It causes more issues than it's worth

sour rain
#

๐Ÿคทโ€โ™€๏ธ works fine with all the stuff i use

#

and it helps my friend to not crash when we land on titan

light girder
#

Longer time to take to land in multiplayer isn't worth it, I've also heard it causes problems with custom moons and interiors

sour rain
#

we dont play with custom moons or custom interiors

#

and the longer load times are definitely better than one of us crashing and having to completely rehost to get them back in the game

broken crescent
#

Small update for today

frigid bramble
#

would it be possible to make the monitors visible specifically for spectators instead of just always active

narrow oriole
#

I have to do a similar thing in OpenBodyCams, it's just another field in StartOfRound or PlayerControllerB

#

I check it in BodyCamComponent.LateUpdate

broken crescent
#

I'll add that if I remember next time - I figured the performance boost was already pretty minimal since each monitor only renders a single frame when necessary. I'd actually be curious to see if there's any FPS boost at all when leaving the ship (and disabling rendering).

Most monitors don't even update/render during gameplay except some like time, doors, or animated weather, etc

narrow oriole
#

setting up the render inside the update loop is very costly though

#

in that profile it looks like it almost doubles the frametime

#

1.5x on average I guess

#

14 ms in one frame is an insane cost

broken crescent
#

Yeah that's a fair point

narrow oriole
#

that's why I'd recommend reworking the system tbh

broken crescent
sly jolt
#

ok ๐Ÿ‘ Will check the profiler tomorrow

broken crescent
#

Side note I wonder if all of that is coming from my mod. Could some of it be from ManualCameraRenderer vanilla stuff?

sly jolt
#

nope, it's your mod, especially Better Monitors option

#

Turning it off I was able to remove stutters

broken crescent
#

Gotcha

sly jolt
#

Render + reading from GPU is too much in main thread

#

plus probably GC will kick in after some time

#

creating new texture is not that cheap

broken crescent
#

I'm not super familiar with the render pipeline, I'm not even sure offhand how I'd typically do that in another thread as far as Unity is concerned. I tried to optimize it as much as possible in other ways, like rendering a single frame, only when necessary, and keeping the resolution of a monitor pretty small

narrow oriole
#

you can't do it off the main thread

#

I would tend to think it's better to just make canvases for each screen that has text displayed and update those whenever changes need to be made

#

just let the frustum culling do its work

#

if you'd really rather keep the cameras, though, I think the way to do it would be to do this in a coroutine

  • cycle to the next screen to render
  • set the camera's render texture to the texture that screen (don't recreate them if you are currently)
  • update the camera view matrix
  • enable the camera if it's not already enabled (in case you don't render them every single frame)
broken crescent
#

I do want to keep the cameras so it can be part of the object's material (I really only like to use canvases if it's a true flat surface)

But the coroutine idea might be good, I'll have to play with that

narrow oriole
#

yeah, I get wanting it to fit perfectly into the mesh

#

cameras are almost definitely going to inherently have more overhead than drawing it directly in the main camera though

#

we'll have to see how that approach fares

proper quarry
broken crescent
misty swallow
#

If you publish your source code in a public repository on GitHub, according to the Terms of Service, other users of GitHub.com have the right to view and fork your repository.

#

so they can fork your code, but when they'll try to publish it you can take preventive action

#

because it's 100% yours

broken crescent
#

Ok normally I'd understand that but in this case it's a mod of someone else's code already, so might there be something in laws or the game's eula that makes any mods public domain? I think Minecraft does something like that

misty swallow
broken crescent
#

I actually don't know, someone quoted this to me apparently from their Eula:

If you make any content available on or through our Game, you must give us permission to use, copy, modify and adapt that content. This permission must be irrevocable, and you must also let us permit other people to use, copy, modify and adapt your content. If you donโ€˜t want to give us this permission, do not make content available on or through our Game. Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you donโ€˜t like.

misty swallow
#

because you have all the rights to GI and i'm assuming they didn't get in touch with you about it it's 100% illegal to do this kind of shit

#

and with the LLL/AC stuff there's a precedent that they will care about infringing copyrights

broken crescent
#

I see. There's a couple people I've rudely ignored that have asked me to add an open source license (I've been out of development and too lazy to look into that lol)

Honestly I'm not sure if I should care about this ๐Ÿ˜‚

misty swallow
#

it's yours - why shouldn't you?

#

they didn't even bother to change the logo lol

broken crescent
#

Yeah that part does bother me a bit.

But giving them the benefit of the doubt they probably just wanted to expand on it a bit

#

Though I guess they could just make their own mod for that

#

Shrug

misty swallow
#

i mean - i would be livid if that happened to me, honestly

narrow oriole
#

personally if I wanted that kind of minor change, I would just make a PR

misty swallow
#

the baseline is that: the entirety of your code is uploaded under someone else's name, without your knowledge&approval, which is required

misty swallow
#

this is not a diff warranting a separate mod listing

#

i too can fork someone's work, remove half the files, move the other half and consider it improved

#

when it's fucking not

broken crescent
#

Hm. Did they even change the guid?

misty swallow
#

it's sloppy shit

broken crescent
#

Ah they just prefixed it with their name

misty swallow
#

like it's theirs

#

๐Ÿคฎ

broken crescent
#

Lol

#

Well without being too much of a.. "that guy", what should I do here? If anything

misty swallow
#

message @tardy notch explaining your situation

proper quarry
#

i will never understand people who redistribute forks without permission from the author

#

forking a repo is completely normal, but why not just make a PR for small changes

#

otherwise just distribute it to friends locally

misty swallow
#

so the quick recap:

  • your code is All rights reserved, so it's 100% yours and nobody else's
  • they didn't contact you (no Github issue/pull request/discord message/carrier pigeon/anything else)
  • they copied the entirety of your code
  • they slapped their name on it
  • they uploaded that to Thunderstore
#

"disgusting" doesn't cover the half of it

#

sloppy fucking shit

proper quarry
misty swallow
#

lol

#

what do you want to bet those parts are copy-pasted as well?

#

it's making my blood boil

broken crescent
#

Good old copy and paste development

misty swallow
#

๐Ÿคž fingers crossed for you

#

your mod is a bloody good piece of work, so it's no wonder someone wants it

#

it's a shame that's the way it's being used

broken crescent
#

Eh it's not too big of a deal to me if someone wants to fork it and make some modifications to it, it's just a bit odd to publish it that way. But I kinda get it. I'm assuming there's no I'll intent

#

I did dm modmail though and they're looking into it

misty swallow
broken crescent
#

They sent a takedown request already

#

I should really choose a license though lol

proper quarry
#

gotta be careful of what license you choose though, don't want to have a license that's too permissive if that's not what aligns with your goals

broken crescent
#

I assume I'll choose one that's fairly permissive, I just don't want people using my name and brand

proper quarry
#

you should talk in modmail to confirm the license would be fine with what you expect

#

originally i was using gpl-v3, because for me i don't really care what someone does with the source code, as long as they don't redistribute it via official channels (rn that'd just be thunderstore)

#

and when i originally chose my license, i asked about what would happen if someone uploaded a fork of my mod to TS

#

i was originally told that nobody the license, they'll still take it down if that's what you (the mod author) asks for

#

but that was kinda changed it seems after the recent incidentโ„ข๏ธ

misty swallow
#

this allows for distributing verbatim copies of the code

#

which is fun

proper quarry
#

no derivatives = you can't distribute though AFAIK

#

tbh though @broken crescent it might be easier to just keep it as all rights reserved to not have to think about this mumbo jumbo

broken crescent
#

Right? Lol I will look into that soon though. Thanks for helping guys

proper quarry
misty swallow
#

you can't freely distibute derivatives and modifications

proper quarry
#

which means they can distribute an exact copy right? that's not exactly a problem on TS anyways since they still take down re-uploads

proper quarry
#

at this point do i just go all rights reserved ๐Ÿ˜ญ

#

like all i want is to just let people do whatever they want as long as they don't upload it on TS

proper quarry
#

wait i think that's the one im using, i might've linked the wrong one... oops.......

misty swallow
#

also: it's completely yours, so you're not bound by the license ๐Ÿคญ

proper quarry
#

im pretty sure im using the same one as weathertweaks, and im assuming that's the one ur using

proper quarry
misty swallow
#

oh no, i'm using the more restrictive one (no commercial usage)

proper quarry
#

im gonna have to look at the difference

#

the one ur using is probably what i want

misty swallow
#

that's the difference

proper quarry
#

ah icic

#

god i hate all this legal stuff

#

i just wanna work on my shit

misty swallow
proper quarry
#

good point, but the main thing of picking a license for me at least is just for my repo at least

#

would be even easier if i just closed source it but i kinda wanna keep it up for resume purposes

misty swallow
#

that's absolutely fair tbh

short frost
#

I personally use all rights reserved because its the easiest option that let's me tell people they're not allowed to take it (though with my mod, that's not really a thing people would do)

misty swallow
#

i think the main benefit of using opensource in modding is that the projects get abandoned

#

and it allows for others to pick up the torch

#

without the original author's intervention basically

#

because if someone wants to continue the projects in all rights reserved case, they **have to ** get permission to do that

#

but with something like MIT it's automatically given right

short frost
#

The problem is that all rights reserved is scary even with permission

#

Cuz u can still get shut down later down the line

#

Afaik

misty swallow
#

because it's not irrevocable, yes

#

that's the All part

short frost
#

I'd prolly make mine MIT if I do quit

misty swallow
#

if i ever quit (i hope not) it's gonna be changed to the most open one

#

but when i'm actively developing it i'd rather have the power to shut down any reuploaders

proper quarry
#

the only reason i don't wanna go all rights reserved right now is

#

i don't want it to be too restrictive where it makes people not want to contribute if they were thinking of making a pull request or something

short frost
#

For me I havent noticed a detriment in that regard

#

I've had people dm me to animate my enemy better, provide better textures, give ideas, fix configs, etc

proper quarry
#

i know some people who refuse to contribute in any repo that doesn't have a license

short frost
#

I do get that yeah

proper quarry
#

im probably just gonna change my license to the one mrov's using

misty swallow
proper quarry
#

wdym ๐Ÿ‘€

misty swallow
#

i've messaged the author with "hey, what about the license?"

#

and it's still not there ๐Ÿคญ

proper quarry
#

LOL

misty swallow
#

ehh

#

it was created to do one single thing and did it well

#

so ๐Ÿคท

proper quarry
#

im assuming it's the thing that TMLC uses

#

since they check for a hash as well

misty swallow
#

yeah

subtle mulch
#

I keep having an issue where shop items from LethalThings that are disabled keep displaying on sale on the Sales monitor (Also showing on DiscountAlert). What do you thing the issue is? The only mods I have installed are LethalThings, GeneralImprovements, and LethalThings

frail rapids
scarlet granite
#

Disabling things on LethalThings just doesnt do anything lol

#

I really wanted to just have the teleport trap mines, but found this out

frail rapids
#

The only workaround I used to have for that was AC

#

since disabling items in there actually worked

light girder
proper quarry
#

but my glizzies :(

#

also cookie fumo :(

narrow oriole
#

it's open source, hit it with a little profiler action!

spice fox
#

Performance gains? That is interesting.
I keep the mod because Remote Radar is the best-modelled of all similar items from other mods. Hacking tool plausible with a good mechanics. None-silly stuff is p good.

#

I wish there was a way to make notes in modmanger. Actually what can I say I wish there are like 15 more features to help us. Categories/groups. Redundancy indicators. Conflict alerts. Version control. Dependency alternatives.

sour rain
#

any chance the disco ball could be synced on joining the game ๐Ÿ™‚

#

when my friends join they see me dancing but don't get to party with the disco ball until we retoggle it

subtle mulch
light girder
hardy fable
#

Love the mod. I have a simple but I think worthwhile feature request. Iโ€™d like a setting to where I could hold down the button to scan continuously every 1-2 seconds or so (or configurable). Currently we have to use a separate mod to do so, but I figure it might be the kind of thing that could be incorporated into GI that others would be interested in

mossy mortar
#

is there a bug in quota rollover feature in v50? the quota always go higher per day when we have over 1k rollover

weak sierra
#

Not sure if this has been mentioned before, tried to do a search and didn't get any results.

It would be really cool if the extra monitors could be a purchasable ship upgrade. Something you opt-in to through the configs of course.

little spire
silk brook
#

I'm having a bug where the lightning warning on the hotbar is going off inside the facility

narrow oriole
#

do you hear the zapping sound effect as well? if so, then that's not a bug

#

or at least not GI's bug

#

as far as I know, items that were on the ship when it landed will always be able to be hit

silk brook
proven moth
#

think it's just a vanilla bug that happens when something is about to be struck and then u go inside?

placid scroll
#

The sound is vanilla

#

I reported friends being hit by it as well but am not sure what causes that

proven moth
#

oh

broken crescent
#

Hey look another update

sour rain
#

nice

mortal fiber
sour rain
#

oooh that's nice

#

easy +1

#

im used to doing the calculations manually but i'd love to have an automatic calculator do it for me

broken crescent
#

Good idea

mortal fiber
#

qualitycompany has an option to do this but it unfortunately breaks w/ generalimprovement's monitors, so something native in generalimprovements would be nice

sour rain
#

overtime is just floor(money over quota / 5) + 15x where x is # of days left minus 1

#

it's really easy to remember on the first quota because you just subtract 205 and then divide by 5

#

after that it gets more annoying

#

possibly a coincidence, but that means items sold for overtime go for 120% their usual rate on the last day (just like sigurd mentioned in one of his logs)

mortal fiber
#

a monitor that shows life status would be interesting as well (it could list names & be color-coded based on status: green for alive, yellow for injured, and red for dead)

#

openmonitors has something like that though also breaks with generalimprovements

broken crescent
#

Yeeah thats been buried in my ideas backlog for a while lol

mortal fiber
#

ahhh i see

silk brook
#

though I don't think the average sanity would be necessary

vapid shell
#

AAAAAAAAAAA

#

@broken crescent

#

Jesus christ

#

Turned on the "Sync Monitor Host setting"

#

and then all my clients had horrific frame drops

#

dropping from 140+ to around 3 frames

broken crescent
#

Oh? That setting shouldn't affect clients, as it's a per-client setting. It seemed fine in my tests (although it may have other bugs, it's not SUPER tested)

sour rain
#

@broken crescent

#

for some reason the deadline screen got replaced by a second quota screen that is reflecting the wrong quota

#

clients are seeing "profit quota 509" and me (the host) is getting 228 (our previous quota)

#

none of us are using the monitor sync setting

broken crescent
#

I probably screwed that up with the old style stuff ๐Ÿ™‚ will fix in next update

light girder
sturdy coral
# sour rain

I also had this exact same issue with me and my friend

vapid shell
#

Also yea

#

this seems

#

wacky

light girder
#

Weirdly enough

#

The deadline monitor is working without issues for me?

#

Maybe it just breaks if you don't make a new save after updating

#

@sour rain

sour rain
#

it happened after playing a quota

light girder
#

Ah

#

Weird

sturdy coral
#

I just created a new run and I still have the issue

scarlet granite
#

That bug only happens when you're not using the extra monitors on the left

vapid shell
#

Also also also,

#

It would be very neat if GI's Health text was compatiable with ShyHud

light girder
vapid shell
#

actually

#

wait no

#

it doesnt

light girder
#

rip

vapid shell
#

i know it for fact maybe 100% i remember testing all of them but not the results but since I dont have it must mean it didnt work

vapid shell
#

You should add Pinya

#

Its a scarp made by Kitten that is unique

#

jesus christ my brain is slowing down

broken crescent
#

Should be fixed in v1.1.14

broken crescent
#

My friends were giving me absolute crap for overwriting the monitor position config values on the client side when syncing from the host ๐Ÿคฃ which, to be fair, was probably a bad decision. So I made sure to fix that in v1.1.14 as well

misty swallow
slate lynx
#

W friends

broken crescent
#

New update who dis

slate lynx
frail rapids
#

Is it not working correctly?

#

oh nvm, the price is just not shown for free moons

rough salmon
#

||a nice addon would be to show hidden moons option in config defaulted to false||

cerulean thunder
#

Could potentially even ||lock it behind progression or something, if you could somehow check for it||

#

||Embrion only unlocks if you view the terminal entry for the Old Bird, and Artifice only unlocks if you go inside the cabin||

#

Or just ||if you type them in once itโ€™ll โ€œunlockโ€ them on the moons screen||

#

Would be nice to ||not need to manually check the weather for Artifice||

rough salmon
#

yea

#

||tho i don't think zeekerss plans to keep them hidden like that forever||

vapid shell
#

It would be so awesome...

#

It would be so cool...

#

If GI's Health system worked with Shyhud, the way it should...

granite jacinth
vapid shell
#

I like the numbers, they let me put my faith in math

granite jacinth
light girder
proven moth
#

stop sending mods to get...............

#

simply too many

light girder
granite jacinth
light girder
vernal basalt
#

Is it possible to add a config to set the percent chance for Easter Eggs to explode when thrown (preferably defaults to 100% if thrown)? And by default sets Easter Eggs to never explode when dropped?

#

I know there's already a separate mod for that on TS (I think that one is server-sided), but I think it's still a nice QoL improvement if it can be implemented here as well

frail rapids
#

Idk if it's from this mod but exiting the facility with fire exits makes me look left instead of forward

broken crescent
#

Hmm, it's possible, but I don't think I'm modifying anything when a player exits the building. Some of the vanilla exits may actually do that? I'm not sure

frail rapids
#

I'll go try vanilla and tell you

frail rapids
#

don't remember it being like that before tho, maybe added in latest v50 patch?

#

Well, can you add a config so it make us always look foward when exiting with a fire exit in your mod? lol

frail rapids
sour rain
broken crescent
#

You're thinking of FixInternalFireExits, which only rotates players as they enter the facility, not leave it

sour rain
#

i thought it worked both ways

#

i seee

broken crescent
#

A rather big update today, I finally pulled all of the code from the (now deprecated) FlashlightFix mod into GI.

Users of FlashlightFix will now have a hard dependency on GI after they update, as the latest version no longer contains any code.

GI is also coded to avoid conflicts if someone is on an older version of FlashlightFix

vapid shell
#

the consumption

broken crescent
#

Pull up a chair, it's a feast of mods

#

Honestly I wanted to do that a long time ago but I had to make sure both mods were stable enough, I didn't want to suddenly break a bunch of people's games

Tbf I might still end up angering people who may be avoiding GI for some legit reason but used flashlight fix.. oh well

narrow oriole
#

it's already happened lol

#

I'm less bothered by it than others, but personally I'm still on the fence about GI since it has some nice fixes in it, but some non-optional code that may affect performance as well

#

I hadn't gotten around to profiling it, but I probably should now

vapid shell
#

I cant live without GI

#

There are certain mods that I have hooked into my IV

#

GI is one of them

narrow oriole
#

I mean... that's probably because it integrates so many features, that doesn't surprise me

#

it's not really relevant to whether it should all be in one place or not, since you would have those features regardless

#

at least if the maintenance burden didn't overwhelm Shaosil

sour rain
#

its a lot of good stuff, im just personally of the opinion too that having too much under one roof can get dicey

vapid shell
#

Im curious about what non optional GI things you are holding back from

narrow oriole
#

the screens mainly

#

using Camera.Render() is a big no-no for me at this point

sour rain
#

if one feature gets added that is untoggleable and either buggy or incompatible with something you want to use, you lose everything at once instead of selectively removing the source of the problem

#

for the most part GI is configurable enough and plays nice with most external mods, but in the case it doesnt, it really sucks toggling that all off

broken crescent
light girder
narrow oriole
#

looks like a lot of time is added onto this function in patches

narrow oriole
#

if it gets called multiple times in a frame, you'll most likely notice a microstutter or worse

light girder
#

Huh

#

Is there no way for UseBetterMonitors to not use it? ;c

narrow oriole
narrow oriole
#

it only renders periodically, so it's not as big a deal to most people I'm sure, but I value my frame time consistency

#

and it'll only happen when on the ship if it's working properly

#

I will say, though, I couldn't figure out via reading the code that the screens don't update without BetterMonitors, but it doesn't appear to show up on the profile at least

#

my impression was that it replaced the functionality of the default text screens, but I suppose the main reason I thought that was because it changes the background

#

pretty negligible even on a deep profile though

#

AnimateSpecialMonitors shows up as a big chunk for every call to StartOfRound.Update() though

#

ah, looks like you're using Linq .Any() in quite a few places actually

broken crescent
#

Hmm I wonder if the call to .Any() is causing that. I figured it would be just as fast as checking the length but possibly not

narrow oriole
#

Linq allocates an enumerator

#

and then it calls MoveNext() and if that succeeds it throws out that memory immediately

broken crescent
#

True. I need to use that less often in frame calls

narrow oriole
#

HUDManagerPatch.SetClock() is showing up because of that as well

broken crescent
#

Years of using Linq in business code often makes me take its lack of performance for granted lol

narrow oriole
#

yeah, I only like to use it in run-once functions

broken crescent
narrow oriole
#

at least if I won't need to use an enumerator regardless

#

although even then, it might be better to avoid it since I believe it chains allocations for each action

#

Unity isn't good at cleaning up memory

broken crescent
#

Yeah. I'll have to go through and clean up Linq calls where they may affect performance

narrow oriole
#

another thing that seems suspicious, in this profile I don't even have UnlockDoorsFromInventory enabled and yet I see DoorLockPatch.Update() on the profile

#

I don't want to imagine what happens when all those calls are also doing raycasts

broken crescent
#

Oh I'm surely not doing raycasts if it's disabled ๐Ÿ‘€

narrow oriole
#

no you're not

broken crescent
#

Oh good I see what you mean

narrow oriole
#

it's pretty negligible with it off, but raycasts aren't nearly as cheap as calling get_Value()

#

I wonder if there's a better way to handle this patch though

#

wouldn't vanilla be seeing these interact prompts somewhere as well?

#

a transpiler could make the prompt appear I would expect

broken crescent
#

I could always put it on a timer or something, though I think vanilla uses a ton of those raycasts per frame (it probably shouldn't)

narrow oriole
#

right, I'm just thinking that this probably doesn't need to have any impact, it's just an extra condition for whether the prompt should appear

broken crescent
#

Man I hate writing transpilers though unless explicitly necessary, it's just so prone to errors if the game updates

#

Fair enough

narrow oriole
#

understandable I suppose

#

I have a few utilities that make that less likely but obviously it could still happen

#

I still prefer transpilers, though, since I can know exactly what kind of impact it has

#

it doesn't add overhead for function calls unless I tell it to

broken crescent
#

I had a fun time trying to transpile something today and finding the ES3.Load<T>(string, string, T) method via reflection.. there's so many overloads for it

#

Yeah it's certainly better for performance

narrow oriole
#

well, I shouldn't say "prefer", but in cases where I can use it to get away with doing no extra work and achieve what I want, I'll do it

#

if you wanted to yoink some of my utilities you could though

#

especially the one to find the instructions that push a certain value to the stack, that one helps a lot with compatibility

broken crescent
#

Nice

narrow oriole
broken crescent
#

Tbh I didn't remember most about IL stuff until I had to refresh my memory on it because of transpilers. They're a bit harder to read than C# lol

narrow oriole
#

yeah, I had a head start from working with ASM to hack on Java bytecode in Minecraft

broken crescent
#

Oh nice

narrow oriole
#

stack machines aren't bad to understand though as long as you know what the instructions mean

#

much easier than registers to me

broken crescent
narrow oriole
#

oh, I haven't

#

I've thought about playing games like that but then I go play my competitive shooters instead lol

#

I really should though

broken crescent
#

They're well made but not for everyone. Good mind bogglers though. Really forces you to optimize things.

I actually printed out the manual and put it in a binder ๐Ÿ˜…

narrow oriole
#

lmao you're starting to sound like more of a nerd than I am

broken crescent
#

๐Ÿ‘€ it's possible

narrow oriole
#

wait a minute

#

why does your DoorLock patch even act on Update()?

#

the disabledHoverTip is shown to the player only if the interactable is being pointed at, right?

#

why not just set it on Start()?

#

or perhaps after RoundManager sets whether doors are locked I suppose may be necessary if that's done there

broken crescent
#

I forget if something else vanilla may potentially be updating the disabledHoverTip every frame, but regardless, I do need to check if the mouse was clicked

narrow oriole
#

you could hook into PlayerControllerB.ActivateItem_performed() for that

#

you're not taking into account the control mapping anyway, if you're using Mouse.current.leftButton, right?

broken crescent
#

I'm not sure that particular function would work since this is checking for something not currently being used/held by the player

narrow oriole
#

it would, it calls it on the currently held object

broken crescent
#

And yeah I sometimes let laziness win for hardcoding controls ๐Ÿ˜„

narrow oriole
#

it's directly hooked up to the input system

broken crescent
#

Yeah the point of the door patch is to allow NON held objects (keys) to be used

narrow oriole
#

I mean that the function I mentioned calls UseItemOnClient() on currentlyHeldObjectServer.gameObject.GetComponent<GrabbableObject>()

#

so in other words, you can just check first whether there is a key in the inventory and unlock the door and return

broken crescent
#

I partially follow. How would I know they're looking at a locked door? Aka, where do I check that they've pressed the use key etc

narrow oriole
#

well, I suppose you could hack it and check whether the key was consumed

#

the key item itself checks whether it has a door to unlock

#

it wouldn't do anything if not

broken crescent
#

Only when it's being held though, I thought

narrow oriole
#

ah, true

#

wait

#

no

#

whether it's in a player's inventory, not whether it's held

#

it will despawn the held object though, I guess

#

which... doesn't work with your patch does it? you're not setting the current item in your update patch?

broken crescent
#

Yeah basically I have to put code somewhere that checks whether the player is looking at a door and has a key in their inventory, I couldn't find that in vanilla code, though of course I may have missed it.

I also had to transpile the key activate code IIRC because it was trying to despawn the held object instead of destroy the item in slot N

narrow oriole
#

ah, I see, then it works

#

it's essentially the same thing but activated by game events instead of just polling every lock every frame

light girder
#

I need to check the code for the 2 mods and see which one was responsible

narrow oriole
#

currently your complexity is [number of door locks] * [number of item slots] every frame

#

in a way, anyway

#

this patch should be free is the point

broken crescent
#

Sorry yeah I'm just still confused on where you suggest I put the code

narrow oriole
#

well, for the tooltip I would transpile DoorLock.Update(), since that's where it looks like it sets the disabledHoverTip, you can just hook into the if statement and make it set it if there is any key in the item slots

#

and then hook the beginning of PlayerControllerB.ActivateItem_performed() just after if (!context.performed) return; and call a function to use any key present and check if it is used

broken crescent
#

I'll check if that works when I get a chance ๐Ÿ‘๐Ÿผ

narrow oriole
#

can also use PlayerControllerB.hoveringOverTrigger to get the current DoorLock that is being looked at if there's a key

#

that way, you can check if the key should try to do something and return

#

or alternatively check if it was used by checking !isLocked

#

this way you also can't throw a flashbang while unlocking a door

vapid shell
#

It would be so awesome

#

it would be so cool

#

but there probably is no good way of syncin the colors without destroying the monitor

radiant viper
#

Hi, just leaving feedback that I'm not terribly pleased with FlashlightFix being deprecated in favor of GeneralImprovements; while I understand that for code maintenance purposes this is likely simpler, I find that GeneralImprovements does a lot more than I wish it would with no option to actually disable its improvements rather than just setting them. For example, for the teleporter settings, I already have a mod that does that (among messing with other teleporter functions which is why I don't want to remove it in favor of GeneralImprovements), and since there's no clear option to disable the changes GI is making, I can't reliably tell whether or not it'll conflict with the other mod.

sour rain
#

i think stripping code from flashlightfix was kind of unnecessary

#

i think it's totally fair to integrate into generalimprovements and maintain it there

#

but rather than removing code from flashlightfix, i think it should've just been deprecated with an obvious warning "this mod is no longer maintained, use generalimprovements instead if you have issues" in the description or smth

#

and then generalimprovements would just override and prevent loading of flashlightfix if it's installed

radiant viper
#

For my part I've downgraded FlashlightFix to 1.1.2 and intend to continue using that as it worked fine, I don't have any intention to use GI in its current state

radiant viper
broken crescent
#

Hey I hear you! I know the decision to deprecate the latest version of FlashlightFix is odd to some. My reasoning is I'm done maintaining that repo and I want to (selfishly) make more people aware of GI. But staying below 1.2.0 is totally valid and supported by GI.

It's a bit of a controversial opinion, just like the fact that I want to make one giant mod instead of separate some things out. Thanks for your understanding guys, it's just my preferred coding and maintenance methodology

light girder
broken crescent
#

Ah yeah that's fair, I'll look into that

light girder
#

I personally was happy about FlashlightFix being merged since I've used GI for a while, but I can see where people are coming from

broken crescent
#

Definitely

narrow oriole
#

imo it's important to be mindful of whether hooks will incur any overhead and make sure those hooks are disabled with the options that they are needed for

#

I know there's at least a couple hooks that are active regardless of the options being enabled, I saw some of the hooks that call through to update the text of the screens in various places are always patched

#

mainly concerning is when those hooks run every Update() though

placid scroll
#

If GI had a bool to enable or disable every individual action or group of actions (such as touching the teleporters) that would be a way to keep everyone happy?, some people might only want to use 10% of what GI does, can the rest of the mod be disabled gracefully?, Or is the programming too complex to have that?

light girder
#

@narrow oriole Btw have you checked what the difference is with Shaosil's new saving item rotations patch to the one you have in OpenBodyCams?

narrow oriole
#

OpenBodyCams doesn't mess with saves, so I'm guessing that's different

#

but also that patch probably won't work for clients without OpenBodyCams fixing the dropped item rotation

light girder
#

I guess you could check the github code though

narrow oriole
#

yeah

#

the commits are chonkers it's not really easy to do that

#

but from what I can tell looking at the diff it is what I thought

broken crescent
#

Concerning the teleporter code - I'm considering changing the default cooldown values to be whatever vanilla has, then just simply not modifying any code if the values are left at default. I'm trying to avoid adding more config options for old features since there are already so many.

Would that be an acceptable solution? I would also state in the config description that leaving it on vanilla would not modify the cooldown code.

I'm already doing similar things with the keep items code - it just doesn't transpile anything if it's set to the default "none" value

tawny sapphire
#

I noticed you mentioned helmet lamps in 1.2.0 changelog.. does that mean the flashlightfix code is compatible with AdvancedCompany? It also has code that tries to sync flashlight states iirc

broken crescent
#

Honestly I haven't tested it with AdvancedCompany but I haven't heard anyone report an incompatibility yet

tawny sapphire
#

ok. I'm gonna try and see

light girder
little spire
#

Or are they just completely incompat?

broken crescent
#

It's probably doable, I'll put it on the backlog to investigate

broken crescent
#

@narrow oriole I updated the DoorLockPatch to transpile the existing update function for the hovertip (learned a bit about using labels instead of line number jumps, sigh ๐Ÿ˜…)

And now using a postfix in PlayerControllerB.ActivateItem_performed to attempt using any key found every time it's called (if they can use an item). It should be a bit more performant next update

narrow oriole
#

wait, line number jumps? is that a thing in transpilers?

#

sounds sweet though!

broken crescent
#

Well in dnSpy I could do something like brfalse 39, but in Harmony everything uses labels to avoid needing to update line numbers

bold edge
#

GI Monitors don't work with last update...

broken crescent
#

Oh? They did when I played last night. Any error logs?

narrow oriole
#

I guess the offsets are probably the raw representation but it's definitely good we use labels lol

broken crescent
#

Definitely

#

Man I don't mind learning IL, it's kind of interesting, but I just hate using transpilers because they're so prone to breaking with any game update or other mod that transpiles the same function

narrow oriole
#

yeah, I don't know if my utilities help with that but I think being able to analyze the code makes things a bit better in that regard

#

I've hardly had to change any of my transpilers

bold edge
#

Fine at previous

narrow oriole
#

but then again, updates haven't really touched my code much except when Zeekers fixed the bugs that NutcrackerFixes touched

#

imo it's better to use transpilers for bug fixes for just that reason though

broken crescent
#

Yeah

narrow oriole
#

it lets you know when your patch is obsolete whereas if you use prefixes or postfixes you'll never know

#

until someone asks you "do I still need this on v50" I suppose anyway

#

another argument in favor of transpilers is that if you have to duplicate behavior from vanilla, you may not know if you stop matching it in a later version, but that doesn't apply so much in the case of your door lock patch

#

right now I'm using transpilers to copy pieces of vanilla code out of this function to choose which branch to take

#

would not recommend unless you want to write/copy a bunch of helpers to analyze bytecode

broken crescent
#

Haha yeah that's a sensitive bit of code

broken crescent
bold edge
scarlet granite
#

The monitors seem fine for me

light girder
#

I only had some jankiness with the item rotation feature tbh

#

like dead bodies being in different places for everyone

broken crescent
#

Hm. I did notice the teleporter no longer marks dead bodies as collected. I plan on fixing that in the next update

light girder
#

That could do it, yeah for me someone saw a dead body on the ship but the body was laying outside for me

#

XD

frail rapids
#

ragdoll bodies aren't synced

sour rain
#

i haven't noticed that issue happening anymore with manually collected dead bodies

#

so it seems like that was a bug with the specific way teleported bodies were collected

#

not sure if you'd be aware of what caused that to happen

broken crescent
#

Ah yeah I'll have to make sure it doesn't count those as scrap in the calculation, it's probably marked as scrap in vanilla or something

sour rain
#

yeah, they count as scrap because you can sell them for $5 at the company

#

paycheck only works for items marked as scrap (which is why keys show value 3 in vanilla but sell for $0 for example)

#

they are just a special case because they also get removed from the ship in between rounds, so you can only sell people that get murdered after landing at the company

broken crescent
#

Yeah that's probably worth a hard check, not sure I could easily apply a logic case that includes them without breaking something else.

light girder
#

@broken crescent The rotation fix seems to not work, stuff on the ship gets incredibly desynced for clients when they rejoin the lobby after rebooting the game

#

I disabled it for now

broken crescent
#

Hmm it seemed to be working for my friends when they joined. In what way did they desync for you?

light girder
#

It was fine for me, bugged for them

#

My only other guess would be it was @narrow oriole's fix in OpenBodyCams

broken crescent
#

Huh, I didn't change how the unlockables (or even items) were positioned, unless something errored on their side and prevented some of the loading code. I'll peek at my code to see if there's something I may have missed

frail rapids
light girder
#

But they said their fix should be paired with yours

light girder
#

I just reverted back to Matty's Fixes implementation

narrow oriole
#

it only changes the rotation that the items lerp to when they are falling

light girder
light girder
#

Still having the issue, I wonder if it's just a GI bug as a whole tbh

broken crescent
#

If that's disabled it shouldn't be modifying the save/load functionality at all. Does it fix the problem when you disable GI?

light girder
#

Idk if it's GI for sure, probably some other mod doing weird shit it shouldn't

light girder
frail rapids
#

I thought it could cause problems

#

I can't get item rotation to save no matter what mod I use

#

they always look to the right

light girder
frail rapids
#

I tried spawning one with DevMode and it just went up to the ceiling

broken crescent
#

Modding is hard lol. I keep seeing posts on reddit complaining about enemies not spawning. I think sometimes that might be caused by the MaskedOverhaul mod or something, since I keep seeing that mentioned. I think v50 might have broke it

magic garden
#

masked overhaul non-fork and scopophobia yeah

light girder
#

I disabled the toy hammer though because it doesn't delete properly when dying or getting fired

frail rapids
#

except the lightning fix

narrow oriole
#

I wish that people would generally just send a full log even if they have a snippet they think is the issue, because it happens so often that someone sends the symptomatic errors instead of the root one

light girder
#

Yeah idk no matter what I try items always rotate the same way

#

No "fix" fixes it

#

At all

#

@broken crescent Are you sure your new item rotating fix works?

#

It seems to do nothing for me

light girder
#

@broken crescent we seem to have figured it out, your item rotation fix doesn't work if the falling through floor fix is disabled

broken crescent
#

Oh that would make sense, awesome catch! It would still save and load the data but I think when the item spawns I accidentally put the final rotation code alongside the floor fix configuration

light girder
broken crescent
#

Woo thanks tumbleweed

light girder
broken crescent
#

Within a day or two hopefully, trying to fix a few bugs at once

light girder
#

You got this

sour rain
#

would it be easy to implement a config option that automatically activates "view monitor" each round?

broken crescent
#

You mean like once per day?

#

Like the first time a player uses the terminal each day?

sour rain
#

possibly yeah

#

it's just kind of inconvenient

broken crescent
#

I'll look into it

sour rain
#

cool

#

since the bestiary videos interrupt view monitor that's why i suggested once-per-round

#

otherwise i feel like it'd get kinda funky auto-activating all the time

broken crescent
#

yeah

sour rain
#

might just be because i do all our ordering at the company right after overtime

#

but i pretty much exclusively use terminal for cams mid-round

#

and always have to retoggle

sour rain
#

can you add a setting to leave monitorbackgroundcolor blank

#

and it will use the default blue during normal games and the default lavendar during challenge moons

#

right now the challenge moon color gets completely overwritten with blue using default settings

broken crescent
# bold edge 018efc3a-4fa2-cb4a-25c2-45146b334752

Using this code, I confirmed that disabling JetpackFallFix makes GI 1.2.0 work again. I noticed errors from that mod in the log, which must be cascading up and preventing some of my code from running.

bold edge
#

Thanks, since Zeekers fixed the jetpack fall dmg bug this mod is not relevant anyways

broken crescent
#

Awesome

sour rain
sour rain
broken crescent
#

Hm I thought somewhere I had code that makes my monitors use the lavender color on challenge moons but maybe not

sour rain
#

looks like the only place challenge moon gets checked is for the auto-adjust money per player setting

broken crescent
#

Huh ok I'll check it out

broken crescent
#

Bugfixes and optimiations coming through

rough salmon
#

i forgot this mod also lets you change teleporter cooldown tbh

broken crescent
#

Dude I can't remember half of the stuff it does myself

#

also nice

rough salmon
#

its 70 now

#

for me

broken crescent
#

close enough lol

rough salmon
#

also what does this mean?

broken crescent
#

Basically if you use these, make sure everyone else does too

#

Because vanilla doesn't know when slots get shifted

rough salmon
#

i see i have those disabled which is why i didn't see

magic garden
#

asking just in case

broken crescent
#

Hmm I don't think so, I haven't seen it outright stop working. Possible but maybe unlikely

magic garden
rough salmon
#

me also wonder why i keep my items during teleport
i turned it off and forgot lol

broken crescent
#

lol that will do it

rough salmon
#

im 100% sure this is the only mod with teleport features that don't effect clients or desync when teleported with the items

broken crescent
#

Oh? It should though, I even have the warning in there

rough salmon
#

maybe i havn't tested it sense as client it works fine

#

i just make sure to drop and repickup the items just incase on other peoples screen my items did drop

broken crescent
#

yeah that might help

rough salmon
#

pretty sure i had cases of someone picking up my dropped items causing them to get removed from my inventory and put into theres

broken crescent
#

yoink

rough salmon
#

love the betterterminals
i made the ship into a security station

#

combined with openbodycams on the big right moniter too

broken crescent
#

Yeah I do the same thing

#

Like, I've never seen any of those apart from some random vanilla glitch

#

It's almost certainly from mod conflicts

narrow oriole
#

sounds like a classic case of "hmm what mod should I blame? oh this one does a lot of stuff, time to FLAME THE AUTHOR"

#

also

#

where logs???

rough salmon
#

only bug i experience and im pretty sure its not this mod

broken crescent
#

And it disappears after they disable mine, which could be true but doesn't mean it's my mod causing it. Mods are complicated

narrow oriole
#

oh, I missed that part

#

but yeah there should be logs

#

for some reason people seem to think that issues are totally localized to one mod when they go away without it so they just provide no way to reproduce it

#

it's very frustrating

magic garden
#

your mod is broken >:((((

#

fix it >:((((

broken crescent
#

Pretty much

magic garden
#

||jk||

narrow oriole
#

if I had a nickel for every time

rough salmon
#

someone said monsters are not spawning-

narrow oriole
#

my usual response to issues like that is just to ask for logs and a profile code and then half the time I get no reply lol

broken crescent
#

Works on my machine lol

rough salmon
#

pathfinding lag fix my beloved

narrow oriole
#

tbf, though, I haven't actually played v50 all that much, but I haven't once seen a stutter from the AI

rough salmon
narrow oriole
#

hell yea

broken crescent
#

Ugh I have to mow the grass and I just don't want to

rough salmon
#

last modpack i deleted was one with 187 mods
v50 made me delete sense it can't work

narrow oriole
misty swallow
#

i need to make an issue template someday

#

it's gonna ask for the important things before the actual dev contact

narrow oriole
#

I should too but I'm too damn lazy for that

broken crescent
#

Right?

narrow oriole
#

don't distract me from my coding!!

narrow oriole
#

yeah, that's a pretty standard one

misty swallow
#

a fucking form ๐Ÿ˜ณ

narrow oriole
#

I'm not always the biggest fan of it but for the average bug report it's totally fine

rough salmon
#

this thread was dead like 4 days ago

#

sudden increase in activity sense this thread was gone from my followed page

#

im also trying to find my last message before that happened

narrow oriole
#

shaosil is just the life of the party

rough salmon
#

i like how my first message in this server is an error message of a mod incompatablity ๐Ÿ˜ญ

#

i can somewhat see what mod is client sided and server sided now tho

broken crescent
#

I hadn't touched the mod for a long time and the old coding mood hit again so here we are

rough salmon
#

anyways i hibernate now
time to be inactive for hours again!

broken crescent
#

Have a good hibernation

frail rapids
#

'EAR !

#

@broken crescent

rough salmon
#

new weather!

misty swallow
rough salmon
#

Ear

slate lynx
#

Ear weather
Where all you hear is enemy sounds that aren't real.

broken crescent
misty swallow
rough salmon
#

why lol

misty swallow
#

i try to keep up with the latest weather innovations

#

and i thought i was caught off guard lmaoo

rough salmon
#

lol

polar junco
#

I think GeneralImprovements may be broken on my end. Not sure if it's an incompatibility or something else.

#

[21:15:37.8504550][Error:GeneralImprovements] Could not transpile SaveItemsInShip! Unexpected IL code found.

#

Doesn't seem to be loading the mod when I get into the game.

magic garden
#

yep i can confirm, the mod stopped working for me

#

ignore what i said, lobbycontrol was the problem

#

@polar junco you might wanna downgrade lobbycontrol

broken crescent
#

They must be transpiling that function as well and before my mod does. That's kind of my fault for searching for a specific line number and stuff, but yeah if you found a temporary workaround that's great

magic garden
#

yup, at least matty is aware of the issue

polar junco
#

Can confirm that's the issue, thanks @magic garden

#

I'll just temporarily disable it for now until it's patched.

magic garden
#

just downgrade it to the previous version

#

no need to disable it

polar junco
#

I'm just doing testing for a mod loadout for the group I host, not an immediate issue. Won't be playing seriously til next week.

#

Also I don't know how r2modman handles rollbacks, will need to look into it.

grand umbra
#

@broken crescent is this going to break stuff?

#

comes from this check not passing anymore

#

as it uses specific IL indexes and LobbyControl removes some lines

broken crescent
#

Haha yeah that was my lazy way of checking the code was identical. I need to fix how it checks for things

It won't break anything, it just means one of my features won't be available. I'll try to fix it in the next update

grand umbra
#

up to before this update i was always trying to keep the il indexes the same to avoid issues ( setting to NOP instead of deleting stuff ) but this time i decided to not care anymore and just report errors ๐Ÿ˜… soo... sry for giving you more work

broken crescent
#

Lol not your fault, it's a good chance to make me code it the right way

polar junco
#

Something else to report that I've noticed as well is I've been getting the following errors for ShipTeleporter.beamUpPlayer:

[22:28:22.0435110] [Error  :GeneralImprovements] Unexpected code - Could not transpile ShipTeleporter.beamUpPlayer to keep items!```
I have NonScrap as the designated attribute for what's acceptable to beam up.
broken crescent
#

Yeahhh I'm working on those too lol I'll try to update my transpilers to be more supportive of other mods that might modify them

#

(that's likely also caused by clashing with another mod)

polar junco
#

I don't have another mod that affects teleporters, but I do use mods like ReservedItemSlots and EnhancedRadarBooster that might affect what's detected as an teleportable item?

broken crescent
#

It's gotta be something that's also transpiling that same beamUpPlayer function or it should detect the same code, I don't know offhand which mods would do that though

polar junco
#

I'll see if I can find it in one of the thunderstore sources or github sources, probably some rogue code in one of the mods based on what you're describing.

broken crescent
#

After my next update, hopefully the only time my transpiler doesn't work is if another mod actually changes or removes a line I'm looking for

sour rain
#

my guess is enhancedradarbooster

#

enhancedradarbooster lets you use the teleporter/inverse teleporter on radar boosters

narrow oriole
grand umbra
#

told you they existed ๐Ÿ˜‚

narrow oriole
#

I am pain

narrow oriole
polar junco
#

Yeah that's my guess as well @sour rain @narrow oriole since it hasn't been updated in a while.

#

Turned off the mod and launched the game, those errors disappeared.

light girder
light girder
#

@broken crescent Btw have you thought of adding InputUtils as a soft dependency so the Flashlight binding can be changed in settings?

sour rain
#

i might be wrong but it seems like easter eggs are counted on the "scrap in ship" total even when they explode after being dropped or thrown into the ship

light girder
broken crescent
broken crescent
broken crescent
#

Oh yeah my transpilers are going to be way more flexible next update

light girder
#

For the rotation stuff

neat stone
light girder
#

Btw @broken crescent A request, please add the Knife you get from the Butler as an item that gets excluded when Tools Don't Attract Lightning is set to true XD

sour rain
#

that setting doesnt seem to affect the extension ladder

#

as well

mossy mortar
#

my friends having extreme fps drop in the ship and when we disable GI, it got fixed. i dont have logs

light girder
#

Like Auto Charge in Orbit

#

CozyImprovements also will cause ship lag if you use that

mossy mortar
#

i see we'll try it later

#

what else may cause fps drop in ship thats a feature in GI?

narrow oriole
light girder
#

But I've not really experienced a fps loss from it

mossy mortar
#

yea they still fps drop in ship even autocharge is disabled

mossy mortar
broken crescent
#

Huh that error is definitely causing the lag spike. Is it consistent, and if so can you share your profile code?

#

Also mental note, knife and extension ladder should not attract lightning with that setting ๐Ÿ‘Œ๐Ÿผ

mossy mortar
#

profile code 018f0b08-dfe1-161e-c162-d988c2540044

broken crescent
#

Booted up the ship and not seeing the error - does it typically happen after coming back from a level or something?

mossy mortar
#

clients the one suffers from fps drop

polar junco
#

@mossy mortar A temp fix that might help is using a mod like FixRPCLag or UncaughtExceptionCatcher alongside GI. Not really ideal for troubleshooting GI itself as those error logs you posted above won't show up (especially with UncaughtExceptionCatcher), but if your friends just want to play without lag those are some options that may help.

mossy mortar
#

we'll try next time we play

#

FixRPCLag is already in my profile so I'll add UncaughtExceptionCatcher

neat stone
#

Has anyone had an issue with general improvements where enemies are invisible but scannable after an inverse teleport

#

Itโ€™s the only mod I have that messes with teleports. I have it so you can teleport with all items. Just trying to figure out if itโ€™s a vanilla glitch or not

broken crescent
# mossy mortar

Any chance you have the whole error log file? The null exception there doesn't make much sense unless something farther up the line caused something else to break I'm not aware of

neat stone
#

here is my log

broken crescent
#

I don't see anything unusual with that log - what are you experiencing?

neat stone
#

For some reason, sometimes when we inverse teleport enemies will be invisible, but scannable/interactable. I can't figure out why

broken crescent
#

Ahh that, yeah I haven't seen that yet personally (or seen it reported here), but I'll keep an eye out for it

neat stone
#

Thanks, any help would be greatly appreciated

autumn dirge
#

Hi, just found out a lot of mods have threads on Discord. Just wanted to say that I love your mod. It's one of about 5 that I can't play without.

I'm going to send some support your way on Ko-fi. Keep up the great work!

broken crescent
#

Haha wow thanks! It's just a growing project I keep adding on to as I see or hear about problems or potential improvements lol.

Happy to hear you like it so much, and of course support is never required or even encouraged, but definitely appreciated! โค๏ธ

spare anchor
#

Just wanted to say thank you to the creator for making the mod. I use this in almost every one of my packs. โค๏ธ A cool idea I've been thinking about for months with this mod is to maybe allow the option to have more monitor display configurations? Some examples
โ€ข if used with GhostCodes, they would all flare up the same message or glitch out ๐Ÿ‘ป
โ€ข having each monitor enable their own buttons! Hear me out. it could allow different players' perspective for each monitor, toggle between text and person, etc ๐Ÿ•บ
โ€ข have the tv play on one of the monitors ๐Ÿ‘€

Let me know if these sre too complicated, but I just thought that they were cooll

broken crescent
#

Those are cool ideas, though tbh I'm mayyyybe not the best person to complete things like that. Actually it would probably be easier for the ghostcodes developer to do that by using a soft dependency on my mod. I wouldn't be sure how to do some of those also

light girder
# narrow oriole

I just saw this btw, I thought I remembered the scanner fix causing a performance hit before

broken crescent
#

Hmm I wonder if it still is

light girder
light girder
#

Would that be this?

#

๐Ÿ‘€

sour rain
#

my guess is fixpersonalscanner

light girder
broken crescent
#

Yeah it's FixPersonalScanner - that basically entirely recodes how items are added to the UI when scanning. There's probably some optimizations I could do for it eventually, but I don't think it's causing massive FPS drops or anything

narrow oriole
#

yeah, it's not super serious since it only does it when you scan

#

it wouldn't hurt to though, it apparently is calling that hook a few times per scap or something

#

I'm pretty sure it wasn't calling it when no scan was happening, but I'm not absolutely sure, so might be worth checking that with the profiler

mossy mortar
# mossy mortar

seems this error logs appear when we try earlier version of GI
I thought something broke with the latest update so we did that
but they still experiencing fps drop

#

dunno what causing it to fps drop

light girder
narrow oriole
#

my hook there just wraps the function, so I don't think it should have anything to do with that

#

Shaosil may need more of that log I'm guessing

broken crescent
mossy mortar
#

yes we only disabled GI but I dont know if other mod is conflicting causing the fps drop

vapid shell
#

On release of that config option the fps drop was nasty but you said youโ€™ve patched that (I think) and I havenโ€™t tested it since

broken crescent
#

Hmm I thought I may have fixed that but I actually didn't test it either, good question

broken crescent
#

FINALLY solved the problem I was having. It's a minor one but I've been trying to fix the romantic table being crooked for snap building for two solid days lol.

It ended up being overcomplicated because all furniture is NOT parented to the ship, and actually has their positions and rotations set via offset variables every single frame, so I couldn't just rotate it a few degrees on spawn and call it a day.

Ended up having to store the mesh's transform local rotation offset on spawn and use that during snap turning, as well as adjust its initial rotation offset.

Many other small things coming in the next update

rotund elm
#

hooray now we can have non crooked romantic dinners

broken crescent
#

Right? Total OCD nightmare

pliant plank
broken crescent
#

Yeah... This is the first time I've read his code and been like.. well that's dumb

rotund elm
#

i mean no offense to zeekers but this really is just an undertale situation where somehow the game is great but behind the scenes its held up with a really good stick he found

pliant plank
pliant plank
broken crescent
#

Exactly, I'm not super critical of other people's code, actually I've been fairly impressed with most of his since he's a single dev and did it all in a few short years

#

But once in a while it's like, huh

pliant plank
rotund elm
broken crescent
#

But I should probably include default values in the wiki

pliant plank
broken crescent
#

Good point

sour rain
#

lethalconfig cuts off all the available values

broken crescent
#

Ah boo I thought they implemented dropdowns

narrow oriole
#

I think I have dropdowns in my configs thonk

#

unless you mean r2modman

broken crescent
#

Your LethalConfig dropdowns show the full values for monitor options? (I haven't used it)

narrow oriole
#

oh, I just meant that it has dropdowns, do you mean it doesn't implement scrollbars?

broken crescent
#

Hmm I'm curious too. @sour rain?

sour rain
#

lethalconfig doesnt have a dropdown

#

it has just a string entry

#

and you cant scroll through the description, to my knowledge

broken crescent
#

Ah. They closed an issue I opened about not implementing acceptable values so I assumed they did the dropdowns I suggested

#

You guys using the same version? Getting some conflicting messages lol

sour rain
#

i havent configured my monitor settings in forever

#

so if they updated it to add dropdowns at some point

#

then it's possible my info is just outdated, yeah

#

nvm

#

im playing right now

#

here's a fresh screenshot

broken crescent
#

Huh. Ok your turn @narrow oriole ๐Ÿ˜‚

narrow oriole
#

they even have it in the example config?

broken crescent
#

๐Ÿซ 

#

Maybe it doesn't work with my acceptablelistvalues? No idea

narrow oriole
#

I think it might not be a matter of the acceptable values list

#

are you using an enum?

broken crescent
#

I'm passing an AcceptableValueList to Config.Bind since that's what BepinEx supports. I'm not even sure how I'd pass an enum to that offhand

#

Well it's an AcceptableValueList<string>, unless they mean they work with the generic type being an enum. But that's just numeric under the hood

narrow oriole
#

I mean the type of the underlying value of the config entry

#

all the ones I've made have been enums, I don't know if I ever tried an acceptable value list on a non-enum

#

it does seem like it would make sense to use the value list, but it seems possible that it's just coded to get the possible values of the enum instead

broken crescent
#

Hum. I should probably look at LC and try to support it then

broken crescent
#

New release coming shortly!

#

@neat stone the new update going live soon (v1.2.2) should fix the transpiler errors you were getting

sour rain
#

Fixed new save files always using 0 for a map seed before starting the game
Yesss

#

did you confirm that this syncs in multiplayer

#

i feel like the last time i tried doing this myself, it caused weather to desync on day 1

#

but that could've just been a mistake on my part

kind turret
broken crescent
sour rain
#

i see

#

i tried doing that and it didnt seem to work right

#

but i might be misremembering

#

to be fair

proven moth
#

@broken crescent looks like the latest update broke AllowLookDownMore

light girder
#

Yeah @broken crescent Looking down more isn't working

broken crescent
#

bleh I see it, thanks. I refactored every transpiler I had and I accidentally look for an int value instead of a float now. Will fix

#

Ok I have it fixed locally. I'll wait until tomorrow to deploy though in case I broke anything else

broken crescent
narrow oriole
#

iirc, that black screen can happen in the current version of OpenBodyCams due to the static init failing, but it's just an illegal game state that I didn't think to handle

#

should have a fix for that part, but there's probably another issue here

open dagger
#

The scream isn't working?

open dagger
#

Should I need to make any changes to the config?

cloud gate
#

try use OpenBodyCams instead of Helmet_Camera

open dagger
#

thanks,bro

open dagger
#

Nope,it still isn't working.

narrow oriole
#

are you using a fresh save? looks like this might just be a corrupted save

open dagger
open dagger
elfin sentinel
#

๐Ÿ˜”

tiny salmon
stark veldt
#

Latest update of the mod causes items to not be saved at all:

#

No, changing these values doesn't fix the issue

celest oriole
#

I can confirm it, downgrading fixed the problem.

#

Actually nearly nothing works in the new version, like destroying keys or looking down fully

vapid shell
#

Uh oh

#

GI brokie wokie?

bold edge
#

Removing large portions of code always come up with new issues concern

broken crescent
#

๐Ÿ˜ฑ I always test things like that don't happen and I have no errors on my end.

Hmm, do any of you guys use LLL, and if so, can you test if there was a new update to it? Just a random thought.

I'm not actually sure why the transpiler refactor would cause issues like that, technically it should be doing the same thing as before, it just finds where to do it more reliably ๐Ÿค”

#

I do know looking down is broke though, that will be fixed in the next update

celest oriole
#

I tried with only GI and LethalConfig, it's broken too

broken crescent
#

What broke for you exactly (apart from looking down)?

vapid shell
#

I have yet to play the new GI

little spire
vapid shell
little spire
#

Oh shit

vapid shell
#

I mean

little spire
#

What version is the stable one?

vapid shell
#

Allegedly

broken crescent
#

Can I use the classic "works on my machine"? ๐Ÿ˜‚ Dang it

vapid shell
broken crescent
#

Thunderstore needs a beta channel

vapid shell
#

But most times Iโ€™ve discovered

#

Is something breaks on configuration changes

#

When โ€œit works on my machineโ€

broken crescent
#

Yeah usually it's something I missed and doesn't have an error, or another mod is clashing that I don't use, or like you said, specific config combinations have something wrong

vapid shell
#

I the chief bug hunter will look at this in 9 hours when I get home

celest oriole
#

All with a totally clean profile + LC + GI + clean save

broken crescent
#

Huh I know lb to kg and infinite keys worked for sure when I tested it, did you restart the game after changing those config settings? It will need to be set at boot up so it transpiles the code as expected

The saves thing is another problem though, I'll try to figure out why that's happening

celest oriole
#

My bad yeah, it works with a complete restart of the game (except the saves)

broken crescent
#

Ok I'm able to replicate the loading bug - looking into that now

#

I think I have a fix - going to deploy a hotfix asap

#

This one's completely on me, I was using the wrong ES3.Load override in one of my transpilers. It compiled, but would always throw an exception when loading things. No idea how I missed it

elfin sentinel
#

was just about to ask why I couldn't look down further lol

broken crescent
#

In my rush I left a debug "error message" in the logs during startup that shows a method type - just ignore that for now

broken crescent
#

Next update will FINALLY work with LethalConfig, and without a dependency

rough salmon
#

:D

pliant plank
#

Ahem. I've just updated while still on the hype train and... this new error popped up? Maybe it's innocuous?
[Info : BepInEx] Loading [GeneralImprovements 1.2.3] [Info :GeneralImprovements] Loading assets... [Error :GeneralImprovements] UnityEngine.Vector3[] Load[Vector3[]](System.String, System.String, UnityEngine.Vector3[]) [Info :GeneralImprovements] GeneralImprovements v1.2.3 fully loaded.