1
0

SPHOMEのバグ修正とLinuxでコンパイル通るようにした

This commit is contained in:
otya128
2015-08-26 13:44:43 +09:00
parent aa27d88c24
commit 895c120892
3 changed files with 7 additions and 7 deletions

View File

@@ -490,6 +490,7 @@ class Compiler
break; break;
} }
} }
goto default;
default: default:
stderr.writeln("ERROR"); stderr.writeln("ERROR");
break; break;

View File

@@ -472,7 +472,7 @@ class PetitComputer
int keybufferpos; int keybufferpos;
int keybufferlen; int keybufferlen;
//解析した結果キー入力のバッファは127くらい //解析した結果キー入力のバッファは127くらい
wchar[] keybuffer = new wchar[128]; wchar[] keybuffer;// = new wchar[128];//Linuxだとこうやって確保した場合書き込むとSEGV
void sendKey(wchar key) void sendKey(wchar key)
{ {
keybuffer[keybufferpos] = cast(wchar)key; keybuffer[keybufferpos] = cast(wchar)key;
@@ -482,7 +482,6 @@ class PetitComputer
keybufferpos = (keybufferpos + 1) % keybuffer.length; keybufferpos = (keybufferpos + 1) % keybuffer.length;
} }
Mutex grpmutex; Mutex grpmutex;
otya.smilebasic.draw.Draw draw;
int displaynum; int displaynum;
void renderGraphic() void renderGraphic()
{ {
@@ -659,7 +658,6 @@ class PetitComputer
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glAlphaFunc(GL_GEQUAL, 0.5); //glAlphaFunc(GL_GEQUAL, 0.5);
//glEnable(GL_ALPHA_TEST); //glEnable(GL_ALPHA_TEST);
draw = new otya.smilebasic.draw.Draw(this);
// sprite.spset(0, 0); // sprite.spset(0, 0);
// sprite.spofs(0, 9, 8); // sprite.spofs(0, 9, 8);
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -834,6 +832,7 @@ class PetitComputer
int maincnt; int maincnt;
void run() void run()
{ {
keybuffer = new wchar[128];
init(); init();
SDL_Init(SDL_INIT_VIDEO); SDL_Init(SDL_INIT_VIDEO);
/+for(int i = 0; i < GRPFColor.length; i++) /+for(int i = 0; i < GRPFColor.length; i++)
@@ -847,20 +846,20 @@ class PetitComputer
consolem = new Mutex(); consolem = new Mutex();
keybuffermutex = new Mutex(); keybuffermutex = new Mutex();
grpmutex = new Mutex(); grpmutex = new Mutex();
sprite = new Sprite(this);
core.thread.Thread thread = new core.thread.Thread(&render); core.thread.Thread thread = new core.thread.Thread(&render);
thread.start(); thread.start();
sprite = new Sprite(this);
for(int i = 0; i < bg.length; i++) for(int i = 0; i < bg.length; i++)
bg[i] = new BG(this); bg[i] = new BG(this);
auto startTicks = SDL_GetTicks(); auto startTicks = SDL_GetTicks();
//とりあえず //とりあえず
auto parser = new Parser( auto parser = new Parser(
//readText("./SYS/GAME6TALK.TXT").to!wstring //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/GAME2RPG.TXT").to!wstring
//readText("./SYS/GAME1DOTRC.TXT").to!wstring //readText("./SYS/GAME1DOTRC.TXT").to!wstring
//readText(input("LOAD PROGRAM:", true).to!string).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("./SYS/EX1TEXT.TXT").to!wstring
//readText("FIZZBUZZ.TXT").to!wstring //readText("FIZZBUZZ.TXT").to!wstring
//readText("TEST.TXT").to!wstring //readText("TEST.TXT").to!wstring

View File

@@ -425,7 +425,7 @@ class Sprite
{ {
int x = cast(int)sprite.x;// - cast(int)(sprite.homex * sprite.scalex); int x = cast(int)sprite.x;// - cast(int)(sprite.homex * sprite.scalex);
int y = cast(int)sprite.y;// - cast(int)(sprite.homey * sprite.scaley); 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; auto homey2 = ((sprite.h / 2 ) - sprite.homey) / dish;
int w = sprite.w; int w = sprite.w;
int h = sprite.h; int h = sprite.h;