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
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 "HeadSpin.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_t GetMajorVersion(); |
|
static uint16_t 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_t 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_t 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
|
|
|