SMAPI-Mods icon indicating copy to clipboard operation
SMAPI-Mods copied to clipboard

Request: Lighting Mod

Open SuperiorS69 opened this issue 9 years ago • 4 comments

It would be cool if you could do this. http://community.playstarbound.com/threads/request-better-night-lighting.108239/ Second post seems to have most of important information, also says it should be easy to implement. Thanks for your time regardless if you do it or not.

SuperiorS69 avatar Mar 21 '16 22:03 SuperiorS69

Not to bug you but did you check into this? I understand that you have other stuff to do though.

SuperiorS69 avatar Mar 22 '16 02:03 SuperiorS69

Yep. As I said, I'm done with developing for tonight though. It's in a sort of "queue" of things that I wanna get done, as I'm still trying to get one of my other mods ported back to SMAPI. Basically, if it has a label, I've looked into it, at least somewhat.

Zoryn4163 avatar Mar 22 '16 02:03 Zoryn4163

Alright thanks appreciate the response.

SuperiorS69 avatar Mar 22 '16 02:03 SuperiorS69

This is to do with the games ambientLight and eveningColor scaling factor. In UpdateGameClock(), the game checks if it's "starting to get dark" or "truly dark", and applies a scaling factor based on that, first, then it modifies outDoorLight based on ambientLight or eveningColor, depending on if it's raining or not.

tidbits here, for truly dark: Code: if (Game1.timeOfDay >= Game1.getTrulyDarkTime()) { int num = (int)((float)(Game1.timeOfDay - Game1.timeOfDay % 100) + (float)(Game1.timeOfDay % 100 / 10) * 16.66f); float scale = Math.Min(0.93f, 0.75f + ((float)(num - Game1.getTrulyDarkTime()) + (float)Game1.gameTimeInterval / 7000f * 16.6f) * 0.000625f); Game1.outdoorLight = (Game1.isRaining ? Game1.ambientLight : Game1.eveningColor) * scale; } for evening: Code: else if (Game1.timeOfDay >= Game1.getStartingToGetDarkTime()) { int num2 = (int)((float)(Game1.timeOfDay - Game1.timeOfDay % 100) + (float)(Game1.timeOfDay % 100 / 10) * 16.66f); float scale2 = Math.Min(0.93f, 0.3f + ((float)(num2 - Game1.getStartingToGetDarkTime()) + (float)Game1.gameTimeInterval / 7000f * 16.6f) * 0.00225f); Game1.outdoorLight = (Game1.isRaining ? Game1.ambientLight : Game1.eveningColor) * scale2; }

An SMAPI mod that changes the eveningColor based on the season like the game itself does would probably be a quick fix, winter looks alright, but could be a tinge darker or so, it uses these values for the RGB: Code: Game1.eveningColor = new Color(245, 225, 170);

SuperiorS69 avatar Apr 01 '16 02:04 SuperiorS69