Crystal Space: C.5 Release Notes from 0.90 to 0.92

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## C.5 Release Notes from 0.90 to 0.92

This section documents the major changes between versions 0.90 and 0.92 of of Crystal Space.

### csInitializer changes

`csInitializer::CreateEnvironment()` now accepts two additional parameters: ``argc'` and ``argv'`. Consequently `csInitializer::SetupKeyboardHandler()` has been removed.

### iCollideSystem Changes

The `iCollideSystem::Collide()` function now accepts ``csReversibleTransform'` transforms instead of just ``csTransform'`.

### Texture Manager Changes

The following deregistration functions have been removed. Instead, use the normal `DecRef()` mechanism.

- `iTextureManager::UnregisterTexture()`
- `iTextureManager::UnregisterMaterial()`

### iRegion

The functions `iRegion::Find...()` will no longer increase the reference count of the returned objects.

### GetThingState

`iEngine::GetThingState()` has not been removed but this function is now deprecated. It is recommended that you get the ``iMeshObjectType'` for the thing mesh objects the usual way (i.e. by loading the plugin).

### iThingState

The following functions were made ``const'` in ``iThingState'`:

- `CurveTexel()`
- `CurveVertex()`
- `GetCurveVertices()`
- `GetCurveVertexCount()`
- `GetCurveCount()`
- `GetCurvesScale()`
- `GetMovingOption()`
- `GetPortalCount()`
- `GetPortal()`
- `GetPortalPolygon()`
- `GetVertexCount()`

The following methods were renamed in ``iThingState'`:

- `CurveVertex()` => `GetCurveVertex()`
- `CurveTexel()` => `GetCuveTexel()`

Added several functions to ``iThingState'`:

- `FindPolygonIndex()`
- `RemovePolygon()`
- `RemovePolygons()`
- `SetVertex()`
- `DeleteVertex()`
- `DeleteVertices()`
- `SetCurveVertex()`
- `SetCurveTexel()`
- `ClearCurveVertices()`
- `FindCurveIndex()`
- `RemoveCurve()`
- `RemoveCurves()`

### Isometric Engine

Added `iIsoEngine::GetMaterialList()` and removed all other material functions from `iIsoEngine` except the one to create a material from a VFS path.

Added `iIsoEngine::GetMeshFactories()` and removed the following functions.

- `AddMeshFactory()`
- `FindMeshFactory()`
- `RemoveMeshFactory()`

### Terrain Mesh Object

Changed `iTerrFuncState::LoadMaterialGroup()` so that the first parameter is now a material list, ``iMaterialList'`, instead of ``iEngine'`.

### Loader and Saver Plugins

Changed `iLoaderPlugin::Parse()` to accept a material list and mesh factory list (``iMaterialList'` and ``iMeshFactoryList'`) instead of an ``iEngine'` instance.

Changed `iSaverPlugin::WriteDown()` so that it no longer has the ``iEngine'` parameter.

### iMeshObject and iMeshObjectFactory Changes

Added `SetLogicalParent()` and `GetLogicalParent()` to both ``iMeshObject'` and ``iMeshObjectFactory'`. This should be no issue for applications simply using mesh objects but it is an issue if you made your own mesh object implementation. Also beware that there have been some changes in the way the parser interact with the plugin loaders. The plugin loaders are no longer responsible for setting the factory pointer. The parser will now do that.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ]

This document was generated using texi2html 1.76.