godot/main/SCsub
Rémi Verschelde 0749906d8a Gamepad: Fix parsing order for SDL2 controller databases
We were overriding values from `gamecontrollerdb.txt` (current, updated
upstream) with `gamecontrollerdb_205.txt` (legacy, SDL 2.0.5) and then
`gamecontrollerdb_204.txt` (legacy, SDL 2.0.4).

There was a comment to warn about this but it seems it did not prevent
using the wrong order for all this time...

Now `gamecontrollerdb.txt` mappings will properly override outdated
ones present in the `204` and `205` variants.
2020-01-08 12:26:53 +01:00

36 lines
1.6 KiB
Python

#!/usr/bin/env python
Import('env')
from platform_methods import run_in_subprocess
import main_builders
env.main_sources = []
env.add_source_files(env.main_sources, "*.cpp")
# Order matters here. Higher index controller database files write on top of lower index database files.
controller_databases = ["#main/gamecontrollerdb_204.txt", "#main/gamecontrollerdb_205.txt", "#main/gamecontrollerdb.txt", "#main/godotcontrollerdb.txt"]
env.Depends("#main/default_controller_mappings.gen.cpp", controller_databases)
env.CommandNoCache("#main/default_controller_mappings.gen.cpp", controller_databases, run_in_subprocess(main_builders.make_default_controller_mappings))
# Don't warn about duplicate entry here, we need it registered manually for first build,
# even if later builds will pick it up twice due to above *.cpp globbing.
env.add_source_files(env.main_sources, "#main/default_controller_mappings.gen.cpp", warn_duplicates=False)
env.Depends("#main/splash.gen.h", "#main/splash.png")
env.CommandNoCache("#main/splash.gen.h", "#main/splash.png", run_in_subprocess(main_builders.make_splash))
env.Depends("#main/splash_editor.gen.h", "#main/splash_editor.png")
env.CommandNoCache("#main/splash_editor.gen.h", "#main/splash_editor.png", run_in_subprocess(main_builders.make_splash_editor))
env.Depends("#main/app_icon.gen.h", "#main/app_icon.png")
env.CommandNoCache("#main/app_icon.gen.h", "#main/app_icon.png", run_in_subprocess(main_builders.make_app_icon))
if env["tools"]:
SConscript('tests/SCsub')
lib = env.add_library("main", env.main_sources)
env.Prepend(LIBS=[lib])