This file is part of Lugaru.
-Lugaru is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
+Lugaru is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
-This program is distributed in the hope that it will be useful,
+Lugaru is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-See the GNU General Public License for more details.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+along with Lugaru. If not, see <http://www.gnu.org/licenses/>.
*/
using namespace Game;
-static bool load_image(const char * fname, TGAImageRec & tex);
-static bool load_png(const char * fname, TGAImageRec & tex);
-static bool load_jpg(const char * fname, TGAImageRec & tex);
+bool load_image(const char * fname, ImageRec & tex);
+static bool load_png(const char * fname, ImageRec & tex);
+static bool load_jpg(const char * fname, ImageRec & tex);
bool save_image(const char * fname);
static bool save_png(const char * fname);
extern float slomospeed;
extern float slomofreq;
+extern bool visibleloading;
return retval;
}
+#ifndef __MINGW32__ // FIXME: Temporary workaround for GL-8
static void GLAPIENTRY glDeleteTextures_doNothing(GLsizei n, const GLuint *textures)
{
// no-op.
}
+#endif // __MINGW32__
#ifdef MessageBox
#undef MessageBox
glDisable( GL_ALPHA_TEST);
glDisable( GL_BLEND);
glDisable( GL_DEPTH_TEST);
- //glDisable( GL_DITHER);
glDisable( GL_FOG);
glDisable( GL_LIGHTING);
glDisable( GL_LOGIC_OP);
glClearDepth( 1.0f);
glDepthFunc( GL_LEQUAL);
glDepthMask( GL_TRUE);
- //glDepthRange( FRONT_CLIP, BACK_CLIP);
glEnable( GL_DEPTH_TEST);
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glCullFace( GL_FRONT);
glEnable( GL_CULL_FACE);
glEnable( GL_LIGHTING);
- //glEnable( GL_LIGHT_MODEL_AMBIENT);
glEnable( GL_DITHER);
glEnable( GL_COLOR_MATERIAL);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
Boolean SetUp ()
{
- char string[10];
-
LOGFUNC;
osx = 0;
char *retval;
char *envr;
- const char *ptr = strrchr((char *)argv0, '/');
if (strchr(argv0, '/')) {
retval = strdup(argv0);
if (retval)
// --------------------------------------------------------------------------
-
-bool LoadImage(const char * fname, TGAImageRec & tex)
+bool load_image(const char *file_name, ImageRec &tex)
{
+ if (visibleloading)
+ Game::LoadingScreen();
+
if ( tex.data == NULL )
return false;
- else
- return load_image(fname, tex);
-}
-void ScreenShot(const char * fname)
-{
-
-}
-
-
-
-static bool load_image(const char *file_name, TGAImageRec &tex)
-{
const char *ptr = strrchr((char *)file_name, '.');
if (ptr) {
if (strcasecmp(ptr + 1, "png") == 0)
return false;
}
-
struct my_error_mgr {
struct jpeg_error_mgr pub; /* "public" fields */
jmp_buf setjmp_buffer; /* for return to caller */
}
/* stolen from public domain example.c code in libjpg distribution. */
-static bool load_jpg(const char *file_name, TGAImageRec &tex)
+static bool load_jpg(const char *file_name, ImageRec &tex)
{
struct jpeg_decompress_struct cinfo;
struct my_error_mgr jerr;
/* stolen from public domain example.c code in libpng distribution. */
-static bool load_png(const char *file_name, TGAImageRec &tex)
+static bool load_png(const char *file_name, ImageRec &tex)
{
bool hasalpha = false;
png_structp png_ptr = NULL;
png_infop info_ptr = NULL;
png_uint_32 width, height;
int bit_depth, color_type, interlace_type;
- png_byte **rows = NULL;
bool retval = false;
png_byte **row_pointers = NULL;
FILE *fp = fopen(file_name, "rb");
png_byte *dst = tex.data;
for (int i = height - 1; i >= 0; i--) {
png_byte *src = row_pointers[i];
- for (int j = 0; j < width; j++) {
+ for (unsigned j = 0; j < width; j++) {
dst[0] = src[0];
dst[1] = src[1];
dst[2] = src[2];