CDate separated

This commit is contained in:
Sergeanur 2020-01-28 00:16:38 +02:00
parent f2a26070a7
commit c6b6e9d0df
4 changed files with 111 additions and 107 deletions

91
src/save/Date.cpp Normal file
View file

@ -0,0 +1,91 @@
#include "common.h"
#include "Date.h"
CDate::CDate()
{
m_nYear = 0;
m_nSecond = 0;
m_nMinute = 0;
m_nHour = 0;
m_nDay = 0;
m_nMonth = 0;
}
bool
CDate::operator>(const CDate &right)
{
if (m_nYear > right.m_nYear)
return true;
if (m_nYear != right.m_nYear)
return false;
if (m_nMonth > right.m_nMonth)
return true;
if (m_nMonth != right.m_nMonth)
return false;
if (m_nDay > right.m_nDay)
return true;
if (m_nDay != right.m_nDay)
return false;
if (m_nHour > right.m_nHour)
return true;
if (m_nHour != right.m_nHour)
return false;
if (m_nMinute > right.m_nMinute)
return true;
if (m_nMinute != right.m_nMinute)
return false;
return m_nSecond > right.m_nSecond;
}
bool
CDate::operator<(const CDate &right)
{
if (m_nYear < right.m_nYear)
return true;
if (m_nYear != right.m_nYear)
return false;
if (m_nMonth < right.m_nMonth)
return true;
if (m_nMonth != right.m_nMonth)
return false;
if (m_nDay < right.m_nDay)
return true;
if (m_nDay != right.m_nDay)
return false;
if (m_nHour < right.m_nHour)
return true;
if (m_nHour != right.m_nHour)
return false;
if (m_nMinute < right.m_nMinute)
return true;
if (m_nMinute != right.m_nMinute)
return false;
return m_nSecond < right.m_nSecond;
}
bool
CDate::operator==(const CDate &right)
{
if (m_nYear != right.m_nYear || m_nMonth != right.m_nMonth || m_nDay != right.m_nDay || m_nHour != right.m_nHour || m_nMinute != right.m_nMinute)
return false;
return m_nSecond == right.m_nSecond;
}
void
CDate::PopulateDateFields(int8 &second, int8 &minute, int8 &hour, int8 &day, int8 &month, int16 year)
{
m_nSecond = second;
m_nMinute = minute;
m_nHour = hour;
m_nDay = day;
m_nMonth = month;
m_nYear = year;
}

18
src/save/Date.h Normal file
View file

@ -0,0 +1,18 @@
#pragma once
class CDate
{
public:
int m_nSecond;
int m_nMinute;
int m_nHour;
int m_nDay;
int m_nMonth;
int m_nYear;
CDate();
bool operator>(const CDate &right);
bool operator<(const CDate &right);
bool operator==(const CDate &right);
void PopulateDateFields(int8 &second, int8 &minute, int8 &hour, int8 &day, int8 &month, int16 year);
};

View file

@ -3,6 +3,7 @@
#include "patcher.h"
#include "Camera.h"
#include "Clock.h"
#include "Date.h"
#include "FileMgr.h"
#include "GameLogic.h"
#include "Garages.h"
@ -28,95 +29,6 @@ CDate &CompileDateAndTime = *(CDate*)0x72BCB8;
C_PcSave &PcSaveHelper = *(C_PcSave*)0x8E2C60;
CDate::CDate()
{
m_nYear = 0;
m_nSecond = 0;
m_nMinute = 0;
m_nHour = 0;
m_nDay = 0;
m_nMonth = 0;
}
bool
CDate::operator>(const CDate &right)
{
if (m_nYear > right.m_nYear)
return true;
if (m_nYear != right.m_nYear)
return false;
if (m_nMonth > right.m_nMonth)
return true;
if (m_nMonth != right.m_nMonth)
return false;
if (m_nDay > right.m_nDay)
return true;
if (m_nDay != right.m_nDay)
return false;
if (m_nHour > right.m_nHour)
return true;
if (m_nHour != right.m_nHour)
return false;
if (m_nMinute > right.m_nMinute)
return true;
if (m_nMinute != right.m_nMinute)
return false;
return m_nSecond > right.m_nSecond;
}
bool
CDate::operator<(const CDate &right)
{
if (m_nYear < right.m_nYear)
return true;
if (m_nYear != right.m_nYear)
return false;
if (m_nMonth < right.m_nMonth)
return true;
if (m_nMonth != right.m_nMonth)
return false;
if (m_nDay < right.m_nDay)
return true;
if (m_nDay != right.m_nDay)
return false;
if (m_nHour < right.m_nHour)
return true;
if (m_nHour != right.m_nHour)
return false;
if (m_nMinute < right.m_nMinute)
return true;
if (m_nMinute != right.m_nMinute)
return false;
return m_nSecond < right.m_nSecond;
}
bool
CDate::operator==(const CDate &right)
{
if (m_nYear != right.m_nYear || m_nMonth != right.m_nMonth || m_nDay != right.m_nDay || m_nHour != right.m_nHour || m_nMinute != right.m_nMinute)
return false;
return m_nSecond == right.m_nSecond;
}
void
CDate::PopulateDateFields(int8 &second, int8 &minute, int8 &hour, int8 &day, int8 &month, int16 year)
{
m_nSecond = second;
m_nMinute = minute;
m_nHour = hour;
m_nDay = day;
m_nMonth = month;
m_nYear = year;
}
WRAPPER bool GenericSave(int file) { EAXJMP(0x58F8D0); }
WRAPPER bool GenericLoad() { EAXJMP(0x590A00); }

View file

@ -2,23 +2,6 @@
#include "PCSave.h"
class CDate
{
public:
int m_nSecond;
int m_nMinute;
int m_nHour;
int m_nDay;
int m_nMonth;
int m_nYear;
CDate();
bool operator>(const CDate &right);
bool operator<(const CDate &right);
bool operator==(const CDate &right);
void PopulateDateFields(int8 &second, int8 &minute, int8 &hour, int8 &day, int8 &month, int16 year);
};
#define SLOT_COUNT (8)
bool GenericSave(int file);
@ -38,7 +21,7 @@ bool CheckDataNotCorrupt(int32 slot, char *name);
bool RestoreForStartLoad();
int align4bytes(int32 size);
extern CDate& CompileDateAndTime;
extern class CDate& CompileDateAndTime;
extern char (&DefaultPCSaveFileName)[260];
extern char (&ValidSaveName)[260];