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.

278 lines
18 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/>.
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