<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created by texi2html 1.76 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people <dev@texi2html.cvshome.org> Send bugs and suggestions to <users@texi2html.cvshome.org> --> <head> <title>Crystal Space 1.2.1: C.2.6 Identifier Changes</title> <meta name="description" content="Crystal Space 1.2.1: C.2.6 Identifier Changes"> <meta name="keywords" content="Crystal Space 1.2.1: C.2.6 Identifier Changes"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} pre.display {font-family: serif} pre.format {font-family: serif} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: serif; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: serif; font-size: smaller} pre.smalllisp {font-size: smaller} span.sansserif {font-family:sans-serif; font-weight:normal;} ul.toc {list-style: none} --> </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <a name="Api1_005f0-Identifier-Changes"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="Api1_005f0-String-Changes.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="Api1_005f0-Texture-and-Material-Related-Changes.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Release-Notes.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="Release-Notes-1_005f0.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Licenses.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> <h3 class="subsection"> C.2.6 Identifier Changes </h3> <a name="1"></a> <h3 class="subheading"> Naming Normalization </h3> <p>The following <small>SCF</small> class names have been normalized in order to be consistent with the names of all other available “null” and “multiplexer” plugins: </p> <ul> <li> <code>crystalspace.mesh.object.nullmesh</code> => <code>crystalspace.mesh.object.null</code> </li><li> <code>crystalspace.graphics2d.null2d</code> => <code>crystalspace.graphics2d.null</code> </li><li> <code>crystalspace.documentsystem.multiplex</code> => <code>crystalspace.documentsystem.multiplexer</code> </li><li> <code>crystalspace.graphic.image.io.multiplex</code> => <code>crystalspace.graphic.image.io.multiplexer</code> </li></ul> <p>For <small>API</small> consistency and uniformity between container classes, the following methods have been renamed: </p> <ul> <li> <code>csArray<>::Length()</code> => <code>csArray<>::GetSize()</code> </li><li> <code>csArray<>::SetLength()</code> => <code>csArray<>::SetSize()</code> </li><li> <code>csHash<>::DeleteAll()</code> => <code>csHash<>::Empty()</code> </li><li> <code>csHash<>::In()</code> => <code>csHash<>::Contains()</code> </li><li> <code>csHash<>::PutFirst()</code> => <code>csHash<>::PutUnique()</code> </li><li> <code>csList<>::FetchPrev()</code> => <code>csList<>::FetchPrevious()</code> </li><li> <code>csList<>::HasPrev()</code> => <code>csList<>::HasPrevious()</code> </li><li> <code>csSet<>::DeleteAll()</code> => <code>csSet<>::Empty()</code> </li><li> <code>csSet<>::In()</code> => <code>csSet<>::Contains()</code> </li><li> <code>csString::Clear()</code> => <code>csString::Empty()</code> </li><li> <code>csString::FindReplace()</code> => <code>csString::ReplaceAll()</code> </li><li> <code>csString::FindStr()</code> => <code>csString::Find()</code> </li><li> <code>csString::Reclaim()</code> => <code>csString::ShrinkBestFit()</code> </li><li> <code>iString::FindReplace()</code> => <code>iString::ReplaceAll()</code> </li><li> <code>iString::FindStr()</code> => <code>iString::Find()</code> </li><li> <code>iStringArray::DeleteAll()</code> => <code>iStringArray::Empty()</code> </li><li> <code>iStringSet::Clear()</code> => <code>iStringSet::Empty()</code> </li></ul> <p>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 <small>API</small> at some point. The <small>API</small> of most of the container classes also has been expanded, so you may want to study the <small>API</small> reference manual to learn about newly available functionality. </p> <p>Likewise, the following global functions have been renamed: </p> <ul> <li> <code>csFindReplace()</code> => <code>csReplaceAll()</code> </li></ul> <p>For consistency with like-named methods in other <small>SCF</small> interfaces, the following <samp>‘iImage’</samp> methods have been renamed: </p> <ul> <li> <code>GetKeycolor()</code> => <code>GetKeyColor()</code> </li><li> <code>HasKeycolor()</code> => <code>HasKeyColor()</code> </li></ul> <p>Various methods in <samp>‘csIntersect3’</samp> 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 <code>SegmentTriangle()</code> will receive first the segment argument followed by the triangle argument. </p> <ul> <li> <code>AxisPlane()</code> => <code>SegmentAxisPlane()</code> </li><li> <code>IntersectPolygon()</code> => <code>PlanePolygon()</code> (plane version) </li><li> <code>IntersectPolygon()</code> => <code>SegmentPolygon()</code> (segment version) </li><li> <code>IntersectSegment()</code> => <code>SegmentFrustum()</code> </li><li> <code>IntersectTriangle()</code> => <code>SegmentTriangle()</code> </li><li> <code>Plane()</code> => <code>SegmentPlane()</code> </li><li> <code>Planes()</code> => <code>SegmentPlanes()</code> (segment version) </li><li> <code>Planes()</code> => <code>ThreePlanes()</code> (three planes version) </li><li> <code>XFrustum()</code> => <code>SegmentXFrustum()</code> </li><li> <code>XPlane()</code> => <code>SegmentXPlane()</code> </li><li> <code>YFrustum()</code> => <code>SegmentYFrustum()</code> </li><li> <code>YPlane()</code> => <code>SegmentYPlane()</code> </li><li> <code>Z0Plane()</code> => <code>SegmentZ0Plane()</code> </li><li> <code>ZPlane()</code> => <code>SegmentZPlane()</code> </li></ul> <p>In addition to that the function <code>csMath3::FindIntersection()</code> has been removed and is replaced with a new <code>csIntersect3::TriangleTriangle()</code> routine which is faster and more correct. </p> <p>The same improvements have been made to <code>csIntersect2</code>: </p> <ul> <li> <code>IntersectPolygon()</code> => <code>PlanePolygon()</code> (plane version) </li><li> <code>Lines()</code> => <code>LineLine()</code> (plane version) </li><li> <code>Plane()</code> => <code>SegmentPlane()</code> </li><li> <code>PlaneNoTest()</code> => <code>SegmentPlaneNoTest()</code> </li><li> <code>Planes()</code> => <code>PlanePlane()</code> </li><li> <code>Segments()</code> => <code>SegmentSegment()</code> (plane version) </li></ul> <p>The following configuration control macros (most of which are emitted to <tt>‘csconfig.h’</tt> by the Crystal Space <tt>‘configure’</tt> script) have been renamed in order to improve internal naming consistency, and to conform more closely to naming scheme used by Autoconf. </p> <ul> <li> <code>CS_HAS_CAL3D</code> => <code>CS_HAVE_CAL3D</code> </li><li> <code>CS_HAS_CMATH_H</code> => <code>CS_HAVE_CMATH_H</code> </li><li> <code>CS_HAS_GLHANDLEARB_T</code> => <code>CS_HAVE_GLHANDLEARB_T</code> </li><li> <code>CS_HAS_INT64_C</code> => <code>CS_HAVE_INT64_C</code> </li><li> <code>CS_HAS_INTMAX_T</code> => <code>CS_HAVE_INTMAX_T</code> </li><li> <code>CS_HAS_INTPTR_T</code> => <code>CS_HAVE_INTPTR_T</code> </li><li> <code>CS_HAS_INTTYPES_H</code> => <code>CS_HAVE_INTTYPES_H</code> </li><li> <code>CS_HAS_MACHINE_SOUNDCARD_H</code> => <code>CS_HAVE_MACHINE_SOUNDCARD_H</code> </li><li> <code>CS_HAS_MEMORY_MAPPED_IO</code> => <code>CS_HAVE_MEMORY_MAPPED_IO</code> </li><li> <code>CS_HAS_POSIX_MMAP</code> => <code>CS_HAVE_POSIX_MMAP</code> </li><li> <code>CS_HAS_REGEX</code> => <code>CS_HAVE_REGEX</code> </li><li> <code>CS_HAS_SOUNDCARD_H</code> => <code>CS_HAVE_SOUNDCARD_H</code> </li><li> <code>CS_HAS_STDINT_H</code> => <code>CS_HAVE_STDINT_H</code> </li><li> <code>CS_HAS_SYS_PARAM_H</code> => <code>CS_HAVE_SYS_PARAM_H</code> </li><li> <code>CS_HAS_SYS_SOUNDCARD_H</code> => <code>CS_HAVE_SYS_SOUNDCARD_H</code> </li><li> <code>CS_HAS_WCHAR_H</code> => <code>CS_HAVE_WCHAR_H</code> </li><li> <code>CS_RTLD_NOW_AVAILABLE</code> => <code>CS_HAVE_RTLD_NOW</code> </li></ul> <p>Likewise, the same normalization has been applied to the <samp>‘CS_USE_FAKE_feature’</samp> macros published by the <tt>‘configure’</tt> script, and the boolean sense of these control macros has been reversed to account for the name change. </p> <ul> <li> <code>CS_USE_FAKE_EXPLICIT_KEYWORD</code> => <code>CS_HAVE_CXX_KEYWORD_EXPLICIT</code> </li><li> <code>CS_USE_FAKE_MATH_H_FLOAT_FUNCS</code> => <code>CS_HAVE_MATH_H_FLOAT_FUNCS</code> </li><li> <code>CS_USE_FAKE_SOCKLEN_TYPE</code> => <code>CS_HAVE_SOCKLEN_T</code> </li><li> <code>CS_USE_FAKE_TYPENAME_KEYWORD</code> => <code>CS_HAVE_CXX_KEYWORD_TYPENAME</code> </li><li> <code>CS_USE_FAKE_WCHAR_TYPE</code> => <code>CS_HAVE_WCHAR_T</code> </li><li> <code>CS_USE_FAKE_WCSLEN</code> => <code>CS_HAVE_WCSLEN</code> </li></ul> <p>For consistency with like-named macros (such as <samp>‘CS_PROCESSOR_NAME’</samp> and <samp>‘CS_PROCESSOR_arch’</samp>), the following control macros have been renamed: </p> <ul> <li> <code>CS_PROCSIZE</code> => <code>CS_PROCESSOR_SIZE</code> </li></ul> <p>The <code>csOrdering<></code> template has been renamed to the more general <code>csComparator<></code> to reflect the fact that this template can perform both ordering and equality comparisons. </p> <a name="2"></a> <h3 class="subheading"> Pollution Reduction </h3> <p>In order to avoid polluting the top-level system include directory, the Crystal Space header tree is now installed (via <samp>‘make install’</samp> or <samp>‘jam install’</samp>) in a subdirectory named <tt>‘crystalspace’</tt>, 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 <tt>‘/usr/local/include/crystalspace’</tt>. Previously, they would have been deposited directly into <tt>‘/usr/local/include’</tt>. The <samp>‘cs-config’</samp> utility script properly returns the new header location in response to the <samp>‘--includedir’</samp>, <samp>‘--cflags’</samp>, and <samp>‘--cxxflags’</samp> options, so this relocation should be mostly transparent to external projects. </p> <p>The following global header files have been renamed in order to avoid possible conflict with headers installed by other packages. </p> <ul> <li> <code>platform.h</code> => <code>csplatform.h</code> </li><li> <code>qint.h</code> => <code>csqint.h</code> </li><li> <code>qsqrt.h</code> => <code>csqsqrt.h</code> </li><li> <code>volatile.h</code> => <code>csconfig.h</code> </li></ul> <p>The following symbols have been renamed in order to avoid pollution of the global namespace. </p> <ul> <li> <code>BadBraces</code> => <code>csrxBadBraces</code> </li><li> <code>BadPattern</code> => <code>csrxBadPattern</code> </li><li> <code>BadRepetition</code> => <code>csrxBadRepetition</code> </li><li> <code>big_endian_float()</code> => <code>csBigEndianFloat()</code> </li><li> <code>big_endian_long()</code> => <code>csBigEndianLong()</code> </li><li> <code>big_endian_longlong()</code> => <code>csBigEndianLongLong()</code> </li><li> <code>big_endian_short()</code> => <code>csBigEndianShort()</code> </li><li> <code>COMP_BC</code> => <code>CS_COMPILER_BCC</code> </li><li> <code>COMP_GCC</code> => <code>CS_COMPILER_GCC</code> </li><li> <code>COMP_VC</code> => <code>CS_COMPILER_MSVC</code> </li><li> <code>convert_endian()</code> => <code>csConvertEndian()</code> </li><li> <code>DO_MMX</code> => <code>CS_HAVE_MMX</code> </li><li> <code>DO_NASM</code> => <code>CS_HAVE_NASM</code> </li><li> <code>double2longlong()</code> => <code>csDoubleToLongLong()</code> </li><li> <code>ErrBraces</code> => <code>csrxErrBraces</code> </li><li> <code>ErrBrackets</code> => <code>csrxErrBrackets</code> </li><li> <code>ErrCharType</code> => <code>csrxErrCharType</code> </li><li> <code>ErrCollate</code> => <code>csrxErrCollate</code> </li><li> <code>ErrEscape</code> => <code>csrxErrEscape</code> </li><li> <code>ErrParentheses</code> => <code>csrxErrParentheses</code> </li><li> <code>ErrRange</code> => <code>csrxErrRange</code> </li><li> <code>ErrSpace</code> => <code>csrxErrSpace</code> </li><li> <code>ErrSubReg</code> => <code>csrxErrSubReg</code> </li><li> <code>ErrUnknown</code> => <code>csrxErrUnknown</code> </li><li> <code>float2long()</code> => <code>csFloatToLong()</code> </li><li> <code>float2short()</code> => <code>csFloatToShort()</code> </li><li> <code>get_le_float16()</code> => <code>csGetLittleEndianFloat16()</code> </li><li> <code>get_le_float32()</code> => <code>csGetLittleEndianFloat32()</code> </li><li> <code>get_le_long()</code> => <code>csGetLittleEndianLong()</code> </li><li> <code>get_le_short()</code> => <code>csGetLittleEndianShort()</code> </li><li> <code>IgnoreCase</code> => <code>csrxIgnoreCase</code> </li><li> <code>little_endian_float()</code> => <code>csLittleEndianFloat()</code> </li><li> <code>little_endian_long()</code> => <code>csLittleEndianLong()</code> </li><li> <code>little_endian_longlong()</code> => <code>csLittleEndianLongLong()</code> </li><li> <code>little_endian_short()</code> => <code>csLittleEndianShort()</code> </li><li> <code>long2float()</code> => <code>csLongToFloat()</code> </li><li> <code>longlong2double()</code> => <code>csLongLongToDouble()</code> </li><li> <code>MemEntry</code> => <code>csMemTrackerEntry</code> </li><li> <code>MemoryMapFile()</code> => <code>csMemoryMapFile()</code> </li><li> <code>MemoryMapWindow()</code> => <code>csMemoryMapWindow()</code> </li><li> <code>MemTrackerInfo</code> => <code>csMemTrackerInfo</code> </li><li> <code>MemTrackerModule</code> => <code>csMemTrackerModule</code> </li><li> <code>MemTrackerRegistry</code> => <code>csMemTrackerRegistry</code> </li><li> <code>MKDIR()</code> => <code>CS_MKDIR()</code> </li><li> <code>mmioInfo</code> => <code>csMemMapInfo</code> </li><li> <code>__NEED_GENERIC_ISDIR</code> => <code>CS_USE_CUSTOM_ISDIR</code> </li><li> <code>__NEED_OPENDIR_PROTOTYPE</code> => <code>CS_WIN32_USE_CUSTOM_OPENDIR</code> </li><li> <code>NewLine</code> => <code>csrxNewLine</code> </li><li> <code>NoError</code> => <code>csrxNoError</code> </li><li> <code>NoMatch</code> => <code>csrxNoMatch</code> </li><li> <code>NotBOL</code> => <code>csrxNotBOL</code> </li><li> <code>NotEOL</code> => <code>csrxNotEOL</code> </li><li> <code>OS_DOS</code> => <code>CS_PLATFORM_DOS</code> </li><li> <code>OS_MACOSX</code> => <code>CS_PLATFORM_MACOSX</code> </li><li> <code>OS_UNIX</code> => <code>CS_PLATFORM_UNIX</code> </li><li> <code>OS_WIN32</code> => <code>CS_PLATFORM_WIN32</code> </li><li> <code>PATH_DELIMITER</code> => <code>CS_PATH_DELIMITER</code> </li><li> <code>PATH_SEPARATOR</code> => <code>CS_PATH_SEPARATOR</code> </li><li> <code>PROC_arch</code> => <code>CS_PROCESSOR_arch</code> (where <samp>‘arch’</samp> is <samp>‘X86’</samp>, <samp>‘M68K’</samp>, etc.) </li><li> <code>ProcEventHandler()</code> => <code>csProcTexEventHandler</code> </li><li> <code>QInt()</code> => <code>csQint()</code> </li><li> <code>QInt16()</code> => <code>csQfixed16()</code> </li><li> <code>QInt24()</code> => <code>csQfixed24()</code> </li><li> <code>QInt8()</code> => <code>csQfixed8()</code> </li><li> <code>qisqrt()</code> => <code>csQisqrt()</code> </li><li> <code>QRound()</code> => <code>csQround()</code> </li><li> <code>qsqrt()</code> => <code>csQsqrt()</code> </li><li> <code>RegisterMemoryTrackerModule()</code> => <code>mtiRegisterModule()</code> </li><li> <code>set_le_float16()</code> => <code>csSetLittleEndianFloat16()</code> </li><li> <code>set_le_float32()</code> => <code>csSetLittleEndianFloat32()</code> </li><li> <code>set_le_long()</code> => <code>csSetLittleEndianLong()</code> </li><li> <code>set_le_short()</code> => <code>csSetLittleEndianShort()</code> </li><li> <code>short2float()</code> => <code>csShortToFloat()</code> </li><li> <code>TEMP_DIR</code> => <code>CS_TEMP_DIR</code> </li><li> <code>TEMP_FILE</code> => <code>CS_TEMP_FILE</code> </li><li> <code>UnMemoryMapFile()</code> => <code>csUnMemoryMapFile()</code> </li><li> <code>WIN32_VOLATILE</code> => <code>CS_WIN32_CSCONFIG</code> </li></ul> <a name="3"></a> <h4 class="subsubheading"> <samp>‘iConfig’</samp> Renamed </h4> <p>The <samp>‘iConfig’</samp> interface has been renamed to the more fitting <samp>‘iPluginConfig’</samp>, and the containing header from <tt>‘iutil/config.h’</tt> to <code>iutil/pluginconfig.h</code>. Other changes have not been made. </p> <a name="4"></a> <h4 class="subsubheading"> <code>csRenderMeshHolderSingle</code> Renamed </h4> <p><samp>‘csRenderMeshHolderSingle’</samp> has been renamed to <samp>‘csRenderMeshHolder’</samp> as a consequence of the removal of <samp>‘csRenderMeshHolderMultiple’</samp>. </p> <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="Api1_005f0-String-Changes.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="Api1_005f0-Texture-and-Material-Related-Changes.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Release-Notes.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="Release-Notes-1_005f0.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Licenses.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <p> <font size="-1"> This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. </font> <br> </p> </body> </html>