*** empty log message ***

This commit is contained in:
James Turk 2003-10-24 21:20:08 +00:00
parent a1e9ba65bb
commit d5999488b7
3 changed files with 28 additions and 33 deletions

View File

@ -1,5 +1,5 @@
ZEngine Version Log for Version 0.8.5 ZEngine Version Log for Version 0.8.5
$Id: changelog.txt,v 1.55 2003/10/13 21:20:18 cozman Exp $ $Id: changelog.txt,v 1.56 2003/10/24 21:20:08 cozman Exp $
Changes are marked with symbols that describe them: Changes are marked with symbols that describe them:
! is code that breaks backwards compatibility (used after 0.8.0-rc1, previous versions broke compatibility) ! is code that breaks backwards compatibility (used after 0.8.0-rc1, previous versions broke compatibility)
@ -11,10 +11,11 @@ Changes are marked with symbols that describe them:
(Note: Depreciated code (that marked with a *) is likely to disappear completely at the next major version.) (Note: Depreciated code (that marked with a *) is likely to disappear completely at the next major version.)
0.8.6 0.8.6
! Removed SetupDisplay/SetupSound and integrated them into CreateDisplay
# Fixed ZImage crash on missing image. ZFont crash fix relys on SDL_ttf 2.0.7 # Fixed ZImage crash on missing image. ZFont crash fix relys on SDL_ttf 2.0.7
# Switched ZImage stretch code to GL_LINEAR. # Switched ZImage stretch code to GL_LINEAR.
# Moved ZLib for convinience of non-MSVC build processes. (fixing #include "../zlib/unzip.h") # Moved ZLib for convinience of non-MSVC build processes. (fixing #include "../zlib/unzip.h")
# Fixed display format switching bugs with title and icon.
0.8.5 0.8.5
+ OpenFromZip code added for ZImage,ZFont and ZSound. + OpenFromZip code added for ZImage,ZFont and ZSound.

View File

@ -13,7 +13,7 @@
\brief Definition file for core ZEngine class. \brief Definition file for core ZEngine class.
ZEngine Game Engine core Engine definition. ZEngine Game Engine core Engine definition.
<br>$Id: ZE_ZEngine.h,v 1.53 2003/10/21 01:17:09 cozman Exp $<br> <br>$Id: ZE_ZEngine.h,v 1.54 2003/10/24 21:20:09 cozman Exp $<br>
\author James Turk \author James Turk
**/ **/
@ -56,8 +56,6 @@ class ZEngine
SDL_Surface *mScreen; SDL_Surface *mScreen;
//! Fullscreen setting of Display //! Fullscreen setting of Display
bool mFullscreen; bool mFullscreen;
//! Filename of window icon.
std::string mIconFile;
//! If ZEngine display has been setup. //! If ZEngine display has been setup.
bool mInitialized; bool mInitialized;
//! Keep track of paused state of game. //! Keep track of paused state of game.
@ -74,9 +72,9 @@ class ZEngine
Uint32 mPausedTime; Uint32 mPausedTime;
//! Keep track of last screen update time. //! Keep track of last screen update time.
Uint32 mLastTime; Uint32 mLastTime;
//! Seconds per frame. //! Seconds per frame. (1/FPS)
double mSecPerFrame; double mSecPerFrame;
//! bool which is only set to true if the engine thinks the images need to be reloaded (loss of focus in fullscreen). //! Keeps track of when engine thinks the images need to be reloaded (loss of focus in fullscreen).
bool mNeedReload; bool mNeedReload;
//! bool describing Active or Inactive State of Game //! bool describing Active or Inactive State of Game
bool mActive; bool mActive;
@ -106,8 +104,10 @@ class ZEngine
ZRandGen mRandGen; ZRandGen mRandGen;
#ifdef USE_SDL_MIXER #ifdef USE_SDL_MIXER
//! Sound Initialized
bool mSoundInitialized;
//! Sound Bitrate //! Sound Bitrate
int mRate; int mSoundRate;
//! Stereo setting of Sound Subsystem //! Stereo setting of Sound Subsystem
bool mStereo; bool mStereo;
#endif #endif

View File

@ -13,7 +13,7 @@
\brief Central source file for ZEngine. \brief Central source file for ZEngine.
Actual implementation of ZEngine singleton class, the core of ZEngine. Actual implementation of ZEngine singleton class, the core of ZEngine.
<br>$Id: ZE_ZEngine.cpp,v 1.63 2003/10/21 01:18:08 cozman Exp $<br> <br>$Id: ZE_ZEngine.cpp,v 1.64 2003/10/24 21:20:09 cozman Exp $<br>
\author James Turk \author James Turk
**/ **/
@ -34,9 +34,6 @@ ZEngine::ZEngine() :
mNeedReload(false), mActive(false), mQuit(false), mKeyIsPressed(NULL), mNeedReload(false), mActive(false), mQuit(false), mKeyIsPressed(NULL),
mMouseX(0), mMouseY(0), mMouseB(0), mMouseX(0), mMouseY(0), mMouseB(0),
mLogAllErrors(true), mErrlog(stderr), mEventFilter(NULL) mLogAllErrors(true), mErrlog(stderr), mEventFilter(NULL)
#ifdef USE_SDL_MIXER
, mRate(22050), mStereo(false)
#endif
{ {
for(int k = 0; k < SDLK_LAST; ++k) for(int k = 0; k < SDLK_LAST; ++k)
mKeyPress[k] = false; mKeyPress[k] = false;
@ -65,10 +62,11 @@ void ZEngine::ReleaseInstance()
bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std::string title, bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std::string title,
int soundRate, bool stereo, std::string icon) int soundRate, bool stereo, std::string icon)
{ {
Uint32 flags=0; Uint32 sdlFlags=SDL_INIT_VIDEO|SDL_INIT_TIMER;
Uint32 vidFlags=0;
SDL_Surface *iconImg; SDL_Surface *iconImg;
bool status=true; //status of setup, only true if everything went flawless bool status=true; //status of setup, only true if everything went flawlessly
int okBPP; int okBPP; //used to find working BPP
#if (GFX_BACKEND == ZE_OGL) #if (GFX_BACKEND == ZE_OGL)
int rgb_size[3]; int rgb_size[3];
#endif #endif
@ -77,8 +75,10 @@ bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std
if(!mInitialized) if(!mInitialized)
{ {
//audio initialized just in case, must be initialized w/ video to work so InitSubsystem wasn't an option //audio only initialized if soundRate != 0
if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO) < 0) if(soundRate)
sdlFlags |= SDL_INIT_AUDIO;
if(SDL_Init(sdlFlags) < 0)
{ {
ReportError(ZERR_SDL_INIT,SDL_GetError()); ReportError(ZERR_SDL_INIT,SDL_GetError());
return false; //return now, nothing else should be called return false; //return now, nothing else should be called
@ -96,9 +96,9 @@ bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std
} }
#endif //USE_SDL_MIXER #endif //USE_SDL_MIXER
//set flags and bpp// //set vidFlags and bpp//
if(mFullscreen) if(mFullscreen)
flags |= SDL_FULLSCREEN; vidFlags |= SDL_FULLSCREEN;
if(bpp != -1 && bpp != 8 && bpp != 15 && bpp != 16 && bpp != 24 && bpp !=32) if(bpp != -1 && bpp != 8 && bpp != 15 && bpp != 16 && bpp != 24 && bpp !=32)
{ {
@ -110,7 +110,7 @@ bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std
if(bpp == -1) if(bpp == -1)
bpp = SDL_GetVideoInfo()->vfmt->BitsPerPixel; //try desktop resolution bpp = SDL_GetVideoInfo()->vfmt->BitsPerPixel; //try desktop resolution
okBPP = SDL_VideoModeOK(width, height, bpp, flags); okBPP = SDL_VideoModeOK(width, height, bpp, vidFlags);
if(!okBPP) if(!okBPP)
{ {
ReportError(ZERR_VIDMODE,FormatStr("%dx%d not supported in any depth.",width,height)); ReportError(ZERR_VIDMODE,FormatStr("%dx%d not supported in any depth.",width,height));
@ -152,20 +152,17 @@ bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std
SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ACCUM_BLUE_SIZE, 0);
SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, 0); SDL_GL_SetAttribute(SDL_GL_ACCUM_ALPHA_SIZE, 0);
flags |= SDL_OPENGL; vidFlags |= SDL_OPENGL;
#elif (GFX_BACKEND == ZE_SDL) #elif (GFX_BACKEND == ZE_SDL)
flags |= SDL_DOUBLEBUF; vidFlags |= SDL_DOUBLEBUF;
#endif //GFX_BACKEND #endif //GFX_BACKEND
//Window manager settings
if(!mInitialized) //only set these settings the first time if(!mInitialized) //only set these settings the first time
{
//Default window manager settings//
if(!icon.length())
SDL_WM_SetCaption(title.c_str(),NULL);
else
{ {
SDL_WM_SetCaption(title.c_str(),title.c_str()); SDL_WM_SetCaption(title.c_str(),title.c_str());
if(icon.length())
{
#ifdef USE_SDL_IMAGE #ifdef USE_SDL_IMAGE
iconImg = IMG_Load(icon.c_str()); iconImg = IMG_Load(icon.c_str());
#else #else
@ -177,7 +174,7 @@ bool ZEngine::CreateDisplay(int width, int height, int bpp, bool fullscreen, std
} }
//create SDL screen and update settings based on returned screen// //create SDL screen and update settings based on returned screen//
mScreen = SDL_SetVideoMode(width, height, bpp, flags); mScreen = SDL_SetVideoMode(width, height, bpp, vidFlags);
if(!mScreen) if(!mScreen)
{ {
@ -243,10 +240,7 @@ void ZEngine::ToggleFullscreen()
#ifdef linux //SDL_WM_TF only works on Linux #ifdef linux //SDL_WM_TF only works on Linux
SDL_WM_ToggleFullScreen(mScreen); SDL_WM_ToggleFullScreen(mScreen);
#else #else
char *title,*junk; CreateDisplay(mScreen->w,mScreen->h,mScreen->format->BitsPerPixel,!mFullscreen,""); //title, soundRate, stereo, and icon not used
SDL_WM_GetCaption(&title,&junk);
CreateDisplay(mScreen->w,mScreen->h,mScreen->format->BitsPerPixel,!mFullscreen,title,mRate,mStereo,mIconFile);
#endif #endif
SetReloadNeed(true); //images need to be reloaded on fullscreen swap SetReloadNeed(true); //images need to be reloaded on fullscreen swap
} }