From f49a71b58148ecaf49d7e3c8dce21164633c0476 Mon Sep 17 00:00:00 2001 From: Brett Bergstrom Date: Fri, 26 Jun 2026 10:08:59 -0500 Subject: [PATCH] Fix compilation with DMD v2.112.0 --- SMILEBASIC/VM.d | 1 + SMILEBASIC/builtinfunctions.d | 1 + SMILEBASIC/console.d | 1 + SMILEBASIC/petitcomputer.d | 5 +++-- dub.json | 35 ++++++++++++++++++++++++----------- 5 files changed, 30 insertions(+), 13 deletions(-) diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index e302f33..9bee28f 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -9,6 +9,7 @@ import std.uni; import std.utf; import std.conv; import std.stdio; +import undead.string; static import std.algorithm; struct Trace { diff --git a/SMILEBASIC/builtinfunctions.d b/SMILEBASIC/builtinfunctions.d index 5e1f028..89eca3f 100644 --- a/SMILEBASIC/builtinfunctions.d +++ b/SMILEBASIC/builtinfunctions.d @@ -8,6 +8,7 @@ import std.stdio; import std.ascii; import std.range; import std.string; +import undead.string; import std.algorithm; import otya.smilebasic.error; import otya.smilebasic.type; diff --git a/SMILEBASIC/console.d b/SMILEBASIC/console.d index 9115173..7700f28 100644 --- a/SMILEBASIC/console.d +++ b/SMILEBASIC/console.d @@ -4,6 +4,7 @@ import derelict.sdl2.image; import derelict.opengl3.gl; import otya.smilebasic.petitcomputer; import std.string; +import undead.string; import std.stdio; import std.file; import std.conv; diff --git a/SMILEBASIC/petitcomputer.d b/SMILEBASIC/petitcomputer.d index f4ddf84..4e55914 100644 --- a/SMILEBASIC/petitcomputer.d +++ b/SMILEBASIC/petitcomputer.d @@ -12,6 +12,7 @@ static import std.algorithm; import core.stdc.stdio; import core.sync.mutex; import core.sync.condition; +import core.thread; static import core.stdc.string; import otya.smilebasic.sprite; import otya.smilebasic.error; @@ -704,8 +705,8 @@ class PetitComputer return; } import std.algorithm : clamp, min, max; - short stickx = SDL_GameControllerGetAxis(controller, x).clamp(-short.max, short.max); - short sticky = SDL_GameControllerGetAxis(controller, y).clamp(-short.max, short.max); + short stickx = SDL_GameControllerGetAxis(controller, x).clamp(cast(short)-short.max, short.max); + short sticky = SDL_GameControllerGetAxis(controller, y).clamp(cast(short)-short.max, short.max); s.internalX = stickx / (short.max / Stick.max); s.internalY = -sticky / (short.max / Stick.max); stick(id, s); diff --git a/dub.json b/dub.json index 3c531eb..0f82cb3 100644 --- a/dub.json +++ b/dub.json @@ -1,14 +1,27 @@ { - "name": "otyasmilebasic", - "dependencies": { - "derelict-sdl2": "1.9.7", - "derelict-gl3": "1.0.15" - }, - "sourcePaths": ["SMILEBASIC/"], - "importPaths": ["SMILEBASIC/"], - "targetType": "executable", - "buildRequirements": ["allowWarnings"], + "buildRequirements": [ + "allowWarnings" + ], "targetPath": "out", + "name": "otyasmilebasic", + "copyFiles": [ + "SMILEBASIC/TEST.txt", + "SMILEBASIC/resources/*.txt", + "SMILEBASIC/spdef.csv", + "SMILEBASIC/dialogresource", + "SDL_GameControllerDB/gamecontrollerdb.txt" + ], + "sourcePaths": [ + "SMILEBASIC/" + ], + "dependencies": { + "derelict-gl3": "1.0.15", + "derelict-sdl2": "1.9.7", + "undead": "~>1.2.0" + }, + "targetType": "executable", "workingDirectory": "out", - "copyFiles": ["SMILEBASIC/TEST.txt", "SMILEBASIC/resources/*.txt", "SMILEBASIC/spdef.csv", "SMILEBASIC/dialogresource", "SDL_GameControllerDB/gamecontrollerdb.txt"] -} + "importPaths": [ + "SMILEBASIC/" + ] +} \ No newline at end of file