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: 2001-01-09 to 2000-12-22 (Commits 3845-3894 of 12744)
fixed compile warning unused current_time in walktest.
4 lines of code changed in:
-*- Changed all of the platform-specific makefiles so that they
    consistently use LIBS.SOCKET.SYSTEM to specify the Socket library.
    Eliminated the old, unix-specific NEED_SOCKET_LIB flag.
-*- Fixed problems in socket.mak where it did not link with the correct
    libraries when static linking was used.
-*- Fixed the platform-specific makefiles so that they consistently use
    the makefile variables CFLAGS.D, CFLAGS.I, LFLAGS.L, and LFLAGS.l.
    
81 lines of code changed in:
-*- Fixed the QUERY_PLUGIN() macros in isystem.h so that it is possible to
    call them as QUERY_PLUGIN(&object, iBlah) rather than having to resort
    to the ugly QUERY_PLUGIN((&object), iBlah).
-*- Fixed vfstest.cpp so that it no longer instantiates the VFS plug-in
    twice.
    
8 lines of code changed in:
Eric Sunshine made the following changes to the project:
-*- Added appropriate PIXEL_PREPROC() and PIXEL_POSTPROC() invocations to
    scanalph.inc in the software renderer so that these functions operate
    in the same manner as all other functions which take PIXEL_PREPROC()
    and PIXEL_POSTPROC() into account.
-*- Entirely eliminated the TOP8BITS_R8G8B8_USED flag/mode from the
    software renderer.  There were several problems with this `patch'
    which was supposed to handle the case where some of the RGB pixel data
    occupied the top-byte of the 32-bit pixel:
    o It was fragile.  Each time someone modified or added code to the
      software renderer, that code had to be checked for breakage.  If
      broken, then such code had to be fixed.
    o It was difficult and time-consuming to fix these problems.  Often,
      the affected code was spread about in several areas of the renderer.
    o It coupled the software renderer far too tightly to the 2D driver by
      hardcoding the pixel layout of the 2D driver into the 3D renderer.
      (This occurred in pixtype.inc.)  This made it impossible to use an
      alternate 2D driver with different pixel layout.
-*- Removed the `pixel adjust' value from the software renderer.  This was
    used as part of the TOP8BITS_R8G8B8_USED mechanism.
-*- Note that even though the TOP8BITS_R8G8B8_USED mechanism was removed,
    I left all of the invocations of PIXEL_PREPROC() and PIXEL_POSTPROC()
    in place for posterity since they illustrate every place in the
    renderer where one must take special care to correctly deal with the
    hard-coded assumptions about pixel layout.  These two macros have been
    relocated (from various files) to to a new master location in scan.h
    where they are provided with empty definitions.
-*- The default Apple/NeXT 2D driver now post-processes the 32-bit RGB
    data delivered by the software renderer by re-arranging it into a
    secondary frame buffer.  This change was necessary for the following
    reasons:
    o The fragile TOP8BITS_R8G8B8_USED mechanism was removed in order to
      decouple the 3D renderer from the 2D driver.
    o Without the TOP8BITS_R8G8B8_USED mechanism, the software renderer is
      hardcoded (for performance reasons) to produce pixel data in a
      particular format (BGRA on little-endian, and ABGR on big-endian)
    o The pixel data generated by the software renderer is unsuitable for
    default the Apple/NeXT 2D driver which expects the layout to be RGBA
    regardless of endian.  (This is a limitation of the AppKit, which is
    what the default 2D driver is based upon.)
-*- Removed the apparently unused RED_PREPROC() macro from haloscan.inc.
-*- Fixed several copy/paste bugs in csLightMap::ReadFromCache().
-*- Fixed a problem where `make depend' failed on Apple/NeXT when
    configured for multiple architectures via the TARGET_ARCHS makefile
    variable.  (Specifically, the compiler could not grok use of -MM with
    multiple -arch flags.)
-*- Disabled the `quick' versions of QRound() and QInt() on M68K for NeXT.
    Even though these methods work correctly on NeXT M68K, in general,
    there were some cases where the compiler botched their invocations and
    generated incorrect results.
-*- Disabled the new `quick' square-root (in qsqrt.h) for NeXT since the
    compiler can not grok the contained assembly.
-*- Renamed the preprocessor flag NO_QSQRT to CS_NO_QSQRT.
-*- Fixed a minor problem in -[NeXTDelegate localize:toView:x:y:] where
    the conversion of the mouse's Y-coordinate was off by one.
    
188 lines of code changed in:
Made the following changes to the Mesh Object documentation which
Jorrit wrote:
-*- Fixed a bunch of Texinfo mark-up errors and problems.
-*- Normalized mark-up and typographical usage to be consistent with other
    idioms established throughout the manual.
-*- Corrected several typographical and gramatical problems.
-*- Eliminated a bunch of overfull and underfull `hbox' errors reported
    by TeX.
    
222 lines of code changed in:
Made some initial documentation on the MeshObject system.
Not finished but already useful. Check it out in
docs/texinfo/plugins/meshobj.
    
361 lines of code changed in:
Spelling correction.
1 lines of code changed in:
- Made usage of qisqrt() more sensible. First test if square
  is less than some amount then you don't have to do the entire
  qisqrt().
- By making use of the new qisqrt() I optimized csCamera::LookAt()
  a little more.
    
29 lines of code changed in:
- Created snow and rain mesh object plugins (for the snow and rain
  particle systems).
- Created iSnowState and iRainState interfaces to access these plugins.
- Modified WalkTest to use the new snow and rain plugins instead of
  the old particle systems in csfx.
- Finished the snow and rain loader plugins.
- Moved spiral particle system to plugin. Note that this particle
  system currently crashes. Also created the loader and modified
  WalkTest.
- Removed native support for loading particle systems in csloader.
  Particle systems are now loaded through the new MESHOBJ keyword
  and the plugins. This means that the flarge.zip you can find
  on the CS site will no longer work. I will soon put a replacement
  there.
- Removed dependency on CSFX library from most apps (all except
  simple) since the loader no longer depends on csfx itself.
- Removed particle support from csengine. All particles have now
  moved to plugins.
- Fixed the new qsqrt and qisqrt from Andrew. It appears that it
  was returning the negative square root. I negated the result.
  I modified several places in csengine and csgeom where either
  FastSqrt (the old one) and normal sqrt were used and replaced it
  with qsqrt() and qisqrt(). All seems to work well but in case
  something bad happens I added a define NO_QSQRT to include/qsqrt.h.
  If you enable this define the fast versions of qsqrt will not be
  used. I'd like to be notified of this if there are problems.
- Made a new ball plugin just for demonstration purposes and also
  because it is a very efficient way to make a ball :-)
  Extended simple application to show such a ball with a plasma
  texture on top of it (just turn around to see it). It looks
  really nice :-)
    
247 lines of code changed in:
Fixed Renderer so it will do as it's
told and run windowed if you tell it too. :-)
    
2 lines of code changed in:
Fixed 4 compile errors in:
void Simple::SetTexSpace(csPolygon3D *poly, int size, const csVector3& orig,
  const csVector3& upt, float ulen, const csVector3& vpt, float vlen)
    
6 lines of code changed in:
Added a procedural skybox texture.
And a demoing program (ala simple) to show it. 'demosky'.
the bottom half of the skybox is filled with a mock watery splotch,
the top half with clouds and a sunlighted spot.
    
471 lines of code changed in:
Added the asm() parameter that tells GCC that FPU registers and the EAX
CPU register are clobbered. This will force gcc to avoid keeping
intermediate or cached values in those registers across qsqrt
and qisqrt calls.
    
2 lines of code changed in:
- Fixed a big initialization bug in the spr2d plugin. This would
  cause strange and hard to debug crashes sometimes.
- Fixed a very similar initialization bug in the fountain and
  explosion plugins.
- Fixed another bug in the general particle code for the particle
  plugins. Particles were DecRef()'ed once too many.
- Fixed csMeshWrapper::NextFrame() so that it also calls NextFrame
  on the children.
- csSprite no longer implements iParticle. In the future it will
  be the mesh objects themselves that implement iParticle. At this
  moment however, it means that only the 2D sprite mesh objects
  work as particles (which is fine since these are actually the
  only objects that are really useful as particles).
- Also removed csSprite::AddColor() and SetColor() since they
  were actually only ment for the particle systems. Moved AddColor()
  and SetColor() as specific functions for csSprite3D.
- Moved implementation of csSprite::Rotate() and ScaleBy() to
  csSprite and made non virtual. The implementation was the same
  for all subclasses anyway.
- Changed iParticle interface to make it possible to use relative
  transforms for particle systems. The transform of the parent
  particle system is given with Draw() and UpdateLighting().
  SetPosition() should now be specified in the particle system
  coordinate system.
- The particle system plugins now render correctly in a hierarchical
  transformation context. This gives really very nice effects.
  For example, I put a fountain particle system on the hand of the
  robot (which is rotating). This looks as if the robot is shooting
  around with fountain particles.
- Finished the explosion particle system loader plugins.
- Started working on the fire particle system (in
  plugins/meshobj/fire).
- Added iFireState interface for the fire plugin system.
- Finished the fire plugin and changed WalkTest to use it instead
  of the old version in csfx.
- Finished the fire loader plugins.
- Implemented MIXMODE command in all mesh object loader plugins.
    
150 lines of code changed in:
moved volume control from the sound drivers to the software sound renderer. Also cleaned up the wave-out driver a bit.
15 lines of code changed in:
moved volume control from the sound drivers to the software sound renderer. Also cleaned up the wave-out driver a bit.
217 lines of code changed in:
- The sprited2D plugin now also implements iParticle which means
  it can be directly used as a particle for the particle systems.
- The particle systems now use the sprite2d plugin directly instead
  of using csSprite2D.
- As a consequence of this I'm now able to remove csSprite2D
  from the engine. In addition I also removed support for loading
  2D sprites directly. Instead the new MESHOBJ token should be used.
- Forgot to implement support for the MATERIAL keyword in the
  sprite2d loader (the factory loader did support it).
- Started work on moving particle systems to plugins. There is
  now a directory plugins/meshobj/partgen which contains the
  general classes for particle systems (csParticleSystem
  and csNewtonianParticleSystem).
- Added iParticleState interface which represents the general
  settings common to all particle systems. csParticleSystem
  implements this.
- Started moving fountain particle system to plugins. Source can
  be found in plugins/meshobj/fountain.
- Added iFountainState interface which represents the general
  settings specific for the fountain. csFountainParticleSystem
  implements this.
- Fixed SCF macros for csPolygonSet, csSprite, csSkeletonLimbState
  and csPolygon3D. They were all using IMPLEMENT_IBASE_EXT
  but forgot to close this with IMPLEMENT_IBASE_EXT_END (instead
  they used the default IMPLEMENT_IBASE_END).
- Added NextFrame to csSprite and implement this in all the
  current remaining subclasses (csParticleSystem, csMeshWrapper,
  and csSprite3D).
- Added similar NextFrame() to iMeshObject.
- Added empty implementation of NextFrame() to cube and 2D sprite
  plugins. They don't have animation so they don't need a NextFrame().
- Added a functional implementation of NextFrame() to the general
  particle system plugin code.
- Renamed csEngine::AdvanceSpriteFrames() to NextFrame(). In
  addition it will now also control animation and deletion of
  particle systems.
- Removed UpdateParticleSystems() because csEngine::NextFrame()
  does this.
- Finished the fountain plugin. The fountain plugin itself uses
  the 2D sprite plugin to create the fountain particles.
- Added WantToDie() to iMeshObject. With this function a mesh
  can indicate that it wants to die. This is most useful for particle
  systems that have only a limited time to live (like an explosion).
- Also added default WantToDie() to csSprite and implemented it
  in csMeshWrapper by asking the mesh. By doing this the auto-delete
  system of particle systems is generalized to all mesh objects.
- Started moving explosion particle system to plugins. Source can
  be found in plugins/meshobj/explo.
- Added iExplosionState interface which represents the general
  settings specific for the explosion. csExploParticleSystem
  implements this.
- Added iDynLight SCF interface for dynamic lights. This is needed
  for the explosion plugin.
- Extended iLight SCF interface with SetColor() and SetSector().
- Extended iEngine with CreateDynLight() and RemoveDynLight().
- Finished the explosion plugin. Note that there still seems to be
  a bug with lighting and the particles of the particle systems.
  Sometimes the lighting routine on the particle system is not
  called (UpdateLighting).
- Changed walktest to use the fountain and explosion plugins instead
  of the still existing fountain particle systems in csfx.
- Fixed a CSFX dependency error in the blocks makefile.
- Implemented the fountain loader plugin (in plugins/meshldr/fountain).
    
276 lines of code changed in:
Fixed the disaster caused to VFS by one of Eric's changes.
CS_PLATFORM_NAME was not the strict name of platform like it should be,
but rather a free-form description of the platform, which is wrong.
    
9 lines of code changed in:
Fixed a load of compiler warnings due to:
struct / class forward declaration typo's
    
3 lines of code changed in:
- Added GetObjectBoundingBox() to iMeshObject.
  Added implementation for this method to the cube plugin.
- Implemented UpdateInPolygonTrees() in csMeshWrapper so that
  mesh objects will now correctly be drawn in BSP type levels too.
- Implemented csMeshWrapper::Rotate().
- Started porting csSprite2D (2D sprites) to the new mesh
  plugin system. Created new directory plugins/meshobj/spr2d
  where it will be located.
- Also created iSprite2DFactoryState SCF interface which will
  be used to set the characteristics of 2D sprite factories. Also
  added iSprite2DState to set the characteristics of 2D sprite
  instances.
- Renamed iCubeMeshObject to iCubeFactoryState because I think this
  is a better name which also fits the name of the 2D sprite
  state interfaces better.
- Also created the 2D sprite loaders.
- Plugin 2D sprites are now working mostly. The old 2D sprites are not
  yet removed because the particle systems still depend on them.
- Extended iMovable and csMovable with GetFullPosition() which returns
  the position of the movable but keeps track of the hierarchical
  transformations (similar to GetFullTransform()).
- Fixed a serious bug in csloader with regards to the new plugin
  loaders. The wrong type plugin was taken in some cases.
- Removed MoveToSector from iParticle. It is not needed and wrong
  if used in combination with the new mesh object system (they have no
  notion of sectors).
- Removed DeferUpdateLighting() from iParticle.
- Changed iParticle::UpdateLighting() to take an array of iLight
  instead of csLight. SCF classes should not refer to engine classes.
- Changed iParticle::Draw() to use iRenderView instead of csRenderView.
- Added iLight::GetPrivateObject() and iRenderView::GetPrivateObject().
    
252 lines of code changed in:
A new fast sqrt() and 1/sqrt() implementation. Not used anywhere for now
(I'll leave this on Jorrit's behalf) but it has a big potential. Engine is
using 1/sqrt() in a lot of places, and computing 1/sqrt() in one go
is a big win. Plain sqrt() is about 31% faster (on PII and Celeron)
than FPU's FSQRT instruction, and 1/sqrt() is 38% faster than FSQRT
(dunno how fast than actually computing 1/sqrt(x) - division is quite
a slow operation, almost as slow as sqrt itself - 42 and 71 clocks
respectively).
    
187 lines of code changed in:
fixed a warning
1 lines of code changed in:
Improved the portal more, it has a border around the portal polygon, showing
a part of the portal tesxture mapped onto it.
    
99 lines of code changed in:
-*- A new QInt and QRound that will work on some big-endian CPUs as well.
-*- Fix to slow QRound so that it works correctly for negative numbers
    
25 lines of code changed in:
-*- Enhanced a little software DrawPixmap for textures-with-alphamap, where
    in 16 and 8 bpp modes alpha=0 still would lead to a changing background
    a little.
-*- Added a nice logo to MazeD's About box.
-*- Fixed a few things here and there in MazeD.
    
66 lines of code changed in:
Improved the texturemapping of the portal. The texture is now wrapped around
the entire portal thing. Instead of tiled.
    
22 lines of code changed in:
Fixed compiler warning.
3 lines of code changed in:
Eliminated a compilation warning from walkcmd.cpp.
2 lines of code changed in:
Eliminated a compilation warning from walkcmd.cpp.
1 lines of code changed in:
- Added 'children' array to csMeshWrapper. By this we will support
  hierarchical objects and transformations.
- Added support for MESHOBJ keyword in MESHOBJ. This will be used
  to specify the hierarchical objects. i.e. the mesh objects can
  be children of a parent mesh object. The transformation specified
  in the children is relative to the parent position and orientation.
- Generalized csRotatingObject in the entity system of WalkTest
  so that it will now also be able to rotate sprites instead of
  only things (sprites in the general sense: csSprite, so the new
  plugin objects are also included).
- Added support for KEY keyword in MESHOBJ.
- Modified WalkTest so that it will also recognize the children
  of csMeshWrapper and parse the KEY statements for them.
- Changed iCubeMeshObject to make it more general. You can now
  specify the sizes for x, y, and z seperatelly. So the cube does
  not have to be a cube anymore :-)
- Also added shift values so that you can shift the (0,0,0) point
  of the cube to another place.
- Fixed a bad bug with UpdateLighting for the cube plugin. In some
  cases it would actually crash because UpdateLighting was called
  before the cube object was properly initialized. Added SetupObject()
  function to initialize cube properly and if needed.
- Hierarchical objects are now working :-)
- Completed a fix Eric Sunshine did (previous millenium) with regards
  to CalculateFogMesh. Eric's fix was still not completely ok.
- Added an extra level of abstraction in the mesh object system.
  Created a plugin called iMeshObjectType which represents a type
  of mesh objects. From this you can created instances of
  iMeshObjectFactory. So iMeshObjectFactory is no longer a plugin
  but instances have to be created through iMeshObjectType.
- Added csCubeMeshObjectType in the cube plugin to implement
  iMeshObjectType.
- Added new QueryPlugIn to iSystem and system.h with which you can
  query for a loaded plugin on class ID. This complements the two
  other existing QueryPlugIn functions which could look for Func ID
  and interface name. The reason for this function is that you
  sometimes want to load a plugin with a certain class ID but you
  only want one. If there already is one you reuse the previously
  loaded plugin instance. So in that case you do QUERY_PLUGIN_CLASS
  first and if that fails (returns NULL) you do LOAD_PLUGIN.
- Also added QUERY_PLUGIN_CLASS which will use the new QueryPlugIn.
- Added GetNumPlugIns() and GetPlugIn() to iSystem and system.h.
  With this you can query the list of currently loaded plugins in
  the system.
- Fixed a bug in csloader which would cause the loader plugins to
  be loaded multiple times instead of only once.
- csCubeMeshObjectType now also implements iConfig through embedding.
  Using this you can set the default size (x, y, and z) and the default
  shift (x, y, and z) for all factories created from this object
  mesh type.
- Added 'plugins' console command to WalkTest with which you can
  ask all loaded plugins (loaded into the system driver).
- Added 'conflist' console command to WalkTest with which you can
  ask all config options for some loaded plugin (use the 'plugins'
  command to get the list of plugins). You also get the current values
  of the options. For example 'conflist 3' will list all the config
  options and values for the plugin with number 3 (from the list
  given by 'plugins').
- Added 'confset' console command to WalkTest with which you can
  set a config option to some value. Arguments are <plugnr>,<name>,<val>
  with <plugnr> the number you get from the 'plugins' command.
    
326 lines of code changed in:
-*- Fixed compilation warnings in engine.cpp, rview.cpp, meshobj.cpp,
    prdots.cpp, prfire.cpp, proctex.cpp, cubeldr.cpp, and cube.cpp
-*- Fixed a bizarre bug in csRenderView::CalculateFogMesh() where a local
    `fog_info' variable was incorrectly initialized.  (There was no way
    that this code could have worked correctly prior to being repaired.)
-*- Fixed a bug in cspython.mak where it would potentially try to compile
    cs_pyth.cpp twice.
-*- Modified the Python plug-in makefile so that compilation warnings are
    disabled for the Swig-generated cs_pyth.cpp source file since this file
    is known to spew many compilation warnings.  Since this file is auto-
    generated, it is beyond our control to eliminate the warnings.
-*- Fixed the broken `linex2dclean' makefile target.
    
72 lines of code changed in:
added forward slash to list of valid string characters.
1 lines of code changed in:
- Got two nice textures from Wouter Wijngaards to use for the
  'portal' console command. The textures are in standard.zip.
  Only the texture for the box of the portal is used for now.
  There are some technical problems to getting the other texture
  working correctly.
- Added iLoaderPlugIn interface. A mesh object plugin (or something
  else, it is general enough) can implement this in order to
  provide extra loading functionality for the loader.
- Renamed csMeshObject to csMeshWrapper in order not to let people
  think that csMeshWrapper actually implements iMeshObject
  (it does not).
- Added csMeshFactoryWrapper which is a class similar to what
  csSpriteTemplate is for sprites.
- Added iMeshFactoryWrapper and let csMeshFactoryWrapper implement
  this through embedding.
- Extended iEngine and csEngine with FindMeshFactory().
- Extended iRegion and csRegion with FindMeshFactory() and extended
  csRegion to actually support mesh object factories as well.
- Added new array of mesh object factories in csEngine
  (meshobj_factories).
- Implemented cube loader plugins. One for cube factories and one
  for regular cubes. These plugins are placed in plugins/meshldr/cube.
- Added support for MESHOBJ keyword in WORLD (loader). This will
  generate a general csMeshWrapper object for the specified
  plugin. For example, to load an instance of the cube factory
  in the world you can do:
  	MESHOBJ 'cubeFact' (
	    PLUGIN ('crystalspace.meshldr.cubefact')
	    PARAMS (
	        MATERIAL ('stone')
		SIZE (.5)
	    )
	)
  The section in the 'PARAMS' block will be passed to the plugin
  loader.
- Added support for MESHOBJ keyword in SECTOR or ROOM. This is
  based on the factory above:
  	MESHOBJ 'cube1' (
	    PLUGIN ('crystalspace.meshldr.cube')
	    PARAMS (
	        FACTORY ('cubeFact')
	    )
	    MOVE (V (-4,0,9))
	)
- Fixed some of the FindXxx() routines in csEngine so that they
  actually return NULL if the object is not found instead of
  some low (but invalid) value.
    
277 lines of code changed in:
Added CSGEOM dependency to resolve
VC link errors (unresolved externals)
    
1 lines of code changed in:
- Added iRenderView::ClipBBox() to test if a screen bounding box
  is visible and needs to be clipped. In addition it does far plane
  clipping. Thus is provides a quick and easy way for a mesh object
  plugin to test if some object is visible and needs to be clipped.
  The code is a straight copy from the code that was in csSprite3D.
  csSprite3D now also uses this function.
- Made iClipper2D and csClipper::ClassifyBox use a 'const' parameter.
- Cube also uses clipping correctly now.
- Extended iMeshObject with DrawTest() and UpdateLighting().
  DrawTest() is the first part of Draw() which is responsible for
  testing quick visibility. Draw() will do the real work. In between
  UpdateLighting() can optionally be called.
- Added IsMirrored() to iCamera.
- Fixed the python plugin for the change of GetAspect() to GetFOV().
- Changed iGraphics3D::GetObjectToCamera so that it returns a
  reference to the transformation. Modified all the 3D drivers
  accordingly.
- Extended iLight SCF structure to make it useful for calculating
  lighting in the cube plugin.
- Changed csLight to let it implement iLight through embedding
  instead of inheritance.
- Fixed UpdateLighting for csMeshObject.
- Added SetMixMode and GetMixMode to iCubeMeshObject interface.
- Did some cleanup to various of the SCF include files (comments
  and CS code style).
- All the above changes accomplish the following for the cube plugin:
    - Lighting works now (similarly to how sprite lighting works but
      a bit simpler).
    - Cube will correctly be rendered through a mirror.
    - Changed simple so that the new cube is moved around at the
      same rate as the dynamic light at the top of the room.
      That way you can see how the lighting is dynamically updated.
    - Cube now uses the plasma procedural texture.
    - Cube is now drawn with CS_FX_ADD mixmode for a nice blending
      effect. This does not work correctly in software mode though
      because there is a bug with blending and procedural textures.
      The initialization of the procedural textures (which are
      8-bit textures) overwrites the blend tables for the 16/32-bit
      render mode as well.
    
388 lines of code changed in:
- Added Visit() to iMaterialWrapper.
- Cube plugin now renders using DrawTriangleMesh.
- Added CalculateFogMesh() and CalculateFogPolygon() to iRenderView.
  Mesh object plugins can call this function to update the fog
  information in the mesh or poly object. Removed the badly
  placed same functions from pol2d.cpp.
- Cube plugin now supports fog.
- Added iTransformationManager SCF interface for the transformation
  manager. Only contains GetCookie() function at the moment.
  csTransformationManager implements this interface through
  embedding.
- Added iEngine::GetTransformationManager().
- Added iRenderView::GetEngine().
    
453 lines of code changed in:
added moveable parameter which seemed to be missing from mesh->Draw
1 lines of code changed in:
- Added iCubeMeshObject interface. The cube plugin implements
  this interface in addition to iMeshObjectFactory. Using
  iCubeMeshObject you can specify the geometric constraints
  and appearance of the cube (size and texture). Every mesh object
  plugin will have such a companion interface to specify appearance.
- Added GetMaterialHandle() to iMaterialWrapper interface.
- Extended Draw() in iMeshObject with an iMovable parameter.
- Added GetTransform() in iCamera.
- Made QUERY_INTERFACE macro a tiny bit safer.
- Fixed a bug in csCamera. One of the constructors didn't properly
  initialize the SCF stuff for iCamera. Also changed csCamera
  so that iCamera is now implemented through embedding instead
  of inheritance.
- Changed GetAspect() and GetInvAspect() to GetFOV() and GetInvFOV()
  in iCamera.
- Added GetShiftX() and GetShiftY() to iCamera.
- Fixed the SCF stuff for csRenderView. It was not properly done
  given that csCamera itself implements iBase.
- Continued work on csCubeMesh plugin so that it now renders a
  wireframe version.
    
126 lines of code changed in:
- csparser no longer deletes all textures and materials in
  the MATERIALS and TEXTURES statement. This caused bad
  crashes with the portal command. The portal command is now working
  properly again.
- Added iRenderView and let csRenderView implement this through
  embedding.
- Added iClipper2D and let csClipper implement this through
  inheritance.
- Removed csClipper::IsInside(x,y) so that only the csVector2 version
  remains.
- Renamed the inplace clipper called 'Clip' to 'ClipInPlace' to
  avoid C++ inheritance clashes.
- Added iMeshObject interface which will eventually be used
  to move sprites, and particle systems outside the engine as plugins.
- Additionally added iMeshObjectFactory plugin. This is a plugin
  that can be loaded in the engine will generate instances of
  one type of mesh object.
- Added csCubeMeshObject as a plugin (in plugins/meshobj/cube) which
  represents a simple cube that is going to be used as a test-base
  for the new iMeshObject system. Only when csCubeMeshObject is
  working properly am I going to port csSprite3D and csParticleSystem
  to iMeshObject.
- Added csMeshObject which is the engine holder for iMeshObject
  plugin objects. csMeshObject is eventually going to replace csSprite.
  It will controll all aspects of mesh objects which are global and
  pass them on to the various implementations of iMeshObject.
- Added code to simple to query this new cube plugin.
    
340 lines of code changed in:
Little clean up of ptlab
Fixed the proc textures after AndyZ's recent changes
Removed Jorrits additional PrepareTextures in protex3d.cpp
Fixed Simple to display ProcTextures properly with the global palette properly communicated.
    
30 lines of code changed in:
pixmap now incref's and decref's the texturehandle it has in use.
(just came across this when someone added engine->startengine to LoadMapFile - all my pixmaps that held texturehandles created via LoadTexture before LoadMapFile were invalid)
    
23 lines of code changed in:
Added documentation for the `walkall' makefile target to the output of the
`help' makefile target.
    
7 lines of code changed in:
Made a slight modification to handling of the Backspace key in the
OpenStep port so that it works in the expected fashion in Crystal Space.
    
4 lines of code changed in:
added missing CSFX lib to the makefiles
1 lines of code changed in:
Update.
14 lines of code changed in:
- Moved snow, rain, spiral, fountain, fire, and explosion particle
  systems from csengine to csfx library. Only the basic particle
  and newtonian particle systems remain in csengine.
- Found out that materials and textures were not correctly searched
  in the current region. Fixed csloader for this.
- Fixed a potential bug with polygons that had no texture. The
  new Visit() would crash on them. It seems however that there is
  still a bug somewhere. The portal command is very unreliable now.
  To be investigated.
- Extended csLoader::FindMaterial() with a regionOnly parameter.
- Added csEngine::FindCsTexture() and FindCsMaterial() which return
  a csTextureHandle and csMaterialHandle respectively.
    
62 lines of code changed in:
Eric Sunshine made the following changes to the project:
-*- Upgraded the NextStep port of Crystal Space to be fully compatible
    with Andrew's National Keyboard Support.  Implementing this required
    reverse engineering internal NextStep data structures and writing code
    to extract the appropriate information.  See the discussion in the new
    NeXTKeymap.cpp file for a detailed explanation.  (National Keyboard
    Support had already been enabled for the MacOS/X Server and OpenStep
    ports several days earlier.)
-*- Fixed a long-standing problem with keyboard handling in the NextStep
    port.  Keystrokes modified by the Alternate key were never interpreted
    correctly by Crystal Space.  The reason for this was that NextStep had
    already cooked the keystroke completely out of recognition by the time
    Crystal Space had a chance to see it, and there was no way to retrieve
    the original, unmodified keystroke.  Reverse engineering the internal
    NeXT data structures for National Keyboard Support made it possible to
    fix this problem by making the unmodified (raw) keystroke available.
-*- Implemented F1 - F12 function key translation in the NextStep port.
    (These keys had already been implemented in the MacOS/X Server and
    OpenStep ports several days earlier.)
    
36 lines of code changed in:
Disabled lighting for water too.
1 lines of code changed in:
Disabled lighting for the fire polygon that is created in simple.
Now fire will actually look like fire and not green :-)
    
2 lines of code changed in:
- Eliminated a bug in the procedural texture manager for the
  software renderer. The problem was that only the first 8-bit
  proc texture was correctly initialized.
- Fixed csfx so that there is only one Initialize() method now
  as was originally intended.
    
19 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