[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section documents the major changes between versions 0.94 and 0.96 of of Crystal Space.
The header for iPolygonMesh
has moved from `include/ivaria'
to `include/igeom'.
The following functions have been removed. Instead there is now a new routine
called iMeshObject::GetObjectModel()
which will return an instance of
iObjectModel
. The functions can be called from that instance.
iMeshObject::GetShapeNumber()
iMeshObject::GetObjectBoundingBox()
iMeshObject::GetRadius()
A similar change has happened in the iVisibilityObject
interface.
The map format has changed to XML. Use the `cs2xml' tool to convert old maps like this (with a real path to a zip file):
cs2xml data/oldlevel.zip |
or (with a VFS path):
cs2xml /this/mydata/sprite1 |
The old parser is gone. We switched to XML.
The following macros have been removed:
SCF_QUERY_INTERFACE_FAST
CS_GET_CHILD_OBJECT_FAST
CS_GET_NAMED_CHILD_OBJECT_FAST
CS_GET_FIRST_NAMED_CHILD_OBJECT_FAST
SCF_DECLARE_FAST_INTERFACE
Fast interfaces are now default. Just use the normal query versions instead of the ones above.
For Interfaces the scfGetID_Interfacename
and the
VERSION_Interfacename
have been renamed to
Interfacename_scfGetID
and Interfacename_VERSION
for making
namespaces working nicely with them.
make
Targets
Some targets for the make
process (all applications, some plugins) have
changed. In general, the name of a target is now the same as the name of the
resulting binary (without suffix). For example, `walktest' is now built
with `make -k walktest' instead of `make -k walk'. However, the
composite target names have not been changed. To build `walktest' and all
required plugins, one still invokes `make -k walkall'.
iLoader::LoadSound()
that returns an iSoundWrapper
now returns a pointer that is increffed (one ref count more compared
to before).
The following methods have moved:
iTextureManager::FindRGB()
=> iGraphics2D::FindRGB()
The following methods were removed:
iTextureManager::SetPalette()
iTextureManager::ResetPalette()
iTextureManager::ReserveColor()
The procedural texture system has been rewritten. See the documentation for
iGraphics3D::SetRenderTarget()
for details.
The interpretation of the matrix used in the `hardmove' tag for mesh factories (`meshfact') has been inverted so it is more logical and also corresponds with the wah `hardmove' is interpreted for mesh objects (`meshobj').
The old octree culler is now completely gone. Instead you should use Dynavis now. If you still have an old level that uses this culler then you can try to convert it using the `levtool' utility but this is only a temporary measure. It is a lot better to design the level with Dynavis in mind. To convert an old level do this:
levtool -dynavis old_level.zip |
Note that the statements `culler' and `vistree' are no longer supported in world files. The loader will give an error if it finds them.
All the macro versions of the growing arrays and vectors have been removed
and replaced with corresponding templated arrays (see section 6.2 Utility Library (csUtil
)).
i.e. the following macros are gone: CS_DECLARE_TYPED_VECTOR
,
CS_DECLARE_OBJECT_VECTOR
, CS_DECLARE_GROWING_ARRAY
, and all
derivatives.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |