mirror of
https://github.com/halpz/re3.git
synced 2025-06-27 20:36:18 +00:00
64-bit on Windows
This commit is contained in:
@ -27,6 +27,7 @@
|
||||
#ifndef _WIN32
|
||||
#define _stricmp strcasecmp
|
||||
#define _strnicmp strncasecmp
|
||||
#define _strdup strdup
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
@ -71,7 +72,7 @@ ALDeviceList::ALDeviceList()
|
||||
if ((bNewName) && (actualDeviceName != NULL) && (strlen(actualDeviceName) > 0)) {
|
||||
ALDEVICEINFO ALDeviceInfo;
|
||||
ALDeviceInfo.bSelected = true;
|
||||
ALDeviceInfo.strDeviceName = actualDeviceName;
|
||||
ALDeviceInfo.strDeviceName = _strdup(actualDeviceName);
|
||||
alcGetIntegerv(device, ALC_MAJOR_VERSION, sizeof(int), &ALDeviceInfo.iMajorVersion);
|
||||
alcGetIntegerv(device, ALC_MINOR_VERSION, sizeof(int), &ALDeviceInfo.iMinorVersion);
|
||||
|
||||
|
@ -5,7 +5,11 @@
|
||||
#include "sampman.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
// TODO: This is due to version difference of 32-bit libmpg123 and 64-bit libmpg123, fix it
|
||||
#ifndef _WIN64
|
||||
typedef long ssize_t;
|
||||
#endif
|
||||
#pragma comment( lib, "libsndfile-1.lib" )
|
||||
#pragma comment( lib, "libmpg123.lib" )
|
||||
#else
|
||||
@ -166,8 +170,11 @@ public:
|
||||
|
||||
size_t size;
|
||||
int err = mpg123_read(m_pMH, (unsigned char *)buffer, GetBufferSize(), &size);
|
||||
#if defined(__LP64__) || defined(_WIN64)
|
||||
assert("We can't handle audio files more then 2 GB yet :shrug:" && (size < UINT32_MAX));
|
||||
#endif
|
||||
if (err != MPG123_OK && err != MPG123_DONE) return 0;
|
||||
return size;
|
||||
return (uint32)size;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1454,7 +1454,7 @@ void CReplay::StreamAllNecessaryCarsAndPeds(void)
|
||||
for (int slot = 0; slot < NUM_REPLAYBUFFERS; slot++) {
|
||||
if (BufferStatus[slot] == REPLAYBUFFER_UNUSED)
|
||||
continue;
|
||||
for (int offset = 0; Buffers[slot][offset] != REPLAYPACKET_END; offset += FindSizeOfPacket(Buffers[slot][offset])) {
|
||||
for (size_t offset = 0; Buffers[slot][offset] != REPLAYPACKET_END; offset += FindSizeOfPacket(Buffers[slot][offset])) {
|
||||
switch (Buffers[slot][offset]) {
|
||||
case REPLAYPACKET_VEHICLE:
|
||||
CStreaming::RequestModel(((tVehicleUpdatePacket*)&Buffers[slot][offset])->mi, 0);
|
||||
@ -1476,7 +1476,7 @@ void CReplay::FindFirstFocusCoordinate(CVector *coord)
|
||||
for (int slot = 0; slot < NUM_REPLAYBUFFERS; slot++) {
|
||||
if (BufferStatus[slot] == REPLAYBUFFER_UNUSED)
|
||||
continue;
|
||||
for (int offset = 0; Buffers[slot][offset] != REPLAYPACKET_END; offset += FindSizeOfPacket(Buffers[slot][offset])) {
|
||||
for (size_t offset = 0; Buffers[slot][offset] != REPLAYPACKET_END; offset += FindSizeOfPacket(Buffers[slot][offset])) {
|
||||
if (Buffers[slot][offset] == REPLAYPACKET_GENERAL) {
|
||||
*coord = ((tGeneralPacket*)&Buffers[slot][offset])->player_pos;
|
||||
return;
|
||||
|
@ -2978,15 +2978,15 @@ CCamera::LoadTrainCamNodes(char const *name)
|
||||
char token[16] = { 0 };
|
||||
char filename[16] = { 0 };
|
||||
uint8 *buf;
|
||||
int bufpos = 0;
|
||||
size_t bufpos = 0;
|
||||
int field = 0;
|
||||
int tokpos = 0;
|
||||
char c;
|
||||
int i;
|
||||
int len;
|
||||
size_t len;
|
||||
|
||||
strcpy(filename, name);
|
||||
len = strlen(filename);
|
||||
len = (int)strlen(filename);
|
||||
filename[len] = '.';
|
||||
filename[len+1] = 'd';
|
||||
filename[len+2] = 'a';
|
||||
|
@ -30,7 +30,8 @@ CDirectory::ReadDirFile(const char *filename)
|
||||
bool
|
||||
CDirectory::WriteDirFile(const char *filename)
|
||||
{
|
||||
int fd, n;
|
||||
int fd;
|
||||
size_t n;
|
||||
fd = CFileMgr::OpenFileForWriting(filename);
|
||||
n = CFileMgr::Write(fd, (char*)entries, numEntries*sizeof(DirectoryInfo));
|
||||
CFileMgr::CloseFile(fd);
|
||||
|
@ -163,7 +163,7 @@ myfgets(char *buf, int len, int fd)
|
||||
return buf;
|
||||
}
|
||||
|
||||
static int
|
||||
static size_t
|
||||
myfread(void *buf, size_t elt, size_t n, int fd)
|
||||
{
|
||||
if(myfiles[fd].isText){
|
||||
@ -184,7 +184,7 @@ myfread(void *buf, size_t elt, size_t n, int fd)
|
||||
return fread(buf, elt, n, myfiles[fd].file);
|
||||
}
|
||||
|
||||
static int
|
||||
static size_t
|
||||
myfwrite(void *buf, size_t elt, size_t n, int fd)
|
||||
{
|
||||
if(myfiles[fd].isText){
|
||||
@ -265,11 +265,11 @@ CFileMgr::SetDirMyDocuments(void)
|
||||
mychdir(_psGetUserFilesFolder());
|
||||
}
|
||||
|
||||
int
|
||||
size_t
|
||||
CFileMgr::LoadFile(const char *file, uint8 *buf, int unused, const char *mode)
|
||||
{
|
||||
int fd;
|
||||
int n, len;
|
||||
size_t n, len;
|
||||
|
||||
fd = myfopen(file, mode);
|
||||
if(fd == 0)
|
||||
@ -298,13 +298,13 @@ CFileMgr::OpenFileForWriting(const char *file)
|
||||
return OpenFile(file, "wb");
|
||||
}
|
||||
|
||||
int
|
||||
size_t
|
||||
CFileMgr::Read(int fd, const char *buf, int len)
|
||||
{
|
||||
return myfread((void*)buf, 1, len, fd);
|
||||
}
|
||||
|
||||
int
|
||||
size_t
|
||||
CFileMgr::Write(int fd, const char *buf, int len)
|
||||
{
|
||||
return myfwrite((void*)buf, 1, len, fd);
|
||||
|
@ -9,12 +9,12 @@ public:
|
||||
static void ChangeDir(const char *dir);
|
||||
static void SetDir(const char *dir);
|
||||
static void SetDirMyDocuments(void);
|
||||
static int LoadFile(const char *file, uint8 *buf, int unused, const char *mode);
|
||||
static size_t LoadFile(const char *file, uint8 *buf, int unused, const char *mode);
|
||||
static int OpenFile(const char *file, const char *mode);
|
||||
static int OpenFile(const char *file) { return OpenFile(file, "rb"); }
|
||||
static int OpenFileForWriting(const char *file);
|
||||
static int Read(int fd, const char *buf, int len);
|
||||
static int Write(int fd, const char *buf, int len);
|
||||
static size_t Read(int fd, const char *buf, int len);
|
||||
static size_t Write(int fd, const char *buf, int len);
|
||||
static bool Seek(int fd, int offset, int whence);
|
||||
static bool ReadLine(int fd, char *buf, int len);
|
||||
static int CloseFile(int fd);
|
||||
|
@ -2604,7 +2604,7 @@ CMenuManager::DrawPlayerSetupScreen()
|
||||
char nameTemp[256];
|
||||
for (m_pSelectedSkin = m_pSkinListHead.nextSkin; m_pSelectedSkin; m_pSelectedSkin = m_pSelectedSkin->nextSkin) {
|
||||
// Drop extension
|
||||
int oldLength = strlen(m_pSelectedSkin->skinNameDisplayed);
|
||||
int oldLength = (int)strlen(m_pSelectedSkin->skinNameDisplayed);
|
||||
m_pSelectedSkin->skinNameDisplayed[oldLength - 4] = '\0';
|
||||
m_pSelectedSkin->skinNameOriginal[oldLength - 4] = '\0';
|
||||
|
||||
|
@ -2634,7 +2634,7 @@ void CPad::ResetCheats(void)
|
||||
|
||||
char *CPad::EditString(char *pStr, int32 nSize)
|
||||
{
|
||||
int32 pos = strlen(pStr);
|
||||
int32 pos = (int32)strlen(pStr);
|
||||
|
||||
// letters
|
||||
for ( int32 i = 0; i < ('Z' - 'A' + 1); i++ )
|
||||
|
@ -45,7 +45,7 @@ int32 CStreaming::ms_oldSectorX;
|
||||
int32 CStreaming::ms_oldSectorY;
|
||||
int32 CStreaming::ms_streamingBufferSize;
|
||||
int8 *CStreaming::ms_pStreamingBuffer[2];
|
||||
int32 CStreaming::ms_memoryUsed;
|
||||
size_t CStreaming::ms_memoryUsed;
|
||||
CStreamingChannel CStreaming::ms_channel[2];
|
||||
int32 CStreaming::ms_channelError;
|
||||
int32 CStreaming::ms_numVehiclesLoaded;
|
||||
@ -62,7 +62,7 @@ uint16 CStreaming::ms_loadedGangCars;
|
||||
int32 CStreaming::ms_imageOffsets[NUMCDIMAGES];
|
||||
int32 CStreaming::ms_lastImageRead;
|
||||
int32 CStreaming::ms_imageSize;
|
||||
uint32 CStreaming::ms_memoryAvailable;
|
||||
size_t CStreaming::ms_memoryAvailable;
|
||||
|
||||
int32 desiredNumVehiclesLoaded = 12;
|
||||
|
||||
@ -202,14 +202,19 @@ CStreaming::Init2(void)
|
||||
// PC only, figure out how much memory we got
|
||||
#ifdef GTA_PC
|
||||
#define MB (1024*1024)
|
||||
extern unsigned long _dwMemAvailPhys;
|
||||
|
||||
extern size_t _dwMemAvailPhys;
|
||||
ms_memoryAvailable = (_dwMemAvailPhys - 10*MB)/2;
|
||||
if(ms_memoryAvailable < 50*MB)
|
||||
ms_memoryAvailable = 50*MB;
|
||||
desiredNumVehiclesLoaded = (ms_memoryAvailable/MB - 50)/3 + 12;
|
||||
desiredNumVehiclesLoaded = (int32)((ms_memoryAvailable / MB - 50) / 3 + 12);
|
||||
if(desiredNumVehiclesLoaded > MAXVEHICLESLOADED)
|
||||
desiredNumVehiclesLoaded = MAXVEHICLESLOADED;
|
||||
#if defined(__LP64__) || defined(_WIN64)
|
||||
debug("Memory allocated to Streaming is %lluMB", ms_memoryAvailable/MB);
|
||||
#else
|
||||
debug("Memory allocated to Streaming is %dMB", ms_memoryAvailable/MB);
|
||||
#endif
|
||||
#undef MB
|
||||
#endif
|
||||
|
||||
@ -1085,7 +1090,7 @@ CStreaming::RemoveAllUnusedModels(void)
|
||||
}
|
||||
|
||||
bool
|
||||
CStreaming::RemoveReferencedTxds(int32 mem)
|
||||
CStreaming::RemoveReferencedTxds(size_t mem)
|
||||
{
|
||||
CStreamingInfo *si;
|
||||
int streamId;
|
||||
@ -2201,7 +2206,7 @@ CStreaming::DeleteRwObjectsAfterDeath(const CVector &pos)
|
||||
}
|
||||
|
||||
void
|
||||
CStreaming::DeleteRwObjectsBehindCamera(int32 mem)
|
||||
CStreaming::DeleteRwObjectsBehindCamera(size_t mem)
|
||||
{
|
||||
int ix, iy;
|
||||
int x, y;
|
||||
@ -2382,7 +2387,7 @@ CStreaming::DeleteRwObjectsInOverlapSectorList(CPtrList &list, int32 x, int32 y)
|
||||
}
|
||||
|
||||
bool
|
||||
CStreaming::DeleteRwObjectsBehindCameraInSectorList(CPtrList &list, int32 mem)
|
||||
CStreaming::DeleteRwObjectsBehindCameraInSectorList(CPtrList &list, size_t mem)
|
||||
{
|
||||
CPtrNode *node;
|
||||
CEntity *e;
|
||||
@ -2403,7 +2408,7 @@ CStreaming::DeleteRwObjectsBehindCameraInSectorList(CPtrList &list, int32 mem)
|
||||
}
|
||||
|
||||
bool
|
||||
CStreaming::DeleteRwObjectsNotInFrustumInSectorList(CPtrList &list, int32 mem)
|
||||
CStreaming::DeleteRwObjectsNotInFrustumInSectorList(CPtrList &list, size_t mem)
|
||||
{
|
||||
CPtrNode *node;
|
||||
CEntity *e;
|
||||
@ -2430,7 +2435,7 @@ CStreaming::MakeSpaceFor(int32 size)
|
||||
// the code still happens to work in that case because ms_memoryAvailable is unsigned
|
||||
// but it's not nice....
|
||||
|
||||
while((uint32)ms_memoryUsed >= ms_memoryAvailable - size)
|
||||
while(ms_memoryUsed >= ms_memoryAvailable - size)
|
||||
if(!RemoveLeastUsedModel()){
|
||||
DeleteRwObjectsBehindCamera(ms_memoryAvailable - size);
|
||||
return;
|
||||
@ -2492,7 +2497,11 @@ CStreaming::UpdateForAnimViewer(void)
|
||||
if (CStreaming::ms_channelError == -1) {
|
||||
CStreaming::AddModelsToRequestList(CVector(0.0f, 0.0f, 0.0f));
|
||||
CStreaming::LoadRequestedModels();
|
||||
#if defined(__LP64__) || defined(_WIN64)
|
||||
sprintf(gString, "Requested %d, memory size %lluK\n", CStreaming::ms_numModelsRequested, 2 * CStreaming::ms_memoryUsed);
|
||||
#else
|
||||
sprintf(gString, "Requested %d, memory size %dK\n", CStreaming::ms_numModelsRequested, 2 * CStreaming::ms_memoryUsed);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
CStreaming::RetryLoadFile(CStreaming::ms_channelError);
|
||||
|
@ -86,7 +86,7 @@ public:
|
||||
static int32 ms_oldSectorY;
|
||||
static int32 ms_streamingBufferSize;
|
||||
static int8 *ms_pStreamingBuffer[2];
|
||||
static int32 ms_memoryUsed;
|
||||
static size_t ms_memoryUsed;
|
||||
static CStreamingChannel ms_channel[2];
|
||||
static int32 ms_channelError;
|
||||
static int32 ms_numVehiclesLoaded;
|
||||
@ -103,7 +103,7 @@ public:
|
||||
static int32 ms_imageOffsets[NUMCDIMAGES];
|
||||
static int32 ms_lastImageRead;
|
||||
static int32 ms_imageSize;
|
||||
static uint32 ms_memoryAvailable;
|
||||
static size_t ms_memoryAvailable;
|
||||
|
||||
static void Init(void);
|
||||
static void Init2(void);
|
||||
@ -140,7 +140,7 @@ public:
|
||||
static bool RemoveLeastUsedModel(void);
|
||||
static void RemoveAllUnusedModels(void);
|
||||
static void RemoveUnusedModelsInLoadedList(void);
|
||||
static bool RemoveReferencedTxds(int32 mem);
|
||||
static bool RemoveReferencedTxds(size_t mem);
|
||||
static int32 GetAvailableVehicleSlot(void);
|
||||
static bool IsTxdUsedByRequestedModels(int32 txdId);
|
||||
static bool AddToLoadedVehiclesList(int32 modelId);
|
||||
@ -176,11 +176,11 @@ public:
|
||||
static void DeleteFarAwayRwObjects(const CVector &pos);
|
||||
static void DeleteAllRwObjects(void);
|
||||
static void DeleteRwObjectsAfterDeath(const CVector &pos);
|
||||
static void DeleteRwObjectsBehindCamera(int32 mem);
|
||||
static void DeleteRwObjectsBehindCamera(size_t mem);
|
||||
static void DeleteRwObjectsInSectorList(CPtrList &list);
|
||||
static void DeleteRwObjectsInOverlapSectorList(CPtrList &list, int32 x, int32 y);
|
||||
static bool DeleteRwObjectsBehindCameraInSectorList(CPtrList &list, int32 mem);
|
||||
static bool DeleteRwObjectsNotInFrustumInSectorList(CPtrList &list, int32 mem);
|
||||
static bool DeleteRwObjectsBehindCameraInSectorList(CPtrList &list, size_t mem);
|
||||
static bool DeleteRwObjectsNotInFrustumInSectorList(CPtrList &list, size_t mem);
|
||||
|
||||
static void LoadScene(const CVector &pos);
|
||||
|
||||
|
@ -17,7 +17,11 @@
|
||||
|
||||
#if defined _WIN32 && defined WITHD3D
|
||||
#include <windows.h>
|
||||
#ifndef USE_D3D9
|
||||
#include <d3d8types.h>
|
||||
#else
|
||||
#include <d3d9types.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <rwcore.h>
|
||||
|
@ -4839,7 +4839,7 @@ CPed::LoadFightData(void)
|
||||
|
||||
CAnimBlendAssociation *animAssoc;
|
||||
|
||||
int bp, buflen;
|
||||
size_t bp, buflen;
|
||||
int lp, linelen;
|
||||
|
||||
buflen = CFileMgr::LoadFile("DATA\\fistfite.dat", work_buff, sizeof(work_buff), "r");
|
||||
|
@ -47,7 +47,7 @@ CPedStats::LoadPedStats(void)
|
||||
char *buf;
|
||||
char line[256];
|
||||
char name[32];
|
||||
int bp, buflen;
|
||||
size_t bp, buflen;
|
||||
int lp, linelen;
|
||||
int type;
|
||||
float fleeDist, headingChangeRate, attackStrength, defendWeakness;
|
||||
|
@ -43,7 +43,7 @@ CPedType::LoadPedData(void)
|
||||
char *buf;
|
||||
char line[256];
|
||||
char word[32];
|
||||
int bp, buflen;
|
||||
size_t bp, buflen;
|
||||
int lp, linelen;
|
||||
int type;
|
||||
uint32 flags;
|
||||
|
@ -614,7 +614,7 @@ void CScrollBar::Update()
|
||||
break;
|
||||
}
|
||||
|
||||
m_MessageLength = strlen(m_pMessage);
|
||||
m_MessageLength = (uint32)strlen(m_pMessage);
|
||||
m_MessageCurrentChar = 0;
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ RwInt32
|
||||
NodeNameStreamGetSize(const void *object, RwInt32 offsetInObject, RwInt32 sizeInObject)
|
||||
{
|
||||
// game checks for null pointer on node name extension but that really happen
|
||||
return rwstrlen(NODENAMEEXT(object));
|
||||
return (RwInt32)rwstrlen(NODENAMEEXT(object));
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -797,12 +797,12 @@ CVisibilityPlugins::FrameCopyConstructor(void *dst, const void *src, int32, int3
|
||||
}
|
||||
|
||||
void
|
||||
CVisibilityPlugins::SetFrameHierarchyId(RwFrame *frame, int32 id)
|
||||
CVisibilityPlugins::SetFrameHierarchyId(RwFrame *frame, uintptr id)
|
||||
{
|
||||
FRAMEEXT(frame)->id = id;
|
||||
}
|
||||
|
||||
int32
|
||||
uintptr
|
||||
CVisibilityPlugins::GetFrameHierarchyId(RwFrame *frame)
|
||||
{
|
||||
return FRAMEEXT(frame)->id;
|
||||
|
@ -103,10 +103,10 @@ public:
|
||||
struct FrameExt
|
||||
{
|
||||
// BUG: this is abused to hold a pointer by SetClumpModelInfo
|
||||
int32 id;
|
||||
uintptr id;
|
||||
};
|
||||
static void SetFrameHierarchyId(RwFrame *frame, int32 id);
|
||||
static int32 GetFrameHierarchyId(RwFrame *frame);
|
||||
static void SetFrameHierarchyId(RwFrame *frame, uintptr id);
|
||||
static uintptr GetFrameHierarchyId(RwFrame *frame);
|
||||
|
||||
static void *FrameConstructor(void *object, int32 offset, int32 len);
|
||||
static void *FrameDestructor(void *object, int32 offset, int32 len);
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Functions that's different on glfw and win but have same signature, should be located on platform.h.
|
||||
|
||||
#ifdef _WIN32
|
||||
// This only has <windef.h> as Win header.
|
||||
// This only has <windef.h> as Windows header, which is lighter (as long as WITHWINDOWS isn't defined / <Windows.h> isn't included).
|
||||
#include "win.h"
|
||||
extern DWORD _dwOperatingSystemVersion;
|
||||
#else
|
||||
|
@ -63,7 +63,7 @@ static psGlobalType PsGlobal;
|
||||
#undef MAKEPOINTS
|
||||
#define MAKEPOINTS(l) (*((POINTS /*FAR*/ *)&(l)))
|
||||
|
||||
unsigned long _dwMemAvailPhys;
|
||||
size_t _dwMemAvailPhys;
|
||||
RwUInt32 gGameState;
|
||||
|
||||
#ifdef _WIN32
|
||||
|
@ -19,7 +19,12 @@
|
||||
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4005)
|
||||
|
||||
#ifdef USE_D3D9
|
||||
#include <d3d9.h>
|
||||
#else
|
||||
#include <d3d8.h>
|
||||
#endif
|
||||
#include <ddraw.h>
|
||||
#include <dinput.h>
|
||||
#include <DShow.h>
|
||||
@ -27,7 +32,9 @@
|
||||
|
||||
#define WM_GRAPHNOTIFY WM_USER+13
|
||||
|
||||
#ifndef USE_D3D9
|
||||
#pragma comment( lib, "d3d8.lib" )
|
||||
#endif
|
||||
#pragma comment( lib, "ddraw.lib" )
|
||||
#pragma comment( lib, "Winmm.lib" )
|
||||
#pragma comment( lib, "dxguid.lib" )
|
||||
@ -102,7 +109,7 @@ IMediaSeeking *pMS = nil;
|
||||
|
||||
DWORD dwDXVersion;
|
||||
SIZE_T _dwMemTotalPhys;
|
||||
SIZE_T _dwMemAvailPhys;
|
||||
size_t _dwMemAvailPhys;
|
||||
SIZE_T _dwMemTotalVirtual;
|
||||
SIZE_T _dwMemAvailVirtual;
|
||||
DWORD _dwMemTotalVideo;
|
||||
@ -449,6 +456,16 @@ DWORD GetDXVersion()
|
||||
dwDXVersion = 0x700;
|
||||
pDD7->Release();
|
||||
|
||||
#ifdef USE_D3D9
|
||||
HINSTANCE hD3D9DLL = LoadLibrary("D3D9.DLL");
|
||||
if (hD3D9DLL != nil) {
|
||||
FreeLibrary(hDDrawDLL);
|
||||
FreeLibrary(hD3D9DLL);
|
||||
|
||||
dwDXVersion = 0x900;
|
||||
return dwDXVersion;
|
||||
}
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// DirectX 8.0 Checks
|
||||
@ -498,6 +515,7 @@ DWORD GetDXVersion()
|
||||
/*
|
||||
*****************************************************************************
|
||||
*/
|
||||
#ifndef _WIN64
|
||||
static char cpuvendor[16] = "UnknownVendr";
|
||||
__declspec(naked) const char * _psGetCpuVendr()
|
||||
{
|
||||
@ -571,6 +589,7 @@ void _psPrintCpuInfo()
|
||||
if ( FeaturesEx & 0x80000000 )
|
||||
debug("with 3DNow");
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
*****************************************************************************
|
||||
@ -646,9 +665,9 @@ psInitialize(void)
|
||||
|
||||
gGameState = GS_START_UP;
|
||||
TRACE("gGameState = GS_START_UP");
|
||||
|
||||
#ifndef _WIN64
|
||||
_psPrintCpuInfo();
|
||||
|
||||
#endif
|
||||
OSVERSIONINFO verInfo;
|
||||
verInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||
|
||||
@ -1284,8 +1303,11 @@ RwBool IsForegroundApp()
|
||||
|
||||
UINT GetBestRefreshRate(UINT width, UINT height, UINT depth)
|
||||
{
|
||||
#ifdef USE_D3D9
|
||||
LPDIRECT3D9 d3d = Direct3DCreate9(D3D_SDK_VERSION);
|
||||
#else
|
||||
LPDIRECT3D8 d3d = Direct3DCreate8(D3D_SDK_VERSION);
|
||||
|
||||
#endif
|
||||
ASSERT(d3d != nil);
|
||||
|
||||
UINT refreshRate = INT_MAX;
|
||||
@ -1298,14 +1320,21 @@ UINT GetBestRefreshRate(UINT width, UINT height, UINT depth)
|
||||
else
|
||||
format = D3DFMT_R5G6B5;
|
||||
|
||||
#ifdef USE_D3D9
|
||||
UINT modeCount = d3d->GetAdapterModeCount(GcurSel, format);
|
||||
#else
|
||||
UINT modeCount = d3d->GetAdapterModeCount(GcurSel);
|
||||
|
||||
#endif
|
||||
|
||||
for ( UINT i = 0; i < modeCount; i++ )
|
||||
{
|
||||
D3DDISPLAYMODE mode;
|
||||
|
||||
#ifdef USE_D3D9
|
||||
d3d->EnumAdapterModes(GcurSel, format, i, &mode);
|
||||
#else
|
||||
d3d->EnumAdapterModes(GcurSel, i, &mode);
|
||||
|
||||
#endif
|
||||
if ( mode.Width == width && mode.Height == height && mode.Format == format )
|
||||
{
|
||||
if ( mode.RefreshRate == 0 )
|
||||
@ -1599,7 +1628,7 @@ CommandLineToArgv(RwChar *cmdLine, RwInt32 *argCount)
|
||||
RwInt32 i, len;
|
||||
RwChar *res, *str, **aptr;
|
||||
|
||||
len = strlen(cmdLine);
|
||||
len = (int)strlen(cmdLine);
|
||||
|
||||
/*
|
||||
* Count the number of arguments...
|
||||
@ -1687,11 +1716,11 @@ void InitialiseLanguage()
|
||||
{
|
||||
WORD primUserLCID = PRIMARYLANGID(GetSystemDefaultLCID());
|
||||
WORD primSystemLCID = PRIMARYLANGID(GetUserDefaultLCID());
|
||||
WORD primLayout = PRIMARYLANGID((DWORD)GetKeyboardLayout(0));
|
||||
WORD primLayout = PRIMARYLANGID((DWORD_PTR)GetKeyboardLayout(0));
|
||||
|
||||
WORD subUserLCID = SUBLANGID(GetSystemDefaultLCID());
|
||||
WORD subSystemLCID = SUBLANGID(GetUserDefaultLCID());
|
||||
WORD subLayout = SUBLANGID((DWORD)GetKeyboardLayout(0));
|
||||
WORD subLayout = SUBLANGID((DWORD_PTR)GetKeyboardLayout(0));
|
||||
|
||||
if ( primUserLCID == LANG_GERMAN
|
||||
|| primSystemLCID == LANG_GERMAN
|
||||
|
@ -9,8 +9,12 @@
|
||||
#endif /* (!defined(RSREGSETBREAKALLOC)) */
|
||||
|
||||
#ifndef _INC_WINDOWS
|
||||
#define _X86_
|
||||
#include <windef.h>
|
||||
#ifdef _WIN64
|
||||
#define _AMD64_
|
||||
#else
|
||||
#define _X86_
|
||||
#endif
|
||||
#include <windef.h>
|
||||
#endif
|
||||
|
||||
enum eWinVersion
|
||||
|
@ -23,8 +23,8 @@ CText::Load(void)
|
||||
{
|
||||
uint8 *filedata;
|
||||
char filename[32], type[4];
|
||||
int length;
|
||||
int offset, sectlen;
|
||||
intptr_t offset, length;
|
||||
size_t sectlen;
|
||||
|
||||
Unload();
|
||||
filedata = new uint8[0x40000];
|
||||
@ -176,12 +176,13 @@ CText::UpperCase(wchar *s)
|
||||
|
||||
|
||||
void
|
||||
CKeyArray::Load(uint32 length, uint8 *data, int *offset)
|
||||
CKeyArray::Load(size_t length, uint8 *data, intptr_t *offset)
|
||||
{
|
||||
uint32 i;
|
||||
size_t i;
|
||||
uint8 *rawbytes;
|
||||
|
||||
numEntries = length / sizeof(CKeyEntry);
|
||||
// You can make numEntries size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
||||
numEntries = (int)(length / sizeof(CKeyEntry));
|
||||
entries = new CKeyEntry[numEntries];
|
||||
rawbytes = (uint8*)entries;
|
||||
|
||||
@ -255,12 +256,13 @@ CKeyArray::Search(const char *key)
|
||||
|
||||
|
||||
void
|
||||
CData::Load(uint32 length, uint8 *data, int *offset)
|
||||
CData::Load(size_t length, uint8 *data, intptr_t *offset)
|
||||
{
|
||||
uint32 i;
|
||||
size_t i;
|
||||
uint8 *rawbytes;
|
||||
|
||||
numChars = length / sizeof(wchar);
|
||||
// You can make numChars size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
||||
numChars = (int)(length / sizeof(wchar));
|
||||
chars = new wchar[numChars];
|
||||
rawbytes = (uint8*)chars;
|
||||
|
||||
|
@ -26,11 +26,11 @@ class CKeyArray
|
||||
{
|
||||
public:
|
||||
CKeyEntry *entries;
|
||||
int numEntries;
|
||||
int numEntries; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
||||
|
||||
CKeyArray(void) : entries(nil), numEntries(0) {}
|
||||
~CKeyArray(void) { Unload(); }
|
||||
void Load(uint32 length, uint8 *data, int *offset);
|
||||
void Load(size_t length, uint8 *data, intptr_t *offset);
|
||||
void Unload(void);
|
||||
void Update(wchar *chars);
|
||||
CKeyEntry *BinarySearch(const char *key, CKeyEntry *entries, int16 low, int16 high);
|
||||
@ -45,11 +45,11 @@ class CData
|
||||
{
|
||||
public:
|
||||
wchar *chars;
|
||||
int numChars;
|
||||
int numChars; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
||||
|
||||
CData(void) : chars(nil), numChars(0) {}
|
||||
~CData(void) { Unload(); }
|
||||
void Load(uint32 length, uint8 *data, int *offset);
|
||||
void Load(size_t length, uint8 *data, intptr_t *offset);
|
||||
void Unload(void);
|
||||
};
|
||||
|
||||
|
@ -64,7 +64,7 @@ CWeaponInfo::LoadWeaponData(void)
|
||||
CAnimBlendAssociation *animAssoc;
|
||||
AnimationId animId;
|
||||
|
||||
int bp, buflen;
|
||||
size_t bp, buflen;
|
||||
int lp, linelen;
|
||||
|
||||
CFileMgr::SetDir("DATA");
|
||||
|
Reference in New Issue
Block a user