/*
Copyright (C) 2003, 2010 - Wolfire Games
+Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
extern Skeleton testskeleton;
extern int numsounds;
extern Terrain terrain;
-//extern Sprites sprites;
extern int kTextureSize;
extern float texdetail;
extern float realtexdetail;
extern GLubyte wolfbloodText[512 * 512 * 3];
extern bool ismotionblur;
extern bool trilinear;
-extern bool osx;
extern bool musictoggle;
extern int environment;
extern bool ambientsound;
extern int netdatanew;
extern float mapinfo;
extern bool stillloading;
-extern TGAImageRec texture;
extern short vRefNum;
extern long dirID;
extern int mainmenu;
}
OPENAL_Close();
- if (texture.data) {
- free(texture.data);
- }
- texture.data = 0;
#endif
}
void LoadSave(const char *fileName, GLuint *textureid, bool mipmap, GLubyte *array, int *skinsize)
{
- int i;
- int bytesPerPixel;
-
LOGFUNC;
LOG(std::string("Loading (S)...") + fileName);
//Load Image
float temptexdetail = texdetail;
texdetail = 1;
- //upload_image( fileName );
- //LoadTGA( fileName );
-
- // Converting file to something os specific
- char * fixedFN = ConvertFileName(fileName);
//Load Image
- unsigned char fileNamep[256];
- CopyCStringToPascal(fixedFN, fileNamep);
- //Load Image
- upload_image( fileNamep , 0);
+ ImageRec texture;
+ load_image(ConvertFileName(fileName), texture);
texdetail = temptexdetail;
- //Is it valid?
- if (1 == 1) {
- bytesPerPixel = texture.bpp / 8;
+ int bytesPerPixel = texture.bpp / 8;
- int tempnum = 0;
- for (i = 0; i < (int)(texture.sizeY * texture.sizeX * bytesPerPixel); i++) {
- if ((i + 1) % 4 || bytesPerPixel == 3) {
- array[tempnum] = texture.data[i];
- tempnum++;
- }
+ int tempnum = 0;
+ for (int i = 0; i < (int)(texture.sizeY * texture.sizeX * bytesPerPixel); i++) {
+ if ((i + 1) % 4 || bytesPerPixel == 3) {
+ array[tempnum] = texture.data[i];
+ tempnum++;
}
}
}
void Game::LoadingScreen()
{
static float loadprogress;
- //~ static AbsoluteTime time = {0, 0};
static AbsoluteTime frametime = {0, 0};
AbsoluteTime currTime = UpTime ();
double deltaTime = (float) AbsoluteDeltaToDuration (currTime, frametime);
if (loadprogress > 100)
loadprogress = 100;
- //loadprogress=abs(Random()%100);
-
//Background
glEnable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
glColor4f(loadprogress / 100, loadprogress / 100, loadprogress / 100, 1);
glPushMatrix();
- //glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(.1 - loadprogress / 100, 0 + loadprogress / 100 + .3);
glVertex3f(-1, -1, 0.0f);
glPopMatrix();
glEnable(GL_BLEND);
glPushMatrix();
- //glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(.4 + loadprogress / 100, 0 + loadprogress / 100);
glVertex3f(-1, -1, 0.0f);
glScalef((float)screenwidth / 2 * (1.5 - (loadprogress) / 200), (float)screenheight / 2 * (1.5 - (loadprogress) / 200), 1);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glEnable(GL_BLEND);
- //glColor4f(loadprogress/100,loadprogress/100,loadprogress/100,1);
glColor4f(loadprogress / 100, loadprogress / 100, loadprogress / 100, 1);
glPushMatrix();
- //glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0 + .5, 0 + .5);
glVertex3f(-1, -1, 0.0f);
glEnable(GL_BLEND);
glColor4f(loadprogress / 100, loadprogress / 100, loadprogress / 100, .4);
glPushMatrix();
- //glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0 + .2, 0 + .8);
glVertex3f(-1, -1, 0.0f);
loadprogress = howmuch;
- //loadprogress=abs(Random()%100);
-
//Background
- //glEnable(GL_TEXTURE_2D);
glDisable(GL_TEXTURE_2D);
- //glBindTexture( GL_TEXTURE_2D, loadscreentexture);
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
glDisable(GL_DEPTH_TEST);
glDisable(GL_BLEND);
glColor4f(loadprogress / 100, 0, 0, 1);
glPushMatrix();
- //glScalef(.25,.25,.25);
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex3f(-1, -1, 0.0f);
void Game::InitGame()
{
-#if PLATFORM_MACOSX
- ProcessSerialNumber PSN;
- ProcessInfoRec pinfo;
- FSSpec pspec;
- OSStatus err;
- /* set up process serial number */
- PSN.highLongOfPSN = 0;
- PSN.lowLongOfPSN = kCurrentProcess;
- /* set up info block */
- pinfo.processInfoLength = sizeof(pinfo);
- pinfo.processName = NULL;
- pinfo.processAppSpec = &pspec;
- /* grab the vrefnum and directory */
- err = GetProcessInformation(&PSN, &pinfo);
- if (err == noErr) {
- vRefNum = pspec.vRefNum;
- dirID = pspec.parID;
- }
-#endif
-
LOGFUNC;
numchallengelevels = 14;
stillloading = 1;
- texture.data = ( GLubyte* )malloc( 1024 * 1024 * 4 );
-
int temptexdetail = texdetail;
texdetail = 1;
text->LoadFontTexture(":Data:Textures:Font.png");
LOG("Initializing sound system...");
#if PLATFORM_LINUX
- int output = -1;
-
unsigned char rc = 0;
- output = OPENAL_OUTPUT_ALSA; // Try alsa first...
+ int output = OPENAL_OUTPUT_ALSA; // Try alsa first...
if (cmdline("forceoss")) // ...but let user override that.
output = OPENAL_OUTPUT_OSS;
else if (cmdline("nosound"))
Weapon::throwingknifemodel.load((char *)":Data:Models:throwingknife.solid", 1);
Weapon::throwingknifemodel.Scale(.001, .001, .001);
- //Weapon::throwingknifemodel.Rotate(0,0,-90);
Weapon::throwingknifemodel.Rotate(90, 0, 0);
Weapon::throwingknifemodel.Rotate(0, 90, 0);
Weapon::throwingknifemodel.flat = 0;
Weapon::throwingknifemodel.CalculateNormals(1);
- //Weapon::throwingknifemodel.ScaleNormals(-1,-1,-1);
Weapon::swordmodel.load((char *)":Data:Models:sword.solid", 1);
Weapon::swordmodel.Scale(.001, .001, .001);
- //Weapon::swordmodel.Rotate(0,0,-90);
Weapon::swordmodel.Rotate(90, 0, 0);
Weapon::swordmodel.Rotate(0, 90, 0);
Weapon::swordmodel.Rotate(0, 0, 90);
Weapon::swordmodel.flat = 1;
Weapon::swordmodel.CalculateNormals(1);
- //Weapon::swordmodel.ScaleNormals(-1,-1,-1);
Weapon::staffmodel.load((char *)":Data:Models:staff.solid", 1);
Weapon::staffmodel.Scale(.005, .005, .005);
- //Weapon::staffmodel.Rotate(0,0,-90);
Weapon::staffmodel.Rotate(90, 0, 0);
Weapon::staffmodel.Rotate(0, 90, 0);
Weapon::staffmodel.Rotate(0, 0, 90);
Weapon::staffmodel.flat = 1;
Weapon::staffmodel.CalculateNormals(1);
- //Weapon::staffmodel.ScaleNormals(-1,-1,-1);
terrain.shadowtexture.load(":Data:Textures:shadow.png", 0, 1);
terrain.bloodtexture.load(":Data:Textures:blood.png", 0, 1);