描画をいじりRelease
This commit is contained in:
@@ -146,7 +146,7 @@
|
|||||||
<pic>0</pic>
|
<pic>0</pic>
|
||||||
<cov>0</cov>
|
<cov>0</cov>
|
||||||
<nofloat>0</nofloat>
|
<nofloat>0</nofloat>
|
||||||
<Dversion>2.043</Dversion>
|
<Dversion>2</Dversion>
|
||||||
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
|
<ignoreUnsupportedPragmas>0</ignoreUnsupportedPragmas>
|
||||||
<allinst>0</allinst>
|
<allinst>0</allinst>
|
||||||
<stackStomp>0</stackStomp>
|
<stackStomp>0</stackStomp>
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
<cccmd>$(CC) -c</cccmd>
|
<cccmd>$(CC) -c</cccmd>
|
||||||
<ccTransOpt>1</ccTransOpt>
|
<ccTransOpt>1</ccTransOpt>
|
||||||
<program>$(DMDInstallDir)windows\bin\dmd.exe</program>
|
<program>$(DMDInstallDir)windows\bin\dmd.exe</program>
|
||||||
<imppath />
|
<imppath>$(DMDInstallDir)src</imppath>
|
||||||
<fileImppath />
|
<fileImppath />
|
||||||
<outdir>$(ConfigurationName)</outdir>
|
<outdir>$(ConfigurationName)</outdir>
|
||||||
<objdir>$(OutDir)</objdir>
|
<objdir>$(OutDir)</objdir>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<debuglevel>0</debuglevel>
|
<debuglevel>0</debuglevel>
|
||||||
<debugids />
|
<debugids />
|
||||||
<versionlevel>0</versionlevel>
|
<versionlevel>0</versionlevel>
|
||||||
<versionids />
|
<versionids>NDirectMode</versionids>
|
||||||
<dump_source>0</dump_source>
|
<dump_source>0</dump_source>
|
||||||
<mapverbosity>0</mapverbosity>
|
<mapverbosity>0</mapverbosity>
|
||||||
<createImplib>0</createImplib>
|
<createImplib>0</createImplib>
|
||||||
@@ -191,8 +191,8 @@
|
|||||||
<cv2pdbOptions />
|
<cv2pdbOptions />
|
||||||
<objfiles />
|
<objfiles />
|
||||||
<linkswitches />
|
<linkswitches />
|
||||||
<libfiles />
|
<libfiles>DerelictSDL2.lib;DerelictUtil.lib;DerelictGL3.lib;kernel32.lib</libfiles>
|
||||||
<libpaths />
|
<libpaths>$(DMDInstallDir)windows\lib\</libpaths>
|
||||||
<deffile />
|
<deffile />
|
||||||
<resfile />
|
<resfile />
|
||||||
<exefile>$(OutDir)\$(ProjectName).exe</exefile>
|
<exefile>$(OutDir)\$(ProjectName).exe</exefile>
|
||||||
@@ -213,7 +213,7 @@
|
|||||||
<File path="main.d" />
|
<File path="main.d" />
|
||||||
<File path="node.d" />
|
<File path="node.d" />
|
||||||
<File path="parser.d" />
|
<File path="parser.d" />
|
||||||
<File path="petitcomputer.d" />
|
<File path="petitcomputer.d" perConfig="true" />
|
||||||
<File path="sprite.d" />
|
<File path="sprite.d" />
|
||||||
<File path="systemvariable.d" />
|
<File path="systemvariable.d" />
|
||||||
<File path="TEST.txt" />
|
<File path="TEST.txt" />
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ class VMSlot
|
|||||||
}
|
}
|
||||||
class VM
|
class VM
|
||||||
{
|
{
|
||||||
static const directModeSlot = 5;
|
VMSlot[5] slots;
|
||||||
VMSlot[6] slots;
|
|
||||||
int slot;
|
int slot;
|
||||||
VMSlot currentSlot;
|
VMSlot currentSlot;
|
||||||
int stacki;
|
int stacki;
|
||||||
@@ -58,6 +57,11 @@ class VM
|
|||||||
{
|
{
|
||||||
currentSlot = slots[slot];
|
currentSlot = slots[slot];
|
||||||
}
|
}
|
||||||
|
void directSlot(Code[] code, int len, VMVariable[wstring] globalTable, Function[wstring] functions, DataTable gdt/*GNU Debugging Tools*/,
|
||||||
|
int[wstring] globalLabel, DebugInfo dinfo)
|
||||||
|
{
|
||||||
|
this.currentSlot.code ~= code;
|
||||||
|
}
|
||||||
void loadSlot(int slot, Code[] code, int len, VMVariable[wstring] globalTable, Function[wstring] functions, DataTable gdt/*GNU Debugging Tools*/,
|
void loadSlot(int slot, Code[] code, int len, VMVariable[wstring] globalTable, Function[wstring] functions, DataTable gdt/*GNU Debugging Tools*/,
|
||||||
int[wstring] globalLabel, DebugInfo dinfo)
|
int[wstring] globalLabel, DebugInfo dinfo)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,11 +39,11 @@ class BG
|
|||||||
dish /= 2;
|
dish /= 2;
|
||||||
float z = offsetz / 1025f;
|
float z = offsetz / 1025f;
|
||||||
glColor3f(1.0, 1.0, 1.0);
|
glColor3f(1.0, 1.0, 1.0);
|
||||||
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glTranslatef((-offsetx + homex) / disw, -((-offsety + homey) / dish), z);
|
glTranslatef((-offsetx + homex), ((-offsety + homey)), z);
|
||||||
glScalef(1.0f / aspect, 1.0f, 1.0f);
|
glScalef(scalex, scaley, 1f);
|
||||||
glRotatef(360 - r, 0.0f, 0.0f, 1.0f );
|
glRotatef(360 - r, 0.0f, 0.0f, 1.0f );
|
||||||
glScalef(scalex * aspect, scaley, 1f);
|
|
||||||
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
||||||
//viewport
|
//viewport
|
||||||
//clipx,clipy
|
//clipx,clipy
|
||||||
@@ -66,13 +66,13 @@ class BG
|
|||||||
int w = 16;
|
int w = 16;
|
||||||
int h = 16;
|
int h = 16;
|
||||||
glTexCoord2f((u) / 512f - 1 , (v2) / 512f - 1);
|
glTexCoord2f((u) / 512f - 1 , (v2) / 512f - 1);
|
||||||
glVertex3f((x * w) / disw - 1, 1 - (y * h + h) / dish, 0);
|
glVertex3f((x * w), (y * h + h), 0);
|
||||||
glTexCoord2f((u) / 512f - 1, (v) / 512f - 1);
|
glTexCoord2f((u) / 512f - 1, (v) / 512f - 1);
|
||||||
glVertex3f((x * w) / disw - 1, 1 - (y * h) / dish, 0);
|
glVertex3f((x * w), (y * h), 0);
|
||||||
glTexCoord2f((u2) / 512f - 1, (v) / 512f - 1);
|
glTexCoord2f((u2) / 512f - 1, (v) / 512f - 1);
|
||||||
glVertex3f((x * w + w) / disw - 1, 1 - (y * h) / dish, 0);
|
glVertex3f((x * w + w), (y * h), 0);
|
||||||
glTexCoord2f((u2) / 512f - 1, (v2) / 512f - 1);
|
glTexCoord2f((u2) / 512f - 1, (v2) / 512f - 1);
|
||||||
glVertex3f((x * w + w) / disw - 1, 1 - (y * h + h) / dish, 0);
|
glVertex3f((x * w + w), (y * h + h), 0);
|
||||||
rendercount++;
|
rendercount++;
|
||||||
if(rendercount >= 899)
|
if(rendercount >= 899)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -617,6 +617,13 @@ class PetitComputer
|
|||||||
}
|
}
|
||||||
Paint paint;
|
Paint paint;
|
||||||
int renderstartpos;
|
int renderstartpos;
|
||||||
|
void chScreen(int x, int y, int w, int h)
|
||||||
|
{
|
||||||
|
glViewport(x, y, w, h);
|
||||||
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
glLoadIdentity();
|
||||||
|
glOrtho(0, w, h, 0, 10,-10/*-256, 1024*/);
|
||||||
|
}
|
||||||
void renderGraphic()
|
void renderGraphic()
|
||||||
{
|
{
|
||||||
if(!drawMessageLength) return;
|
if(!drawMessageLength) return;
|
||||||
@@ -632,8 +639,16 @@ class PetitComputer
|
|||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
glDisable(GL_ALPHA_TEST);
|
glDisable(GL_ALPHA_TEST);
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
//glAlphaFunc(GL_GEQUAL, 0.0);
|
//glAlphaFunc(GL_GEQUAL, 0.0);
|
||||||
glViewport(0, 0, 512, 512);
|
void chScreen(int x, int y, int w, int h)
|
||||||
|
{
|
||||||
|
glViewport(x, y, w, h);
|
||||||
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
glLoadIdentity();
|
||||||
|
glOrtho(0, w, 0, h, -256, 1024);//wakaranai
|
||||||
|
}
|
||||||
|
chScreen(0, 0, 511, 511);
|
||||||
DrawType dt;
|
DrawType dt;
|
||||||
auto start = SDL_GetTicks();
|
auto start = SDL_GetTicks();
|
||||||
int i = s;
|
int i = s;
|
||||||
@@ -651,7 +666,7 @@ class PetitComputer
|
|||||||
case DrawType.PSET:
|
case DrawType.PSET:
|
||||||
glBegin(GL_POINTS);
|
glBegin(GL_POINTS);
|
||||||
glColor4ubv(cast(ubyte*)&dm.color);
|
glColor4ubv(cast(ubyte*)&dm.color);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x, dm.y);
|
||||||
glEnd();
|
glEnd();
|
||||||
//draw.gpset(dm.page, dm.x, dm.y ,dm.color);
|
//draw.gpset(dm.page, dm.x, dm.y ,dm.color);
|
||||||
break;
|
break;
|
||||||
@@ -659,8 +674,8 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
glBegin(GL_LINES);
|
glBegin(GL_LINES);
|
||||||
glColor4ubv(cast(ubyte*)&dm.color);
|
glColor4ubv(cast(ubyte*)&dm.color);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x, dm.y);
|
||||||
glVertex2f((dm.x2) / size - 1, (dm.y2) / size - 1);
|
glVertex2f(dm.x2, dm.y2);
|
||||||
//glFlush();
|
//glFlush();
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
@@ -670,10 +685,10 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glColor4ubv(cast(ubyte*)&dm.color);
|
glColor4ubv(cast(ubyte*)&dm.color);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x, dm.y);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y2 + 1) / size - 1);
|
glVertex2f(dm.x, dm.y2);
|
||||||
glVertex2f((dm.x2 + 1) / size - 1, (dm.y2 + 1) / size - 1);
|
glVertex2f(dm.x2, dm.y2);
|
||||||
glVertex2f((dm.x2 + 1) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x2, dm.y);
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
//draw.gfill(dm.page, dm.x, dm.y ,dm.x2, dm.y2, dm.color);
|
//draw.gfill(dm.page, dm.x, dm.y ,dm.x2, dm.y2, dm.color);
|
||||||
@@ -682,10 +697,10 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
glBegin(GL_LINE_LOOP);
|
glBegin(GL_LINE_LOOP);
|
||||||
glColor4ubv(cast(ubyte*)&dm.color);
|
glColor4ubv(cast(ubyte*)&dm.color);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x, dm.y);
|
||||||
glVertex2f((dm.x) / size - 1, (dm.y2) / size - 1);
|
glVertex2f(dm.x, dm.y2);
|
||||||
glVertex2f((dm.x2) / size - 1, (dm.y2) / size - 1);
|
glVertex2f(dm.x2, dm.y2);
|
||||||
glVertex2f((dm.x2) / size - 1, (dm.y) / size - 1);
|
glVertex2f(dm.x2, dm.y);
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
//draw.gbox(dm.page, dm.x, dm.y ,dm.x2, dm.y2, dm.color);
|
//draw.gbox(dm.page, dm.x, dm.y ,dm.x2, dm.y2, dm.color);
|
||||||
@@ -725,7 +740,7 @@ class PetitComputer
|
|||||||
glBindFramebufferEXT(GL_FRAMEBUFFER, old);
|
glBindFramebufferEXT(GL_FRAMEBUFFER, old);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
drawflag = false;
|
drawflag = false;
|
||||||
glViewport(0, 0, 400, 240);
|
this.chScreen(0, 0, 400, 240);
|
||||||
glEnable(GL_ALPHA_TEST);
|
glEnable(GL_ALPHA_TEST);
|
||||||
}
|
}
|
||||||
Button[] buttonTable;
|
Button[] buttonTable;
|
||||||
@@ -787,7 +802,7 @@ class PetitComputer
|
|||||||
|
|
||||||
DerelictGL.load();
|
DerelictGL.load();
|
||||||
DerelictGL3.load();
|
DerelictGL3.load();
|
||||||
bool renderprofile;//e = true;
|
bool renderprofile = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
version(Windows)
|
version(Windows)
|
||||||
@@ -835,7 +850,7 @@ class PetitComputer
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GRPF.createTexture(renderer);
|
GRPF.createTexture(renderer);
|
||||||
glViewport(0, 0, 400, 240);
|
chScreen(0, 0, 400, 240);
|
||||||
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
|
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
version(Windows)
|
version(Windows)
|
||||||
@@ -881,28 +896,25 @@ class PetitComputer
|
|||||||
renderGraphic();
|
renderGraphic();
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
if(xscreenmode == 2)
|
if(xscreenmode == 2)
|
||||||
{
|
{
|
||||||
glViewport(0, 0, 320, 480);
|
chScreen(0, 0, 320, 480);
|
||||||
}
|
}
|
||||||
//描画の順位
|
//描画の順位
|
||||||
//sprite>GRP>console>BG
|
//sprite>GRP>console>BG
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glEnable(GL_BLEND);
|
|
||||||
version(test) glLoadIdentity();
|
version(test) glLoadIdentity();
|
||||||
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
glEnable(GL_BLEND);
|
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
glEnable(GL_BLEND);
|
|
||||||
version(test) glLoadIdentity();
|
version(test) glLoadIdentity();
|
||||||
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
||||||
if(xscreenmode == 2)
|
if(xscreenmode == 2)
|
||||||
@@ -915,18 +927,18 @@ class PetitComputer
|
|||||||
}
|
}
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(40, 0, 320, 240);
|
chScreen(40, 0, 320, 240);
|
||||||
renderGraphicPage(1, 320, 240);
|
renderGraphicPage(1, 320, 240);
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
if(xscreenmode == 2)
|
if(xscreenmode == 2)
|
||||||
{
|
{
|
||||||
glViewport(0, 0, 320, 480);
|
chScreen(0, 0, 320, 480);
|
||||||
}
|
}
|
||||||
renderConsoleGL();
|
renderConsoleGL();
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
version(test) glLoadIdentity();
|
version(test) glLoadIdentity();
|
||||||
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
||||||
@@ -946,12 +958,12 @@ class PetitComputer
|
|||||||
}
|
}
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(40, 0, 320, 240);
|
chScreen(40, 0, 320, 240);
|
||||||
for(int i = bgmax; i < bg.length; i++)
|
for(int i = bgmax; i < bg.length; i++)
|
||||||
{
|
{
|
||||||
bg[i].render(320f, 240f);
|
bg[i].render(320f, 240f);
|
||||||
}
|
}
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
version(test) glLoadIdentity();
|
version(test) glLoadIdentity();
|
||||||
@@ -959,7 +971,7 @@ class PetitComputer
|
|||||||
|
|
||||||
if(xscreenmode == 1)
|
if(xscreenmode == 1)
|
||||||
{
|
{
|
||||||
glViewport(0, 240, 400, 240);
|
chScreen(0, 240, 400, 240);
|
||||||
}
|
}
|
||||||
//http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20081122 みたいな方法もあるけどとりあえず
|
//http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20081122 みたいな方法もあるけどとりあえず
|
||||||
//とりあえず一番楽な方法
|
//とりあえず一番楽な方法
|
||||||
@@ -1456,13 +1468,13 @@ class PetitComputer
|
|||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glTexCoord2f(0 / 512f - 1 , h / 512f - 1);
|
glTexCoord2f(0 / 512f - 1 , h / 512f - 1);
|
||||||
glVertex3f(-1, -1, z);
|
glVertex3f(0, h, z);
|
||||||
glTexCoord2f(0 / 512f - 1, 0 / 512f - 1);
|
glTexCoord2f(0 / 512f - 1, 0 / 512f - 1);
|
||||||
glVertex3f(-1, 1, z);
|
glVertex3f(0, 0, z);
|
||||||
glTexCoord2f(w / 512f - 1, 0 / 512f - 1);
|
glTexCoord2f(w / 512f - 1, 0 / 512f - 1);
|
||||||
glVertex3f(1, 1, z);
|
glVertex3f(w, 0, z);
|
||||||
glTexCoord2f(w / 512f - 1, h / 512f - 1);
|
glTexCoord2f(w / 512f - 1, h / 512f - 1);
|
||||||
glVertex3f(1, -1, z);
|
glVertex3f(w, h, z);
|
||||||
glEnd();
|
glEnd();
|
||||||
//glFlush();
|
//glFlush();
|
||||||
}
|
}
|
||||||
@@ -1478,18 +1490,18 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
auto back = consoleColorGL[console4[y][x].backColor];
|
auto back = consoleColorGL[console4[y][x].backColor];
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f((x * 8) / 160f - 1, 1 - (y * 8 + 8) / 240f, 0.9f);
|
glVertex3f(x * 8, y * 8 + 8, 0.9f);
|
||||||
glVertex3f((x * 8) / 160f - 1, 1 - (y * 8) / 240f, 0.9f);
|
glVertex3f(x * 8, y * 8, 0.9f);
|
||||||
glVertex3f((x * 8 + 8) / 160f - 1, 1 - (y * 8) / 240f, 0.9f);
|
glVertex3f(x * 8 + 8, y * 8, 0.9f);
|
||||||
glVertex3f((x * 8 + 8) / 160f - 1, 1 - (y * 8 + 8) / 240f, 0.9f);
|
glVertex3f(x * 8 + 8, y * 8 + 8, 0.9f);
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8) / 160f - 1, 1 - (CSRY * 8 + 8) / 240f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8) / 160f - 1, 1 - (CSRY * 8) / 240f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 160f - 1, 1 - (CSRY * 8) / 240f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 160f - 1, 1 - (CSRY * 8 + 8) / 240f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1503,13 +1515,13 @@ class PetitComputer
|
|||||||
glColor4ubv(cast(ubyte*)&fore);
|
glColor4ubv(cast(ubyte*)&fore);
|
||||||
float z = console4[y][x].z / 1025f;
|
float z = console4[y][x].z / 1025f;
|
||||||
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
glTexCoord2f((rect.x) / 512f - 1 , (rect.y + 8) / 512f - 1);
|
||||||
glVertex3f((x * 8) / 160f - 1, 1 - (y * 8 + 8) / 240f, 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);
|
||||||
glVertex3f((x * 8) / 160f - 1, 1 - (y * 8) / 240f, z);
|
glVertex3f((x * 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 160f - 1, 1 - (y * 8) / 240f, z);
|
glVertex3f((x * 8 + 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 160f - 1, 1 - (y * 8 + 8) / 240f, z);
|
glVertex3f((x * 8 + 8), (y * 8 + 8), z);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
return;
|
return;
|
||||||
@@ -1522,18 +1534,18 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
auto back = consoleColorGL[console[y][x].backColor];
|
auto back = consoleColorGL[console[y][x].backColor];
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, 1f);
|
glVertex3f((x * 8), (y * 8 + 8), 1f);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8) / 120f, 1f);
|
glVertex3f((x * 8), (y * 8), 1f);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8) / 120f, 1f);
|
glVertex3f((x * 8 + 8), (y * 8), 1f);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, 1f);
|
glVertex3f((x * 8 + 8), (y * 8 + 8), 1f);
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8) / 200f - 1, 1 - (CSRY * 8 + 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8) , -0.9f);
|
||||||
glVertex3f((CSRX * 8) / 200f - 1, 1 - (CSRY * 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 200f - 1, 1 - (CSRY * 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 200f - 1, 1 - (CSRY * 8 + 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1547,13 +1559,13 @@ class PetitComputer
|
|||||||
float z = console[y][x].z / 1025f;
|
float z = console[y][x].z / 1025f;
|
||||||
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) / 200f - 1, 1 - (y * 8 + 8) / 120f, 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);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8) / 120f, z);
|
glVertex3f((x * 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8) / 120f, z);
|
glVertex3f((x * 8 + 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, z);
|
glVertex3f((x * 8 + 8), (y * 8 + 8), z);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
if(xscreenmode != 1)
|
if(xscreenmode != 1)
|
||||||
@@ -1561,7 +1573,7 @@ class PetitComputer
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//下画面
|
//下画面
|
||||||
glViewport(40, 0, 400, 240);
|
chScreen(40, 0, 400, 240);
|
||||||
glBindTexture(GL_TEXTURE_2D, GRPF.glTexture);
|
glBindTexture(GL_TEXTURE_2D, GRPF.glTexture);
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
@@ -1570,18 +1582,18 @@ class PetitComputer
|
|||||||
{
|
{
|
||||||
auto back = consoleColorGL[consoleDisplay1[y][x].backColor];
|
auto back = consoleColorGL[consoleDisplay1[y][x].backColor];
|
||||||
glColor4ubv(cast(ubyte*)&back);
|
glColor4ubv(cast(ubyte*)&back);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, 0.9f);
|
glVertex3f((x * 8), (y * 8 + 8), 0.9f);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8) / 120f, 0.9f);
|
glVertex3f((x * 8), (y * 8), 0.9f);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8) / 120f, 0.9f);
|
glVertex3f((x * 8 + 8), (y * 8), 0.9f);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, 0.9f);
|
glVertex3f((x * 8 + 8), (y * 8 + 8), 0.9f);
|
||||||
}
|
}
|
||||||
if(showCursor && animationCursor)
|
if(showCursor && animationCursor)
|
||||||
{
|
{
|
||||||
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
glColor4ubv(cast(ubyte*)&consoleColorGL[15]);
|
||||||
glVertex3f((CSRX * 8) / 200f - 1, 1 - (CSRY * 8 + 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8 + 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8) / 200f - 1, 1 - (CSRY * 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 200f - 1, 1 - (CSRY * 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8), -0.9f);
|
||||||
glVertex3f((CSRX * 8 + 2) / 200f - 1, 1 - (CSRY * 8 + 8) / 120f, -0.9f);
|
glVertex3f((CSRX * 8 + 2), (CSRY * 8 + 8), -0.9f);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
@@ -1595,13 +1607,13 @@ class PetitComputer
|
|||||||
float z = consoleDisplay1[y][x].z / 1025f;
|
float z = consoleDisplay1[y][x].z / 1025f;
|
||||||
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) / 200f - 1, 1 - (y * 8 + 8) / 120f, 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);
|
||||||
glVertex3f((x * 8) / 200f - 1, 1 - (y * 8) / 120f, z);
|
glVertex3f((x * 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8) / 120f, z);
|
glVertex3f((x * 8 + 8), (y * 8), z);
|
||||||
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
glTexCoord2f((rect.x + 8) / 512f - 1, (rect.y +8) / 512f - 1);
|
||||||
glVertex3f((x * 8 + 8) / 200f - 1, 1 - (y * 8 + 8) / 120f, z);
|
glVertex3f((x * 8 + 8), (y * 8 + 8), z);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -649,7 +649,7 @@ class Sprite
|
|||||||
{
|
{
|
||||||
disw = 160f;
|
disw = 160f;
|
||||||
disw2 = 320f;
|
disw2 = 320f;
|
||||||
glViewport(40, 0, 320, 240);
|
petitcom.chScreen(40, 0, 320, 240);
|
||||||
aspect = disw2 / dish2;
|
aspect = disw2 / dish2;
|
||||||
dis = true;
|
dis = true;
|
||||||
}
|
}
|
||||||
@@ -659,7 +659,7 @@ class Sprite
|
|||||||
{
|
{
|
||||||
disw = 200f;
|
disw = 200f;
|
||||||
disw2 = 400f;
|
disw2 = 400f;
|
||||||
glViewport(0, 240, 400, 240);
|
petitcom.chScreen(0, 240, 400, 240);
|
||||||
aspect = disw2 / dish2;
|
aspect = disw2 / dish2;
|
||||||
dis = false;
|
dis = false;
|
||||||
}
|
}
|
||||||
@@ -678,8 +678,8 @@ class Sprite
|
|||||||
}
|
}
|
||||||
sprite.linkx = x;
|
sprite.linkx = x;
|
||||||
sprite.linky = y;
|
sprite.linky = y;
|
||||||
auto homex2 = ((sprite.w / 2 ) - sprite.homex) / disw;
|
auto homex2 = ((sprite.w / 2 ) - sprite.homex);
|
||||||
auto homey2 = ((sprite.h / 2 ) - sprite.homey) / dish;
|
auto homey2 = ((sprite.h / 2 ) - sprite.homey);
|
||||||
int w = sprite.w;
|
int w = sprite.w;
|
||||||
int h = sprite.h;
|
int h = sprite.h;
|
||||||
|
|
||||||
@@ -707,28 +707,28 @@ class Sprite
|
|||||||
}
|
}
|
||||||
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
version(test) glRotatef(rot_test_deg, rot_test_x, rot_test_y, rot_test_z);
|
||||||
|
|
||||||
glTranslatef((flipx2) / disw - 1,
|
glTranslatef((flipx2),
|
||||||
1 - ((flipy2) / dish), 0);
|
((flipy2)), 0);
|
||||||
//glTranslatef((flipx2) / dish - 1,1 - ((flipy2) / dish), 0);
|
//glTranslatef((flipx2) / dish - 1,1 - ((flipy2) / dish), 0);
|
||||||
//glScalef(flipx, flipy, 1f);
|
glScalef(flipx, flipy, 1f);
|
||||||
//アスペクト比を調節しないといけないらしい
|
//アスペクト比を調節しないといけないらしい
|
||||||
//https://groups.google.com/forum/#!topic/android-group-japan/45mjecPSY4s
|
//https://groups.google.com/forum/#!topic/android-group-japan/45mjecPSY4s
|
||||||
//http://www.tnksoft.com/blog/?p=2889
|
//http://www.tnksoft.com/blog/?p=2889
|
||||||
glScalef(1.0f / aspect, 1.0f, 1.0f);
|
//glScalef(1.0f / aspect, 1.0f, 1.0f);
|
||||||
glRotatef(360 - sprite.r, 0.0f, 0.0f, 1.0f );
|
glRotatef(360 - sprite.r, 0.0f, 0.0f, 1.0f );
|
||||||
glScalef(flipx * aspect, flipy, 1f);
|
//glScalef(flipx * aspect, flipy, 1f);
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glColor4ubv(cast(ubyte*)&sprite.color);
|
glColor4ubv(cast(ubyte*)&sprite.color);
|
||||||
if((sprite.attr& 0b111) == SpriteAttr.show)
|
if((sprite.attr& 0b111) == SpriteAttr.show)
|
||||||
{
|
{
|
||||||
glTexCoord2f(u / 512f - 1, v / 512f - 1);
|
glTexCoord2f(u / 512f - 1, v / 512f - 1);
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2) , ((sprite.h) / dish2 - homey2), z);//1
|
glVertex3f(-((sprite.w / 2) - homex2) , -((sprite.h / 2) - homey2), z);//1
|
||||||
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);
|
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), -((sprite.h) / dish2 + homey2), z);//2
|
glVertex3f(-((sprite.w / 2) - homex2), ((sprite.h / 2) + homey2), z);//2
|
||||||
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);
|
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, -((sprite.h) / dish2 + homey2), z);//3//y+--+x--++
|
glVertex3f((sprite.w / 2) + homex2, ((sprite.h / 2) + homey2), z);//3//y+--+x--++
|
||||||
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);
|
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, ((sprite.h) / dish2 - homey2), z);//4
|
glVertex3f((sprite.w / 2) + homex2, -((sprite.h / 2) - homey2), z);//4
|
||||||
glEnd();
|
glEnd();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
continue;
|
continue;
|
||||||
@@ -736,13 +736,13 @@ class Sprite
|
|||||||
if((sprite.attr & SpriteAttr.rotate270) == SpriteAttr.rotate270)
|
if((sprite.attr & SpriteAttr.rotate270) == SpriteAttr.rotate270)
|
||||||
{
|
{
|
||||||
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//3
|
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//3
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), ((sprite.h) / dish2 - homey2), z);//1
|
glVertex3f(-((sprite.w) / 2 - homex2), -((sprite.h) / 2 - homey2), z);//1
|
||||||
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), -((sprite.h) / dish2 + homey2), z);//2
|
glVertex3f(-((sprite.w) / 2 - homex2), ((sprite.h) / 2 + homey2), z);//2
|
||||||
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, -((sprite.h) / dish2 + homey2), z);//3
|
glVertex3f((sprite.w) / 2 + homex2, ((sprite.h) / 2 + homey2), z);//3
|
||||||
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//4
|
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//4
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, ((sprite.h) / dish2 - homey2), z);//4
|
glVertex3f((sprite.w) / 2 + homex2, -((sprite.h) / 2 - homey2), z);//4
|
||||||
glEnd();
|
glEnd();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
continue;
|
continue;
|
||||||
@@ -750,13 +750,13 @@ class Sprite
|
|||||||
if((sprite.attr & SpriteAttr.rotate90) == SpriteAttr.rotate90)
|
if((sprite.attr & SpriteAttr.rotate90) == SpriteAttr.rotate90)
|
||||||
{
|
{
|
||||||
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), ((sprite.h) / dish2 - homey2), z);//1
|
glVertex3f(-((sprite.w) / 2 - homex2), -((sprite.h) / 2 - homey2), z);//1
|
||||||
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//3
|
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//3
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), -((sprite.h) / dish2 + homey2), z);//2
|
glVertex3f(-((sprite.w) / 2 - homex2), ((sprite.h) / 2 + homey2), z);//2
|
||||||
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//4
|
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//4
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, -((sprite.h) / dish2 + homey2), z);//3
|
glVertex3f((sprite.w) / 2 + homex2, ((sprite.h) / 2 + homey2), z);//3
|
||||||
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, ((sprite.h) / dish2 - homey2), z);//4
|
glVertex3f((sprite.w) / 2 + homex2, -((sprite.h) / 2 - homey2), z);//4
|
||||||
glEnd();
|
glEnd();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
continue;
|
continue;
|
||||||
@@ -764,25 +764,25 @@ class Sprite
|
|||||||
if((sprite.attr & SpriteAttr.rotate180) == SpriteAttr.rotate180)
|
if((sprite.attr & SpriteAttr.rotate180) == SpriteAttr.rotate180)
|
||||||
{
|
{
|
||||||
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//4
|
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);//4
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), ((sprite.h) / dish2 - homey2), z);//1
|
glVertex3f(-((sprite.w) / 2 - homex2), -((sprite.h) / 2 - homey2), z);//1
|
||||||
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//3
|
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);//3
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), -((sprite.h) / dish2 + homey2), z);//2
|
glVertex3f(-((sprite.w) / 2 - homex2), ((sprite.h) / 2 + homey2), z);//2
|
||||||
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
glTexCoord2f(u / 512f - 1, v / 512f - 1);//1
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, -((sprite.h) / dish2 + homey2), z);//3
|
glVertex3f((sprite.w) / 2 + homex2, ((sprite.h) / 2 + homey2), z);//3
|
||||||
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);//2
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, ((sprite.h) / dish2 - homey2), z);//4
|
glVertex3f((sprite.w) / 2 + homex2, -((sprite.h) / 2 - homey2), z);//4
|
||||||
glEnd();
|
glEnd();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
glTexCoord2f(u / 512f - 1, v / 512f - 1);
|
glTexCoord2f(u / 512f - 1, v / 512f - 1);
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), ((sprite.h) / dish2 - homey2), z);//1
|
glVertex3f(-((sprite.w) / 2 - homex2), -((sprite.h) / 2 - homey2), z);//1
|
||||||
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);
|
glTexCoord2f(u / 512f - 1 , v2 / 512f - 1);
|
||||||
glVertex3f(-((sprite.w) / disw2 - homex2), -((sprite.h) / dish2 + homey2), z);//2
|
glVertex3f(-((sprite.w) / 2 - homex2), ((sprite.h) / 2 + homey2), z);//2
|
||||||
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);
|
glTexCoord2f(u2 / 512f - 1, v2 / 512f - 1);
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, -((sprite.h) / dish2 + homey2), z);//3
|
glVertex3f((sprite.w) / 2 + homex2, ((sprite.h) / 2 + homey2), z);//3
|
||||||
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);
|
glTexCoord2f(u2 / 512f - 1, v / 512f - 1);
|
||||||
glVertex3f((sprite.w) / disw2 + homex2, ((sprite.h) / dish2 - homey2), z);//4
|
glVertex3f((sprite.w) / 2 + homex2, -((sprite.h) / 2 - homey2), z);//4
|
||||||
glEnd();
|
glEnd();
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user