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-06-25 to 2001-06-19 (Commits 5345-5394 of 12744)
Forgot to commit.
270 lines of code changed in:
- 'Fixed' the lightmap overflow bug in software renderer. It is
not really an elegant bug fix as I simply test for overflow
but it seems to work.
- Correctly implemented GetRadius() for the sprite2d mesh object.
- Optimized skeletal sprite bounding box calculation by doing
the calculation on the vertices instead of the bounding box
if a limb has less than 8 vertices. Even if the limb has slightly
more than 8 vertices we also do this for the increased accuracy
this gets us.
- Calculation of radius for 3D sprites is now very accurate and
correctly accounts for current frame and skeletal state.
- Added iBase::GetRefCount(). This way you can now get the reference
counter from any SCF interface. Note that this is ONLY for debugging
purposes! Any misuse of this function for anything but debugging
will be severly punished! :-)
- BugPlug now has the ability to select a mesh on screen (by clicking
on it). It will automatically detect when the mesh is deleted and
correctly unselect it then. BugPlug uses the new GetRefCount()
function to do that (yes! BugPlug is about debugging, so it can
do that!)
- Eliminated csEngine and iEngine::NextFrame(). Now this is done
automatically in csEngine::Draw() and DrawFunc().
- Made iSector::HitBeam() a little bit more efficient and also
fixed a small bug: the polygon was not filled in.
- Fixed csMeshWrapper::HitBeam() so that it now takes the full
transform instead of the transform. That way it works for
hierarchical objects too.
- Fixed a bad bug in Spider (BugPlug). DecRef() was called on Spider
before it was removed from the engine. This has recently been
forbidden. This bug caused BugPlug to crash whenever Spider catched
a camera.
- Added 'meshbbox' and 'meshrad' commands in BugPlug. 'meshbbox'
shows the bounding box of the currently selected mesh. 'meshrad'
shows the bounding sphere of the currently selected mesh.
- BugPlug is the hiding place for many dark creatures. While Spider
only places a curse on the country and any unsuspecting wanderer
that might visit the country, Shadow takes possession of some
creature and clings to it with all its power. Unless Shadow
willingly releases the creature there is nothing that can be done
to unbind Shadow. The Shadow slowly devours the poor creature from
all its knowledge.
494 lines of code changed in:
- Added half of the animation documentation. I added the
links accidentally during my last commit, so Ive added
what I have completed so far.
570 lines of code changed in:
Eric Sunshine made the following changes to the project:
-*- Altered the OpenGL renderer so that it builds cleanly on MacOS/X. The
following changes were made:
- Added a new preprocessor flag, CS_OPENGL_PATH, which indicates where
OpenGL header files live. If CS_OPENGL_PATH is defined, then header
files are included from that directory rather than the standard "GL"
directory. This is needed on MacOS/X, since OpenGL headers live in
a subdirectory named "OpenGL" rather than the standard "GL" as with
most other platforms.
- Added CFLAGS.GL3D and LIBS.OPENGL.SYSTEM to macosx.mak with
appropriate values.
- Added a NEXT.PLUGINS variable to the Apple/NeXT makefiles and
defined it with the value "video/renderer/opengl" in macosx.mak so
that the OpenGL renderer makefile is consulted when building on
MacOS/X.
- Added a definition of OPENGL_2D_DRIVER to next/csosdefs.h.
-*- Fixed ogl_halo.cpp so that it no longer unnecessarily includes
<windows.h>.
47 lines of code changed in:
- Add SetVertices() methods to Sprite3d, modified metagen
to hand over the pointer to its vertex buffer ( and all
the other arrays it uses ). *WARNING* you will need to
recompile csparser, spr3d and spr3dldr to return a
successful build. This is as per the patch sent earlier
to the dev list.
- Added some further documentation to tesselat.h to explain
what it does and how it does it.
133 lines of code changed in:
Repaired the doubled `cscs' prefix on the following functions:
cscsByteSwap16bitBuffer()
cscsByteSwap32bitBuffer()
9 lines of code changed in:
Eric Sunshine fixed a problem with mdl2spr where it failed to load the PNG
plugin. Also fixed it so that it only attempts to load the PNG plugin if
absolutely required (for instance, to save skins from Quake1 MDL files),
rather than loading it unconditionally.
5 lines of code changed in:
Eric Sunshine worked around an OpenStep compiler warning where it
complained that csCameraPosition, csMaterialWrapper and csTextureWrapper
had private destructors but no friends.
6 lines of code changed in:
Eric Sunshine repaired DemoSequenceLoader::LoadPath() so that it no longer
allocates 10,000 element arrays of `float' and 'csVector3' on the stack,
since such huge arrays are frequently unportable. In this case, they blew
the OpenStep stack, resulting in abnormal program termination.
23 lines of code changed in:
-*- Updated the URLs in the build instructions for the Apple/NeXT ports to
refer to the new sunsite.dk location rather than the old
3ddownloads.com location.
-*- Updated the "Final Notes" section of the platform-specific
internal-description of the Apple/NeXT ports.
48 lines of code changed in:
Eric Sunshine removed the unused and namespace-polluting ResultType
enumeration from ivaria/script.h
7 lines of code changed in:
Eric Sunshine fixed a problem with csSystemDriver::LoadPlugIn() where the
returned object had an inconsistent reference count. In some cases, the
caller of LoadPlugIn() was responsible for invoking DecRef() on the
returned object to dispose of it, but in other cases the system driver
maintained authority over the returned object and the caller was not
allowed to invoke DecRef(). Now, the reference count of the returned
object is consistent in all cases, and the caller must _always_ invoke
DecRef() to dispose of the returned object.
10 lines of code changed in:
- Fixed a bug in csSector::FollowSegment(). It would not
work correctly for null portals. Now it correctly detects
that case.
- Removed the ref from csPolyTexture to csPolygon3D. It is a
circular reference.
- Worked on a very old bug in the software renderer texture cache.
Actually I tried to worked around the bug. I don't understand the
real nature of the bug though. The code is commented because
it doesn't work correctly yet. There are also underflows it seems!
49 lines of code changed in:
- Fixed a bug in Walktest with the deletion of the legs/body
collider. They were deleted with DecRef() but that is illegal
since it is now required that they are deleted with
engine->RemoveMesh().
- Implemented RemoveFromCache() in OpenGL 3D renderer. This is
important for dynamic worlds because when a polygon is deleted
the OpenGL renderer would not release information associated with
that polygon. In particular the lightmap data was not released.
- Fixed a missing DecRef() on iThingState in the thing loader. That
would leak a reference.
- Fixed a missing DecRef() in the thing loader when loading polygons.
- Removed csPolygonArrayNoFree. It is not used.
56 lines of code changed in:
Eric Sunshine removed several outdated DO_BLAH references from the
documentation, and from mac/volatile.h and win32/volatile.h
48 lines of code changed in:
added missing DecRef of iMeshObjectType
1 lines of code changed in:
sometimes it turns out to be much better calling methods only for existing objects
1 lines of code changed in:
due to wrong method signature of csPlugIn::FreeItem it did not override and hence never got called
2 lines of code changed in:
1. Implemented children for components.
2. IMplemented almost all of the redraw algorithm.
274 lines of code changed in:
added meshwrapper removal in Clear ()
4 lines of code changed in:
callback initialization added, better for karma and crash prevention
4 lines of code changed in:
now uses the new iDrawFuncCallBack
12 lines of code changed in:
- Replaced csDrawCallback with iMeshDrawCallback (similar to
the iPortalCallback). This new callback can even return false
to prevent the drawing to take place.
- Replaced csMeshCallback with iMeshObjectDrawCallback.
Can now also prevent drawing.
- Replaced csDrawFunc with iDrawFuncCallback.
177 lines of code changed in:
- Fixed a bug in csMeshWrapper::DecRef()
(and csTerrainWrapper::DecRef()). The custom code there would
do scfRefCount++ in the assumption that the engine would
decrease it again. But this only happens if the object was in
the engine which is not always the case (in fact it should never
be the case now). So this was a big memory leak. I kept the custom
DecRef() and put some testing code there (using CS_ASSERT) to make
sure that it is not misused.
- Fixed handling of csRegion::DeleteAll(). It should now work a lot
better and actually delete everything.
18 lines of code changed in:
- Fixed a bug in the cleanup of sectors in the engine. The
portal references were not cleaned up.
- Made the destructors of the following classes private:
- csTextureWrapper
- csMaterialWrapper
- csCollection
- csSector
- csMeshFactoryWrapper
- csTerrainFactoryWrapper
- csCurveTemplate
- csCameraPosition
- Removed csCurveTemplateArray. It was not used.
- csThing no longer puts itself in the current region. That is
not needed since csMeshWrapper already does that.
- Completely reworked the callback system for portals. A portal
callback is no longer a function. Instead it is an SCF
class (iPortalCallback) that you have to implement. This allows
cleanup of that callback when the portal is deleted.
There are also two types of portal callback now:
- Missing sector: this is the old type. When a sector is missing
(null portal) this will be called.
- Portal callback: this will be called when the sector is not
missing.
- Made a few things in the Window canvases static (ddraw, ddraw8,
and glwin32) so that they can be static linked with each other.
- Fixed static linking for apps using the engine as a plugin by
adding engine/3d to the PLUGINS section (instead of PLUGINS.DYNAMIC)
in mk/user.mak.
188 lines of code changed in:
removed call to UnlinkCollection in the destructor
0 lines of code changed in:
Fixed bug with transparent ball.
2 lines of code changed in:
- removed UnlinkCollection
0 lines of code changed in:
- now upon destruction gets one step further (beyond collection deletion). walktest now crashes much nicer (for me at least.
- removed UnlinkCollection
6 lines of code changed in:
Eliminated an unititialized variable warning.
1 lines of code changed in:
Small fix.
1 lines of code changed in:
Small fix
1 lines of code changed in:
- Fixed SCF stuff in csMaterialWrapper, csTextureWrapper,
csCameraPosition, and csMapNode. Please don't use
CONSTRUCT_IBASE (NULL) for classes that get iBase from
a superclass.
- csPortal now also extends csObject and embeds iPortal instead
of inheriting from it. Added iPortal::QueryObject().
110 lines of code changed in:
- Made the resolving of portals to sectors a bit more robust
by not resolving portals that point to sectors that already
contain geometry.
- The CS loader will now by default call DeferUpdateLighting()
on all loaded meshes (except the ones loaded with
LoadMeshObject(char*filename)) so that the lighting looks ok
directly after loading.
- Added iEngine::SelectRegion() which accepts an iRegion as a
parameter.
- Added iRegion::GetPrivateObject().
- Fixed region handling for mesh wrappers (calls DecRef() now).
- Added iReference and iReferencedObject.
This is a general system to keep references (iReference) to any
kind of object (iReferencedObject). If some object wants to keep
track of all other objects which hold a reference to this object
then it can implement iReferencedObject and the other objects can
implement iReference. When the referenced object is deleted it
will call SetReferencedObject(NULL) on all the references.
- iPortal now subclasses iReference.
- csSector now implements iReferencedObject.
- By implementing this it is now safe to delete a sector. All portals
to that sector will be automatically set to NULL portals (i.e.
closed). If the portal has a callback associated with it then
this will be called the next time the engine needs that portal.
206 lines of code changed in:
Update.
2 lines of code changed in:
Eric Sunshine eliminated the hard-coded maximum framerate limitation (15
frames per second) from the Apple/NeXT ports. Rather than using a timer
to trigger calls to iSystem::NextFrame() at a fixed interval (15 times per
second), it now feeds a dummy event into the AppKit's event queue after
each call to NextFrame(), which triggers a subsequent call to NextFrame(),
etc. This allows the frame rate to run as high as the hardware allows
rather than artificially limiting it to a timer's fixed interval.
8 lines of code changed in:
By kind request I fixed the bug where perftest incorrectly reported the fps
when spacebar was pressed to advance to the next test.
8 lines of code changed in:
Eric Sunshine worked around an OpenStep compiler bug where it emitted
assembly with an unresolveable symbol for the csClipInfo class.
16 lines of code changed in:
Eric Sunshine fixed a problem in iCamera::GetSector() where the compiler
didn't like casting (void*) to (iSector*). This occurs on some platforms
where NULL is defined as ((void*)0).
12 lines of code changed in:
Eric Sunshine fixed the following problems in win32gcc.txi:
-*- Repaired some incorrect Texinfo mark-up.
-*- Removed a redundant @noindent.
-*- Re-wrote the new Troubleshooting section in order to eliminate
sentence fragments and other incomprehensible wordage.
12 lines of code changed in:
Added a "Troubleshooting" sectin and added it's first entry
about installing CS under Windows in a directory with spaces
and the subsequent in-ability to run any compiled CS apps.
This problem was reported by SystemDown fron/on the
#CrystalSpace IRC channel.
9 lines of code changed in:
Eric Sunshine updated the formatting of all Apple/NeXT-related source and
header files to reflect the CS formatting guidelines. This change involved
some very simple whitespace transformations.
3 lines of code changed in:
added non-const TYPE*& operator [] (int idx)
2 lines of code changed in:
Added a WorldCraft tip to use entity "light" rather
than "light_spot" or "light_enviroment", because
of the problems with these and GL.
6 lines of code changed in:
Fixed an old copy and paste typo in fire.txi.
1 lines of code changed in:
Repaired several minor Texinfo mark-up problems in the new emit.txi.
68 lines of code changed in:
Added emitter documentation.
219 lines of code changed in:
Added necessary #include "imesh/lighting.h"
1 lines of code changed in:
- Removed verbose output of lightmap calculation if recalculation
of lighting is not enabled. Now the progress bars are only
displayed when lighting is actually being calculated.
- Removed some totally useless init message in the parser with regards
to lightmap cell size.
- Added iLightingInfo class which encapsulates lighting systems
for mesh objects. Currently only thing mesh objects implement
this. This class contains method to initialize lighting and
also for lighting cache management.
- Removed all lightmap related stuff from iSector. This is now
handled by the thing mesh object.
- Removed all lightmap related stuff from iThingState.
- Fixed a bug in the 'portal' command. It would try to query
iMeshWrapper from the iMeshObject. Note that this fix doesn't
fix the crash though.
- Changed the name of the cached lightmaps again. This means that
levels will be black unless you use -recalc or -relight!
378 lines of code changed in:
Eric Sunshine fixed a memory leak in the DiskFile constructor in vfs.cpp.
It was unnecessarily duplicating the `NameSuffix' argument and then
leaking the duplicate.
9 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