You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

293 lines
19 KiB

/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.
This program 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 3 of the License, or
(at your option) any later version.
This program 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.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
#ifndef plVersion_h_inc
#define plVersion_h_inc
#include "hsTypes.h"
// RULES:
// Log your change
// Set Minor Version to ZERO when you Bump Major Version
// If you change the minor, see GetChangedCreateables in plVersion.cpp
#define PLASMA2_MAJOR_VERSION 70 // Major Version...every file will need to be reexported
#define PLASMA2_MINOR_VERSION 2 // Minor Version...only files with the specified creatables
// will need to be reexported
// Don't modify this, it's automatically updated when branches are made
#define PLASMA2_BRANCH_NAME "Main Branch"
class plVersion
{
public:
static UInt16 GetMajorVersion();
static UInt16 GetMinorVersion();
// Pass in a creatable index to get its current version. Zero means it
// hasn't changed since the last major version change, anything else is the
// last minor version it changed at. This takes into account the version of
// parent classes.
static int GetCreatableVersion(UInt16 creatableIndex);
};
/* Major Log ---Death to those who do not log changes---
# Date Who comment
1 5/8/01 Paulg Added version Number
2 5/11/01 mf Changed sortable mesh format by 2 bytes.
3 5/14/01 Paulg Index files Location is used for ReadConfig at Client Startup, RoomLoc added to Index
4 5/21/01 matt Fixed errant bounding types for physicals (old bad codes will choke)
5 5/24/01 mf Added Occluders to the data format.
6 5/29/01 mf Purvis changed the sound data format and didn't change the version.
7 5/3/01 thamer Cleaned up some object read/write routines
8 6/12/01 mcn Obliterated hsGTexture on down. Now we use plBitmaps and plMipmaps (class IDs changed)
9 6/21/01 mcn Updated drawable disk format. Forgot a field that made particle systems break when it wasn't there
10 6/25/01 mcn Updated plMipmap format. Helps resolve the huge memory issues we were having
11 6/28/01 mf Slight changes to material and geometry formats to support projective texturing.
12 7/02/01 mcn Changed file format to fix disappearing objects in SceneViewer
13 7/09/01 bob Changed file format of plSimpleParticleGenerator to allow mesh generated systems.
14 7/13/01 thamer Changed uoid read/write to include clone number
15 7/20/01 thamer Changed uoid sequence to support up to 4 player rooms
16 7/20/01 mcn Added a second drawable + key to drawInterfaces
17 7/22/01 bob Changed file format to have particle systems support material diffuse/opacity animations
18 7/27/01 mcn Added stuff to drawableSpans for SceneViewer. Are we ever going to have another non-zero minor version? :)
19 7/31/01 mf Did a get and the format had changed but the version hadn't been updated (again). Is this version thing dead?
20 8/13/01 mcn Not that I know of. Change to various object formats to support object instancing.
21 8/20/01 mf Like you'd know. Revised inter-object dependency connections throughout the five scene graphs.
22 8/21/01 mf CoordinateInterfaces keep refs to child SceneObjects instead of child CoordinateInterfaces.
22 8/21/01 mcn You hurt my feelings. I bump major version in retaliation. (Also upped max UV count)
23 8/24/01 mf Made runtime lights respect Max's OTM.
24 8/26/01 mcn Changed plSound format to support stereo (background music) sounds
25 9/05/01 thamer Changed uoid to support 32bit clones
26 9/14/01 mcn Added all 12 parameters to the Audio Region component.
27 9/25/01 mf Added soft volumes to run-time lights. Breaks any scene with RT lights.
28 10/03/01 matt Changed physics format just enough to make everyone reexport everything.
29 10/9/01 ee Changed Uoid member types to a new format that can accomodate strings.
30 10/10/01 mcn Split diffuse layer colors to static and runtime diffuse colors. Breaks the entire universe and parts of New Jersey.
31 10/11/01 ee Activated string usage in uoids -- this version thing is sure not dead now.
32 10/11/01 mf Changed format of plSpan. Only breaks scenes with visible geometry. Should that be Minor Version?
33 10/12/01 cp changed read/write functions in plAnimTimeConvert. Breaks all previously exported animations
34 10/22/01 Colin Changed format of plBitmap
35 10/30/01 mf Change to span format, breaks anything with visible geometry.
36 11/5/01 mcn Changed structure of sound classes to be far more intuitive and bug-free.
37 11/9/01 ee Just for fun.
38 11/13/01 bob Changed file format for plAnimTimeConvert / plAnimCmdMsg / plAGAnim (sense a theme?)
39 11/25/01 mf More sorting info for drawable geometry.
40 11/29/01 mcn Fixed sound fade param read/write. Anything with sounds must be re-exported.
41 12/04/01 bob More animation file format changes.
42 12/05/01 mcn Changes to sound format. Now properties are in a general props field. Also added disable-LOD prop to sounds
43 12/18/01 cjp changes to physics system
44 12/18/01 bob anim file format.
45 12/19/01 Colin anim file format, again.
46 12/28/01 mf DrawInterface format change to purge the last of the Opaque/Blending dualism.
47 1/2/01 mf Decoupled the hardware and software skinning vertex formats.
48 1/6/01 mf Added grey area to Soft Regions (formerly Soft Volumes).
49 1/17/02 cp new camera system checked into client and plugins
50 1/21/02 Colin Physics changes
51 1/24/02 Colin Animation format change
52 2/14/02 bob plAnimTimeConvert format change
53 2/14/02 matt made all brains non-keyed. reordering all over the place
54 3/15/02 cjp new LOS query types, format change to plHKPhysical
55 4/09/02 cjp more new LOS query types, format change to plHKPhysical, camera type changes
56 4/23/02 bob nuked plSimpleModifier from plAGMasterMod. Changes file format for animation.
57 5/17/02 Colin Changed Uoid format for cloning
58 7/02/02 thamer Changed synchedOject R/W format to support more LocalOnly options
59 8/14/02 bob Anim file format
60 2/08/03 mf Changed formats for everything drawable and/or physical. That leaves behaviors, but it's about time for a major version change anyway.
61 2/18/03 mf Between my changes and Bob's, we're just not sure what hasn't changed anymore. At least drawables and avatars.
62 3/30/03 mf Added LoadMask to plUoid
63 5/30/03 thamer optimized Uoid size
64 10/28/05 jeff changed plLocation to handle more pages and plUoid for optimization reasons
65 2/22/06 bob animation key rewrite to save space
66 2/27/06 bob 64-bit quaternion anim keys
67 2/28/06 bob Anims store UInt16 frame numbers, not 32-bit float times.
68 3/03/06 bob constant anim channels (plMatrixConstant, plScalarConstant had no R/W methods)
69 5/08/06 bob changed plVertCoder and hsMatrix44::Read/Write
70 2/12/07 bob Merged in several registry/resMangaer fixes
*/
/* Minor Log ---Death to those who do not log changes---
# Date Who comment
1 5/8/01 Paulg Added version Number
2 5/9/01 mcn Changed color components of drawableSpans
0 5/11/01 mf Dropped back to zero on Major Version change
1 8/06/01 thamer Upped the version for mf's anim callback changes.
2 8/06/01 bob Changes to particle system read/write.
0 8/13/01 mcn Bumped back to 0 due to major version change.
1 8/23/01 bob Added animation controller to particle systems, changing their format.
0 8/24/01 mcn Bumped back to 0 yet again.
1 8/27/01 mcn Changed how emissive flags are handled on materials.
2 8/29/01 bob Changed plAvatarMod file format
0 9/05/01 thamer Bumped back to 0 yet again.
1 9/17/01 matt Avatar only.
2 9/24/01 bob Avatar and sound file formats changed. (For age linking effects)
0 9/25/01 mf Reset to zero for major change.
1 10/7/01 Colin Format of plResponderModifier and plEventCallbackMsg changed.
0 10/9/01 ee Reset to zero for major change.
1 10/11/01 mcn Changed sound format. Anything with sounds (including avatar b/c of linking sounds) breaks. Is this a record for # of version changes in one week?
1 10/15/01 mcn Added soft volumes to sounds. Breaks anything with sounds. Again.
2 10/17/01 Colin Changed format of plAGAnim
0 10/22/01 Colin Reset to zero for major change.
1 11/01/01 bob Changed format for plAGAnim and plAGMasterMod. Will break avatars without re-export.
0 11/02/01 mf Reset to zero for major change.
1 11/28/01 mcn Changed meaning of sound volume property. Will work if not re-exported, but will sound wrong.
0 11/29/01 mcn Reset on major version change.
1 12/10/01 bob Changes to animTimeConvert. Animated materials will need a re-export.
0 12/18/01 bob Reset to zero for major change.
1 1/07/02 bob File format change for particle systems.
0 1/21/02 Colin Reset to zero for major change.
1 1/24/02 Colin File format for responders
2 1/24/02 mcn Changed postEffectMod format. Not many people use it though, so only minor version change.
0 1/24/02 Colin Reset to zero for major change.
1 1/28/02 bob File format change to avatars for clothing customization.
2 1/30/02 Colin File format change to sit component
3 1/31/02 Colin File format change to logic modifier (all detector components)
4 2/13/02 Colin File format change to ladder modifier
0 2/14/02 bob Reset to zero for major change.
1(5) 2/14/02 mcn GUI control format changes to support dynamic text layers (the RIGHT way)
2(6) 2/19/02 mcn Added version field to dialogs, to allow synching with C++ and Python code (just in case)
7 3/01/02 mcn Moved GUI controls to pfGUIColorScheme methods of handling colors/fonts
8 3/01/02 cjp changed format of new camera brains, only affects the few using them right now
10 3/08/02 mcn Changed internal format of sounds to facilitate packing them in files later
11 3/08/02 mcn Added a shadow option to GUI color schemes. Also added mouse-over animations to buttons.
12 3/12/02 bob Change format of clothing
13 3/15/02 matt Changed base class for sit modifier
0 3/15/02 cjp Only chris forgot to log it - mf
1 3/29/02 mf Added light group support for particle systems.
2 4/02/02 Colin Format change for responder modifiers
0 4/15/02 cjp Only chris forgot to log it - mf
1 4/15/02 mf Added a parm to partycle systems just for fun.
2 4/17/02 cjp Added new modifier for interface information, changed plMaxNode.cpp.
0 4/23/02 bob Reset to zero.
1 4/25/02 mcn GUI objects no longer fog. Must reexport GUI components.
2 5/05/02 mf Particle system enhancements
3 5/06/02 matt Changes to one shot modifier and multistage modifier
4 5/06/02 bob Changes to plArmatureMod and Clothing stuff. For swappable meshes and footsteps.
5 5/07/02 bob Changed clothing item file format (again) for text descriptions and thumbnails
6 5/09/02 mcn Added sound event capabilities to GUI controls
7 5/13/02 mcn Added some new options to GUI knobs
8 5/14/02 matt Fix net propagation for animation stages (fading) and generic brains (exit flags)
0 5/17/02 Colin Reset for major version
1 5/21/02 mcn Added a channel select option for plWin32Sounds
2 5/23/02 bob Added multiple texture layers per element in plClothingItem
3 5/23/02 mcn Added some options to plSoundBuffer.
4 6/18/02 mcn Added some more options to plSound, incl. localOnly flags
6 6/21/02 mcn Updated plDynamicTextMap to include an initial image buffer
7 6/26/02 mcn Major revision to sound system to support hardware acceleration
0 7/02/02 thamer Reset for major version
1 7/08/02 matt Format change for animation stages -- added next/prevStage override
2 7/10/02 bob Format changes for avatar footstep sounds
3 7/12/02 mcn Format change to sounds for EAX effects
4 7/23/02 bob Format change to footstep sounds for more surface options
5 7/29/02 mcn More EAX format changes to sounds
6 7/29/02 mcn Added cutoff attenuation to spot/omni lights
7 8/01/02 bob Format change to clothing items
0 8/14/02 bob Reset for major version
1 8/19/02 bob plClothingItem file format
2 9/02/02 bob plArmatureLODMod file format change for bone LOD
3 9/12/02 mf Making ripples and waves play nice with each other.
4 9/18/02 bob plClothingItem file format... again
5 9/19/02 mcn New GUI control proxy stuff
6 9/23/02 mcn Removed dead sound stuff
7 9/24/02 mcn Sound priority stuff
8 9/25/02 mcn Support for new grouped random sound objects
9 10/15/02 mcn Material anim support in GUI controls
10 10/21/02 mcn Variable volume support to group sounds. No format break.
11 10/29/02 cjp proper python notification of avatar page out & last avatar out plus elevator persistance fix - breaks message format for exclude regions
12 10/29/02 mcn Fixing chris's booboo
13 10/29/02 cjp Changed camera component data format slightly.
16 11/18.02 cjp changed camera speed components & objects, don't know where v 14 & 15 went
17 12/04/20 matt New line-of-sight categories; format change for physicals.
18 12/05/02 mf Enhanced linefollowmod to play nice with stereizer, and added field to occluder's cullpoly.
19 12/17/02 matt Bumped armaturemod, based on strong circumstantial evidenced that I missed something.
20 12/31/02 matt New format for animation stages, written by the multistage mod.
21 01/03/03 matt Change to sitmodifier.
22 01/16/03 matt More simplification for animation stages and generic brains.
23 01/20/03 bob Added layer to clothing items for aged skin blending
24 01/21/03 mf plLayers now read and write out their shaders.
25 01/29/03 bob plMorphSequence read/writes the plSharedMeshes it uses
27 02/05/03 mcn Updates to pfGUIButtonMod
0 02/18/03 mf Reset for major version change.
1 02/19/03 bob Added layers to plClothingItem. Took the opp to cleanup the R/W functions
2 02/21/03 mf Added features to dynamic water. No one should notice.
3 02/24/03 cjp changed animated cameras - added new commands for controlling them
4 02/24/03 mcn Updates to GUI stuff to support, er, new GUI stuff.
5 03/11/03 bob Clothing and linkSound format change
0 03/30/03 mf Reset for major version change.
9 04/14/03 Colin Havok change. At 9 since mf forgot to bump the version (and Matt did a bunch of undocumented bumps)
10 04/15/03 bob Added a footstep surface type
11 4/18/03 mcn Added list of the layers grabbed by a GUI DynDisplay
12 4/23/03 bob File format for plMultistageBehMod, needed for a ladder fix
13 05/01/03 Colin Changed how Havok vectors and quats are written
14 03/30/03 mf Particle effect enhancement
0 05/30/03 thamer Reset for major version change.
1 06/01/03 bob Added a flags variable to plSharedMesh
2 06/06/03 markd Added NotifyType for GUIButtons
3 06/07/03 mcn Added sound groups to physicals
4 06/24/03 bob More params for Flocking particles
5 07/05/03 mf Particle and footprints working together
6 07/13/03 bob Avatar file format
7 07/31/03 bob LinkToAgeMsg (which affects responders) and panic link regions
8 08/21/03 Colin Removed some stuff from plSoundBuffer
9 08/22/03 bob Added info to plClothingItem
10 09/16/03 bob Removed stuff in plAnimCmdMsg, which affects responders.
11 09/18/03 mf Changed plLoadMask, of which plWaveSet7 is the biggest user.
12 01/03/04 jeff pfGUIDynDisplayCtrl now stores material as well as layer information
!! 11 02/10/04 mf Dropped back a version, to reduce patch size for Expansion 1.
12 03/12/04 bob New stuff in Swim Regions
0 10/28/05 jeff Reset for major version change
1 11/28/05 jeff GUI text boxes can now pull strings from the localization mgr
2 12/01/05 jeff pfKIMsg can now handle unicode strings
3 02/02/06 adam modified plDynamicEnvMap as a part of back-porting planar reflections from P21
0 02/22/06 bob Reset for major version change
1 04/12/06 Colin Changed physical format
0 05/08/06 bob Reset for major version change
1 05/16/06 markd Changed physics format to include boxes
2 06/26/06 jeff Changed coop brain format so book sharing works again
3 12/05/06 bob Avatar uses a render target instead of a plMipmap.
4 01/16/07 bob Still does, it's just not created at export.
5 01/24/07 adam Changed plAGMasterMod so one can be set as a group master in grouped anims
0 02/12/07 bob Reset for major version change
1 03/29/07 jeff Changed plLoadAvatarMsg and plArmatureMod to be more flexible
2 06/28/07 jeff Changed plAvBrainHuman format to store whether it's an actor or not
*/
#endif // plVersion_h_inc