Special Variables
Revision as of 17:05, 4 March 2011 by imported>JOG
Some global variables are predefined and handled and/or updated by the game-engine itself.
Type | Name | Description |
---|---|---|
short | GameYear | The current year |
short | GameMonth | The current month (0-11) |
short* | GameDay | The current day of the month (0-31) depending on month |
short* | GameHour | The current hour (0-23 hours) |
short | TimeScale | Minutes that pass in-game within one minute of real-life |
float | GameDaysPassed | Days that have passed since the beginning of the game |
Notes
- While GameHour and GameDay are defined as short, they return float values. For instance, at 2:30 AM, GameHour has the value 2.5.
- Remember that an hour is about 0.041667 (1/24) of a day. So using GameDaysPassed for anything other than day tracking may get awkward.
- If all you want to know is if it is a new day (strictly meaning that the 12:00am boundary has been crossed), save the current GameDaysPassed into a SHORT variable (lastDay) and then when you want to do your comparison, create a SHORT (currentDay) and set it to the current GameDaysPassed. If (currentDay - lastDay) >= 1, then a day has passed. By storing GameDaysPassed in SHORT variables you trim off the factional hours that live in the decimal places. If you use floats instead of SHORTs you will essentially be checking if "24 hours has passed" rather than, "is it the next day."
Locals
No known/documented changes.