In-game Timecyc Editor 1.8 by fastman92
This tool, a CLEO script lets you edit timecyc.dat (weather colors, properties) in game using a simple and intuitive UI.
Changes take effect immediately.
There are several other timecyc editors, but they they do not allow changes to be tested in real time and require the game to be restarted.
Or at least effects are not clearly visible until the game is maximized and timecyc.dat is reloaded again.
To select colors an HSV pallete with RGB & HSV spinners has been implemented.
Other spinners allow easy editing of other properties.
After editing the save button can be used to generate a new imecyc.dat file.
You're encouraged create your own timecyc.dat and share it up to GTA community.
What`s more - the project is released under open source license terms.
Fully compatible with GTA San Andreas v1.0 [US] HOODLUM No-CD Fixed EXE & GTA: San Andreas v1.01 [EURO] No-CD/Fixed EXE
Fully compatible with any screen (4:3, 16:9, 16:10... )
Fully compatible with CLEO3 and newer
- - - - - - - - - - - - - - - - -
Video that explains how to install In-game timecyc editor to GTA San Andreas.
Make sure you are using one of the following gta_sa.exe versions:
1. GTA San Andreas v1.0 [US] HOODLUM No-CD Fixed EXE:
EXE size: 14 383 616 bytes
2. GTA: San Andreas v1.01 [EURO] No-CD/Fixed EXE:
EXE size: 15 806 464 bytes
In-game Timecyc Editor is fully compatible with both of them, 1.0 US and 1.01 Euro No-CD shortly.
Remember that you should have administrator privileges to GTA San Andreas directory, otherwise writing new timecyc.dat won`t work.
On Windows Vista/7 you should run GTA SA as administrator if UAC is enabled.
UAC prevents programs from running with administrator privileges until they're run as administrator explicitly.
If you don't have a CLEO Library then download it from here: http://cleo.sannybuilder
• Copy ALL! files from put_to_root_of_GTASA to GTA San Andreas directory.
• If you use MPACK (e.g DYOM), create these directories and copy file from archive to GTA San Andreas User Files:
Or simply don't use the In-game Timecyc Editor on MPACK.
• Eventually you can open TimecycEditor.ini to change some options.
- Most important is WriteIlluminationInTimecycDat, if it`s disabled timecyc.dat will be generated with no illumination values
- It`s configurable because timecyc.dat with illumination values won`t be readable using other third party editors such as TimecycSA and people would complain about this.
• For boolean settings values (1, true, yes) are equivalent and will set to 1. Reading is not case-sensitive.
Any other value than the following will cause setting to be false.
-TimecycDatAuthor - if set, author name, preferably your name will be written in timecyc.dat
Usage (after you installed mod)
• Run the game.
• Go to the place where you want to see the changes.
• Enter "TIMECYC" using keyboard.
• Simple UI will appear
• To configure options you have to click left on mouse or press left Ctrl, sumarizing: left mouse click OR left Ctrl
• Rotate camera using key defined in configuration .ini ( \ slash by default)
• Enter "TIMECYC" again to quit timecyc editor
• Time state spinner - press to freeze/unfreeze time.
• Weather spinner - changes the weather (0 to 22)
• Cycle spinner - changes the time to start of next/previous cycle. Cycles depend on time. (1 to 8)
• Hour spinner - increment/decrement current hour (0 to 23)
• Minute spinner - increment/decrement current minute (0 to 59)
• Save button - generate new timecyc.dat, do not forget to click after the changes seem to be good.
If you quit the game and forget to save the changes will be lost and you need to start work again.
• Reload button - load settings from timecyc.dat, use you messed something up.
It calls internal SA method called CTimeCycle::Initialise
• HSV Pallete - allows easy selection of color, it came from Paint.NET
•• Hue - depends on angle of needle in relation to center of pallete -90 degrees. Its value varies from 0 to 360,
what we derive from the Babylonian system.
•• Saturation - depends on the distance between center of pallete and needle
•• Value - when new color is selected, value is set to 100. It can be later decreased on its proper regulator
• Pallete regulators - using these any color can be selected. Especially useful regulator is color value (brightness)
•• RGB, Red, Green, Blue
•• HSV, Hue, Saturation, Value
• In fact (7, 8, 9: Dir), Direct light is unused in GTA SA, that is answer why it`s missing in timecyc editor.
There is no Dir in memory.
Instead "255 255 255" is saved to generated file.
• Building - any static object, office, home even grass or tree.
• Format of explanation
(Number of parameter index starting from 1: R* short name) - My own name + description
• Explanation of timecycle properties:
•• (1, 2, 3: Amb) - Static ambience color, the color of ambient light used to colorize static map IPL objects - buildings, NOT peds & vehicles.
Its value should be low.
•• (4, 5, 6: Amb_Obj) - Dynamic ambience color, the color of ambient light used to colorize peds & vehicles, NOT buildings
Its value should be low.
•• (7, 8, 9: Dir) - unused in GTA SA, color of direct light. Always 255 255 255 in generated file.
•• (10, 11, 12: Sky top) - Sky top color, The color of the top of the skysphere.
•• (13, 14, 15: Sky bot) - Sky bottom color, The color of the bottom of the skysphere.
•• (16, 17, 18: SunCore) - Sun core color, The color of the core sprite of the sun.
•• (19, 20, 21: SunCorona) - Sun corona color, The color of the corona sprite of the sun.
•• (22: SunSz) - Sun core size, The size of the core sprite of the sun.
•• (23: SprSz) - Sun corona size, The size of the corona sprite of the sun.
•• (24: SprBght) - Sprite brightness, The the brightness of the above mentioned sprites.
•• (25: Shdw) - Shadow intensity, The intensity of the shadows of objects like pedestriants, vehicles or poles.
•• (26: LightShd) - Light shading, Value used for the shading algorithm on pedestirants and vehicles [?].
•• (27: PoleShd) - Pole shading, Shading value for map objects with flag 32768.
•• (28: FarClp) - Far clipping, The distance of the far clipping plane from the camera.
•• (29: FogSt) - Fog start, The range of the distance fog from the camera.
•• (30: LightOnGround) - Light on ground, Amount of light on the ground of the sea [?].
•• (31, 32, 33: LowCloudsRGB) - Lower clouds RGBA, Color of the lower clounds.
•• (34, 35, 36: BottomCloudRGB) - Bottom clouds RGBA, Color of the top of the upper clouds.
•• (37, 38, 39, 40: WaterRGBA) - Water RGBA, Color of the water vertices.
•• (41: Alpha1) - Alpha level for first color correction value.
•• (42, 43, 44: RGB1) - First color correction value.
•• (45: Alpha2) - Alpha level for second color correction value.
•• (46, 47, 48) - Second color correction value.
•• (49, 50, 51: CloudAlpha) - Lower clouds alpha level, Upper clouds alpha level, Unused (? not tested) clouds alpha level
•• (52: Illumination) - working, not present in standard GTA SA timecyc.dat, but loaded by timecyc reading function.
- World Properties -> Light On Ground could be incremented, but couldn't be decremented. Fixed.
- Fully compatible with CLEO3 now.
- I noticed that ColourAdd2 incorrectly pointed red, to ColourCorrect1. Fixed
- fixed possible problem with timers
- added cominuque whether timecyc.dat has been saved successfully or failure happened
- In-game Timecyc Editor has been Integrated with GTA Palette & Mouse SCM API
- added possibility to write a custom nick(name) to timecyc.dat. Configurable in .ini file
- TimecycWriteMemoryByteFromFloat has been fixed, float properties of one weather modified 4 weathers, caused by error in code
(size 4) instead of (size 1)
- Now script is compatible with CLEO3 too.
- update caused by upcoming car spawner that uses camera rotation when player can`t move too.
Opcode 003E: overwrite_camera_movement_state 2 has been created to be shared along the scripts.
- default key of rotation was changed to \ slash
You can alter the key in TimecycEditor.ini
- An error in source, writing to additional variable using CLEO opcode was fixed. It caused the crashes.
- added possibility to rotate around player/vehicle using X key (configurable within .ini file),
it took a lot of time to get it finally working, part of ASM code had to be written for that
- added indicators for intensity of taken values from current and next cycle the way interpolation works.
When it`s start of time - 100% intensity of current cycle values, 0% intensity of next cycle values
- fixed stopping of time - time wasn`t stopped according to icon, but in fact it was, caused by cmp dword ptr [_IsTimeStopped], 0
instead of cmp byte ptr [_IsTimeStopped], 0
- new functions GetTimeCycleNum and GetCenterTimeOfCycle that don`t return key time between cycles, but starting time
- fixed disappearing of Value description near the pallete caused by incorect array index of GXTcomuniqueKey
- added possibility to stop the time, button is placed near the clock
seggaeman - for editing of hourglass textures
Jacko427 - testing
Rockstar Games for creating an innovative game
Copyright (c) 2011, fastman92
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Date of release: 01-10-2012
For: GTA San Andreas