Some preparation work for new platform support.

- Added a "PSP" compile-time define to clean up some compile time checks (replaced !WIN32 && !LINUX && !IOS with PSP) 
-- Wil, I am aware that this is redundant with the PSPENV variable you introduced recently, I think we can clean that up easily
-- This looks like lots of changes, but most of the time I just moved some blocks here and there
-- tested on VC 2010, PSP, and a bit of NDK
-- I might have broken maemo, iOS, or Linux compilation, can you guys check?
- Fixed some warnings reported by NDK
- NDK still does not compile because recent boost additions (mutex, etc...) are apparently not supported
This commit is contained in:
wagic.the.homebrew
2011-04-21 13:16:11 +00:00
parent 5eb36fecc0
commit 8ff6839c8d
26 changed files with 257 additions and 252 deletions
+26 -26
View File
@@ -92,10 +92,10 @@ void JFileSystem::Destroy()
JFileSystem::JFileSystem()
{
mZipAvailable = false;
#if defined (WIN32) || defined (LINUX) || defined (IOS)
mFile = NULL;
#if defined (PSP)
mFile = -1;
#else
mFile = -1;
mFile = NULL;
#endif
mPassword = NULL;
mZipFile = NULL;
@@ -197,7 +197,15 @@ bool JFileSystem::OpenFile(const string &filename)
}
else
{
#if defined (WIN32) || defined (LINUX)|| defined (IOS)
#if defined (PSP)
mFile = sceIoOpen(path.c_str(), PSP_O_RDONLY, 0777);
if (mFile > 0)
{
mFileSize = sceIoLseek(mFile, 0, PSP_SEEK_END);
sceIoLseek(mFile, 0, PSP_SEEK_SET);
return true;
}
#else
mFile = fopen(path.c_str(), "rb");
if (mFile != NULL)
{
@@ -206,14 +214,6 @@ bool JFileSystem::OpenFile(const string &filename)
fseek(mFile, 0, SEEK_SET);
return true;
}
#else
mFile = sceIoOpen(path.c_str(), PSP_O_RDONLY, 0777);
if (mFile > 0)
{
mFileSize = sceIoLseek(mFile, 0, PSP_SEEK_END);
sceIoLseek(mFile, 0, PSP_SEEK_SET);
return true;
}
#endif
}
@@ -229,30 +229,30 @@ void JFileSystem::CloseFile()
return;
}
#if defined (WIN32) || defined (LINUX) || defined (IOS)
#if defined (PSP)
if (mFile > 0)
sceIoClose(mFile);
#else
if (mFile != NULL)
fclose(mFile);
#else
if (mFile > 0)
sceIoClose(mFile);
#endif
}
int JFileSystem::ReadFile(void *buffer, int size)
{
if (mZipAvailable && mZipFile != NULL)
{
return unzReadCurrentFile(mZipFile, buffer, size);
}
else
{
#if defined (WIN32) || defined (LINUX) || defined (IOS)
return fread(buffer, 1, size, mFile);
if (mZipAvailable && mZipFile != NULL)
{
return unzReadCurrentFile(mZipFile, buffer, size);
}
else
{
#if defined (PSP)
return sceIoRead(mFile, buffer, size);
#else
return sceIoRead(mFile, buffer, size);
return fread(buffer, 1, size, mFile);
#endif
}
}
}
+17 -17
View File
@@ -313,22 +313,8 @@ JGE::~JGE()
#if defined (WIN32) || defined (LINUX) || defined (IOS)
// Non-PSP code
void JGE::Init()
{
mDone = false;
mPaused = false;
mCriticalAssert = false;
JRenderer::GetInstance();
JFileSystem::GetInstance();
JSoundSystem::GetInstance();
LeftClickedProcessed();
}
//////////////////////////////////////////////////////////////////////////
#else ///// PSP specific code
#if defined (PSP)
// PSP Specific code
void JGE::Init()
{
@@ -432,7 +418,21 @@ void JGE::Run()
}
}
#endif ///// PSP specific code
//////////////////////////////////////////////////////////////////////////
#else ///// Non PSP code
void JGE::Init()
{
mDone = false;
mPaused = false;
mCriticalAssert = false;
JRenderer::GetInstance();
JFileSystem::GetInstance();
JSoundSystem::GetInstance();
LeftClickedProcessed();
}
#endif ///// Non PSP code
//////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -222,7 +222,7 @@ float JLBFont::GetStringWidth(const char *string) const
{
ch = *p - 32;
p++;
if (ch < 0) continue;
//if (ch < 0) continue; //TODO useless test per compiler's message, char always positive, bug needs fixing here
len += mCharWidth[ch+mBase] + mTracking;
}
len -= mTracking;
+20 -20
View File
@@ -220,10 +220,10 @@ bool JMD2Model::Load(char *filename, char *textureName)
//-------------------------------------------------------------------------------------------------
// given 3 points, calculates the normal to the points
#if defined (WIN32) || defined (LINUX) || defined (IOS)
void JMD2Model::CalculateNormal(float *p1, float *p2, float *p3)
#else
#if defined (PSP)
void JMD2Model::CalculateNormal(ScePspFVector3 *normal, float *p1, float *p2, float *p3)
#else
void JMD2Model::CalculateNormal(float *p1, float *p2, float *p3)
#endif
{
float a[3], b[3], result[3];
@@ -244,21 +244,21 @@ void JMD2Model::CalculateNormal(ScePspFVector3 *normal, float *p1, float *p2, fl
// calculate the length of the normal
length = (float)sqrt(result[0]*result[0] + result[1]*result[1] + result[2]*result[2]);
#if defined (WIN32) || defined (LINUX) || defined (IOS)
// normalize and specify the normal
#if (!defined GL_ES_VERSION_2_0) && (!defined GL_VERSION_2_0)
glNormal3f(result[0]/length, result[1]/length, result[2]/length);
#else
// FIXME
#endif //(!defined GL_ES_VERSION_2_0) && (!defined GL_VERSION_2_0)
#else
#if defined (PSP)
if (length == 0.0f)
length = SMALLEST_FP;
normal->x = result[0]/length;
normal->y = result[1]/length;
normal->z = result[2]/length;
#else
// normalize and specify the normal
#if (!defined GL_ES_VERSION_2_0) && (!defined GL_VERSION_2_0)
glNormal3f(result[0]/length, result[1]/length, result[2]/length);
#else
// FIXME
#endif //(!defined GL_ES_VERSION_2_0) && (!defined GL_VERSION_2_0)
#endif
}
@@ -278,12 +278,12 @@ void JMD2Model::Render(int frameNum)
mRenderer->BindTexture(mModel->modelTex);
#if defined (WIN32) || defined (LINUX) || defined (IOS)
#if !defined (PSP)
// display the textured model with proper lighting normals
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1) || (defined GL_VERSION_ES_CM_1_1)
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
@@ -299,7 +299,7 @@ void JMD2Model::Render(int frameNum)
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)|| (defined GL_VERSION_ES_CM_1_1)
float vertex_data[]={
pointList[mModel->triIndex[i].meshIndex[0]].x, pointList[mModel->triIndex[i].meshIndex[0]].y, pointList[mModel->triIndex[i].meshIndex[0]].z,
pointList[mModel->triIndex[i].meshIndex[2]].x, pointList[mModel->triIndex[i].meshIndex[2]].y, pointList[mModel->triIndex[i].meshIndex[2]].z,
@@ -333,7 +333,7 @@ void JMD2Model::Render(int frameNum)
}
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1) || (defined GL_VERSION_ES_CM_1_1)
glDrawArrays(GL_TRIANGLES,0,3); // seems suspicious to put that here, should probably be in the loop
#else
glEnd();
@@ -482,11 +482,11 @@ void JMD2Model::Render()
mRenderer->BindTexture(mModel->modelTex);
#if defined (WIN32) || defined (LINUX) || defined (IOS)
#if !defined (PSP)
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
// FIXME
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1) || (defined GL_VERSION_ES_CM_1_1)
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
#else
@@ -541,7 +541,7 @@ void JMD2Model::Render()
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
// FIXME
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1) || (defined GL_VERSION_ES_CM_1_1)
float vertex_data[]={
vertex[0].x, vertex[0].y, vertex[0].z,
vertex[2].x, vertex[2].y, vertex[2].z,
@@ -575,7 +575,7 @@ void JMD2Model::Render()
}
#if (defined GL_ES_VERSION_2_0) || (defined GL_VERSION_2_0)
// FIXME
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1)
#elif (defined GL_ES_VERSION_1_1) || (defined GL_VERSION_1_1) || (defined GL_VERSION_ES_CM_1_1)
glDrawArrays(GL_TRIANGLES,0,3); // seems suspicious to put that here, should probably be in the loop
#else
glEnd();
+6 -6
View File
@@ -145,11 +145,11 @@ void JSprite::Render()
// //mQuad->SetColor(ARGB(alpha,255,255,255));
#if defined (WIN32) || defined (LINUX) || defined (IOS)
#if defined (PSP)
mFrames[mCurrentFrame]->SetColor(MAKE_COLOR(alpha, mColor));
#else
mFrames[mCurrentFrame]->SetColor(alpha<<24 | mColor);
// mQuad->SetFlip(mFlipped[mCurrentFrame], false);
#else
mFrames[mCurrentFrame]->SetColor(MAKE_COLOR(alpha, mColor));
#endif
// mQuad->SetHFlip(mFlipped[mCurrentFrame]);
// }
@@ -306,10 +306,10 @@ void JSprite::SetHotSpot(float x, float y, int index)
}
#if defined (WIN32) || defined (LINUX) || defined (IOS)
void JSprite::SetColor(PIXEL_TYPE color) { mColor = (color&0x00ffffff); }
#else
#if defined (PSP)
void JSprite::SetColor(PIXEL_TYPE color) { mColor = (color&~MASK_ALPHA); }
#else
void JSprite::SetColor(PIXEL_TYPE color) { mColor = (color&0x00ffffff); }
#endif
// void JSprite::SetBlendMode(int blend, int index)
+8 -2
View File
@@ -608,11 +608,12 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
/* we check the magic */
if (err==UNZ_OK)
{
if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
err=UNZ_ERRNO;
else if (uMagic!=0x02014b50)
err=UNZ_BADZIPFILE;
}
if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK)
err=UNZ_ERRNO;
@@ -688,10 +689,12 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
uSizeRead = extraFieldBufferSize;
if (lSeek!=0)
{
if (ZSEEK(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
lSeek=0;
else
err=UNZ_ERRNO;
}
if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
if (ZREAD(s->z_filefunc, s->filestream,extraField,uSizeRead)!=uSizeRead)
err=UNZ_ERRNO;
@@ -713,10 +716,12 @@ local int unzlocal_GetCurrentFileInfoInternal (file,
uSizeRead = commentBufferSize;
if (lSeek!=0)
{
if (ZSEEK(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
lSeek=0;
else
err=UNZ_ERRNO;
}
if ((file_info.size_file_comment>0) && (commentBufferSize>0))
if (ZREAD(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead)
err=UNZ_ERRNO;
@@ -977,11 +982,12 @@ local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
if (err==UNZ_OK)
{
if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
err=UNZ_ERRNO;
else if (uMagic!=0x04034b50)
err=UNZ_BADZIPFILE;
}
if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
err=UNZ_ERRNO;
/*