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 // // 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 // determine if lightmap blending should be done
Terrarum.gameConfig["smoothlighting"] = KeyToggler.isOn(KEY_LIGHTMAP_SMOOTH) Terrarum.gameConfig["smoothlighting"] = KeyToggler.isOn(KEY_LIGHTMAP_SMOOTH)

View File

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