Time cycle

From GTAMods Wiki
Revision as of 02:54, 25 February 2024 by WildBrick142 (talk | contribs) (added gta v and rdr info)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

timecyc.dat is a data file containing information about the game's environment with respect to the current in-game time. It is responsible for details like the colour of the sky, the weather, and ambient light levels, amongst other things. The name, "time cycle", comes from the fact that the game cycles through each specified setting in the file.

In Vice City the timecyc.dat file also stores settings for different interior appearances. There are 23 of these extra settings in an extra section internally called "EXTRACOLOURS". Each game hour represents one constant setting.

File format

A comment in the timecyc.dat file is preceded by a series of slashes ("//"). The game's parser simply ignores comments so that the number of uncommented lines must be a multiple of 24 for GTA III and Vice City (representing one for each ingame hour) and a multiple of 8 for San Andreas (representing 00am, 05am, 06am, 07am, 00pm, 07pm, 08pm and 10pm in the order they appear). Each value of one entry gets interpolated with the previous and the next setting of the current ingame weather.

Data types

The file uses the following different data types directly or indirectly on an abstract level inside structures:

  • INT8/UINT8 - signed/unsigned 8 bit integer (1 byte)
  • INT32/UINT32 - signed/unsigned 32 bit integer (4 byte)
  • FLOAT - single precision floating point number (4 byte)
  • TColor - UINT8[3] representing the red, green and blue level (in the order they appear) of a color. (3 byte)

File hierarchy

As mentioned above each setting consists out of a constant number of entries separated by whitespaces. The following table lists the entries and their descriptions in the order they appear:

GTA III Vice City San Andreas Name Data type Description
X Static ambience color TColor The color of ambient light on map objects (see IPL).
X Dynamic ambience color TColor The color of ambient light on dynamically created objects like pedestrians and vehicles.
X Static ambience blur color TColor Blurrig color value for static ambience color.
X Dynamic ambience blur color TColor Blurrig color value for dynamic ambience color.
X Direct light color TColor The color of direct light on dynamicly created objects like pedestriants and vehicles. Present in the timecyc.dat of GTA SA, but not loaded and unused by the game.
X Sky top color TColor The color of the top of the skysphere.
X Sky bottom color TColor The color of the bottom of the skysphere.
X Sun core color TColor The color of the core sprite of the sun.
X Sun corona color TColor The color of the corona sprite of the sun.
X Sun core size FLOAT The size of the core sprite of the sun.
X Sun corona size FLOAT The size of the corona sprite of the sun.
X Sprite brightness FLOAT The the brightness of the above mentioned sprites.
X Shadow intensity INT32 The intensity of the shadows of objects like pedestriants, vehicles or poles.
X Light shading value INT32 Value used for the shading algorithm on pedestirants and vehicles [?].
X Pole shading value INT32 Shading value for map objects with flag 32768.
X Far clipping offset FLOAT The distance of the far clipping plane from the camera.
X Fog start offset FLOAT The range of the distance fog from the camera.
X Light on ground FLOAT Amount of light on the ground of the sea [?].
X Lower clouds color TColor Color of the lower clounds.
X Upper clouds top color TColor Color of the top of the upper clouds.
X Upper clouds bottom color TColor Color of the bottom of the upper clouds.
X Blur color TColor The color of trails.
X Water color TColor Color of the water vertices.
X Water alpha level UINT8 Alpha level for water vertices.
X Color correction 1 alpha UINT8 Alpha level for first color correction value.
X Color correction 1 TColor First color correction value.
X Color correction 2 alpha UINT8 Alpha level for second color correction value.
X Color correction 2 TColor Second color correction value.
X Lower clouds alpha level UINT8 Alpha level for lower clouds.
X Highlight min intensity UINT8 Intensity limit for PS2 radiosity effect.
X Water fog alpha. UINT8 Water fading to white, amount of white light on water. Usually 0.
X Directional multiplier FLOAT Multiplier for the main directional light. Always 1.0, but missing in PC timecyc.dat

GTA IV

The formats are largely the same in GTA IV, but there are some key differences and new entries were added: Amb0 controls the colour of the shadows (RGB). Amb1 controls the colour of dynamic objects (RGB). Dir controls the colour of sunlight. The closer to 0 the values are, the less intense the sunlight is. It also affects the intensity of shadows (RGB). Sky top controls the colour of the top of the sky. Affects the colour of fog (RGB). Sky bot controls the colour of the skybox (RGB). SunCore controls the colour of the core of the sun (RGB). SunCorona controls the colour of the outer part of the sun (RGB). SunSz controls the size of the sun. SprBght controls the brightness of sprites (e.g. building and lamppost lights) FarClp controls the draw distance.

timecyc.dat and timecycp.dat

The PS2, PC and Xbox versions of GTA San Andreas ship two time cycle files: timecyc.dat and timecycp.dat. Both console games ship with the same two files and load timecyc.dat in the NTSC version and timecycp.dat in the PAL version. The PC, PS3, XBOX 360, iOS and Android ports load timecyc.dat, which is different from the PS2/PS4/Xbox versions of the file. The PC port also ships the console PAL file but does not load it. The difference between the console NTSC and PAL files are minute, only a single color is actually different and it's not clear why Rockstar distinguishes the video modes at all.

The PC timecyc.dat on the other hand differs more and is actually broken in three ways: RAINY_COUNTRYSIDE 8PM starts with '255' instead of '22 22 22' which causes the whole line to be parsed incorrectly. Furthermore the last column (directionalMult) is missing in all lines and consequently interpreted as zero. This causes the main directional light (normally used on pedestrians and vehicles) to be effectively turned off. It is unclear whether this is intentional, but as a substitute for the disabled dynamic directional light a hardcoded fixed light that doesn't change color is used for vehicle rendering. If the directional multiplier is set to 1.0, vehicles will then become too bright and in addition the vehicle light will cause problems because it overrides D3D light 0 (this has been fixed in SilentPatch, a third-party patch).

Another difference in the PC/mobile timecyc.dat are the postfx alpha values. It's the only file that uses the standard alpha range (255 = opaque), while the other files use the PS2 alpha range (128 = opaque). To convert from the PS2 to standard range, all games (except the PS2 game naturally) double those alpha values after reading them. This can be considered a bug in the PC and mobile games as the alpha values already are in standard range.

In conclusion, all games expect a PS2 timecyc(p).dat file, so it is not recommended to use the PC timecyc.dat file at all.

Weather types

GTA III

Type Enum Image
0 WEATHER_SUNNY III Weather-0.jpg
1 WEATHER_CLOUDY III Weather-1.jpg
2 WEATHER_RAINY III Weather-2.jpg
3 WEATHER_FOGGY III Weather-3.jpg

Vice City

Type Enum Image
0 WEATHER_SUNNY VC Weather-0.jpg
1 WEATHER_CLOUDY VC Weather-1.jpg
2 WEATHER_RAINY VC Weather-2.jpg
3 WEATHER_FOGGY VC Weather-3.jpg
4 WEATHER_EXTRA_SUNNY VC Weather-4.jpg
5 WEATHER_HURRICANE VC Weather-5.jpg
6 WEATHER_EXTRA_COLOURS

San Andreas

Liberty City Stories

Type Description Image
0 Sunny LCS Weather-0.jpg
1 Cloudy LCS Weather-1.jpg
2 Rainy LCS Weather-2.jpg
3 Foggy LCS Weather-3.jpg
4 Extra Sunny LCS Weather-4.jpg
5 Hurricane LCS Weather-5.jpg
6 Extra Colors LCS Weather-6.jpg
7 Snow LCS Weather-7.jpg

Vice City Stories

Sunny Image
Cloudy Image
Rainy Image
Foggy Image
Extra Sunny Image
Hurricane Image
Extra Colors Image
Extra Sunny #2 Image

GTA IV & EFLC

Extra Sunny
Sunny
Sunny Windy
Cloudy
Rainy
Drizzle
Foggy
Thunderstorm
Temp

GTA V

EXTRASUNNY
CLEAR
CLOUDS
SMOG
FOGGY
OVERCAST
RAIN
THUNDER
CLEARING
NEUTRAL
SNOW
BLIZZARD
SNOWLIGHT
XMAS Added in b416 (PS3/X360)
HALLOWEEN Added in b877.1 (PC/PS4/XO)

RDR II

HIGHPRESSURE
SUNNY
MISTY
FOG
CLOUDS
OVERCAST
OVERCASTDARK
DRIZZLE
RAIN
THUNDER
THUNDERSTORM
HURRICANE
SHOWER
HAIL
SLEET
SNOWCLEARING
SNOWLIGHT
SNOW
BLIZZARD
GROUNDBLIZZARD
WHITEOUT
SandStorm

Weather lists

Weather is actually not random in GTA 3D Trilogy. Every game hour, the games go through the list of weather types to determine the upcoming weather.

GTA III

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 02 02 01 00 00 00 01 03 03 01 00 00 01 01 
00 00 00 00 00 00 00 00 01 01 02 02 01 02 01 00 00 00 00 00 00 00 00 00 00 03 03 00 00 00 02 01

This array for v1.0 starts at 0x5FFBC8 in memory.

Vice City

No hurricane

04 04 04 04 04 04 04 04 00 00 00 04 04 04 00 00 00 04 04 04 04 00 00 04 04 04 04 04 04 04 04 04 
04 04 00 00 00 00 00 00 00 00 00 01 02 02 02 02 01 00 00 00 00 04 04 04 04 04 04 04 04 04 04 04

This array for v1.0 starts at 0x699EE4 in memory.

Hurricane

04 04 04 04 04 04 04 04 00 00 00 04 04 04 00 00 00 04 04 01 05 05 01 00 04 04 04 04 04 04 04 04 
04 04 00 00 00 00 00 00 00 00 00 00 01 05 05 05 01 00 00 00 00 04 04 04 04 04 04 04 04 04 04 04

This array for v1.0 starts at 0x699F64 in memory.

San Andreas

Map of SA weather regions

In San Andreas the map is divided into weather regions whose boundaries are hardcoded. These regions roughly cover major game cities and countryside locations. Each weather region has its own set of unique weathers listed below.

Countryside

13 13 13 13 13 13 13 13 14 15 09 09 15 14 13 14 14 13 13 13 13 14 14 13 13 13 13 13 13 13 13 13 
13 13 14 14 14 14 14 14 15 09 09 15 16 16 16 16 15 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13

This array for v1.0 starts at 0x8D5EB0 in memory.

Los Santos

02 02 00 00 00 02 02 02 03 00 03 02 00 00 03 03 03 04 04 00 00 01 01 00 02 02 02 02 02 02 02 02 
02 02 03 03 03 03 03 03 02 02 03 03 00 00 16 00 04 01 01 01 01 00 00 02 02 02 02 02 02 02 02 02

This array for v1.0 starts at 0x8D5EF0 in memory.

San Fierro

05 05 05 05 05 07 07 09 09 07 05 05 05 05 05 07 07 07 08 08 07 07 05 05 05 05 06 06 05 07 09 09 
07 05 05 07 05 05 06 06 05 05 05 07 07 08 08 07 07 09 09 05 05 06 06 06 05 05 06 07 07 06 06 05

This array for v1.0 starts at 0x8D5F30 in memory.

Las Venturas

11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 11 11 11 11 11 11 11 11 
11 10 11 11 11 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 12 12 10 12 10 10

This array for v1.0 starts at 0x8D5F70 in memory.

Bone County

17 17 17 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 17 17 17 17 17 17 17 17 
17 17 17 17 17 19 19 19 17 17 17 17 17 17 17 17 17 17 18 18 18 17 17 17 17 17 17 17 19 19 19 17

This array for v1.0 starts at 0x8D5FB0 in memory.

Liberty City Stories

00 04 00 01 01 00 00 00 04 04 00 02 00 00 01 01 03 01 00 00 00 01 02 03 01 01 00 04 00 00 01 03
02 03 01 00 00 01 05 01 00 04 04 00 00 00 00 04 00 00 01 03 01 00 01 01 00 04 01 05 01 00 00 04

This array for PCSX2 starts at 0x2039A2E0 in memory.

Grand Theft Auto V

Weather Duration (Hours)
EXTRASUNNY 2
CLEAR 1
SMOG 4
EXTRASUNNY 1
SMOG 3
EXTRASUNNY 2
EXTRASUNNY 1
OVERCAST 1
EXTRASUNNY 2
SMOG 3
CLOUDS 2
CLEAR 5
EXTRASUNNY 1
SMOG 3
EXTRASUNNY 2
EXTRASUNNY 1
CLOUDS 5
CLEAR 2
SMOG 2
CLOUDS 2
CLEAR 1
SMOG 2
OVERCAST 2
SMOG 2
CLEAR 1
EXTRASUNNY 1
EXTRASUNNY 2
CLEAR 2
EXTRASUNNY 2
SMOG 3
FOGGY 1
SMOG 2
CLOUDS 4
SMOG 1
EXTRASUNNY 2
EXTRASUNNY 1
SMOG 2
OVERCAST 1
CLOUDS 1
EXTRASUNNY 1
FOGGY 1
CLEAR 3
CLEAR 4
CLEAR 5
EXTRASUNNY 2
EXTRASUNNY 2
SMOG 3
OVERCAST 1
SMOG 3
OVERCAST 3
THUNDER 1
SMOG 1
CLEAR 1
EXTRASUNNY 1
EXTRASUNNY 2
CLEAR 4
CLOUDS 2
CLEAR 3
EXTRASUNNY 1
CLEAR 1
CLEAR 5
SMOG 1
CLOUDS 2
RAIN 1
SMOG 5
CLOUDS 2
EXTRASUNNY 1
SMOG 2
EXTRASUNNY 1
EXTRASUNNY 2
CLEAR 3
CLEAR 5
SMOG 3
FOGGY 2
CLEAR 1
EXTRASUNNY 1
EXTRASUNNY 3
SMOG 2
OVERCAST 3
SMOG 1
EXTRASUNNY 1
EXTRASUNNY 1
SMOG 3
EXTRASUNNY 2
EXTRASUNNY 1
CLEAR 3
CLEAR 5
SMOG 3
EXTRASUNNY 2
SMOG 1
OVERCAST 2
SMOG 3
FOGGY 1
FOGGY 2
FOGGY 1
SMOG 1
EXTRASUNNY 2
EXTRASUNNY 1
EXTRASUNNY 3
EXTRASUNNY 1
CLEAR 5
SMOG 2
CLEAR 5
EXTRASUNNY 2
EXTRASUNNY 1
CLEAR 5
SMOG 1
CLEAR 5
EXTRASUNNY 1
CLEAR 3
CLEAR 2
SMOG 2
SMOG 4
OVERCAST 1
THUNDER 2
CLEARING 1
EXTRASUNNY 2
CLEAR 2
EXTRASUNNY 1
EXTRASUNNY 2
CLEAR 5
SMOG 3
OVERCAST 1
SMOG 2
OVERCAST 3
SMOG 1
CLEAR 5
EXTRASUNNY 1
EXTRASUNNY 1
SMOG 3
EXTRASUNNY 2
EXTRASUNNY 1
CLEAR 3
CLEAR 5
SMOG 3
OVERCAST 2
SMOG 2
CLEAR 4
EXTRASUNNY 2
EXTRASUNNY 1
EXTRASUNNY 3
EXTRASUNNY 1
SMOG 1
SMOG 4
EXTRASUNNY 1
EXTRASUNNY 1
SMOG 3
EXTRASUNNY 2
EXTRASUNNY 1
CLOUDS 5
CLEAR 2
SMOG 2
CLEAR 5
EXTRASUNNY 2
EXTRASUNNY 1
CLEAR 3
EXTRASUNNY 1
CLEAR 5
SMOG 3
OVERCAST 2
SMOG 2
CLEAR 4
EXTRASUNNY 2
SMOG 3
OVERCAST 1
CLOUDS 2
RAIN 1
THUNDER 3
RAIN 1
CLEARING 2
CLOUDS 1
EXTRASUNNY 4
SMOG 3

Mission script

01B5 GTA III Vice City San Andreas forces the upcoming weather type
01B6 GTA III Vice City San Andreas forces the weather type immediately
01B7 GTA III Vice City San Andreas releases the forced weather type
0251 GTA III stores the weather state
0252 GTA III restores the weather state
04F9 Vice City San Andreas sets the extra colors
04FA Vice City San Andreas clears the extra colors
057C Vice City allows hurricane weather

Tools

External links