tick.patch
| /home/ulukyn/code/ryzom/common/src/game_share/persistent_data_template.h | ||
|---|---|---|
| 176 | 176 |
inline uint32 saveGameCycleToSecond(NLMISC::TGameCycle tick) |
| 177 | 177 |
{
|
| 178 | 178 |
// Evaluate the UTC of this event (with the current date of save). Suppose that 1 second==10 tick |
| 179 |
return sint32(NLMISC::CTime::getSecondsSince1970()) + (sint32(tick) - sint32(CTickEventHandler::getGameCycle()))/10; |
|
| 179 |
if (tick < CTickEventHandler::getGameCycle()) |
|
| 180 |
return NLMISC::CTime::getSecondsSince1970(); |
|
| 181 |
else |
|
| 182 |
return NLMISC::CTime::getSecondsSince1970() + (tick - CTickEventHandler::getGameCycle())/10; |
|
| 180 | 183 |
// NB: result should be positive since no event should have been launched before 1970! |
| 181 | 184 |
} |
| 182 | 185 |
|
| 183 | 186 |
inline NLMISC::TGameCycle loadSecondToGameCycle(uint32 second) |
| 184 | 187 |
{
|
| 188 |
if (second < NLMISC::CTime::getSecondsSince1970()) |
|
| 189 |
return 0; |
|
| 190 |
|
|
| 185 | 191 |
// Convert UTC of the event to game cycle. Suppose that 1 second==10 tick |
| 186 |
sint32 newTick= CTickEventHandler::getGameCycle() + (sint32(second) - sint32(NLMISC::CTime::getSecondsSince1970()))*10; |
|
| 187 |
// If game cycle is loaded on a server where current game cycle is too young, we can have here negative values => avoid them |
|
| 188 |
return std::max(newTick, sint32(0)); |
|
| 192 |
return CTickEventHandler::getGameCycle() + (second - NLMISC::CTime::getSecondsSince1970())*10; |
|
| 189 | 193 |
} |
| 190 | 194 |
#endif |
| 191 | 195 |
|