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

## C.4 Release Notes from 0.92 to 0.94

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

### Loader and Saver Changes

All plugins implementing ``iLoaderPlugin'` will have to be changed since the material and mesh factory lists are now replaced with a ``iLoaderContext'` parameter.

This change also means that `iTerrFuncState::LoadMaterialGroup()` now expects an ``iLoaderContext'` instead of ``iMaterialList'`.

Warning: This loader change means that the searching restricted on the current region now actually works. This means that by default when loading a map it will only find objects defined in this map.

The ``iSaverPlugin'` interface has also changed. It now uses an ``iFile'` parameter instead of ``iStrVector'`.

### iCamera Changes

Added `iCamera::SetFarPlane()` and changed `iCamera::GetFarPlane()` to return a pointer to the far plane. This function will return null if no far plane is used.

The following constants have been renamed in order to avoid pollution of the global namespace:

- `VEC_FORWARD` => `CS_VEC_FORWARD`
- `VEC_BACKWARD` => `CS_VEC_BACKWARD`
- `VEC_RIGHT` => `CS_VEC_RIGHT`
- `VEC_LEFT` => `CS_VEC_LEFT`
- `VEC_UP` => `CS_VEC_UP`
- `VEC_DOWN` => `CS_VEC_DOWN`
- `VEC_ROT_RIGHT` => `CS_VEC_ROT_RIGHT`
- `VEC_ROT_LEFT` => `CS_VEC_ROT_LEFT`
- `VEC_TILT_RIGHT` => `CS_VEC_TILT_RIGHT`
- `VEC_TILT_LEFT` => `CS_VEC_TILT_LEFT`
- `VEC_TILT_UP` => `CS_VEC_TILT_UP`
- `VEC_TILT_DOWN` => `CS_VEC_TILT_DOWN`

### Engine Changes

Far plane handling in the engine has changed. Polygons are no longer clipped exactly to the far plane but instead the polygons are rejected which are fully behind the far plane.

`iEngine::LoadMeshFactory()` and `iEngine::LoadMeshWrapper()` used to have a ``classId'` parameter. That parameter has now been removed.

### Various Changes

`csPlane3::ClipPolygon()` will now by default consider the polygon to be visible on the negative side of the plane (`csPlane3::Classify()`) as opposed to the positive side like it used to be. It now has a third parameter ``reversed'` which you can set to `true` so that it behaves again as before.

### Various Constant Changes

The following constants have been renamed in order to avoid pollution of the global namespace:

- `BOX_CORNER_xy` => `CS_BOX_CORNER_xy`
- `BOX_CORNER_xY` => `CS_BOX_CORNER_xY`
- `BOX_CORNER_Xy` => `CS_BOX_CORNER_Xy`
- `BOX_CORNER_XY` => `CS_BOX_CORNER_XY`
- `BOX_EDGE_xy_Xy` => `CS_BOX_EDGE_xy_Xy`
- `BOX_EDGE_Xy_xy` => `CS_BOX_EDGE_Xy_xy`
- `BOX_EDGE_Xy_XY` => `CS_BOX_EDGE_Xy_XY`
- `BOX_EDGE_XY_xy` => `CS_BOX_EDGE_XY_Xy`
- `BOX_EDGE_XY_xY` => `CS_BOX_EDGE_XY_xY`
- `BOX_EDGE_xY_XY` => `CS_BOX_EDGE_xY_XY`
- `BOX_EDGE_xY_xy` => `CS_BOX_EDGE_xY_xy`
- `BOX_EDGE_xy_XY` => `CS_BOX_EDGE_xy_xY`
- `BOX_CORNER_xyz` => `CS_BOX_CORNER_xyz`
- `BOX_CORNER_xyZ` => `CS_BOX_CORNER_xyZ`
- `BOX_CORNER_xYz` => `CS_BOX_CORNER_xYz`
- `BOX_CORNER_xYZ` => `CS_BOX_CORNER_xYZ`
- `BOX_CORNER_Xyz` => `CS_BOX_CORNER_Xyz`
- `BOX_CORNER_XyZ` => `CS_BOX_CORNER_XyZ`
- `BOX_CORNER_XYz` => `CS_BOX_CORNER_XYz`
- `BOX_CORNER_XYZ` => `CS_BOX_CORNER_XYZ`
- `BOX_SIDE_x` => `CS_BOX_SIDE_x`
- `BOX_SIDE_X` => `CS_BOX_SIDE_X`
- `BOX_SIDE_y` => `CS_BOX_SIDE_y`
- `BOX_SIDE_Y` => `CS_BOX_SIDE_Y`
- `BOX_SIDE_z` => `CS_BOX_SIDE_z`
- `BOX_SIDE_Z` => `CS_BOX_SIDE_Z`
- `BOX_INSIDE` => `CS_BOX_INSIDE`
- `BOX_EDGE_Xyz_xyz` => `CS_BOX_EDGE_Xyz_xyz`
- `BOX_EDGE_xyz_Xyz` => `CS_BOX_EDGE_xyz_Xyz`
- `BOX_EDGE_xyz_xYz` => `CS_BOX_EDGE_xyz_xYz`
- `BOX_EDGE_xYz_xyz` => `CS_BOX_EDGE_xYz_xyz`
- `BOX_EDGE_xYz_XYz` => `CS_BOX_EDGE_xYz_XYz`
- `BOX_EDGE_XYz_xYz` => `CS_BOX_EDGE_XYz_xYz`
- `BOX_EDGE_XYz_Xyz` => `CS_BOX_EDGE_XYz_Xyz`
- `BOX_EDGE_Xyz_XYz` => `CS_BOX_EDGE_Xyz_XYz`
- `BOX_EDGE_Xyz_XyZ` => `CS_BOX_EDGE_Xyz_XyZ`
- `BOX_EDGE_XyZ_Xyz` => `CS_BOX_EDGE_XyZ_Xyz`
- `BOX_EDGE_XyZ_XYZ` => `CS_BOX_EDGE_XyZ_XYZ`
- `BOX_EDGE_XYZ_XyZ` => `CS_BOX_EDGE_XYZ_XyZ`
- `BOX_EDGE_XYZ_XYz` => `CS_BOX_EDGE_XYZ_XYz`
- `BOX_EDGE_XYz_XYZ` => `CS_BOX_EDGE_XYz_XYZ`
- `BOX_EDGE_XYZ_xYZ` => `CS_BOX_EDGE_XYZ_xYZ`
- `BOX_EDGE_xYZ_XYZ` => `CS_BOX_EDGE_xYZ_XYZ`
- `BOX_EDGE_xYZ_xYz` => `CS_BOX_EDGE_xYZ_xYz`
- `BOX_EDGE_xYz_xYZ` => `CS_BOX_EDGE_xYz_xYZ`
- `BOX_EDGE_xYZ_xyZ` => `CS_BOX_EDGE_xYZ_xyZ`
- `BOX_EDGE_xyZ_xYZ` => `CS_BOX_EDGE_xyZ_xYZ`
- `BOX_EDGE_xyZ_xyz` => `CS_BOX_EDGE_xyZ_xyz`
- `BOX_EDGE_xyz_xyZ` => `CS_BOX_EDGE_xyz_xyZ`
- `BOX_EDGE_xyZ_XyZ` => `CS_BOX_EDGE_xyZ_XyZ`
- `BOX_EDGE_XyZ_xyZ` => `CS_BOX_EDGE_XyZ_xyZ`
- `POL_FRONT` => `CS_POL_FRONT`
- `POL_BACK` => `CS_POL_BACK`
- `POL_SAME_PLANE` => `CS_POL_SAME_PLANE`
- `POL_SPLIT_NEEDED` => `CS_POL_SPLIT_NEEDED`
- `DECLARE_TYPED_QUEUE` => `CS_DECLARE_TYPED_QUEUE`
- `DECLARE_TYPED_QUEUE_BASE` => `CS_DECLARE_TYPED_QUEUE_BASE`

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

This document was generated using texi2html 1.76.