SPHOMEのバグ修正とLinuxでコンパイル通るようにした
This commit is contained in:
@@ -490,6 +490,7 @@ class Compiler
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
goto default;
|
||||||
default:
|
default:
|
||||||
stderr.writeln("ERROR");
|
stderr.writeln("ERROR");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user