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.
294 lines
18 KiB
294 lines
18 KiB
14 years ago
|
/*==LICENSE==*
|
||
|
|
||
|
CyanWorlds.com Engine - MMOG client, server and tools
|
||
13 years ago
|
Copyright (C) 2011 Cyan Worlds, Inc.
|
||
14 years ago
|
|
||
|
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
|
||
13 years ago
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
14 years ago
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
13 years ago
|
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.
|
||
14 years ago
|
|
||
|
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
|