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

### C.2.6 Identifier Changes

### Naming Normalization

The following SCF class names have been normalized in order to be consistent with the names of all other available "null" and "multiplexer" plugins:

- `crystalspace.mesh.object.nullmesh` => `crystalspace.mesh.object.null`
- `crystalspace.graphics2d.null2d` => `crystalspace.graphics2d.null`
- `crystalspace.documentsystem.multiplex` => `crystalspace.documentsystem.multiplexer`
- `crystalspace.graphic.image.io.multiplex` => `crystalspace.graphic.image.io.multiplexer`

For API consistency and uniformity between container classes, the following methods have been renamed:

- `csArray<>::Length()` => `csArray<>::GetSize()`
- `csArray<>::SetLength()` => `csArray<>::SetSize()`
- `csHash<>::DeleteAll()` => `csHash<>::Empty()`
- `csHash<>::In()` => `csHash<>::Contains()`
- `csHash<>::PutFirst()` => `csHash<>::PutUnique()`
- `csList<>::FetchPrev()` => `csList<>::FetchPrevious()`
- `csList<>::HasPrev()` => `csList<>::HasPrevious()`
- `csSet<>::DeleteAll()` => `csSet<>::Empty()`
- `csSet<>::In()` => `csSet<>::Contains()`
- `csString::Clear()` => `csString::Empty()`
- `csString::FindReplace()` => `csString::ReplaceAll()`
- `csString::FindStr()` => `csString::Find()`
- `csString::Reclaim()` => `csString::ShrinkBestFit()`
- `iString::FindReplace()` => `iString::ReplaceAll()`
- `iString::FindStr()` => `iString::Find()`
- `iStringArray::DeleteAll()` => `iStringArray::Empty()`
- `iStringSet::Clear()` => `iStringSet::Empty()`

In most cases, the old names listed above are still recognized for backward compatibility, but they are deprecated, so you probably ought to convert to the new API at some point. The API of most of the container classes also has been expanded, so you may want to study the API reference manual to learn about newly available functionality.

Likewise, the following global functions have been renamed:

- `csFindReplace()` => `csReplaceAll()`

For consistency with like-named methods in other SCF interfaces, the following ``iImage'` methods have been renamed:

- `GetKeycolor()` => `GetKeyColor()`
- `HasKeycolor()` => `HasKeyColor()`

Various methods in ``csIntersect3'` have been renamed in order to improve consistency and clarity. In addition, some arguments have been reversed order so that, for example, a method named `SegmentTriangle()` will receive first the segment argument followed by the triangle argument.

- `AxisPlane()` => `SegmentAxisPlane()`
- `IntersectPolygon()` => `PlanePolygon()` (plane version)
- `IntersectPolygon()` => `SegmentPolygon()` (segment version)
- `IntersectSegment()` => `SegmentFrustum()`
- `IntersectTriangle()` => `SegmentTriangle()`
- `Plane()` => `SegmentPlane()`
- `Planes()` => `SegmentPlanes()` (segment version)
- `Planes()` => `ThreePlanes()` (three planes version)
- `XFrustum()` => `SegmentXFrustum()`
- `XPlane()` => `SegmentXPlane()`
- `YFrustum()` => `SegmentYFrustum()`
- `YPlane()` => `SegmentYPlane()`
- `Z0Plane()` => `SegmentZ0Plane()`
- `ZPlane()` => `SegmentZPlane()`

In addition to that the function `csMath3::FindIntersection()` has been removed and is replaced with a new `csIntersect3::TriangleTriangle()` routine which is faster and more correct.

The same improvements have been made to `csIntersect2`:

- `IntersectPolygon()` => `PlanePolygon()` (plane version)
- `Lines()` => `LineLine()` (plane version)
- `Plane()` => `SegmentPlane()`
- `PlaneNoTest()` => `SegmentPlaneNoTest()`
- `Planes()` => `PlanePlane()`
- `Segments()` => `SegmentSegment()` (plane version)

The following configuration control macros (most of which are emitted to ``csconfig.h'` by the Crystal Space ``configure'` script) have been renamed in order to improve internal naming consistency, and to conform more closely to naming scheme used by Autoconf.

- `CS_HAS_CAL3D` => `CS_HAVE_CAL3D`
- `CS_HAS_CMATH_H` => `CS_HAVE_CMATH_H`
- `CS_HAS_GLHANDLEARB_T` => `CS_HAVE_GLHANDLEARB_T`
- `CS_HAS_INT64_C` => `CS_HAVE_INT64_C`
- `CS_HAS_INTMAX_T` => `CS_HAVE_INTMAX_T`
- `CS_HAS_INTPTR_T` => `CS_HAVE_INTPTR_T`
- `CS_HAS_INTTYPES_H` => `CS_HAVE_INTTYPES_H`
- `CS_HAS_MACHINE_SOUNDCARD_H` => `CS_HAVE_MACHINE_SOUNDCARD_H`
- `CS_HAS_MEMORY_MAPPED_IO` => `CS_HAVE_MEMORY_MAPPED_IO`
- `CS_HAS_POSIX_MMAP` => `CS_HAVE_POSIX_MMAP`
- `CS_HAS_REGEX` => `CS_HAVE_REGEX`
- `CS_HAS_SOUNDCARD_H` => `CS_HAVE_SOUNDCARD_H`
- `CS_HAS_STDINT_H` => `CS_HAVE_STDINT_H`
- `CS_HAS_SYS_PARAM_H` => `CS_HAVE_SYS_PARAM_H`
- `CS_HAS_SYS_SOUNDCARD_H` => `CS_HAVE_SYS_SOUNDCARD_H`
- `CS_HAS_WCHAR_H` => `CS_HAVE_WCHAR_H`
- `CS_RTLD_NOW_AVAILABLE` => `CS_HAVE_RTLD_NOW`

Likewise, the same normalization has been applied to the ``CS_USE_FAKE_feature'` macros published by the ``configure'` script, and the boolean sense of these control macros has been reversed to account for the name change.

- `CS_USE_FAKE_EXPLICIT_KEYWORD` => `CS_HAVE_CXX_KEYWORD_EXPLICIT`
- `CS_USE_FAKE_MATH_H_FLOAT_FUNCS` => `CS_HAVE_MATH_H_FLOAT_FUNCS`
- `CS_USE_FAKE_SOCKLEN_TYPE` => `CS_HAVE_SOCKLEN_T`
- `CS_USE_FAKE_TYPENAME_KEYWORD` => `CS_HAVE_CXX_KEYWORD_TYPENAME`
- `CS_USE_FAKE_WCHAR_TYPE` => `CS_HAVE_WCHAR_T`
- `CS_USE_FAKE_WCSLEN` => `CS_HAVE_WCSLEN`

For consistency with like-named macros (such as ``CS_PROCESSOR_NAME'` and ``CS_PROCESSOR_arch'`), the following control macros have been renamed:

- `CS_PROCSIZE` => `CS_PROCESSOR_SIZE`

The `csOrdering<>` template has been renamed to the more general `csComparator<>` to reflect the fact that this template can perform both ordering and equality comparisons.

### Pollution Reduction

In order to avoid polluting the top-level system include directory, the Crystal Space header tree is now installed (via ``make install'` or ``jam install'`) in a subdirectory named ``crystalspace'`, rather than being installed directly in the top-level system directory. For example, assuming the default installation location, the Crystal Space headers are now installed in ``/usr/local/include/crystalspace'`. Previously, they would have been deposited directly into ``/usr/local/include'`. The ``cs-config'` utility script properly returns the new header location in response to the ``--includedir'`, ``--cflags'`, and ``--cxxflags'` options, so this relocation should be mostly transparent to external projects.

The following global header files have been renamed in order to avoid possible conflict with headers installed by other packages.

- `platform.h` => `csplatform.h`
- `qint.h` => `csqint.h`
- `qsqrt.h` => `csqsqrt.h`
- `volatile.h` => `csconfig.h`

The following symbols have been renamed in order to avoid pollution of the global namespace.

- `BadBraces` => `csrxBadBraces`
- `BadPattern` => `csrxBadPattern`
- `BadRepetition` => `csrxBadRepetition`
- `big_endian_float()` => `csBigEndianFloat()`
- `big_endian_long()` => `csBigEndianLong()`
- `big_endian_longlong()` => `csBigEndianLongLong()`
- `big_endian_short()` => `csBigEndianShort()`
- `COMP_BC` => `CS_COMPILER_BCC`
- `COMP_GCC` => `CS_COMPILER_GCC`
- `COMP_VC` => `CS_COMPILER_MSVC`
- `convert_endian()` => `csConvertEndian()`
- `DO_MMX` => `CS_HAVE_MMX`
- `DO_NASM` => `CS_HAVE_NASM`
- `double2longlong()` => `csDoubleToLongLong()`
- `ErrBraces` => `csrxErrBraces`
- `ErrBrackets` => `csrxErrBrackets`
- `ErrCharType` => `csrxErrCharType`
- `ErrCollate` => `csrxErrCollate`
- `ErrEscape` => `csrxErrEscape`
- `ErrParentheses` => `csrxErrParentheses`
- `ErrRange` => `csrxErrRange`
- `ErrSpace` => `csrxErrSpace`
- `ErrSubReg` => `csrxErrSubReg`
- `ErrUnknown` => `csrxErrUnknown`
- `float2long()` => `csFloatToLong()`
- `float2short()` => `csFloatToShort()`
- `get_le_float16()` => `csGetLittleEndianFloat16()`
- `get_le_float32()` => `csGetLittleEndianFloat32()`
- `get_le_long()` => `csGetLittleEndianLong()`
- `get_le_short()` => `csGetLittleEndianShort()`
- `IgnoreCase` => `csrxIgnoreCase`
- `little_endian_float()` => `csLittleEndianFloat()`
- `little_endian_long()` => `csLittleEndianLong()`
- `little_endian_longlong()` => `csLittleEndianLongLong()`
- `little_endian_short()` => `csLittleEndianShort()`
- `long2float()` => `csLongToFloat()`
- `longlong2double()` => `csLongLongToDouble()`
- `MemEntry` => `csMemTrackerEntry`
- `MemoryMapFile()` => `csMemoryMapFile()`
- `MemoryMapWindow()` => `csMemoryMapWindow()`
- `MemTrackerInfo` => `csMemTrackerInfo`
- `MemTrackerModule` => `csMemTrackerModule`
- `MemTrackerRegistry` => `csMemTrackerRegistry`
- `MKDIR()` => `CS_MKDIR()`
- `mmioInfo` => `csMemMapInfo`
- `__NEED_GENERIC_ISDIR` => `CS_USE_CUSTOM_ISDIR`
- `__NEED_OPENDIR_PROTOTYPE` => `CS_WIN32_USE_CUSTOM_OPENDIR`
- `NewLine` => `csrxNewLine`
- `NoError` => `csrxNoError`
- `NoMatch` => `csrxNoMatch`
- `NotBOL` => `csrxNotBOL`
- `NotEOL` => `csrxNotEOL`
- `OS_DOS` => `CS_PLATFORM_DOS`
- `OS_MACOSX` => `CS_PLATFORM_MACOSX`
- `OS_UNIX` => `CS_PLATFORM_UNIX`
- `OS_WIN32` => `CS_PLATFORM_WIN32`
- `PATH_DELIMITER` => `CS_PATH_DELIMITER`
- `PATH_SEPARATOR` => `CS_PATH_SEPARATOR`
- `PROC_arch` => `CS_PROCESSOR_arch` (where ``arch'` is ``X86'`, ``M68K'`, etc.)
- `ProcEventHandler()` => `csProcTexEventHandler`
- `QInt()` => `csQint()`
- `QInt16()` => `csQfixed16()`
- `QInt24()` => `csQfixed24()`
- `QInt8()` => `csQfixed8()`
- `qisqrt()` => `csQisqrt()`
- `QRound()` => `csQround()`
- `qsqrt()` => `csQsqrt()`
- `RegisterMemoryTrackerModule()` => `mtiRegisterModule()`
- `set_le_float16()` => `csSetLittleEndianFloat16()`
- `set_le_float32()` => `csSetLittleEndianFloat32()`
- `set_le_long()` => `csSetLittleEndianLong()`
- `set_le_short()` => `csSetLittleEndianShort()`
- `short2float()` => `csShortToFloat()`
- `TEMP_DIR` => `CS_TEMP_DIR`
- `TEMP_FILE` => `CS_TEMP_FILE`
- `UnMemoryMapFile()` => `csUnMemoryMapFile()`
- `WIN32_VOLATILE` => `CS_WIN32_CSCONFIG`

#### ``iConfig'` Renamed

The ``iConfig'` interface has been renamed to the more fitting ``iPluginConfig'`, and the containing header from ``iutil/config.h'` to `iutil/pluginconfig.h`. Other changes have not been made.

#### `csRenderMeshHolderSingle` Renamed

``csRenderMeshHolderSingle'` has been renamed to ``csRenderMeshHolder'` as a consequence of the removal of ``csRenderMeshHolderMultiple'`.

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

This document was generated using texi2html 1.76.