Open flibitijibibo opened 12 years ago
This affects MTObjects' compilation, as a couple assembly routines in MTObjectsASM will mess with the ebx register, which -fPIC won't allow.
It's probably worth noting that once all the assembly is gone, pretty much every occurence of cdecl, stdcall and other call convention macros like that can go away too. They only exist to determine in which order variables should be placed on the stackframe, which we don't care about if we only use C and C++.
There are a crapton of routines/functions/"stuffs" that are written for tons of different architectures, platforms, and even multiple compilers for one platform.
It's time to dispose of this junk.
This is the checklist to resolve this:
The goal is to have 100% of the code work on any platform/architecture. We can't be updating the code or adding another implementation of all these functions every time something new is out, so let's sit down and dispose of all of that. If something was poorly designed to only work on x86, redesign it.
Platform specific code should be limited to things like save directories, or things where the feature is absolutely going to be different on different operating systems.