Cataclysm-dda: Eternal season still has changing seasons

Created on 18 Nov 2018  路  13Comments  路  Source: CleverRaven/Cataclysm-DDA

Describe the bug
Im playing with eternal seasons on summer, but the season still changes every 91 days while still saying its summer, and I can tell cause it snows, and everything freezes after the 91 days ticks twice.

To Reproduce
Steps to reproduce the behavior:
I just let time pass.

Expected behavior
A clear and concise description of what you expected to happen.
Ideally also describe why you expect it to happen.

Snow every year

Screenshots
If applicable, add screenshots to help explain your problem.
snow

Versions and configuration(please complete the following information):
Windows 10
0.C-34540-gb6aae03
Chesshole
Dark Days Ahead, Disable NCP Needs, Simplified Nutrition, Craftable Gun Pack, Safe Autodoc, Bright Nights, Extended Realistic Guns, More Survival Tools,Boats, Vehicle Additions Pack, Boats, Tanks And Other Vehicles.

Additional context
Add any other context about the problem here.
E.g. A link to a savegame that allows the issue to be reproduced.

I don't know how to link a save

(S2 - Confirmed) <Bug> Character / World Generation Time / Turns / Duration / Date

Most helpful comment

I don't care what you say about seasons... I see a much bigger thing bugging me there about that screenshot... like... WHAT is that thing you are building?

All 13 comments

I don't know how to link a save

You can either pack and upload the save somewher eand drop the link or, even better (though a size may sometimes cause issues here) pack it and then use the field in the lower portion of the comment text field where it says "Attach files by dragging & dropping, selecting them, or pasting from the clipboard."

I don't care what you say about seasons... I see a much bigger thing bugging me there about that screenshot... like... WHAT is that thing you are building?

I must agree with TechyBen, what the heck is that!?

Its My Tank, Home, base, metal gear.... in the works. Named her Catherdal.

I don't know how to link a save

You can either pack and upload the save somewher eand drop the link or, even better (though a size may sometimes cause issues here) pack it and then use the field in the lower portion of the comment text field where it says "Attach files by dragging & dropping, selecting them, or pasting from the clipboard."

so drop the world file, in here?

I'll Tour it when its done =)

@Rolphaline

so drop the world file, in here?

That should do, yeah. Make sure the save is just from before the error occurs so it's easy to trigger.

@Rolphaline

so drop the world file, in here?

That should do, yeah. Make sure the save is just from before the error occurs so it's easy to trigger.

The error starts from the very start

save.zip

I hope it did that right, anywho it doesnt matter which world, it still happens. just debug a thermometer in and watch it change day after day. FYI the tank is in Boomer

sad day i'm 1/4 done with the Cathedral, Theres a shrub hidden somewhere under it....... i cant get it to move at all

Can confirm: My eternal Winter, after a few 'seasons' passed, started giving me daytime temps of 19c and nights around 16c. The ground tiles still look white like snow, but it hasn't snowed for a long time, only rain. My gear hasn't changed and what once barely protected me from frostbite is now making me overheat.

Here's my save: https://www.dropbox.com/s/3inzqysmnh1z8za/East%20Glacier.7z?dl=0

also related to #31015 same issue basically, but not entirely the same, didn't test whether season advances, just was unable to land in the right desired season.

Could this be the problem? In weather_gen.cpp at line 62:

    const double year_fraction( time_past_new_year( t ) /
                                calendar::year_length() ); // [0,1)
    result.cyf = std::cos( tau * ( year_fraction + .125 ) ); // [-1, 1]

It seems to assume the seasons will change, applying a variation to climate temperature based on how long through the year it is, but not based on what the actual season is.

Would this work?

    if ( calendar::eternal_season() ) {
        result.cyf = 0
    } else {
        result.cyf = std::cos( tau * ( year_fraction + .125 ) ); // [-1, 1]
    }

Not knowledgable enough to test this myself, this is just a punt because I've been hangering for a fix to this for a very long time.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

2birdie picture 2birdie  路  3Comments

PlasmaChroma picture PlasmaChroma  路  3Comments

Coolthulhu picture Coolthulhu  路  3Comments

BorkBorkGoesTheCode picture BorkBorkGoesTheCode  路  3Comments

tinukedaya picture tinukedaya  路  3Comments