OpenDriver2 / REDRIVER2

Driver 2 Playstation game reverse engineering effort
MIT License
1.04k stars 60 forks source link

Adapt to 64 bit platforms #188

Open SoapyMan opened 1 year ago

SoapyMan commented 1 year ago

In order to build and run a 64 bit version of the game, following steps needs to be done:

Fireboyd78 commented 1 year ago

What's the point of this though? We don't even have proper 60FPS support and the game runs perfectly well in 32-bit mode.

As for handling pointer size differences, it would suffice to convert the 32-bit versions and resolve them into 64-bit ones. Basically think of _OUT structures (stored on disc) that get converted to internal ones (in memory). This would probably require splitting some structures up into several pieces so we don't have to maintain 2 identical structs in 64-bit mode; 32-bit mode would basically just be typedef MS_TARGET MS_TARGET_OUT, otherwise the _OUT structure needs to be defined as well.

SoapyMan commented 1 year ago

What's the point of this though? We don't even have proper 60FPS support and the game runs perfectly well in 32-bit mode.

The main point here is a bit better portability for future ports. For example, XBox UWP, (also Android in some cases) require apps to be compiled as 64 bit only. Also for x64 Linux it would be better to have it instead of carrying i386 versions packages (as there could be lack of them).