pre 0.8.4

This commit is contained in:
James Turk 2003-07-11 20:51:44 +00:00
parent 7638849000
commit 112711ccb6
13 changed files with 283 additions and 198 deletions

View File

@ -1,223 +1,236 @@
ZEngine Version Log for Version 0.8.3
$Id: changelog.txt,v 1.37 2003/07/11 00:07:49 cozman Exp $
ZEngine Version Log for Version 0.8.4
$Id: changelog.txt,v 1.38 2003/07/11 20:51:44 cozman Exp $
As of 0.8.3 changes which may break backwards compatibility are marked with a `!!!`.
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 but defining DEPRECIATED preserves compatibility for.
+ is added features
- is removed features
# is changed features
0.8.4
-Added particle system example program.
-Added simple particle system implemented on top of base.
-Added entire base particle system, templated, and designed for expandability.
-Changed implementation of parts of ZImage for tiny optimization.
!!! Removed Rand* functions from ZEngine and replaced with overloaded Rand.
-Added random generation classes, for if an object needs it's own random stream.
-Removed mt19937ar.h/cpp (replaced with ZE_ZRandGen.h/cpp)
-Fixed tiny problem in ZImage use of alpha.
-Changed default font rendering to blended, much better results. Also added alpha parameter.
-ZEngine no longer forces use namespace std, library references prefixed with std::.
-Revised all source, cleaned up various areas.
-Moved versioning information.
-Changed way event hook is implemented, more control, should be threadsafe. (needed for Gewi 0.2)
! Removed Rand* functions from ZEngine and replaced with overloaded Rand.
! Moved versioning information and changed format.
* Changed ZEngine members Width-->DisplayWidth, Height-->DisplayHeight, and BPP-->DisplayDepth.
+ Added comment & newline support to ZConfigFile.
+ Added particle system example program.
+ Added simple particle system implemented on top of base.
+ Added entire base particle system, templated, and designed for expandability.
+ Added random generation classes, for if an object needs it's own random stream.
- Removed mt19937ar.h/cpp rand system (replaced with ZE_ZRandGen.h/cpp)
# Disabled warning C4702, unreachable code, this was to fix a build problem in newer versions of VC++.
# Reworked changelog to contain symbols.
# Changed implementation of parts of ZImage for tiny optimization.
# Fixed tiny problem in ZImage use of alpha.
# Changed default font rendering to blended, much better results. Also added alpha parameter.
# ZEngine no longer forces use namespace std, library references prefixed with std::.
# Revised all source, cleaned up various areas.
# Changed way event hook is implemented, more control, should be threadsafe. (needed for Gewi 0.2)
0.8.3
-Changed Macros in ZE_Utility to functions.
-Added Random Number generation to the ZEngine singleton.
-Fixed project files for people who don't want to add ZEngine to their path.
-Altered layout of some of the header files to hopefully be more readable.
-Fixed minor bugs in ZImage, allowing Gewi to work properly.
-Added loading of fonts from withen an archive via PhysFS (needs SDL_ttf 2.0.6)
-Changed behavior of ZImage::Bind to work with blending.
-Fixed timer problems when used before ZEngine::Update.
-Updated ZError for ZServer & ZClient.
-Simple ZServer and ZClient classes using SDL_net.
-Fixed ZImage::SetColorKey. (thanks to Kevin Watters)
-Added floats to ZConfigFile.
!!! Removed ZObject inheritance hierarchy and made classes inheritance-safe.
-Added ZImage<-->ZImage drawing in OpenFromImage.
-Added ZImage::Draw(int,int) and ZImage::DrawRotated(float,float,float).
-New ZRect constructor (construct from SDL_Rect).
! Removed ZObject inheritance hierarchy and made classes inheritance-safe.
+ Added ZImage<-->ZImage drawing in OpenFromImage.
+ Added ZImage::Draw(int,int) and ZImage::DrawRotated(float,float,float).
+ New ZRect constructor (construct from SDL_Rect).
+ Added Random Number generation to the ZEngine singleton.
+ Added floats to ZConfigFile.
+ Simple ZServer and ZClient classes using SDL_net.
+ Added loading of fonts from withen an archive via PhysFS (needs SDL_ttf 2.0.6)
# Fixed project files for people who don't want to add ZEngine to their path.
# Altered layout of some of the header files to hopefully be more readable.
# Fixed minor bugs in ZImage, allowing Gewi to work properly.
# Changed behavior of ZImage::Bind to work with blending.
# Fixed timer problems when used before ZEngine::Update.
# Updated ZError for ZServer & ZClient.
# Fixed ZImage::SetColorKey. (thanks to Kevin Watters)
# Changed Macros in ZE_Utility to functions.
0.8.2
-Added ZImage::SetAlpha and example in ZImageTest.
-Added ZEngine::SetEventFilter.
-Fixed the DisplayFormat + Dithering Bugs in ZImage / SDLGL_Util.
-Added copy constructor to ZImage.
-Fixed problems setting bit depth in OpenGL.
-Added const modifier to members of ZImage,ZTimer,ZMusic,ZSound,ZRect,ZConfigFile,ZFont and ZError.
-Fixed several documentation problems.
-Added complete error handling system to ZEngine including internal ZError class.
-Updated examples to use newer features and check for errors.
-Changed ZEngine::CreateDisplay to return a boolean value.
-Added \since option to documentation (Everything after 0.8.0 will be labeled with a version.)
-Added "desired framerate" functionality into the test programs.
-Added "desired framerate" code to ZEngine.
-Fixed OpenGL color bleed in ZRect.
+ Added "desired framerate" functionality into the test programs.
+ Added "desired framerate" code to ZEngine.
+ Added ZImage::SetAlpha and example in ZImageTest.
+ Added complete error handling system to ZEngine including internal ZError class.
+ Added ZEngine::SetEventFilter.
+ Changed ZEngine::CreateDisplay to return a boolean value.
+ Added copy constructor to ZImage.
+ Added const modifier to members of ZImage,ZTimer,ZMusic,ZSound,ZRect,ZConfigFile,ZFont and ZError.
# Fixed the DisplayFormat + Dithering Bugs in ZImage / SDLGL_Util.
# Fixed problems setting bit depth in OpenGL.
# Fixed several documentation problems.
# Updated examples to use newer features and check for errors.
# Fixed OpenGL color bleed in ZRect.
0.8.1
-Added legal information for developers.
-Fixed VC7 to build without PhysFS by default.
-Added small notice into /lib directory.
-Added VC6 files based on updated VC7 files, courtesy of Sean.
-Added links to the tutorials.
+ Added legal information for developers.
+ Fixed VC7 to build without PhysFS by default.
+ Added small notice into /lib directory.
+ Added VC6 files based on updated VC7 files, courtesy of Sean.
+ Added links to the tutorials.
0.8.0
-Added Surface Loss Protection.
-Utilized Surface Loss Protection in ZImageTest for a demo.
-ZEngine now builds on FreeBSD.
-Updated copyright.
+ Added Surface Loss Protection.
+ Utilized Surface Loss Protection in ZImageTest for a demo.
# ZEngine now builds on FreeBSD.
# Updated copyright.
0.8.0-rc4 (what rc3 should have been)
-Fixed ZImage::SetColorKey for new Attach behavior.
-Fixed ZMusicTest GL screen error if music fails to open.
-Fixed VC7 "Release" Project files.
-Removed switch option from tests due to surface loss.
- Removed switch option from tests due to surface loss.
# Fixed ZImage::SetColorKey for new Attach behavior.
# Fixed ZMusicTest GL screen error if music fails to open.
# Fixed VC7 "Release" Project files.
0.8.0-rc3
-Fixed MAJOR memory leak when using ZImage::Attach, and in ZFont.
-Updated ZEngine web info. (mostly in rc2)
-Fixed time based movement and some compile time warnings in ZRectTest.cpp.
-Added gamedev.net to thanks.txt.
-Fixed documentation in ZE_ZImage.h
+ Fixed memory leak when using ZImage::Attach, and in ZFont.
+ Updated ZEngine web info. (mostly in rc2)
# Fixed time based movement and some compile time warnings in ZRectTest.cpp.
# Added gamedev.net to thanks.txt.
# Fixed documentation in ZE_ZImage.h
0.8.0-rc2
-Added path stripping to ZEngine.linux.doxygen.
-Added information to ZEngine.h for Doxygen front page.
-Added force into makefile options.
-Changed ZEngine::UpdateScreen to ZEngine::Update
! Changed ZEngine::UpdateScreen to ZEngine::Update
+ Added information to ZEngine.h for Doxygen front page.
+ Added force into makefile options.
# Added path stripping to ZEngine.linux.doxygen.
0.8.0-rc1
-Changed ZRect to use floats.
-Added Time based movement to ZRectTest.
-Changed behavior of 0 as bpp argument in ZEngine.
-Added readme.
-Updated rationale in licensing.txt. (fixed)
-Fixed loads of doxygen errors and documented all undocumented members.
-Fixed makefile to be much more portable and added config.
! Changed behavior of 0 as bpp argument in ZEngine.
+ Fixed makefile to be much more portable and added config.
+ Added Time based movement to ZRectTest.
+ Added readme.
# Changed ZRect to use floats.
# Updated rationale in licensing.txt. (fixed)
# Fixed loads of doxygen errors and documented all undocumented members.
0.7.8
-Added ZRect::Draw using OpenGL.
-Fixed ZRectTest to use new ZRect.
-Added ZImage rotation and 2 forms of stretching using OpenGL.
-Added some testing to ZImageTest of new stretching.
-Added ZImage::Flip.
-Fixed Linux makefile for new OpenGL code.
-Added new means of keyboard input, and key repeat enable/disable code.
-Fixed warnings in Test programs.
+ Added ZRect::Draw using OpenGL.
+ Fixed ZRectTest to use new ZRect.
+ Added ZImage rotation and 2 forms of stretching using OpenGL.
+ Added ZImage::Flip.
+ Added Linux makefile for new OpenGL code.
+ Added new means of keyboard input, and key repeat enable/disable code.
# Fixed warnings in Test programs.
# Added some testing to ZImageTest of new stretching.
0.7.7
-Changed behavior of core ZEngine class methods to reflect new OpenGL behavior.
-Eliminated certain SDL specific functions, no longer needed with OpenGL render target.
-Completely removed old SDL_Image.h and replaced with what had been SDL_ImageGL.h.
-Documented new ZImage class as well as ZConfigFile's ZCF_Variable and ZCF_Section.
-Fixed memory leak and general failure in new ZImage::OpenFromImage.
-Simplified SDL_GL Initialization.
-Shortened most lines to reasonable screen width.
-Added notice to licensing explaining license choice.
+ Changed behavior of core ZEngine class methods to reflect new OpenGL behavior.
+ Added notice to licensing explaining license choice.
- Eliminated certain SDL specific functions, no longer needed with OpenGL render target.
# Completely removed old SDL_Image.h and replaced with what had been SDL_ImageGL.h.
# Documented new ZImage class as well as ZConfigFile's ZCF_Variable and ZCF_Section.
# Fixed memory leak and general failure in new ZImage::OpenFromImage.
# Simplified SDL_GL Initialization.
# Shortened most lines to reasonable screen width.
0.7.6
-Added ZImageGL, still in testing phase.
-Followed up major API changes from 0.7.5 with whole new series of changes:
+ Added ZImageGL, still in testing phase.
+ Followed up major API changes from 0.7.5 with whole new series of changes:
(API from 0.7.x at least 25% rewritten)
-Added new /external files for SDL_GL* extensions
-Added Macros in ZE_Macros.h
-Removed ZE_DataPtr.h
-Rewrote warnings in Sound,Music,Font and Image classes.
+ Added new /external files for SDL_GL* extensions
+ Added Macros in ZE_Macros.h
- Removed ZE_DataPtr.h
# Rewrote warnings in Sound,Music,Font and Image classes.
0.7.5
-Converted all tabs to spaces.
-Added CVS lines to files for date tracking.
-Fixed file layout for CVS and reuploaded files to CVS.
-Major API changes (removed "Get" before accessors and changed some functions in ZEngine)
-Added Beginnings of OpenGL Render target
+ Added Beginnings of OpenGL Render target
# Major API changes (removed "Get" before accessors and changed some functions in ZEngine)
# Converted all tabs to spaces.
# Added CVS lines to files for date tracking.
# Fixed file layout for CVS and reuploaded files to CVS.
0.7.4
-Modified behavior of ZImage::Attach and changed ZImageTest to use it.
-Added makefile for Linux build support.
-Renamed old makefile to makefile.mingw32
-Fixed problem in ZImage::SetAlpha when failure occured.
-Added warnings in ZImage for when the display format fails.
-Completely rewrote ZConfigFile to avoid problems with STL map.
-Fixed problem in ZImage with transparency.
-Added doxygen script for linux, and renamed old doxygen script.
+ Added doxygen script for linux, and renamed old doxygen script.
+ Added warnings in ZImage for when the display format fails.
+ Added makefile for Linux build support.
# Modified behavior of ZImage::Attach and changed ZImageTest to use it.
# Renamed old makefile to makefile.mingw32
# Fixed problem in ZImage::SetAlpha when failure occured.
# Completely rewrote ZConfigFile to avoid problems with STL map.
# Fixed problem in ZImage with transparency.
0.7.3
-Globally revised source variable naming standards.
-Fixed Error Logging in ZImage.
-Added SDL_DisplaySurface and SDL_DisplaySurfaceAlpha calls to speed up blitting in ZImage.
-Fixed bug in ZConfigFile that caused a NULL file to be closed.
-Several Documentation errors corrected.
-Added ZRect class, and ZRectTest.
+ Added ZRect class, and ZRectTest.
# Globally revised source variable naming standards.
# Fixed Error Logging in ZImage.
# Added SDL_DisplaySurface and SDL_DisplaySurfaceAlpha calls to speed up blitting in ZImage.
# Fixed bug in ZConfigFile that caused a NULL file to be closed.
# Several Documentation errors corrected.
0.7.2
-Fixed small source problem in PhysFS handling of non-supported types.
-Added makefile for Cygwin and Mingw32
-Removed AFL license, and switched to BSD-style license.
+ Added makefile for Cygwin and Mingw32
# Fixed small source problem in PhysFS handling of non-supported types.
# Removed AFL license, and switched to BSD-style license.
0.7.1
-Changed directory layout.
-Changed source files to compile without PhysicsFS.
-Added newline to end of all source files.
# Changed directory layout.
# Changed source files to compile without PhysicsFS.
# Added newline to end of all source files.
0.7.0
-Changed slash direction in example programs (fixed non-windows problems).
-Added support for PhysicsFS.
-Added ZConfigFile.
-Updated all examples to be cleaner style and use more features.
-Addes ZConfigFile for test programs.
+ Added support for PhysicsFS.
+ Added ZConfigFile.
# Added ZConfigFile for test programs.
# Changed slash direction in example programs (fixed non-windows problems).
# Updated all examples to be cleaner style and use more features.
0.6.3
-Fixed directory issues in distribution.
-Updated to specify SDL 1.2.5 compatibility.
-Added IsLoaded method to ZSound,ZMusic,ZImage and ZFont
-Added music.ogg warning to ZMusicTest.
-Minor fixes in Doxygen settings.
-Fixed issues compiling the ZObject Inherited Wrapper types caused by changes in documentation.
-Added file-level documentation for doxygen in src directory.
+ Added IsLoaded method to ZSound,ZMusic,ZImage and ZFont
+ Added music.ogg warning to ZMusicTest.
# Stablized directory issues in distribution.
# Added file-level documentation for doxygen in src directory.
# Updated to specify SDL 1.2.5 compatibility.
# Minor fixes in Doxygen settings.
0.6.2
-Updated License to APL 1.1 and all files with it.
+ Updated License to APL 1.1 and all files with it.
0.6.1
-Added Mouse Example
-Changed Email Address to james@conceptofzero.net
-Added more test data and information on where data came from
-Removed Ogg file from distribution.
-Changed names of the libraries.
+ Added Mouse Example
+ Added more test data and information on where data came from
- Removed Ogg file from distribution.
# Changed names of the libraries.
# Changed Email Address to james@conceptofzero.net
0.6.0
-Updated all documentation (including doxygen docs).
-Rewrote Licensing.txt
-Added Authors.txt and Credits.txt
-Added VC7 Non-Debug Projects.
-Removed LGPL.txt (legacy) and Added APL.txt
-Fixed a bug occuring in ZSound and ZFont test programs.
-Proofread and fixed some documentation errors.
+ Added Authors.txt and Credits.txt
+ Added VC7 Non-Debug Projects.
# Updated all documentation (including doxygen docs).
# Rewrote Licensing.txt
# Fixed a bug occuring in ZSound and ZFont test programs.
# Proofread and fixed some documentation errors.
# Switched LGPL.txt for APL.txt
0.5.0
-Added APL Notice to source files.
-Updated source guidelines file for APL licensing.
-Added ZSound and test program.
-Updated examples to have similar coding guidelines.
+ Added APL Notice to source files.
+ Added ZSound and test program.
# Updated source guidelines file for APL licensing.
# Updated examples to have similar coding guidelines.
0.4.0
-Added Source Guidelines file.
-Added ZMusic and test program.
-Fixed a small keypress checking error in fullscreen mode.
-Redesigned entire data storage system (aka ZDataPtr classes)
-Fixed USE_SDL_MIXER and USE_SDL_TTF bugs in ZEngine.
-Removed LGPL licensing messages from source.
-Rewrote buggy ZImage::Attach code that was affecting the test program.
+ Added Source Guidelines file.
+ Added ZMusic and test program.
- Removed LGPL licensing messages from source.
# Fixed a small keypress checking error in fullscreen mode.
# Rewrote buggy ZImage::Attach code that was affecting the test program.
# Fixed USE_SDL_MIXER and USE_SDL_TTF bugs in ZEngine.
# Redesigned entire data storage system (aka ZDataPtr classes)
0.3.0
-Added ZTimer and ZFont classes and test programs.
-Fixed major hardware setting bugs in ZImage and ZEngine.
-Added alpha blending to tests.
-Reorganized Directory Structure and VC7 Project Files
+ Added ZTimer and ZFont classes and test programs.
+ Added alpha blending to tests.
# Fixed major hardware setting bugs in ZImage and ZEngine.
# Reorganized Directory Structure and VC7 Project Files
0.2.0
-Doxygen Documentation and LGPL license addition
-Added ZImage, and test program.
-Fixed bugs throughout core of ZEngine and changed methods used to keep static vectors of data.
-Designed ZObject class with virtual destructor.
+ Doxygen Documentation and LGPL license addition
+ Added ZImage, and test program.
+ Designed ZObject class with virtual destructor.
# Fixed bugs throughout core of ZEngine and changed methods used to keep static vectors of data.
0.1.0
-Initial ZEngine Proof of Concept, core ZEngine class.
Initial ZEngine Proof of Concept, core ZEngine class.

View File

@ -4,8 +4,8 @@
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = ZEngine
PROJECT_NUMBER = 0.8.3
OUTPUT_DIRECTORY = /home/James/ZEngine-0.8.3/doc
PROJECT_NUMBER = 0.8.4
OUTPUT_DIRECTORY = /home/James/ZEngine-0.8.4/doc
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = YES
@ -19,7 +19,7 @@ REPEAT_BRIEF = NO
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = /home/James/ZEngine-0.8.3/
STRIP_FROM_PATH = /home/James/ZEngine-0.8.4/
INTERNAL_DOCS = NO
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
@ -52,12 +52,12 @@ QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = /home/James/ZEngine-0.8.3/doc/ZEngine.log
WARN_LOGFILE = /home/James/ZEngine-0.8.4/doc/ZEngine.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = /home/James/ZEngine-0.8.3/src \
/home/James/ZEngine-0.8.3/include
INPUT = /home/James/ZEngine-0.8.4/src \
/home/James/ZEngine-0.8.4/include
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =

View File

@ -4,8 +4,8 @@
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = ZEngine
PROJECT_NUMBER = 0.8.3
OUTPUT_DIRECTORY = C:\libs\ZEngine-0.8.3\doc\
PROJECT_NUMBER = 0.8.4
OUTPUT_DIRECTORY = C:\libs\ZEngine-0.8.4\doc\
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
EXTRACT_ALL = NO
@ -21,7 +21,7 @@ REPEAT_BRIEF = NO
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = C:\libs\ZEngine-0.8.3
STRIP_FROM_PATH = C:\libs\ZEngine-0.8.4
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
SHORT_NAMES = NO
@ -54,12 +54,12 @@ WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = C:\libs\ZEngine-0.8.3\doc\ZEngine.log
WARN_LOGFILE = C:\libs\ZEngine-0.8.4\doc\ZEngine.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = C:/libs/ZEngine-0.8.3/include \
C:/libs/ZEngine-0.8.3/src
INPUT = C:/libs/ZEngine-0.8.4/include \
C:/libs/ZEngine-0.8.4/src
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =

View File

@ -32,6 +32,8 @@
//#define USE_SDL_NET
//! Define to use the Physfs file system.
//#define USE_PHYSFS
//! Define to use depreciated code that has not been entirely removed.
//#define DEPRECIATED
#ifdef USE_SDL_NET

View File

@ -14,7 +14,7 @@
Definition and implementation file for ZEngine particle system class ZBaseParticleSystem.
Due to problems with template classes the template implementation needs to be in the same file as the declaration.
<br>$Id: ZE_ZBaseParticleSystem.h,v 1.3 2003/07/10 23:45:08 cozman Exp $<br>
<br>$Id: ZE_ZBaseParticleSystem.h,v 1.4 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -244,8 +244,8 @@ void ZBaseParticleSystem<particleType>::Update()
for(unsigned int i=0; i < rCurParticles; ++i)
{
UpdateParticle(i,elapsed);
if(rParticles[i].xPos < 0 || rParticles[i].xPos > rEngine->Width()
|| rParticles[i].yPos < 0 || rParticles[i].yPos > rEngine->Height() || rParticles[i].energy <= 0)
if(rParticles[i].xPos < 0 || rParticles[i].xPos > rEngine->DisplayWidth()
|| rParticles[i].yPos < 0 || rParticles[i].yPos > rEngine->DisplayHeight() || rParticles[i].energy <= 0)
{
rParticles[i] = rParticles[--rCurParticles];
--i; //go back one to process that particle

View File

@ -29,7 +29,10 @@ namespace ZE
/*!
\brief ZConfigFile Class for use in ZEngine.
ZConfigFile class for INI-style configuration files for games or applications. Inherited from ZObject.
ZConfigFile class for INI-style configuration files for games or applications.
ZConfigFile can have comments using the semicolon (;) or octothorpe (#) characters.
Sections are delimited by [section-name], and variables must start with a letter
and should be in the format <var>variable = data</var>.
**/
class ZConfigFile
{

View File

@ -13,7 +13,7 @@
\brief Definition file for core ZEngine class.
ZEngine Game Engine core Engine definition.
<br>$Id: ZE_ZEngine.h,v 1.42 2003/07/05 00:40:45 cozman Exp $<br>
<br>$Id: ZE_ZEngine.h,v 1.43 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -692,6 +692,31 @@ class ZEngine
//Accessors//
/////////////
/*!
\brief Get Current Display Width.
Get Width of Window or Fullscreen mode.
\return Width of Display.
**/
int DisplayWidth();
/*!
\brief Get Current Display Height.
Get Height of Window or Fullscreen mode.
\return Height of Display.
**/
int DisplayHeight();
/*!
\brief Get Current Display BPP.
Get color depth of Window or Fullscreen mode. BPP means bits per pixel.
\return BPP or depth of Display.
**/
int DisplayDepth();
#ifdef DEPRECIATED
/*!
\brief Get Current Display Width.
@ -715,6 +740,7 @@ class ZEngine
\return BPP of Display.
**/
int BPP();
#endif //DEPRECIATED
/*!
\brief Get Fullscreen setting.

View File

@ -4,7 +4,7 @@
Header file for ZEngine Game Engine from Concept of Zero, this is the file that programs that wish to
utilize ZEngine should include.
<br>$Id: ZEngine.h,v 1.27 2003/07/10 19:19:19 cozman Exp $<br>
<br>$Id: ZEngine.h,v 1.28 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -12,8 +12,8 @@
\mainpage ZEngine Documentation
\author James Turk
\version 0.8.3
\date April 27, 2003
\version 0.8.4
\date July 12, 2003
\section ZEngine About ZEngine
<br>

View File

@ -13,7 +13,7 @@
\brief Source file for ZConfigFile.
Implementation of ZConfigFile, the ZEngine INI-Style Config File.
<br>$Id: ZE_ZConfigFile.cpp,v 1.13 2003/06/16 07:45:03 cozman Exp $<br>
<br>$Id: ZE_ZConfigFile.cpp,v 1.14 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -177,6 +177,8 @@ ZConfigFile::~ZConfigFile()
void ZConfigFile::Process(std::string filename)
{
rFilename = filename;
int commentNum=0;
int newlineNum=0;
std::ifstream cfile(rFilename.c_str());
std::string section, str, var, tmp;
@ -191,11 +193,22 @@ void ZConfigFile::Process(std::string filename)
//if std::string is bracketed it is a section, if it begins in a letter it is a variable
if(tmp[0] == '[' && tmp[tmp.length()-1] == ']')
section = str;
else if(std::isalpha(tmp[0]))
else if(std::isalpha(tmp[0])) //variables must start with a letter
{
var = str.substr(0,str.find('=')); //split the std::string at the equals sign
SetVariable(section,var,str.substr(str.find('=')+1,str.length()-var.length()-1));
}
else if(tmp[0] == '#' || tmp[0] == ';') //acceptable comment characters
{
SetVariable(section,FormatStr("__comment%d",commentNum),str);
++commentNum;
}
else if(tmp.length() == 0 && !cfile.eof()) //prevent writing a new newline with every write to disk
{
SetVariable(section,FormatStr("__newline%d",newlineNum),"");
++newlineNum;
}
}
cfile.close();
}
@ -339,7 +352,14 @@ void ZConfigFile::Flush()
//for each variable in section, write out variable=value
for(varIter = (*secIter).varList.begin(); varIter != (*secIter).varList.end(); ++varIter)
{
if(CleanString((*varIter).var).length()) //ensures that variable is valid
if((*varIter).var[0] == '_')
{
if( ((*varIter).var).substr(2,7) == "comment")
cfile << (*varIter).val << std::endl;
else if( ((*varIter).var).substr(2,7) == "newline")
cfile << std::endl;
}
else if(CleanString((*varIter).var).length()) //ensures that variable is valid
cfile << (*varIter).var << '=' << (*varIter).val << std::endl;
}
}

View File

@ -13,7 +13,7 @@
\brief Central source file for ZEngine.
Actual implementation of ZEngine singleton class, the core of ZEngine.
<br>$Id: ZE_ZEngine.cpp,v 1.50 2003/07/11 00:27:26 cozman Exp $<br>
<br>$Id: ZE_ZEngine.cpp,v 1.51 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -22,7 +22,7 @@
namespace ZE
{
VersionInfo ZEngine::Version(0,8,4,"dev");
VersionInfo ZEngine::Version(0,8,4);
ZEngine *ZEngine::sInstance=NULL;
ZEngine::ZEngine() :
@ -50,6 +50,7 @@ ZEngine* ZEngine::GetInstance()
sInstance = new ZEngine;
return sInstance;
sInstance = NULL;
}
void ZEngine::ReleaseInstance()
@ -776,6 +777,23 @@ TTF_Font* ZEngine::LoadFont(std::string filename, int size)
#endif
int ZEngine::DisplayWidth()
{
return mWidth;
}
int ZEngine::DisplayHeight()
{
return mHeight;
}
int ZEngine::DisplayDepth()
{
return mBPP;
}
#ifdef DEPRECIATED
int ZEngine::Width()
{
return mWidth;
@ -791,6 +809,8 @@ int ZEngine::BPP()
return mBPP;
}
#endif //DEPRECIATED
bool ZEngine::IsFullscreen()
{
return mFullscreen;

View File

@ -13,7 +13,7 @@
\brief Source file for ZImage.
Implementation of ZImage, the Image class for ZEngine.
<br>$Id: ZE_ZImage.cpp,v 1.36 2003/07/05 00:40:45 cozman Exp $<br>
<br>$Id: ZE_ZImage.cpp,v 1.37 2003/07/11 20:51:44 cozman Exp $<br>
\author James Turk
**/
@ -101,7 +101,7 @@ void ZImage::OpenFromImage(SDL_Surface *image, Sint16 x, Sint16 y, Sint16 w, Sin
if(!image)
rEngine->ReportError(ZERR_NOIMAGE,"OpenFromImage");
cutImg = SDL_CreateRGBSurface(0, rect.w, rect.h, rEngine->BPP(),
cutImg = SDL_CreateRGBSurface(0, rect.w, rect.h, rEngine->DisplayDepth(),
screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask);
if(!cutImg)

View File

@ -9,7 +9,7 @@ This example file is in the public domain, it may be used with no restrictions.
and the home of this Library is http://www.zengine.sourceforge.net
*******************************************************************************/
/*$Id: ZParticleTest.cpp,v 1.1 2003/07/10 23:30:05 cozman Exp $*/
/*$Id: ZParticleTest.cpp,v 1.2 2003/07/11 20:51:45 cozman Exp $*/
#include <ZEngine.h>
#include <string>
@ -56,7 +56,7 @@ void Test()
effect[0].SetRate(120);
effect[0].SetImage("data/particle1.tga");
effect[1].SetPosRange(0,0,static_cast<float>(engine->Width()),20);
effect[1].SetPosRange(0,0,static_cast<float>(engine->DisplayWidth()),20);
effect[1].SetColorRange(230,255,230,255,250,255,200,240);
effect[1].SetVelocityRange(-10,30,10,50);
effect[1].SetEnergyRange(1,1);
@ -76,7 +76,7 @@ void Test()
effect[2].SetImage("data/particle2.tga");
bg.Open("data/rainbow.bmp");
bg.Resize(engine->Width()/2,engine->Height()); //gives perspective on alpha on half of screen
bg.Resize(engine->DisplayWidth()/2,engine->DisplayHeight()); //gives perspective on alpha on half of screen
font.DrawText("(P)ause (U)npause (C)lear",text[0]);
font.DrawText("1-3 : Change System Being Controlled",text[1]);

View File

@ -30,7 +30,8 @@
WarningLevel="4"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
DebugInformationFormat="3"
DisableSpecificWarnings="4702"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool