tiny bit of compatibility with Windows 10, (I might broke controllers support; it checks if 0th controller is valid, which in real case, zeroth "controller" may be just keyboards or USB mouse receiver)

Former-commit-id: 5a55035e0181fd78e19eb961fbfbef6c3fcb583c
Former-commit-id: 38e224cebb97386f737c207536289a7a28368e07
This commit is contained in:
Song Minjae
2016-11-16 02:24:19 +09:00
parent 0d2c5f6815
commit da93bd695c
2 changed files with 21 additions and 5 deletions

View File

@@ -229,7 +229,9 @@ constructor() : BasicGameState() {
/////////////////////////
// app-related updates //
/////////////////////////
Terrarum.appgc.setVSync(Terrarum.appgc.fps >= Terrarum.VSYNC_TRIGGER_THRESHOLD)
if (!Terrarum.isWin81) {
Terrarum.appgc.setVSync(Terrarum.appgc.fps >= Terrarum.VSYNC_TRIGGER_THRESHOLD) // windows 10 has some trouble with this...
}
// determine if lightmap blending should be done
Terrarum.gameConfig["smoothlighting"] = KeyToggler.isOn(KEY_LIGHTMAP_SMOOTH)

View File

@@ -86,7 +86,16 @@ constructor(gamename: String) : StateBasedGame(gamename) {
fontGame = GameFontWhite()
fontSmallNumbers = TinyAlphNum()
hasController = gc.input.controllerCount > 0
try {
hasController = gc.input.controllerCount > 0
// check if the first controller is actually available
Controllers.getController(0).getAxisValue(0)
}
catch (e: ArrayIndexOutOfBoundsException) {
hasController = false
}
if (hasController) {
for (c in 0..Controllers.getController(0).axisCount - 1) {
Controllers.getController(0).setDeadZone(c, CONTROLLER_DEADZONE)
@@ -140,12 +149,14 @@ constructor(gamename: String) : StateBasedGame(gamename) {
lateinit var ingame: StateInGame
lateinit var gameConfig: GameConfig
lateinit var OSName: String
lateinit var OSName: String // System.getProperty("os.name")
private set
lateinit var OSVersion: String
lateinit var OSVersion: String // System.getProperty("os.version")
private set
lateinit var OperationSystem: String
lateinit var OperationSystem: String // all caps "WINDOWS, "OSX", "LINUX", "SOLARIS", "UNKNOWN"
private set
val isWin81: Boolean
get() = OperationSystem == "WINDOWS" && OSVersion.toDouble() >= 8.1
lateinit var defaultDir: String
private set
lateinit var defaultSaveDir: String
@@ -296,6 +307,9 @@ constructor(gamename: String) : StateBasedGame(gamename) {
defaultSaveDir = defaultDir + "/Saves"
configDir = defaultDir + "/config.json"
println("os.name: '$OSName'")
println("os.version: '$OSVersion'")
}
private fun createDirs() {