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