Pages: << Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Next >>
Summary Period: 2000-12-21 to 2000-12-06 (Commits 3795-3844 of 12744)
Fixed the macintosh pow() overloading ambiguity compile error.
1 lines of code changed in:
Found a bug in ~SoftwareCachedTexture (). Which
causes an on exit error in "appptlab" in Windows.
Because of possible side effects I have merely
commented above the offending line for resolution
at a later date/more convenient time..
Hope that is OK.
    
4 lines of code changed in:
Corrected forward declaration:
struct csTextureWrapper;
and changed it to the correct:
class csTextureWrapper;
    
1 lines of code changed in:
- Continued work on csfx library. Implemented support for a random
  dot proc texture, plasma, fire and water (the last three are
  taken from ptlab and were added to that application by Wouter
  Wijngaards).
- Added the notion of a use-callback for a csTextureWrapper.
  This callback will be called right before a texture is used. Using
  this callback you can make sure that procedural textures are only
  updated when really needed (i.e. a polygon/object using the proc
  texture is visible). Note that the callback can be called several
  times in one frame if visible. The callback should keep this in
  mind and use the current time to check if the callback should do
  something.
- Extended csTextureWrapper and csMaterialWrapper with a Visit()
  function. The engine will call Visit() whenever the texture or
  material is used. Visit() will call the use callback.
- Note that this Visit() function is on csTextureWrapper and
  not on iTextureHandle. This means that (for example) csPixmap
  will not be able to fire this callback. If you use a procedural
  texture on a csPixmap then you'll have to do the call to Animate
  on your own.
- Added GetMaterialWrapper() to csCurve.
- Extended simple with a demo on how to use the new csfx
  library. Added a cube with six sides demonstrating the various
  procedural textures. Due to the new texture callback system the
  procedural textures are only updated when needed.
- There is currently an ugly hack in csProcTexture because there
  seems to be a bug in the software procedural texture implementation
  when several procedural textures are initialized from Register
  to Prepare (i.e. interleaved Register/Prepare as opposed to first
  doing all Register and then all Prepare). That's why there is
  now an Initialize1 and Initialize2. If the bug is fixed this will
  be removed.
    
100 lines of code changed in:
Eric Sunshine made the following changes to MetaBalls:
-*- Fixed bug which prevented statistical text from displaying.  This bug
    has existed since the beginning of time but was only triggered
    recently.  The problem was that the `count' instance variable, which
    plays a role in determining when statistics should be displayed, was
    never initialized.
-*- Added default initializers for all other instance variables (in
    addition to `count').
-*- Removed unnecessary call to csSystem::GetElapsedTime().
-*- Fixed bug: MetaSys::Help() was printing null-pointer for default
    texture name.
-*- No longer crashes when unable to load texture.  Now prints meaningful
    error message and exits cleanly.
    
13 lines of code changed in:
Eliminated compilation warning about assignment of void* to bool.  I am not
really sure what Andrew's intention was here, but hopefully he will take
a look at this and repair it if necessary.
    
2 lines of code changed in:
Removed the RCS directives from this header since it was interferring
with the automated API generation script in that the script thought that
the generated documentation had changed even though it had not (other than
the date which appeared in the RCS directive).
(Of course, the real fix is to configure Doxygen to ignore files such as
zconf.h which are not really part of the project, but this will not happen
until later when I have time to do the job thoroughly and correctly.)
    
0 lines of code changed in:
Cleaned up following last commit.
0 lines of code changed in:
Cleaned up entries following last commit.
1 lines of code changed in:
Fixed python plugin after Andrew broke it with the changes
above (i.e. remove PrepareTexture() from the cs.i file).
    
76 lines of code changed in:
Repaired a few compile errors after Andyz update.
4 lines of code changed in:
Added an important To-Do item.
10 lines of code changed in:
-*- Fixed a error in inifile.cpp. The array allocated with new[] was
    realloc()'ated. Now it is new/memcpy/delete'd.
-*- Fixed a minor memory leak in system driver. Event cords weren't deleted
    at shutdown.
-*- Fixed a bad error in inifile.cpp triggered by [Macintosh] section in
    vfs.cfg: the loader switches to base64 mode due to empty assignments like:
    HOME =
    (such lines are used to denote base64 keys) and then doesn't switch back
    when it detects invalid base64 symbols. I changed the ini loader so that
    it switches to base64 mode by '==' statement, e.g.:
    HOME ==
    ODAwMDAwMDAgd2hpbGUKICAgIHNoYXJlZCBs
    aWJyYXJpZXMgdXN1YWxseSBoYXZlIGFkZHJl
    c3NlcyBsaWtlIDB4NHh4eHh4eHgpLgo=
    ===
    ;/HOME
    If you want to assign the '=' value to a key, insert a space, e.g:
    HOME = =
    is interpreted as a normal key, not the head of a base64 stream.
    csIniFile::Save() inserts spaces automatically, thus a saved ini file
    should read perfectly. Also if something other than newline follows the
    second equal sign, it is also interpreted as a normal key.
-*- Fixed a few memory leaks in MazeD.
-*- Finished material manager dialog. Now it is functional, use Ctrl+m to
    invoke it, model manager has moved to Ctrl+M. Fixed several bugs that
    leads to MazeD crashes related to materials.
-*- Fixed a bad bug in common texture manager object (txtmgr.cpp): the
    constructor did no CONSTRUCT_IBASE.
-*- I have enhanced the memory debugger so that on Linux and OS/2 it is able
    to debug malloc/realloc/free's as well as new's and delete's. There is a
    drawback on Linux though: it will intercept all malloc/free's from all
    dynamic libraries (even from libX11.so) thus you will see a lot of memory
    leaks belonging to other libraries (notably libc and libX11). You can
    filter them by address (in Linux program address is > 0x80000000 while
    shared libraries usually have addresses like 0x4xxxxxxx). If you want
    to debug memory leaks in plug-ins, build executable in static link mode.
-*- Fixed a memory leak in csfont plug-in.
-*- By the way, Crystal Space currently consists of about 350.000 lines
    of code :-)
-*- Rearrangement of some aspects of the texture manager to simplify interface
    API for textures and materials. Previously you had to call texture manager's
    RegisterXXX (where XXX is Texture or Material) then you had to call
    PrepareXXX to force texture manager recompute the internal representation
    of the texture/material; when you are done you had to call UnregisterXXX.
    Now it works a little different: by calling RegisterXXX you create a new
    texture/material handle, and further you work only with that handle:
    call handle->Prepare() to prepare texture or material for usage; call
    handle->DecRef() enough times to destroy the handle (you don't have to
    call UnregisterXXX anymore).
    I have fixed all the 3D renderers for this, however I'm not sure about
    Direct3D and Glide renderers (haven't compiled them). All others are
    fully functional.
    You can still call PrepareTextures() and PrepareMaterials() on texture
    manager object to call Prepare on all objects at once.
-*- Renamed csTextureMMSoftware into csSoftwareTextureHandle and csTextureMM
    into csTextureHandle for cleaner names.
-*- Before closing the system (System::Close) the engine will free all texture
    and material handles since after closing the graphics driver the handles
    become invalid no matter whenever we did IncRef or not.
-*- Implemented alpha textures support for DrawPolygon, DrawPFX and DrawPixmap
    in OpenGL renderer.
-*- Re-worked OpenGL texture cache. Texture unloading happens now in a
    centralized routine, which minimizes the effort required to fix any
    bugs in it (one of which was causing SIGSEGV on exit).
    
715 lines of code changed in:
history.txt was getting large again. Moved everything except
dec-2000 to history.old.
    
6888 lines of code changed in:
Eric Sunshine made the following changes to the project:
-*- Repaired the MacOS/X Server, OpenStep, and NextStep ports of Crystal
    Space after they had sat idle for several months.  Many core-level
    changes to the project during the idle time broke these ports rather
    severely.  The ports are probably about 97% functional now compared to
    how functional they were once.  Some problems still exist which will
    be addressed in subsequent repair and upgrade sessions.  For instance,
    the NextStep port is not yet fully compatible with Andrew's new
    National Keyboard Support.  Full compatiblity requires reverse
    engineering internal NextStep structures.  The MacOS/X Server and
    OpenStep ports, on the other hand, are now compatible with the
    National Keyboard Support.  Further, certain portions of the software
    renderer (which Andrew updated since the last time I repaired all such
    problems) are broken for the Apple/NeXT ports running at 32-bit mode
    on big-endian hardware.  Future plans also include a port to the
    upcoming MacOS/X, as well as further decoupling of the 2D driver from
    the system driver.
-*- The default NeXT 2D canvas is now responsible for the querying and
    interpreting its own `simulated depth' option.  This is no longer the
    responsibility of the system driver.
-*- Eliminated iNeXTSystemDriver (NeXTSystemInterface.h) which published a
    method to report the simulated-depth value to the 2D canvas.  The
    canvas is now entirely responsible for this feature, so the system
    driver need not publish this any longer.
-*- NeXTSystemDriver now manages an iEventOutlet which the 2D canvas can
    use for default handling of mouse and keyboard events.
-*- NeXTSystemDriver now implements SystemExtension() to provide default
    mouse and keyboard event handling on behalf of canvases, as well as
    other functionality.
-*- Promoted the ability to suspend the engine's virtual-time clock into
    csSystemDriver from NeXTSystemDriver where this feature was originally
    implemented.  This is useful for ports which allow the user to suspend
    the entire engine (for instance, to be friendly on multi-tasking
    systems).  Suspending the virtual-time clock prevents temporal
    anomalies from occurring within the engine even though the real-time
    clock continues to elapse.  An example of a temporal anomaly would be
    the firing of a missile just prior to suspension of the engine.  Upon
    engine resumption, if the virtual-time clock was not also suspended,
    the missile would suddenly jump forward as though much engine time had
    elapsed.
-*- Updated Apple/NeXT plug-in loading (NeXTLoadLibrary.cpp) to work
    correctly with new plug-in search-path capabilites.  Also now
    implements a meaningful csPrintLibraryError()
-*- Enhanced keyboard handling in the MacOS/X Server and OpenStep ports to
    be compatible with Andrew's National Language Support functionality.
    (This feature is not yet fully implemented in the NextStep port.
    Doing so requires reverse engineering internal NextStep data
    structures.)
-*- Implemented F1 - F12 function key translation in MacOS/X Server and
    OpenStep ports.  (These keys are not yet implemented in the NextStep
    port.)
-*- csEngineConfig is no longer an inner-class of csEngine.  This change
    was made in order to work around a bug in the NextStep compiler which
    was triggered after csObject (from which csEngine inherits) was
    changed so that it inherits from iObject.  Somehow, the compiler was
    getting confused by the QueryInterface(), IncRef(), and DecRef()
    methods declared in csEngineConfig as well as in iEngine and csObject
    (both of which csEngine inherits from).  Making csEngineConfig
    stand-alone works around the problem.
-*- In order to work around a multiple-inheritance bug in NextStep
    compiler, changed the following classes so that they embed an SCF
    interface rather than inherit from it:
        iCameraPosition  -> csCameraPosition
        iMaterialWrapper -> csMaterialWrapper
        iRegion          -> csRegion
        iSpriteTemplate  -> csSpriteTemplate
        iTextureWrapper  -> csTextureWrapper
    The compiler's symptom was that it did not think that IncRef(),
    DecRef(), and QueryInterface() were implemented in classes which
    inherited from iBase multiple times (through different paths).
    *BEWARE* There were many places where the engine was dangerously and
    blindly casting pointers between the interface and the implementing
    class.  For instance, a pointer might be cast from a csMaterialWrapper
    to an iMaterialWrapper or vice-versa.  Although this worked when the
    implementing class inherited from the SCF interface, it does _not_
    work when the interface is embedded.  The danger here is that the
    compiler does not warn about this problem since it assumes that the
    programmer knew what he or she was doing when using the cast operation
    in the first place.  I tried to repair all such broken and dangerous
    blind casts in which the above classes were involved, but it is
    possible that I missed one here or there.
-*- Added an assignment operator to ddgTriangle3 in order to appease the
    NextStep compiler.
-*- Added a missing `inline' keyword to csCovMaskTriage::GetState().  The
    lack of this keyword resulted in this function being implemented and
    exported from every single source file which included the header.
-*- Unified the case of the `full-screen' extension as understood by
    iGraphics2D::PerformExtension().  Some canvases expected "fullscreen",
    whereas others expected "FullScreen".
-*- Added a preprocessor flag to Blocks which allows all of the broken
    networking code to be disabled in one fell-swoop.
-*- Eliminated compilation warning in pttex.cpp.
-*- Minor modification to csphyzik/entity.h to appease broken OpenStep
    compiler which wasn't instantiating template methods early enough.
    Worked around problem via simple textual reordering of header so that
    templatized variables are declared before they are actually referenced
    by inline methods.
-*- Augmented TrueType to CS font converter makfile (csfgen.mak) so that
    its target only shows up on platforms which also build the TrueType
    font server plug-in.
-*- Eliminated several compilation warnings in ddgchull.cpp regarding use
    of enumeral and non-enumeral types in conditional expression.
-*- Added missing SYSDEF_ALLOC define to halogen2.cpp.
-*- Worked around minor compiler bug on NextStep which affected csapp.cpp
    and txtmgr.cpp.
-*- Eliminated several compilation warnings about "unused computed value"
    in CSWS and several applications which utilize CSWS, such as cswstest
    and levtool.
-*- Worked around NextStep compiler limitation in null_pix.cpp and
    drawpmap.cpp.
-*- 3dsout.cpp now includes cssysdefs.h in order to fake up a `bool' type
    for compilers which do not support `bool' natively.
-*- Fixed error in me_app.cpp.  Was assinging an mzModificationOriginDepth
    constant to a csVector3 instance.
-*- imotion.h no longer imports matrix3.h and quaterni.h.  iskeleton.h no
    longer imports transfrm.h.  Not only was this unnecessary, but it also
    caused csSystemDriver to depend upon these classes on NextStep, which
    was a less-than-desirable consequence.  This resulted in linkage
    errors when linking the csSystem library into applications which do
    not otherwise link with the csGeometry library (such as scfreg).
    (This problem is specific to the NextStep compiler which generates
    references to every mentioned class even if the class isn't actually
    used.)
-*- All source files in apps/t3d2cs and apps/t3d2cs/libt3d now import
    cssysdef.h as the very first included file.  This ensures that the
    `bool' type is faked up, if necessary, before it is used by any other
    imported headers.
-*- Eliminated an "unused variable" warning in tBrush.cpp.
-*- Worked around a bizarre NextStep compiler bug which manifests as an
    apparent corruption of the virtual table for csSprite2D.  Calls to
    QueryInterface() from a csSprite2D pointer would never actually invoke
    the real, inherited csSprite::QueryInterface(), and would instead
    always return NULL.  It is not even clear which, if any, method was
    being called in lieu of the real csSprite::QueryInterface().  Calls to
    QueryInterface() from a local instance of csSprite2D would succeed as
    expected (since the virtual table is not consulted in this case).  The
    work around for this problem (for magical reasons) is to declare
    QueryInterface() in csSprite2D which overrides the inherited
    csSprite::QueryInterface().  It is sufficient for this method to
    simply exist in csSprite2D.  Its actual implementation merely invokes
    its superclass' QueryInterface().
    
614 lines of code changed in:
Fixed a bug in WalkTest with ms->snd not being initialized to
NULL on systems that don't have sound support. This could result
in crashes when firing missiles.
    
4 lines of code changed in:
- Rene Dudfield fixed a bug in sprite3d. The rand num generator
  was not initialized.
- Rene Dudfield also made the sprite3d lighting functions only
  light the vertices that are used for the lod level.
    
91 lines of code changed in:
Fixed quaternion bug, with r initializer in the wrong spot.
The motion manager bug was fixed by this and motions now look correct.
    
10 lines of code changed in:
Temporarily disabled the sumlog.awk script which performs CVS commit-time
mailings.  This was necessary since gawk is not present on the new CVS
server which SourceForget installed, thus all invocations of sumlog.awk
were failing.
    
5 lines of code changed in:
Added Jorrit's icampos.h which he forgot to add with his last commit.
2 lines of code changed in:
- Bugfix in csPolygon3D::ClipToPlane(). If the portal has a clipping
  plane (can happen with floating portals) then it was possible that
  this clipper would result in badly formed polygons generating
  crashes or at least render errors in some cases. This problem
  was visible with the new 'portal' console command. Note that
  the problem is numerical. I'm not sure that my current fix will
  eliminate the problem completely but at least I wasn't able to
  reproduce it anymore.
- Fixed the portal command so that the created portal always
  faces the camera (at creation time only). The portal itself also
  has the correct space warping transformation so that it appears
  again at the starting point of the loaded world.
- Changed csCameraPosition so that it inherits from csPObject
  instead of csObject.
- Added iCameraPosition and let csCameraPosition inherit from this.
- Added iRegion/csRegion::FindCameraPosition().
- Added iEngine/csEngine::FindCameraPosition().
- csCameraPosition objects are now also supported by csRegion.
- The portal command now correctly uses the real start position of
  the loaded level (instead of just room,0,0,0) as given by the
  'START' command.
- The portal console command will now check if a region is already
  loaded. If so then it will just open a new portal to the already
  existing region.
- The portal command will now also generate a portal back to the
  world from which you created a portal. This only happens once though.
  i.e. if you do 'portal maze' then you will get a portal from the
  current position towards maze and a portal back from maze towards
  the current position. If you then move to another position and
  again do 'portal maze' you will only get a portal to maze and
  not one back.
- Renamed WalkTest::InitEngine() to InitCollDet() because that's
  what it is doing.
- If a new map file is loaded with the portal command the collision
  detection stuff will be correctly initialized.
- Moved the portal so that it is standing on the ground (relative
  to the position of the player).
- Known remaining issues with portal command:
    - If you move through the portal your direction will not be
      correct. This is caused by WalkTest having its own angle
      vector which is not yet updated when passing a space
      warping portal.
    - If you started WalkTest from flarge (for example) then
      typing 'portal flarge' will load a new instance. The reason
      is that the default world is not placed in a region so the
      portal command can't see that it is already loaded.
    - Missiles can't penetrate the portal.
    - Dynamic lights don't shine through the portal.
    - Sector-by-sector engine mode.
    - The WalkTest collision detection function to find all nearby
      sectors does not take warping transformation into account.
    
211 lines of code changed in:
- Optimized csRegion::IsInRegion(). Replaced the loop over all
  the objects in the region with a single test if the parent
  of the given object is equal to the region.
- Changed the behaviour of csEngine::FindSector, FindThing, FindSky,
  FindThingTemplate, FindSprite, FindSpriteTemplate, FindTexture,
  and FindMaterial. If onlyRegion is false then the behaviour is
  as before but if onlyRegion is true then these functions will now
  only return objects that are in the region AND also connected
  to the engine. This contrasts with the old behaviour where these
  functions could actually return objects that were not connected
  to the world (example: do new csSector() and the created sector
  will automatically be added to the current region, however it will
  not be added automatically to the list of sectors in the engine).
  The same functions in csRegion behave like they did before (i.e.
  they can return objects that are not connected to the engine).
- The previous change fixes the portal command so that it now
  correctly loads another world and is able to create a portal to
  that other world. Note that this doesn't complete the portal
  command yet. A few extra things need to be done to make it
  truely usable (initialize collision detection, engine mode
  specific to sector instead of global to engine).
- Added a warping transformation to the portal generated by the
  'portal' command so that the portal destination matches the
  starting point of the loaded level.
    
176 lines of code changed in:
fix, compiles now, global_lod_detail renamed to global_lod_level.
1 lines of code changed in:
modified the interface for 3d sound: There are no 3d and non-3d sources anymore. Instead, every sound source has a '3d mode' attribute which can be non-3d, 3d relative to the listener and absolute 3d position.
Also fixed some bugs in the sound modules and in Walktest.
    
206 lines of code changed in:
Forgot to change sprlight command in walktest for random lighting.
1 lines of code changed in:
I added the changes by Rene Dudfield.
He did the lod for individual sprite/templates.  Also added the
random lighting UpdateLighting.
    
247 lines of code changed in:
Forgot to commit.
7 lines of code changed in:
- Added iTextureWrapper SCF class and let csTextureWrapper implement
  it.
- Made some fixes to cs.i so that the Python plugin is now up-to-date
  to the latest SCF changes.
    
110 lines of code changed in:
Fugbix
1 lines of code changed in:
- Did a little further work on the engine SCF interfaces:
    - Added Prepare() to iEngine.
    - csView now extends the already existing but empty iView.
    - Added a few methods to iView.
    - Added CreateView() to iEngine.
    - Added lots of functions from csCamera to iCamera.
    - Added iEngine/csEngine::FindTexture().
    - Added iEngine/csEngine::CreateMaterial().
    - Added iRegion/csRegion::FindTexture().
    - Changed FindTexture/FindMaterial to return the pointer
      to the texture/material on success instead of boolean.
    - Added iView::Draw().
    - Moved several defines for vectors in csCamera to iCamera.
    - Added iEngine::GetBeginDrawFlags().
    - Added iEngine::CreateLight.
- The result of these SCF changes is that simplep (the version of
  simple that uses the engine plugin) is actually able to create
  geometry and show it.
    
308 lines of code changed in:
Slightly less verbose now.
3 lines of code changed in:
- Added ShineLights to iRegion/csRegion.
- Added IsInRegion to iRegion/csRegion to check if some object
  is in a region.
- Extended csEngine::ShineLights with an optional csRegion
  parameter to restrict recalculating lighting for some region.
- Extended csPolyIt, csCurveIt, and csLightIt (iterators that
  are defined in csEngine) with an optional csRegion parameter
  to restrict iteration over the objects in that region.
  Also extended csEngine::NewPolyIterator() and NewLightIterator()
  functions.
- Added GetLastSector() to csCurveIt and csLightIt (like csPolyIt).
- The 'portal' console command works better now. In some cases
  it 'almost' seems to be doing what it should. But it is still not
  good enough. It crashes while trying to load some levels and
  the portals in the other levels don't seem to be correct.
  'portal sydney' is the only one which seems to work nicely
  from flarge.
    
154 lines of code changed in:
Rene Dudfield made sprite lighting settings local to sprites so
that different sprites can use different settings.
    
186 lines of code changed in:
Fixed memory write error in:
void OpenGLTextureCache::Uncache (iTextureHandle *texh)
Removed "->next" after n in l-value within following statement.
n->prev = cached_texture->prev;
Symptom: Was causing an exit memory write error when exiting
"appblocks" in Windows.
    
1 lines of code changed in:
Made the following changes to the project:
-*- Finally eliminated the evil monolithic apps/support/static.cpp file
    which caused repeated maintenance headaches.  The problem with this
    file was that every time a plug-in module was added or removed from
    the project, a developer also had to remember to edit static.cpp to
    reflect the change.  Thus, the perceived modularity of plug-ins was
    offset by the very real monolithic disposition of this file.
-*- As a replacement for static.cpp, the new makefile CS/mk/static.mak
    automatically and dynamically synthesizes C++ code which forces hard
    symbolic references to each plug-in module being linked into the
    application (assuming that the application is being linked
    statically---that is, with USE_PLUGINS=no).
-*- Information used by the synthesis process is gleaned from the GNU
    makefiles, project-wide.  The old CFLAGS.STATIC_SCF makefile variable
    has been removed.  A new variable, SCF.STATIC, contains a list of
    plug-in module basenames (such as `soft3d', `vfs', etc.), and this
    information is used to synthesize the hard references needed when
    linking applications statically.
-*- The static.mak makefile is smart enough to regenerate the synthesized
    symbolic references when certain events occur; such as when the user
    edits the list of plug-in modules in user.mak or reconfigures the
    project's makefiles.
-*- Note that the new synthesis process is geared toward platforms which
    utilize the GNU makefile system to build the project.  It does not
    apply to ports which use `project files'.  However, historically, none
    of the ports which rely on project files has ever supported static
    linking, so this is no loss.  If, in the future, a port does wish to
    support static linking via project files, it would be a simple matter
    to set up an automated synthesis task, and commit the result to the
    CVS repository on a regular basis, much as is already done with MSVC
    project files.
-*- Added $(DEP.EXE) to the dependency lists of the following GUI
    applications.  This should allow them to successfully link statically
    (that is, when USE_PLUGINS is `no'):
	cctest
	g2dtest
-*- Removed $(DEP.EXE) from the dependency list of the following console
    applications, since they need not link against the various plug-in
    modules:
	csfgen
	makedep
	scfreg
	scftutor
	textconv
	uninst
    
210 lines of code changed in:
- Implemented 'onlyRegion' support in csLoader by using the new
  FindXxx() routines that were added to csEngine.
- Extended csPObject thus that it correctly unlinks itself from its
  parent at destruction time. Previously it didn't care which could
  cause bad problems.
- Also fixed csObject::ObjRelease() so that it actually resets the
  parent to NULL at release time.
- In addition fixed the csObject destructor so that the children
  are destroyed the correct way now (given that destroying a child
  will automatically remove it from the 'children' array).
- The csObjectNoDel destructor has also been fixed so that it
  sets the parent of all children to NULL (since they are now
  unlinked).
- All engine classes that can be added to a region now extend
  csPObject instead of csObject. This is to make sure that they
  actually maintain the parent (which is the region they are in).
  When such an object is then deleted it will safely unlink itself
  from the parent (region).
- Added iRegion/csRegion::PrepareTextures() to prepare all textures
  and materials that were loaded in the context of this region.
- Renamed iRegion::Prepare() to PrepareSectors() and added a new
  Prepare() which calls PrepareTextures() followed by PrepareSectors().
  This way it works more like csEngine does.
- All the above changes done today result in the 'portal' console
  command not crashing anymore and loading the world given as a
  parameter (probably) correctly in a new region. The 'portal' command
  still doesn't work though because something is still wrong with
  the portal.
    
138 lines of code changed in:
Update.
7 lines of code changed in:
- Added 'regionOnly' parameter to all 'FindXxx()' methods in
  csEngine and iEngine. When this parameter is 'true' (default is
  'false') only objects in the current region will be searched.
- Added 'FindSky' to csEngine and iEngine.
- Added all the 'FindXxx()' methods to csRegion and iRegion as well.
- In addition added a general 'FindObject()' method to csRegion with
  which you can find any object of a given name and type.
- Added csThing::IsSky() which returns true if the thing is a sky
  object.
- Added optional is_template parameter to the constructor of csThing.
  This is just to mark a thing as being a template. Usually this
  should be set to true if the thing is pushed on the template list
  in the engine. Also added IsTemplate() function to csThing to
  query the status of this flag. Modified csLoader to correctly
  set this flag in the constructor.
- Added 'FindThingTemplate()' to csEngine, iEngine, csRegion, and
  iRegion.
- Added iSprite and iSpriteTemplate SCF classes and let csSprite
  and csSpriteTemplate implement them. csSprite implements iSprite
  through embedding (similar to how csThing implements iThing).
  csSpriteTemplate implements iSpriteTemplate with (multiple)
  inheritance.
- Because iSprite is now implemented it is possible to actually
  implement csRegion and csEngine::FindSprite. In addition because
  iSpriteTemplate now exists I also added csRegion and csEngine::
  FindSpriteTemplate. Also added to iRegion and iEngine.
- Added iObject SCF interface. csObject now implements iObject.
  iObject is currently almost empty (only contains GetName and
  SetName). It's main purpose is to allow further definition of the
  engine SCF interface for all methods that expect or return csObject
  instances. This rather fundamental change triggered a number of
  other changes in the engine classes with regards to where they
  get the iBase implementation. Previously some of those classes
  implemented iBase for sake of embedding or subclasses. Now, those
  classes can use the iBase provided by csObject.
- Fixed a bug in Blocks which caused crashes if no network driver
  was present. Now it simply doesn't attempt to open a connection
  if there is no network driver.
    
342 lines of code changed in:
Moved command.cpp and command.h from apps/support to apps/walktest since
these files are only used by WalkTest. Updated makefile and other source
files to reflect this change.
    
17 lines of code changed in:
added a missing lib in the ds3d makefile
1 lines of code changed in:
Jorrit's `makedepend' on Solaris was not able to grok the #warning in
version.h which was pulled in by csws.h on DreamsEternal.
    
1 lines of code changed in:
Moved command.cpp and command.h from apps/support to apps/walktest since
these files are only used by WalkTest. Updated makefile and other source
files to reflect this change.
    
700 lines of code changed in:
Jorrit's `makedepend' on Solaris was not able to grok the #warning in
version.h which was pulled in by csws.h on DreamsEternal.
    
8 lines of code changed in:
Fixed a bug in cs.i for python. Eric Sunshine accidently removed
the essential '3' after csVector3 :-)
    
22 lines of code changed in:
Update.
16 lines of code changed in:
Eliminated bogus warning from texi2html.  It complained that "Lighting"
was used as a @node name multiple times, when in truth, the second use
was as a @subheading.
    
1 lines of code changed in:
Eliminated compilation warning in dnfnodes.cpp.
1 lines of code changed in:
-*- Renamed the following classes and SCF interfaces.  Fixed all source
    files, header files, and documentation to reflect these changes.
    iWorld --> iEngine
    csWorld --> csEngine
    csWorldConfig --> csEngineConfig
    csWorldState --> csEngineState
    csWorldStateVector --> csEngineStateVector
-*- Renamed the following files.  Fixed all source files, header files,
    and documentation to reflect these changes.
    iworld.h --> iengine.h
    world.h --> engine.h
    world.cpp --> engine.cpp
    worldfmt.txi --> mapfmt.txi
-*- Eliminated the old iEngine SCF interface and the iengine.h header
    file.  This interface was just a very thin wrapper around the existing
    iWorld (now iEngine) functionality.  However, since the engine library
    already contains sufficient SCF goop to pass as a plug-in module, the
    old thin iEngine wrapper was not actually needed.  The new iEngine is
    now the one and only interface for accessing the engine regardless of
    whether or not it is in a plug-in module or statically linked.  There
    is no longer any distinction.
-*- Renamed all `world' variables to 'engine' throughout the project and
    documentation.  Renamed all variations of `world' (such as `World',
    etc.), as well.  Also renamed `world file' references to `map file'
    references.  Code and documentation which specifically refers to
    `world space' or `world coordinates' has not changed.  In this case,
    the `world' terminology is appropriate and has been retained.
-*- Added a bunch of missing `const' qualifiers to Dumper class.
-*- Renamed Dungeon plug-in's SCF name from
    crystalspace.worldrnd.dungeon.std to crystalspace.dungeon.random.
-*- csProgressPulse now uses iSystem::Printf() rather than CsPrintf(),
    thus it is no longer tied to the engine.  Also added Doxygen comments.
-*- Enhanced the check for new C++ casting syntax in comptest.sh to be
    more thorough.  It now checks for all casting variations.  This was
    necessary, since someone at NeXT botched the OpenStep Objective-C++
    compiler so that it fails to understand reinterpret_cast even though
    it understands static_cast, const_cast, and dynamic_cast.
-*- Eliminated compilation warning in csbaglay.cpp regarding one variable
    shadowing another.
-*- NeXT csosdefs.h now defines __NEED_GENERIC_ISDIR for SYSDEF_DIR so
    that the generic isdir() gets defined.  This is now required by CSWS.
-*- Added missing `const' qualifier to SetName() and GetName() methods of
    csFrame and csSpriteAction.
-*- Eliminated several compilation warnings from the sound loader plug-in.
-*- Eliminated compilation warning about redefinition of RED_PREPROC macro
    in haloscan.inc.  This warning only showed up on platforms which have
    TOP8BITS_R8G8B8_USED defined.
-*- Eliminated several compilation warnings in g2dtest regarding implicit
    conversion of float to int.
-*- Added missing `const' qualifiers to several methods in mz3DSprite.
-*- Fixed quite a lot of multiple-include protection macros in
    include/csengine so that they are now prefixed by `CS' (for instance
    __CS_STATS_H__ rather than STATS_H).  This should help to avoid naming
    collisions with non-CS packages.
-*- Eliminated compilation warning in ptlab.cpp.
    
22 lines of code changed in:
-*- Renamed the following classes and SCF interfaces.  Fixed all source
    files, header files, and documentation to reflect these changes.
    iWorld --> iEngine
    csWorld --> csEngine
    csWorldConfig --> csEngineConfig
    csWorldState --> csEngineState
    csWorldStateVector --> csEngineStateVector
-*- Renamed the following files.  Fixed all source files, header files,
    and documentation to reflect these changes.
    iworld.h --> iengine.h
    world.h --> engine.h
    world.cpp --> engine.cpp
    worldfmt.txi --> mapfmt.txi
-*- Eliminated the old iEngine SCF interface and the iengine.h header
    file.  This interface was just a very thin wrapper around the existing
    iWorld (now iEngine) functionality.  However, since the engine library
    already contains sufficient SCF goop to pass as a plug-in module, the
    old thin iEngine wrapper was not actually needed.  The new iEngine is
    now the one and only interface for accessing the engine regardless of
    whether or not it is in a plug-in module or statically linked.  There
    is no longer any distinction.
-*- Renamed all `world' variables to 'engine' throughout the project and
    documentation.  Renamed all variations of `world' (such as `World',
    etc.), as well.  Also renamed `world file' references to `map file'
    references.  Code and documentation which specifically refers to
    `world space' or `world coordinates' has not changed.  In this case,
    the `world' terminology is appropriate and has been retained.
-*- Added a bunch of missing `const' qualifiers to Dumper class.
-*- Renamed Dungeon plug-in's SCF name from
    crystalspace.worldrnd.dungeon.std to crystalspace.dungeon.random.
-*- csProgressPulse now uses iSystem::Printf() rather than CsPrintf(),
    thus it is no longer tied to the engine.  Also added Doxygen comments.
-*- Enhanced the check for new C++ casting syntax in comptest.sh to be
    more thorough.  It now checks for all casting variations.  This was
    necessary, since someone at NeXT botched the OpenStep Objective-C++
    compiler so that it fails to understand reinterpret_cast even though
    it understands static_cast, const_cast, and dynamic_cast.
-*- Eliminated compilation warning in csbaglay.cpp regarding one variable
    shadowing another.
-*- NeXT csosdefs.h now defines __NEED_GENERIC_ISDIR for SYSDEF_DIR so
    that the generic isdir() gets defined.  This is now required by CSWS.
-*- Added missing `const' qualifier to SetName() and GetName() methods of
    csFrame and csSpriteAction.
-*- Eliminated several compilation warnings from the sound loader plug-in.
-*- Eliminated compilation warning about redefinition of RED_PREPROC macro
    in haloscan.inc.  This warning only showed up on platforms which have
    TOP8BITS_R8G8B8_USED defined.
-*- Eliminated several compilation warnings in g2dtest regarding implicit
    conversion of float to int.
-*- Added missing `const' qualifiers to several methods in mz3DSprite.
-*- Fixed quite a lot of multiple-include protection macros in
    include/csengine so that they are now prefixed by `CS' (for instance
    __CS_STATS_H__ rather than STATS_H).  This should help to avoid naming
    collisions with non-CS packages.
-*- Eliminated compilation warning in ptlab.cpp.
    
4823 lines of code changed in:
fixed a bug which caused the sound modules to ignore some config settings
39 lines of code changed in:
Pages: << Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Next >>
![]()
Generated by StatCvs v0.2-dev