From 895c1208927936e330c5aa021e93764f9a3dd5b1 Mon Sep 17 00:00:00 2001 From: otya128 Date: Wed, 26 Aug 2015 13:44:43 +0900 Subject: [PATCH] =?UTF-8?q?SPHOME=E3=81=AE=E3=83=90=E3=82=B0=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=81=A8Linux=E3=81=A7=E3=82=B3=E3=83=B3=E3=83=91?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E9=80=9A=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SMILEBASIC/compiler.d | 1 + SMILEBASIC/petitcomputer.d | 11 +++++------ SMILEBASIC/sprite.d | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SMILEBASIC/compiler.d b/SMILEBASIC/compiler.d index fd853ed..d3f8737 100644 --- a/SMILEBASIC/compiler.d +++ b/SMILEBASIC/compiler.d @@ -490,6 +490,7 @@ class Compiler break; } } + goto default; default: stderr.writeln("ERROR"); break; diff --git a/SMILEBASIC/petitcomputer.d b/SMILEBASIC/petitcomputer.d index 8c2cee5..a0138fa 100644 --- a/SMILEBASIC/petitcomputer.d +++ b/SMILEBASIC/petitcomputer.d @@ -472,7 +472,7 @@ class PetitComputer int keybufferpos; int keybufferlen; //解析した結果キー入力のバッファは127くらい - wchar[] keybuffer = new wchar[128]; + wchar[] keybuffer;// = new wchar[128];//Linuxだとこうやって確保した場合書き込むとSEGV void sendKey(wchar key) { keybuffer[keybufferpos] = cast(wchar)key; @@ -482,7 +482,6 @@ class PetitComputer keybufferpos = (keybufferpos + 1) % keybuffer.length; } Mutex grpmutex; - otya.smilebasic.draw.Draw draw; int displaynum; void renderGraphic() { @@ -659,7 +658,6 @@ class PetitComputer //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //glAlphaFunc(GL_GEQUAL, 0.5); //glEnable(GL_ALPHA_TEST); - draw = new otya.smilebasic.draw.Draw(this); // sprite.spset(0, 0); // sprite.spofs(0, 9, 8); //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -834,6 +832,7 @@ class PetitComputer int maincnt; void run() { + keybuffer = new wchar[128]; init(); SDL_Init(SDL_INIT_VIDEO); /+for(int i = 0; i < GRPFColor.length; i++) @@ -847,20 +846,20 @@ class PetitComputer consolem = new Mutex(); keybuffermutex = new Mutex(); grpmutex = new Mutex(); + sprite = new Sprite(this); core.thread.Thread thread = new core.thread.Thread(&render); thread.start(); - sprite = new Sprite(this); for(int i = 0; i < bg.length; i++) bg[i] = new BG(this); auto startTicks = SDL_GetTicks(); //とりあえず auto parser = new Parser( //readText("./SYS/GAME6TALK.TXT").to!wstring - readText("./SYS/GAME4SHOOTER.TXT").to!wstring + //readText("./SYS/GAME4SHOOTER.TXT").to!wstring //readText("./SYS/GAME2RPG.TXT").to!wstring //readText("./SYS/GAME1DOTRC.TXT").to!wstring //readText(input("LOAD PROGRAM:", true).to!string).to!wstring - //readText("./SYS/EX8TECDEMO.TXT").to!wstring + readText("./SYS/EX8TECDEMO.TXT").to!wstring //readText("./SYS/EX1TEXT.TXT").to!wstring //readText("FIZZBUZZ.TXT").to!wstring //readText("TEST.TXT").to!wstring diff --git a/SMILEBASIC/sprite.d b/SMILEBASIC/sprite.d index 27ce63d..df98c15 100644 --- a/SMILEBASIC/sprite.d +++ b/SMILEBASIC/sprite.d @@ -425,7 +425,7 @@ class Sprite { int x = cast(int)sprite.x;// - cast(int)(sprite.homex * sprite.scalex); int y = cast(int)sprite.y;// - cast(int)(sprite.homey * sprite.scaley); - auto homex2 = ((sprite.w / 2 ) - sprite.homex) / dish; + auto homex2 = ((sprite.w / 2 ) - sprite.homex) / disw; auto homey2 = ((sprite.h / 2 ) - sprite.homey) / dish; int w = sprite.w; int h = sprite.h;