Z座標計算方法変えた
This commit is contained in:
@@ -37,7 +37,7 @@ class BG
|
|||||||
float aspect = disw / dish;
|
float aspect = disw / dish;
|
||||||
disw /= 2;
|
disw /= 2;
|
||||||
dish /= 2;
|
dish /= 2;
|
||||||
float z = offsetz / 1025f;
|
float z = offsetz;
|
||||||
glColor3f(1.0, 1.0, 1.0);
|
glColor3f(1.0, 1.0, 1.0);
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|||||||
@@ -622,7 +622,7 @@ class PetitComputer
|
|||||||
glViewport(x, y, w, h);
|
glViewport(x, y, w, h);
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glOrtho(0, w, h, 0, 10,-10/*-256, 1024*/);
|
glOrtho(0, w, h, 0, 1024, -2048);
|
||||||
}
|
}
|
||||||
void renderGraphic()
|
void renderGraphic()
|
||||||
{
|
{
|
||||||
@@ -1064,11 +1064,11 @@ class PetitComputer
|
|||||||
parser = new Parser(
|
parser = new Parser(
|
||||||
//readText("./SYS/GAME6TALK.TXT").to!wstring
|
//readText("./SYS/GAME6TALK.TXT").to!wstring
|
||||||
//readText("./SYS/GAME7EXPAD.TXT").to!wstring
|
//readText("./SYS/GAME7EXPAD.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
|
||||||
@@ -1462,7 +1462,7 @@ class PetitComputer
|
|||||||
int gprio;
|
int gprio;
|
||||||
void renderGraphicPage(int display, float w, float h)
|
void renderGraphicPage(int display, float w, float h)
|
||||||
{
|
{
|
||||||
float z = gprio / 1025f;
|
float z = gprio;
|
||||||
glColor3f(1.0, 1.0, 1.0);
|
glColor3f(1.0, 1.0, 1.0);
|
||||||
glBindTexture(GL_TEXTURE_2D, GRP[showPage[display]].glTexture);
|
glBindTexture(GL_TEXTURE_2D, GRP[showPage[display]].glTexture);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1489,19 +1489,22 @@ class PetitComputer
|
|||||||
for(int x = 0; x < consoleWidth4; x++)
|
for(int x = 0; x < consoleWidth4; x++)
|
||||||
{
|
{
|
||||||
auto back = consoleColorGL[console4[y][x].backColor];
|
auto back = consoleColorGL[console4[y][x].backColor];
|
||||||
|
if(back)
|
||||||
|
{
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f(x * 8, y * 8 + 8, 0.9f);
|
glVertex3f(x * 8, y * 8 + 8, 1024);
|
||||||
glVertex3f(x * 8, y * 8, 0.9f);
|
glVertex3f(x * 8, y * 8, 1024);
|
||||||
glVertex3f(x * 8 + 8, y * 8, 0.9f);
|
glVertex3f(x * 8 + 8, y * 8, 1024);
|
||||||
glVertex3f(x * 8 + 8, y * 8 + 8, 0.9f);
|
glVertex3f(x * 8 + 8, y * 8 + 8, 1024);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -256);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -256);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1513,7 +1516,7 @@ class PetitComputer
|
|||||||
auto fore = consoleColorGL[console4[y][x].foreColor];
|
auto fore = consoleColorGL[console4[y][x].foreColor];
|
||||||
auto rect = &fontTable[console4[y][x].character];
|
auto rect = &fontTable[console4[y][x].character];
|
||||||
glColor4ubv(cast(ubyte*)&fore);
|
glColor4ubv(cast(ubyte*)&fore);
|
||||||
float z = console4[y][x].z / 1025f;
|
int z = console4[y][x].z;
|
||||||
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
||||||
glVertex3f((x * 8), (y * 8 + 8), z);
|
glVertex3f((x * 8), (y * 8 + 8), z);
|
||||||
glTexCoord2f((rect.x) / 512f - 1, (rect.y) / 512f - 1);
|
glTexCoord2f((rect.x) / 512f - 1, (rect.y) / 512f - 1);
|
||||||
@@ -1533,19 +1536,22 @@ class PetitComputer
|
|||||||
for(int x = 0; x < consoleWidth; x++)
|
for(int x = 0; x < consoleWidth; x++)
|
||||||
{
|
{
|
||||||
auto back = consoleColorGL[console[y][x].backColor];
|
auto back = consoleColorGL[console[y][x].backColor];
|
||||||
|
if(back)
|
||||||
|
{
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f((x * 8), (y * 8 + 8), 1f);
|
glVertex3f(x * 8, y * 8 + 8, 1024);
|
||||||
glVertex3f((x * 8), (y * 8), 1f);
|
glVertex3f(x * 8, y * 8, 1024);
|
||||||
glVertex3f((x * 8 + 8), (y * 8), 1f);
|
glVertex3f(x * 8 + 8, y * 8, 1024);
|
||||||
glVertex3f((x * 8 + 8), (y * 8 + 8), 1f);
|
glVertex3f(x * 8 + 8, y * 8 + 8, 1024);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8 + 8) , -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -256);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -256);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1556,7 +1562,7 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
auto fore = consoleColorGL[console[y][x].foreColor];
|
auto fore = consoleColorGL[console[y][x].foreColor];
|
||||||
auto rect = &fontTable[console[y][x].character];
|
auto rect = &fontTable[console[y][x].character];
|
||||||
float z = console[y][x].z / 1025f;
|
float z = console[y][x].z;
|
||||||
glColor4ubv(cast(ubyte*)&fore);
|
glColor4ubv(cast(ubyte*)&fore);
|
||||||
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
||||||
glVertex3f((x * 8), (y * 8 + 8), z);
|
glVertex3f((x * 8), (y * 8 + 8), z);
|
||||||
@@ -1581,19 +1587,22 @@ class PetitComputer
|
|||||||
for(int x = 0; x < consoleWidthDisplay1; x++)
|
for(int x = 0; x < consoleWidthDisplay1; x++)
|
||||||
{
|
{
|
||||||
auto back = consoleColorGL[consoleDisplay1[y][x].backColor];
|
auto back = consoleColorGL[consoleDisplay1[y][x].backColor];
|
||||||
|
if(back)
|
||||||
|
{
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f((x * 8), (y * 8 + 8), 0.9f);
|
glVertex3f(x * 8, y * 8 + 8, 1024);
|
||||||
glVertex3f((x * 8), (y * 8), 0.9f);
|
glVertex3f(x * 8, y * 8, 1024);
|
||||||
glVertex3f((x * 8 + 8), (y * 8), 0.9f);
|
glVertex3f(x * 8 + 8, y * 8, 1024);
|
||||||
glVertex3f((x * 8 + 8), (y * 8 + 8), 0.9f);
|
glVertex3f(x * 8 + 8, y * 8 + 8, 1024);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -256);
|
||||||
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -256);
|
||||||
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -256);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1604,7 +1613,7 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
auto fore = consoleColorGL[consoleDisplay1[y][x].foreColor];
|
auto fore = consoleColorGL[consoleDisplay1[y][x].foreColor];
|
||||||
auto rect = &fontTable[consoleDisplay1[y][x].character];
|
auto rect = &fontTable[consoleDisplay1[y][x].character];
|
||||||
float z = consoleDisplay1[y][x].z / 1025f;
|
float z = consoleDisplay1[y][x].z;
|
||||||
glColor4ubv(cast(ubyte*)&fore);
|
glColor4ubv(cast(ubyte*)&fore);
|
||||||
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
||||||
glVertex3f((x * 8), (y * 8 + 8), z);
|
glVertex3f((x * 8), (y * 8 + 8), z);
|
||||||
|
|||||||
@@ -693,7 +693,7 @@ class Sprite
|
|||||||
int v = cast(int)sprite.v;
|
int v = cast(int)sprite.v;
|
||||||
int u2 = cast(int)sprite.u + sprite.w;//-1
|
int u2 = cast(int)sprite.u + sprite.w;//-1
|
||||||
int v2 = cast(int)sprite.v + sprite.h;
|
int v2 = cast(int)sprite.v + sprite.h;
|
||||||
z = (sprite.z - 1) / 1025f;//スプライトの描画順が一番上だけどスプライトは最後に描画しないといけないのでZ - 1で一番上にする
|
z = (sprite.z - 1);//スプライトの描画順が一番上だけどスプライトは最後に描画しないといけないのでZ - 1で一番上にする
|
||||||
float flipx = cast(float)sprite.scalex, flipy = cast(float)sprite.scaley, flipx2 = x, flipy2 = y;
|
float flipx = cast(float)sprite.scalex, flipy = cast(float)sprite.scaley, flipx2 = x, flipy2 = y;
|
||||||
if(sprite.attr & SpriteAttr.hflip)
|
if(sprite.attr & SpriteAttr.hflip)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user