Add a simple Python script that does a basic normalization on
the game INI files and run it across all the files we have. This
normalizes the sections, their order and comments, and the whitespace
within them.
It also removes the sections Video_Hardware, Gecko, and Wii, which
should not be in the game INI files we ship by default.
The MS INI parser and most other INI parsing libraries APIs only support
comments at the beginning of lines. Right now, some Game INI files use sections
like:
[OnFrame]#Add memory patches here
But these section headers are parsed separately, so this should not break
them.
This reverts commit cce809ac90.
The code was actually correct: "expr" is never allocated when an error is
returned. This means when the expression parser fails, deleting "expr" means
deleting an uninitialized pointer.
It's possible to configure to use the vertex color as lightning source without enabling the vertex color at all.
The old implementation will use zero, but it seems to be wrong (prooven by THPS3), more likely is to disable
the lightning and just return the global color.
This fixes THPS3 on OpenGL, but it isn't verifed on hardware
The current shader uses bit operations which aren't supported by glsl120.
A workaround with round + frac + lots of additions would be possible, but unreadable.
So I think it isn't worth
But this fixes the annoying shader compilation error message
This would allow a new socket to be created with the same port after
we close it. However, we can't reuse it immediately because of the TCP
TIME-WAIT state.
This should be transparent, but it may cause regressions.
The idea here is that now all players, including the host of the server,
talk to the server through TCP/IP networking. This significantly reduces
our codepaths through netplay, and will prevent strange local-only bugs
from happening.
The cleanup isn't 100% finished yet. The NetPlay dialog still drives the
server through private APIs. I eventually want to sanction off the server
entirely, so all communication is done through TCP/IP. This will allow us
to have high-traffic public servers that can relay multiple games and
lobbies at a time, and split off channel and game management to people
other than the host.
This is all still just a pipe dream, though.