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