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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Definition and implementation file for ZEngine particle system class ZBaseParticleSystem. 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. 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 \author James Turk
**/ **/
@ -244,8 +244,8 @@ void ZBaseParticleSystem<particleType>::Update()
for(unsigned int i=0; i < rCurParticles; ++i) for(unsigned int i=0; i < rCurParticles; ++i)
{ {
UpdateParticle(i,elapsed); UpdateParticle(i,elapsed);
if(rParticles[i].xPos < 0 || rParticles[i].xPos > rEngine->Width() if(rParticles[i].xPos < 0 || rParticles[i].xPos > rEngine->DisplayWidth()
|| rParticles[i].yPos < 0 || rParticles[i].yPos > rEngine->Height() || rParticles[i].energy <= 0) || rParticles[i].yPos < 0 || rParticles[i].yPos > rEngine->DisplayHeight() || rParticles[i].energy <= 0)
{ {
rParticles[i] = rParticles[--rCurParticles]; rParticles[i] = rParticles[--rCurParticles];
--i; //go back one to process that particle --i; //go back one to process that particle

View File

@ -29,7 +29,10 @@ namespace ZE
/*! /*!
\brief ZConfigFile Class for use in ZEngine. \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 class ZConfigFile
{ {

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.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 \author James Turk
**/ **/
@ -692,6 +692,31 @@ class ZEngine
//Accessors// //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. \brief Get Current Display Width.
@ -715,6 +740,7 @@ class ZEngine
\return BPP of Display. \return BPP of Display.
**/ **/
int BPP(); int BPP();
#endif //DEPRECIATED
/*! /*!
\brief Get Fullscreen setting. \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 Header file for ZEngine Game Engine from Concept of Zero, this is the file that programs that wish to
utilize ZEngine should include. 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 \author James Turk
**/ **/
@ -12,8 +12,8 @@
\mainpage ZEngine Documentation \mainpage ZEngine Documentation
\author James Turk \author James Turk
\version 0.8.3 \version 0.8.4
\date April 27, 2003 \date July 12, 2003
\section ZEngine About ZEngine \section ZEngine About ZEngine
<br> <br>

View File

@ -13,7 +13,7 @@
\brief Source file for ZConfigFile. \brief Source file for ZConfigFile.
Implementation of ZConfigFile, the ZEngine INI-Style Config File. 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 \author James Turk
**/ **/
@ -177,6 +177,8 @@ ZConfigFile::~ZConfigFile()
void ZConfigFile::Process(std::string filename) void ZConfigFile::Process(std::string filename)
{ {
rFilename = filename; rFilename = filename;
int commentNum=0;
int newlineNum=0;
std::ifstream cfile(rFilename.c_str()); std::ifstream cfile(rFilename.c_str());
std::string section, str, var, tmp; 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 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] == ']') if(tmp[0] == '[' && tmp[tmp.length()-1] == ']')
section = str; 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 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)); 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(); cfile.close();
} }
@ -339,7 +352,14 @@ void ZConfigFile::Flush()
//for each variable in section, write out variable=value //for each variable in section, write out variable=value
for(varIter = (*secIter).varList.begin(); varIter != (*secIter).varList.end(); ++varIter) 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; cfile << (*varIter).var << '=' << (*varIter).val << std::endl;
} }
} }

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.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 \author James Turk
**/ **/
@ -22,7 +22,7 @@
namespace ZE namespace ZE
{ {
VersionInfo ZEngine::Version(0,8,4,"dev"); VersionInfo ZEngine::Version(0,8,4);
ZEngine *ZEngine::sInstance=NULL; ZEngine *ZEngine::sInstance=NULL;
ZEngine::ZEngine() : ZEngine::ZEngine() :
@ -50,6 +50,7 @@ ZEngine* ZEngine::GetInstance()
sInstance = new ZEngine; sInstance = new ZEngine;
return sInstance; return sInstance;
sInstance = NULL;
} }
void ZEngine::ReleaseInstance() void ZEngine::ReleaseInstance()
@ -776,6 +777,23 @@ TTF_Font* ZEngine::LoadFont(std::string filename, int size)
#endif #endif
int ZEngine::DisplayWidth()
{
return mWidth;
}
int ZEngine::DisplayHeight()
{
return mHeight;
}
int ZEngine::DisplayDepth()
{
return mBPP;
}
#ifdef DEPRECIATED
int ZEngine::Width() int ZEngine::Width()
{ {
return mWidth; return mWidth;
@ -791,6 +809,8 @@ int ZEngine::BPP()
return mBPP; return mBPP;
} }
#endif //DEPRECIATED
bool ZEngine::IsFullscreen() bool ZEngine::IsFullscreen()
{ {
return mFullscreen; return mFullscreen;

View File

@ -13,7 +13,7 @@
\brief Source file for ZImage. \brief Source file for ZImage.
Implementation of ZImage, the Image class for ZEngine. 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 \author James Turk
**/ **/
@ -101,7 +101,7 @@ void ZImage::OpenFromImage(SDL_Surface *image, Sint16 x, Sint16 y, Sint16 w, Sin
if(!image) if(!image)
rEngine->ReportError(ZERR_NOIMAGE,"OpenFromImage"); 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); screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask);
if(!cutImg) 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 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 <ZEngine.h>
#include <string> #include <string>
@ -56,7 +56,7 @@ void Test()
effect[0].SetRate(120); effect[0].SetRate(120);
effect[0].SetImage("data/particle1.tga"); 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].SetColorRange(230,255,230,255,250,255,200,240);
effect[1].SetVelocityRange(-10,30,10,50); effect[1].SetVelocityRange(-10,30,10,50);
effect[1].SetEnergyRange(1,1); effect[1].SetEnergyRange(1,1);
@ -76,7 +76,7 @@ void Test()
effect[2].SetImage("data/particle2.tga"); effect[2].SetImage("data/particle2.tga");
bg.Open("data/rainbow.bmp"); 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("(P)ause (U)npause (C)lear",text[0]);
font.DrawText("1-3 : Change System Being Controlled",text[1]); font.DrawText("1-3 : Change System Being Controlled",text[1]);

View File

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