OpenRaider Developer Branch ChangeLog
[ 20141127 ]
* Started work on loading the object texture mapping, with debug UI
[ 20141126 ]
* Reduced code duplication for BinaryFile/BinaryMemory
* LoaderTR2 tries to load an external SFX file
[ 20141124 ]
* LoaderTR2 is starting to populate Room structures
* Added BinaryMemory reader
[ 20141123 ]
* Added texture viewer debug UI
[ 20141122 ]
* TextureManager now knows the difference between level and system textures.
* LoaderTR2 tries to load textures
[ 20141116 ]
* Fixed background color of wireframe mode
[ 20141110 ]
* Added [Binspector](https://github.com/binspector/binspector) binary file format template
that can be used to parse and analyze TR2 and TR3 script files.
* Minor changes suggested by cppcheck
[ 20141031 ]
* Added get command
[ 20141018 ]
* Added target to auto-indent code using astyle and used it.
[ 20141016 ]
* ImGuis Font can now be used if no other is available
* Added [Binspector](https://github.com/binspector/binspector) binary file format template
that can be used to parse and analyze TR1-TR3 level files.
[ 20141015 ]
* Added rudimentary command history support for Console
[ 20141011 ]
* Added simple level loader unit test driver
* Fixed the parsing bug in the new loader that sometimes caused strange hangs on level load
[ 20141010 ]
* Added CPack packaging to the CMake script
* Added suitable install target for the Mac App Bundle
* Now also trying to load config from ${DESTDIR}/etc/OpenRaider.ini if all else fails
* Added suitable install target for Linux that does not need a setup script
[ 20141008 ]
* Added freeGLUT windowing system to use if SDL2 is not available. Not yet working 100%.
* Moved unnecessarily duplicated code to Window base class
* Fixed Bug in new GLUT implementation: Console now working properly
* Fixed Bug where the debug overlay was flashing for a frame if it’s key is used in
combination with a modifier (in this case CMD + Q to quit)
* All Font interfaces are now static-methods only
* The used Font can now be changed on the fly (even between different Font types)
* Removed FontManager, moved functionality into Font
[ 20141007 ]
* Set all RunTime vars to sensible defaults, so OpenRaider can try to start
without a config file (a font is still required!)
[ 20140930 ]
* Updated imgui to version 1.14 wip
* Console input keeps keyboard focus after command input
[ 20140920 ]
* Updated imgui (fix for resource leak)
[ 20140909 ]
* utils/time now using std::chrono (C++11) for single cross-plattform implementation
* Updated imgui (my pull request was merged)
[ 20140908 ]
* Moved imgui Console into own (static) class
* Added FPS display
[ 20140905 ]
* Recreated working console using imgui
[ 20140904 ]
* Fixed imgui colors
* World now using smart pointers
* Removed atexit handler, now breaking out of main loop on quit
* Added calculate and shutdown calls to UI interface, properly shutting down imgui
* Created Log class holding logging infos, used by others instead of Console.
* Removed Console, Debug
* Removed new fancy UI handling system
* Properly integrated imgui into UI system
[ 20140903 ]
* Finishing imgui integration, but now as UI layer and not on top of everything
* All global objects are now explicitly allocated in main and stored in shared_ptrs
* Created RunTime class for run time settings/options storage
* Completely removed OpenRaider class
[ 20140901 ]
* Created abstract UI class handling “windows” like menu and console. Windows
can be stacked arbitrarily. The top most gets keyboard/mouse/action events.
* Removed old C-String handling utility methods, now using std::string
* Moved getX() methods from main into their respective cpp file
* Started work on integrating imgui
[ 20140831 ]
* Moved command specific code from OpenRaider to static Command methods
[ 20140829 ]
* Moved key/action/string comparison functions into CommandBind
* Added Renderflag command to toggle all flags in Render
* Reimplemented pigtail and ponypos commands. Now all commands
that were commented-out are back.
[ 20140827 ]
* Rewrote command system. Each command is now a unique class.
[ 20140817 ]
* Completed the file reading part of the new TR2 level loader
[ 20140816 ]
* Greatly extended LoaderTR2s reading code, but now seeing very
strange behavior in new Loader...
[ 20140813 ]
* Added LoaderTR1, LoaderTR3 stubs
[ 20140812 ]
* Started implementing new level file loader, currently TR2 only
* Trigger new Loader when possible, but fallback to old TombRaider
[ 20140811 ]
* New Font API, allows drawing strings with line-wrapping
* Added ability to Menu to show info dialogs
* Split Menu into interface and implementations, like Sound/Window/Font
* Menu now interface and dialog code, MenuFolder is file browser
[ 20140810 ]
* Removed recursive Folder access method implementations
into their own file
* Menu now acts like a file-manager, only showing one folder,
and has the ability to go to the parent folder, and do mouse scrolling
* Added API to Font to draw strings centered
* Folder sorts its items alphabetically
* Press dot key in Menu to see hidden files and folders
* Console is now using std::string instead of char *
* Added utf8-cpp dependency to allow Console to delete multi-byte chars
* Added stream-style printing to Console
* Using Console like Stream everywhere, removed old print method
* Added Screenshot command back
[ 20140809 ]
* Script Unit Test brings it’s own scripts to test
* Fixed binary Unit Test not deleting it’s tmp file in case of error
* Removed Menu play button
[ 20140808 ]
* Added unit test for file-system utils
* Moved Menu to Folder/File API
[ 20140807 ]
* Script parser successfully loading level scripts
* Can also read TR3 script now
* Also working with TR2/TR3 PSX Script (TOMBPSX.DAT)
* Using getenv() instead of wordexp() for tilde expansion
* Started implementing file-system handling utilities
[ 20140806 ]
* Improved Script reader and its Unit Test
* Successfully parsing the TR2 Script strings!
* Now using assertEqual globally
[ 20140804 ]
* Added preliminary Tomb Raider Script parser
* Moved Unit Test folder
* Compiling main.cpp into the unit tests
[ 20140729 ]
* Unit Tests are back, currently only for the binary reader
* Some cmake build system improvements:
- deps/math/utils libs are now so-called object libraries
- added ctest unit testing
[ 20140728 ]
* Implemented binary file reading utility in preparation of
TombRaider.cpp/h rewrite
* Added clibs/commander dependency used for command line argument parsing
[ 20140714 ]
* Fixed a bug where std::sort did not use the objects operator<
method, but instead sorted based on the objects address in memory
[ 20140706 ]
* Use cmake to check for sys/time.h availability
* Use long nearly everywhere where STL containers are interfaced,
thereby fixing most 64 to 32 bit conversion warnings
[ 20140705 ]
* Added basic Travis CI support
* Removed global object, using lazy initialization
[ 20140704 ]
* Removed unnecessary #include dependencies
* Removed vecX_t typedefs
[ 20140703 ]
* Removed SDL_GL_LoadLibrary() call and corresponding
config file entry
[ 20140702 ]
* Compiled successfully in Windows 7 using MinGW
* Added Windows setup script
* FontTRLE lps parser no longer using std::stoi
[ 20140626 ]
* ColorMode enum now global
* Entities setAngles now sets all three angles
* Added loadPNG to TextureManager
* Added loadImage to TextureManager, _detecting_ the file type
* Re-Implemented the move command
* Prevent crash (segfault) when resizing window while console is
not fully scrolled to the bottom
* Removed Render flags fUsePortals, fAllRooms, fOneRoom,
fViewModel and fUpdateRoomListPerFrame
[ 20140624 ]
* Some changes to allow compilation with Ubuntu 14.04 / gcc
* Modified utils/png to allow compilation with different integer sizes
Thanks to Christian for his help and his Linux machine :)
* Removed TextureManagers fUseMipmaps flag, now always used
* TextureManager now using vector for GL texture IDs
* TextureManager now global object, no longer part of Render
[ 20140623 ]
* Use unsigned char instead of float for colors
[ 20140622 ]
* Wrote simple image reader/writer utilizing libpng
* Created utils/pixels for pixel handling utilities
* Renamed Texture to TextureManager
* Added support for BGR(A) color types in TextureManager
* Added pngCheck() and pcxCheck() methods
* Added ColorMode and bpp info to pcx/png API
* Modified tga to match png/pcx API
* scaleBuffer() no longer stops at 256x256
[ 20140621 ]
* Created StaticMesh class replacing model_mesh_t stuff
* Simplified StaticMesh’s data storage
* Added support for fourth & fifth mouse keys
[ 20140617 ]
* Finally fixed SkeletalModel bugs introduced a month ago
(animations and rotations are *mostly* correct now)
* Reimplemented *animate* command
[ 20140615 ]
* Added FontManager, selecting Font library to use depending on
the file extension of the font file specified in the config.
* Fixed menu heading not visible when using FontSDL
* Font::drawText now only implemented in Font
* TRLE Fonts can now be properly colored
[ 20140614 ]
* Implemented TRLE Font loader
[ 20140613 ]
* Changed strange delete-guards
* Moved some methods from World into the proper classes
[ 20140605 ]
* Split Font/Text-Rendering Subsystem from Windowing System
* Slight improvements on Window Interface/Implementation differences
* Window width/height finally private too
* Created methods to convert strings of names to ActionEvents
and KeyboardButtons.
* Simplified bind commands
* Simplified expandDirectoryNames()
* Only show debug info if menu is not visible
[ 20140601 ]
* Started removing C-style I/O, now using Strings and Streams
* set size now takes two ints instead of a string
[ 20140520 ]
* cmake script checks for presence of functions needed for
recursive folder traversal
[ 20140519 ]
* No longer crashes simply by walking in the wrong place
* Added walk Action, supposed to switch to slow walking/sidesteps
* Removed unused Camera functionality (side and up vector)
* Wrote simple PCX image reading library with proof-of-concept
code to load the TR2 menu background as splash screen
[ 20140517 ]
* Wrote new assert() implementation for Unix that prints a call stack
* Service provider methods (getCamera(), etc...) are now prototyped
in the header of the service they provide, making main.h useless
* Also some more work on the way to making OR compilable under Windows
* Not using glu.h anywhere anymore
* No longer segfaults on exit
[ 20140516 ]
* Finished moving the Entity/SkeletalModel logic into classes
* Currently seems as if wrong SkeletalModels are used for entities?
[ 20140515 ]
* Slight cmake script improvements
* Created Entity class that will also get animation state
from SkeletalModel
* Removed some unused old code parts
[ 20140507 ]
* Prepared for Windows support using Visual C++
- Wrote utils/time implementation for Windows
- Audio output optional, added Null Sound implementation
- Added support for getting home folder location in Windows
- Added support for recursively looking for level paks in Windows
* Removed unused BoundingVolume, Box, Sphere from ViewVolume,
split double used Box class into Box and BoundingBox.
[ 20140505 ]
* Moved setup of Room, Portal, Box, Sector, ... into their
Constructors.
* Fixed menu play button
* Removed Render flags fSprite, fRoomModel, fPortals
* Room BoundingBox now using Box object
[ 20140504 ]
* Forcing use of new Room and Sprite classes in World.
* Rewrote Sprite loading code in Game
* Rewrote Room loading code in Game
* Rewrote Render handling of Sprites, Rooms, Static Models, ...
* No longer using second list of RenderRooms
* Sprites and Static Models draw themselves
[ 20140503 ]
* Started big World-Data refactoring.
- Created Sprite class with drawing code from Render
- Created Room, Portal, Box, Sector, StaticModel classes
[ 20140501 ]
* Fix compiling with gcc on Arch Linux
- carstene1ns <dev@f4ke.de>
[ 20140418 ]
* Moved command code into own file
[ 20140416 ]
* Map list now stored in Menu
[ 20140405 ]
* "Ported" all commands from old source
* Slimmed down Camera considerably
* Removed Emitter & Particle
[ 20140403 ]
* Now using "service locator" pattern for global singleton objects:
http://gameprogrammingpatterns.com/service-locator.html
* Made abstract sound interface to provide different implementations
in the future (eg. for Windows)
* "Backported" more commands from old source
[ 20140330 ]
* Fixed some segfaults relating to missing upper-bound-checks
while accessing std::vectors in World/Render
* Added animation test command, FPS display
[ 20140329 ]
* Proper fix for texture offset bug
* Added more asserts
[ 20140327 ]
* Started reimplementing game/render commands
* Using only colors defined for renderer
[ 20140326 ]
* Fixed Sound segfault
* Added basic camera and entity movement
[ 20140324 ]
* Hacked Texture Offset fix
[ 20140323 ]
* Try to load external sound effect files
* Added Renderer
* Moved gWorld, LARA into Game
* Moved Camera sensitivity into OpenRaider
* Re-Added LoadScreen render mode
* Added level data processing code
[ 20140322 ]
* Added Game class, TombRaider level loader, Camera, Emitter,
Mesh, Particle, ViewVolume, Texture
* Added SkeletalModel, now using std::vector
* Added World, now using std::vector and std::list
[ 20140321 ]
* Added help command
* Added proper command history for console
* Added mouse scrolling support
* Can bind mouse actions
[ 20140316 ]
* Added mouse support, also for menu
* Added Console
* Fixed system timer for BSDs (like Mac OS X)
[ 20140315 ]
* Added Window interface and WindowSDL implementation
* Prepared cmake to make SDL optional in the future
* Added event handling and font support
* Started implementing command system
* Config file now has .ini extension
* Added transparent menu overlay
* Implemented key bindings
[ 20140314 ]
* Started more or less complete re-write...
* Sound now uses std::vector, volume setting, clear()
* Moved math, Matrix, Quaternion and Vector3d into new math lib
* Added main.h/cpp with OpenRaider global
* Rewrote time lib using ctime
[ 20140313 ]
* Removed unit tests. No unit tests are better then some half-assed
non working ones...
[ 20140312 ]
* Resizing the window works properly (except for fixed string positions)
* Removed FullScreen config command and flag that had no effect
* Set cursor visible when disabling mousegrab
[ 20140311 ]
* Removed empty Camera, Matrix, Particle, Quaternion,
Vector3d and ViewVolume destructors
* Removed unneeded Quaternion assignment operator
* Added Vector3d copy constructor
[ 20140307 ]
* Removed duplicated GL initialization code
* Removed duplicated TGA writing code from Texture
* Moved system_timer into time utilities, changed its API
* Fixed a bug that prevented input of console commands using
the shift key for eg. uppercase letters or symbols
* Removed (totally unfinished) networking support
[ 20140306 ]
* Created utility library
* Rewrote bufferString()
* Rewrote and fixed fullPath(), it worked more or less by accident
[ 20140305 ]
* Now using cmake build system
* Pak file extensions are checked to see if they could be valid
* Bugfix: String was used after being deleted in OpenRaider.cpp
[ 20140304 ]
* Removed memory test
[ 20140303 ]
* Removed Map.h & Tree.h, using std::map instead...
[ 20140221 ]
* Removed the `Map` command. Now the PakDir command causes
a recursive search of the specified directory. Every file found
is added to the map list if it validates.
* The menu map list can now be stepped per folder with the
right and left arrows.
* Methods wrapping printf-style functions now get compiler warnings
* Reenabled some warnings and fixed them
[ 20140216 ]
* Removed the FastCard option. Not necessary on todays hardware?!
* Removed UNICODE_SUPPORT, not working this way with SDL2
[ 20140215 ]
* Enabled previously disabled polygon smoothing & color material
when setting fastcard to true
* Fixed bug in system timer millisecond conversion
* Extended rc_get_bool to also accept 0 or 1 besides true and false
[ 20140210 ]
* Finished the Tomb Raider 1 Item/State definitions
* Ported to SDL2 and SDL2-TTF using the Migration Guide:
https://wiki.libsdl.org/MigrationGuide
[ 20140209 ]
* Renamed OpenGLMesh to Mesh
* Removed unused flags, enums, ...
[ 20140202 ]
* Fixed more cppcheck warnings
* Removed unnecessary defines (USING_xxx)
[ 20140201 ]
* Rewrote Memory Unit Test using greatest
* Used C++ static analysis tool cppcheck and tried to fix
its warnings
[ 20140131 ]
* All unit tests buildable again and no more warnings
[ 20140129 ]
* Removed unused libferit stuff
* Changed code to generate much less warnings
* Using relative epsilon for float comparison
[ 20140124 ]
* Fixed some TombRaider.cpp warnings
[ 20140120 ]
* Removed HAVE_SDL & HAVE_SDL_TTF flags. SDL & TTF always required!
* Converted all tabs to spaces (4 spaces per tab)
* Auto indented all cpp files
[ 20140119 ]
* Enabled linear texture filtering for fonts, resulting in nicer
looking down scaling
* Removed unused TGA font parts of GLString with slight API changes
* Modified GLString Unit Test to work with new GLString
* Removed unused glDrawGrid, glDrawAxis, glPrintf2d, glPrintf3d
from SDLSystem
* Silenced many more warnings
[ 20140118 ]
* Removed unused (and pretty empty) Entity class
[ 20140117 ]
* Reenabled room hopping on launch
* Now using C++11 standard.
* Turned on many more warnings and silenced some of them.
* Removed empty Quaternion Unit Test
[ 20140111 ]
* Rewrote GLString Unit Test, now using TTF Font
* Removed included TGA font and loading code
* Rewrote Matrix Unit Test now using greatest
* Documented MatMath, fixed bug in helRandomNum(),
added better Unit Test
* Only one way of conversion between Deg and Rad in MatMath
* Use the same style of include guards in all headers
* Added memory test to SkeletalModel. Adding to OpenGLMesh causes
a segfault on launch
[ 20140110 ]
* Removed endian.(h/cpp) as it shouldn't be needed. See:
http://commandcenter.blogspot.de/2012/04/byte-order-fallacy.html
* Removed empty Light.cpp
* All Unit Tests build without warning
* Converted many FIXME comments to be in the doxygen documentation
* Removed hel & mstl folders, moved into parent directory
* mtk_tga Unit Test uses greatest
* Moved remaining Unit Tests (Network & TombRaider)
* memory_test Unit Test no longer produces warnings
* Building a memory test build no longer produces warnings
[ 20140109 ]
* Added greatest Test Framework, rewrote Sound Test
* Renamed all memeory references to memory
* Moved headers into include/
* Put Unit Tests into test/
[ 20140107 ]
* Removed hel/Mass. There was an object of this class in World,
but it was never used!
* Removed even more unused files (mstl/Vector.cpp,
hel/BoundingVolume.cpp, hel/Entity.cpp, hel/ParticleMass.h,
mstl/Stack.h)
* Completely removed hel/Simulation, as it depends on missing
files (hel/CollisionObject)
* Improved Makefile portability
[ 20140106 ]
* Hel Simulation Test builds, but doesn't work!
[ 20140105 ]
* Fixed the TR2 & TR3 SFX file loading to read the original MAIN.SFX
* Fixed strange Mouse Y-Axis Overflow bug
* Cleanup of Makefile
[ 20140104 ]
* Hel Unit Test build & passes
* Spring & Simulation Tests unbuildable, missing files?
* GLString Unit Test builds, works not every time?
* TombRaider Unit & Regression Test working
[ 20140103 ]
* Removed more (unused?) code, PSKModel & UTPackage
* Removed unused MD3, mtk3d, MtkImage stuff!
[ 20140102 ]
* Improved the Mac build steps...
Freealut now in /usr/local so we don't need to call
install_name_tool on the built binary
* Removed the old & unused GLUTSystem
* Replaced the (unknown) included sample sound file
* Removed some redundant build config defines
[ 20140101 ]
* Fixed Wavebuffer loading of Sound subsystem, as well as
making the Sound Unit Test buildable on Mac.
Added new argument to loadWav, length of buffer.
* Changed (unknown) included Font to Droid Sans Mono
* Fixed Render bug, now console is visible again
* Implemented CMD + Q shortcut on Mac to quit
* Added bool mFirstMouseEvent to SDLSystem used to ignore
the first received mouse event, because its faulty, thanks
to an SDL bug:
http://gamedev.stackexchange.com/questions/33519/trap-mouse-in-sdl#comment56642_33554
* Fixed incredibly slow mouse/camera movements
* Fixed mouse grabbing in fullscreen mode. Also make mouse
invisible and grab it in windowed mode
[ 20131231 ]
* Added bool mFullscreen to SDLSystem, tried to fix Fullscreen
mode on Mac, still not working correctly, but better :)
[ 20131227 ]
* Moved included documents into GitHub Repo wiki
(https://github.com/xythobuz/OpenRaider/wiki)
* Reduced start up time by increasing animation speed
[ 20131221 ]
* Reimplemented deprecated gluLookAt()
* Reimplemented deprecated gluPerspective()
* Reimplemented deprecated gluBuild2DMipmaps()
* Reimplemented alutLoadWAVFile(), seems not to be working
* Moved mac distribution logic from makefile into scripts
[ 20131219 ]
* Bundle now contains dynamic libraries not included with Mac OS X
* Bundle now runs setup if needed
* Fixed memory test builds not running on OS X
[ 20131218 ]
* Enabled ALUT on Mac OS X
* Silenced many warnings regarding non-writable string constants
* Fixed issues with linked libraries on Mac OS X
* Implemented support for bundling OpenRaider as Mac App
* Removed Microsoft Visual Studio Project files
* Removed Screenshot Script
[ 20131217 ]
* No longer segfaults on launch in Mac OS X
[ 20131215 ]
* Wrote new README file
* Added stub for missing hel/CollisionObject
[ 20030713 ]
* UTPackage class forked from PSKModel class
* System class gets download, dir backports
* libferit usage in public CVS
* mtk_tga gets filename parm save and drops color swaping
[ 20030704 ]
* Tested PSKModel with models from:
http://udn.epicgames.com/pub/Content/UnrealDemoModels/
* On the fly resolution change like in unit tests
* GLString obsoleted, undefining HAVE_SDL_TTF
will cause OR to use font.tga texture fallback
* Merged GLString and SDL_TTF utils Texture usage
* TTF renderer replaces texture font system
* Font system using new ortho projection
* Requirements file now in cvs
* Fixed all known level loading issues from new codebase
* Loadlevel command using mapname string
* Maps are validated on rc load
* Experimental TTF support in OpenRaider, Look in RC file
* Removed Console, MtkImage classes from private tree
[ 20030701 ]
* Removing OpenRaider Map use for level/music string storage
( This means if you set a map to a certain number in rc, then
you can no longer call it by 'load #' )
* Fixed PSKModel unit test build
* Fixed Hel Simulation, Spring unit test builds
[ 20030630 ]
* EXPERIMENTAL on the fly colored -> textured polygon code
( It's not even funny how bad the colors match currently )
* API changes in Texture class to make it easier to upgrade
* Screeshots stored in ~/.OpenRaider/sshots/
* Fixed broke new multitexture support in Texture class
* Texture class gets color texture generator
* Texture class gets SDL_TTF support from SDLSystem
* Update to OR Texture class ( backports from UnRaider )
* Fixed matrix multiplcation issues with fixed code generator
* Reworking broken Matrix changes into rollback fix
* Fixes for Matrix based math breakage ( just rolled it rollback )
[ 20030618 ]
* Redone a lot of hel and it's use, broke a lot of things
* UTF-8 and TTF font texture generation support
* Camera broken, Matrix broken, Quaternion broken?
* About finished mtk3d and hel converging
* Phyiscs system base work done
[ 20030604 ]
* Console/command rollover not finished, but working
* BUG portals/walk block too often with current collision
* BUG room sprites have wrong texture ID?
* Unicode key support?
* Some more user definable keys using 'bind' command
* System gets old resource system, new resource system
based on it with dynamic modes and command parsing
[ 20030602 ]
* Mouse grab command
* New key input design, currently using ASCII to
be compatible with old code
* SDL mouse grab toggle back in SDLSystem
* SDL_TTF support starts in SDLSystem
* Made printf string buffering part of System
* Simulation fixes, GL unit test
* Removed main.* from CVS
* Removed Raider.*, gl_util.* from local tree
* Added Mass, ParticleMass, Simulation to CVS
* More stat commands for debugging
* Fix for console command marker strip
* Updates to Hel, mass simulator, more vector operators
[ 20030528 ]
* RC file now allows imports of another RC file
( If you want to be a jackass you *can make it loop )
* RC file now interprets spaces ( User request )
* RC file allows trailing comments now
* Room hopping disabled by default now
( command hop to enable )
* Swimming movement added to stop-gap movement system
[ 20030526 ]
* Removed some test code from TombRaider
* Fix for TR4 loading using TRC loader
* Fix for solid mode rendering debug ( solid, r_light 1 )
* Fix for wall crash segfault ( Vector.h [] out of bounds )
* Finished up element API, some TRC support for faces
* Stopping work on array renderer until the element
system is back up ( possible backport for 0.1.0? )
* Cleaning up OpenGLMesh prototype API
[ 20030524 ]
* New OpenGLMesh array renderer
* Fix for Vector collection empty handling
* Fix for the 20030519 segfault/lock on exit bug
* More API unification coding, and OpenRaider usage
for room loading
* Watch for a lot of new bugs, this is a lot of
coding changing around
[ 20030522 ]
* More unification, including TRC room translation
support starts ( convert from TRC to OR )
* Handle TRC loading in OpenRaider CVS builds
* TR5 loading tweaking to work for demo paks as well
* Room sprite processing factored out
[ 20030521 ]
* TR5/TRC Sound ripping/in game loading finished
* More TombRaider format unification
* Testing of 0.1.0 and 0.1.1 builds on a GeForce4ti
* TR5/TRC loader finished - loads only nondemo map I have
[ 20030519 ]
* More work on TR5/TRC support now using doc std
* Refactored skeletal class structure
* BUG seems to be leak fix related world clear lock
* Fix: Skeletal animation memory leak
* New rendering routine for new temp mesh type
( Buggy and expensive, but it's a stop gap )
( Colored polygons aren't really rendered as such )
* Fix: OpenRaider new mesh API stop-gap handling
* Fix: TombRaider new mesh loader API
[ 20030517 ]
* BUG found in new mesh loader API
( Quad tess is broken in TombRaider for meshes )
( Vertex array translation from TombRaider broken )
* Event system partially in place, needs glue as well
* Console commands from RC hack/fix
[ 20030516 ]
* Mesh rendering temp disabled until mesh renderer
is fully redone
* Finally getting a lot of the more complex mesh
building routines pushed behind clean API from
the OpenRaider to the TombRaider class
( Could cause a lot of new bugs? )
* Event system test structures introduced to World
* Some major work on model_mesh rendering, also
abstracting interface for their construction
* Some minor work on OpenGLMesh renderer, with code
in place to increase performance
[ 20030513 ]
* TombRaider engine abstraction for room
vertex and color loading and parsing
[ 20030512 ]
* New external SFX use for TR2/TR3 paks -- now
all versions load sound files into the game engine
See README for help using external paks.
* New external SFX pak loading support for TR2 and TR3
* Documentation updates and user usability package tests
( thanks Josh )
* Apt source in place ( see README )
* Automated debian packaging in Makefile ( make debian )
* Animation half ass restored in non lara models agian
* BUG found in SkeletalModel::setFrame - quick disable to
remove crash bug CLOSES 20030101 tmp filing
[ 20030510 ]
* Old TR4 sound support moved behind new interface
* Sound support for TR1 using new interface - have to wait
for external sound pak support for TR2 and TR3
* New sound sample management/interface in TombRaider class
[ 20030509 ]
* Manually patched with JML's UNICODE support
add -DUNICODE_SUPPORT to BASE_DEFS flags in Makefile
[ 20030101 ]
* Seriously broken animation! =)
* I wonder how much this breaks - hacks shoved in to
keep it runnable until the new event system is started
* Skeletal model refactoring
* Seperating entity and animation states and it's ugly
* Finer animation control starts
[ 20021228 ]
* Md3 refactoring
* Many Md3 fixes and features out of unit test work
* Huge Md3 unit, testing ground for future TR unit test
[ 20021227 ]
* Md3 easter egg in cvs
* State system work and testing
[ 20021224 ]
* Wireframe color code doc in README
* Minor compile fixes for gcc 3.x
* Default portal display in wireframe mode now
* New hop command to disable room hopping movement
* New r_animate command to enable entity animation test
* Fixed showfps fault on load screen
* Review of System timer
* Replaced FPS estimation with pure frame rate counter
* SDLSystem uses SDL timer now
* Removed some dupilcate console commands out documented
* Depth sorted particles
* Lots of minor depth sorting and vising work
* Entity vis no longer considers rooms agian
* New Vector replaces List as renderable container
for a great deal of memory savings
* Room mesh/sprites rendering in nontexture modes agian
* Documentation updates
* Fix entity out of room fix
* New OGL mesh can render with multitexture
* New all bumpmaps are now loaded into texture memory
* New [Network.Server] RC support
* Run console commands from RC file
* Neat new multitexture logo effect
* Hel only build from now on
* "Shooting" test in cvs
* Fixes for depth rendering
* New wireframe mode color codes for renderable type
* Entity sprites back
* Time to move to beta versioning
* New sshot upload script for my conv ;)
* New entity rendering vising starts, primative depth sort
* Static ( room models ) using sphere bounding volumes now
* New enumeration coding style project wide starts
* New room depth sorting code starts
* Fix for version stamp in corner
* New update room render list per frame command
* Misc minor sound/animation updates
* Hel vising fix in ViewVolume, hel enabled by default
* Look for bugs caused by huge refactoring of codebase
* Hel objects in all builds
* World class temp keeps Light and OpenGLMesh deps for now
* Refactoring: OpenRaider, Render, TombRaider classes
* World class emerges in cvs ( Big refactoring job )
* Texture use moved into Render class
* Emitter use moved into Render class
* Seperation of physical and rendered world starts
* Hel clean up, unit testing fixes
* New Camera API, clean up starting
* Quaternion ( class ) in cvs
* Toggle for hel use
* Fix port reporting is expected host order agian
* libHel starts creeping into cvs build starting with some vising
* Netcode fix
* Inactive text no longer rendered
* More libhel work
* Little manual route chaining test for the fun of it
* Trace tests
* Merged (all?) GCC 3.2.x minor patches from my knoppix tests
* Fix for console use before level load crash
* TR4 hack to play footsteps when running
* TR4 pak sounds loaded and playable - just not sourced yet
* New play command
* Improved sound support
* TR4 pak sound reading and dumping
( I couldn't find any paks using compression - however
my algorithm can handle those that may )
* Sound read from TR1 paks agian ( TombRaider.test can dump them )
* TR4 ponytail type guessing algorithm works with TR4 paks
( May not apply to all custom lara models )
* TR4 pigtails rendering algorithm now too
* In TR4 ponytail works great with default settings
* Up key now gets last command entered
* r_ponytail console command
* All builds use same texture binds as former EXPERMENTAL builds
* Fixed crash related to invalid rooms? Just allowing NULL rooms
in list and handling
* TR4 GL light support ( pretty )
* One room render command and changes for other old commands
* Fix for crash using new room ->adJRoom vector
* Fixed room vertex lighting
* Documentation updates
* New scripts for installing
* New client/server kills
* Thanks dan for tesing multiplayer - lots of bugs found
* Started moving room struct into more of a class type of
collections and what not
* Hack to handle camera out of world - moves to like a FPS
viewpoint -- needs quats and 'dragging' to make it smoother
* Entities drawn in different order to handle large alpha
polygon in rooms ( Hack until sorting algorithm is in place )
* Little hack to force exit of threads w/o calling back
* Lowered network traffic rate and disabled debugging to stdout
* Code to handle bad texture ids, like in Nasa.tr2
* Network multiplayer test Client/Server can now connect
and pass data and generate clients on each end of game
* Network code starts
* Speed boost for entity room clipping
* Fixed color lighting - still some polygons can go all white
* Console commands for clipping and new fly mode
* Getting ready to seperate world clipping and storage from Render
* Cheap wall clipping hack ( works great however )
Doesn't take into account adjoint rooms ( there is a reason )
* EXPERIMENTAL Better GL light support for font/world interaction
* EXPERIMENTAL new level texture loading
* Switching maps in game should never cause crashs anymore
* Found then fixed several memory leaks
* Makefile rule just for memory profiling build ( make memory )
* Vectors replacing Lists for most collection implementations in Render
* Turn animation for fun
* Room vertex lighting back in
* Vertex color/normal support changes for model meshes
* Skeletal model/mesh model collision _support_
* Hop up/down to rooms when in void
* Primative 3rd person camera
* GL light support for TR1-TR3
* New OpenGLMesh fixes black texture bug ( tris texture index was off )
* Removed room mesh rendering from Render
* OpenGLMesh and Light classes start
* OpenRaider becomes singleton ( Trying to reduce Gobal deps )
* Ah, a little free time -- cleaning up Render class a little
* Auto depends generation for certian people =p
* Time based animation tracer
* Rounded out mtk3d a little more with common func from
other projects
* New pathing subsystem
* Relocatable data dir ( thanks joshua for idea )
Set by using init var 'HomeDir'
* Fixed room mesh cache tris texcoors
* Changed room tracking code
* Replaced old room cache mesh texcoor system for tris
* Adjusted TR3, TR4 vertex colors ( So it's not dark )
* New menu state for keys
* Major OpenRaider class clean up, reducing, reformatting for
use with picky compilers, etc
* BUGS update, all maps retested -- should load all TR1-TR4 maps
* Debugging bad texture coor/vertex layout in some TR1/TR3/TR4 quads
* Removed strict dummy quad insertion in OpenRaider::ProcessMoveables
* Wall detection ( no clipping yet )
* Fix for bad cache room mesh crash ( Alpha quads were using bad
values b/c assigned to wrong structure )
* More debugging for bad cache room mesh crash
* New animation fix by making getNumAnimsForMoveable use signed
values ( seems to make TR4 and other levels loadable agian )
* Stopped flickering idle lara by only drawing 1 frame of idle
* Better bad cache quad handling?
* Fix for room quad's texture bug
* Console print system prototype
* Misc clean ups
* Level load menu prototype active by default
* New debug info in game room/sector/pos
* Floor player clipping by sector ( yay )
* Floor player clipping by box ( hhmmm... )
* Backport of Camera
* Backport of SDLSystem prototype to replace SDL wrapper
* Backport of mtk3d with GL style matrices and etc
* Hacky fix for texture ids for room polygons
( Caused by new fast cache room polygon builder )
* Backport of UnRaider Texture handler
* Todo new texcoors for alpha quads, tris, and alpha tris not done
* Bug found Texture ids broken on new room mesh translation
* Texcoord fix for quads
* Removed damned vertex arrays
* Partially fixed new renderer/translator
* New Makefile optional memeory_test.cpp OBJ injection
* "Commit of Doom" to break cvs source, yay!
* Render cleaned up a little more
* New room mesh system using arrays
* Fixed TR4 bone layering
* Worked on finiding/rendering ponytail some more
* Moved angle clac for tags back into TombRaider class
* Screenshot TGA file fix
* Ponytail hack
* Better UV generation
* Broke TR2 with the new animation framing
* Animation frame 'safety valve' to prevent overflows
until it can be fixed correctly
* Animation translation fixes
* More TR format notes
* TR4 object header
* Minor changes to OpenRaider for speed/calarity
* Idle aframe test code in
* Fix for Lara model picking in TR4
* Fix for TR4 loading ( tr4_light )
* Fix for TR4 loading ( tr4_ai_data )
* Fog support
* Fix for world geo ( room bbox adjust )
* Fix for bad mem usage reporting for overhead
* Fix for HUGE memory leaks in TombRaider class
* Fix for memfile size reporting
* Fix for GLString truncation
* New audio dir support back in
* Fix for insert of tree_insert for memeory
* Iterative version of tree_insert for memeory togglable
at compile time
* Fix for m-string max accounting
* RBTree fix for memeory ( must stop coding after 0200 )
* Stability has degraded with aggressive feature prototyping
* More information for zero allocs
* Fix for some 0 byte allocatations found in project
* Check for 0 byte allocatations
* Old List back in for now - slower, smaller
* Removed many unnessacary sleeps from older builds
* New feature tracks memory usage by file
* Print to screen while loading back
* New GLString now has helper functions for speedy string
updates to replace hacks
* Fixed damn 'memeory' rbtree
* More verbose fatal error reporting
* Reworked memeory prototype into better code
* Removed working list tracker from memeory
* Memeory memory overhead reduction for filename storage
* You may want to disable USE_TREE_MEMINFO until RB is fixed
* Back to dynamic C-strings to save 'memeory memory'
* Wrote a RBTree implementation directly into Memeory util
* TGA debug fix
* Looking at writing RBTree directly into Memeory util
* Fixed driver string memory leak in main found with Memeory
* Fixed GLString memory leak just found with Memeory
* Fixes for release build to avoid memeory debugger
* Memeory changes to avoid new/delete calls internally
affecting MEMEORY_ERROR reports ( much much slower list based )
* New iostreams and memeory header guards
* Doh, corerction on pointer 0 padding
* New delete accounting hack
* New Memeory unit test features/fixes
* Printing addr with hexadecimal for obvious reasons
* Fixed overlapped vars/data members
* Dumps memeory report filename fix
* Dumps memeory report for unfreed on exit now?
* Console commands to debug 'memeory'
* New c func printing option in Tree
* Memeory profiling system starting
* Font data fixes
* Fixed sourceforge cvs tree
* Fixed bug where ent draw didn't account for viewmodel
in same room
* New texture binding method for strict checking and
to avoid prechecks on unsorted polygons
* More rendering toggles for more testing
* Draw room bbox with r_portal
* Moved more commands to console only ( See README )
* Fix rendering bug with r_portal
* RC uses pakdir for strict path enforcement now
* New RC commands for Map/Music that represent backend correctly
( It's a FIFO, not a sorter )
* RC parser now uses console command parser helper too
* Improvements to console command parser
( less memory, faster normal case, easier to add new commands )
* Hack to try to unload level shows it's time to start a
rewrite =)
* Screenshot console command
* View model render toggle console command
* View model index fix for entity use
* Console command naming clean up starting
* Console fix for backspacing over prompt
* Load command to load levels by index
* Many more console commands, replacing some key commands
* Sprites render after players now for more accurate scene
* Collapsed some rendering gobals into temp LARA entity gobal
* Portal visual debugging
* Console fix for prompt display after command given
* Fix for bad cvs sync
* Portal (precompiled) use starts
* Very basic console prototype in place
* Render control flags ( Not same as mode flags )
* Compile w/ -DEXPERIMENTAL_EMITTER_TEST to run snow test in game
* Fix for RC loader
* Temp resource redundency pruning solution
* More string safety auditing and fixes
* Hack to fix texture dumping
* More string clean up
* Minor TR support work
* Texture dumping fix for new mtk_tga
* New tristrip rendering sprites
* Changed to snprint in all objects now
* Clean up in texture use
* Clean up in screenshot code
* Animation frame testing hack back keys '[' and ']'
* Reduction of room rendering top levels ( consistent speed? )
* Improvments to texture handling and loading
* Updated mtk_tga from my current mtk_image source
fixes tga save bug and more stuff
* New more correct FPS counter for alpha testers amusement
DisplayFPS=true in init and key command 'f'
* Refactoring and clean up in OpenRaider
* TombRaider getting ready for testing new class based system
* Got new specs for TR4 and TR5
* Readying class based system for new physics and rendering
* Fixes for fast texture cache for older tombraider data
* Fixes for TombRaider unit test
* Makefile changes for gcc 3.0
* GLString use fix, forgot to disable culling - thanks dan
* Keyboard turning ( On keys 1 and 4 for now ) by request =)
* Tune up of Sound
* Disable cusor show on switch to fullscreen also
* GLString scaling
* Seperated InitGame and LoadLevel ( <Alt> l to load level )
* New Sound flags ( allows for easier expansion )
* Start loadscreen before caching sound now
* NOTE audio support is fine - just low memory condition kill
* Broke audio support by switching around
OpenRaider, LoadLevel/SetupAudio
* README update
* Texture caching while reading from diskfile in callback
* New load screen percentage feedback via callback
* Fix for Tombraider multiple Clear() bug
* New load ordering, might break some things
* More work on GLString use in OR
* Speed set on Camera
* Played with some refactoring in OpenRaider class
and thread hacks for external texture use
* New texture loading to make external textures
id independent of TR texture id at load time
* Changed 'load screen' layout and particle setup
* Removed dependence of Emitter on Texture agent - calls
GL texture bind directly now
* Particle partial resync with freyja_particle tree
* Emitter partial resync with freyja_particle tree
* Render minor reduction/refactoring, breaking up some code
* New GL font system for OpenRaider ( GLString )
* GlGetString use 'correct' fix
* Music list reimplemented for CVS
* Emitter commited to CVS ( oopsie )
* Changlog reformated
* New Changlog format
* Minor GL string use 'temp fix' in Render
* ModelDebug option to RC to disable model load debugging
* TODO update
* Minor rendering changes
* Particle test fix
* Particle testing ( Using one of my freyja prototypes )
* Fullscreen toggle - '9' key
* Timer prototype starts, just using a time delay for now
* New reference specs, moved to G400 MGA DRI on X 4.1.0
* Set up new box just for windows TR compatibility tests
( got old ppro out, bought a hdd for it - weee )
* Testing exported meshes with Freyja
* Freyja plug-in for TRMESH ( TombRaider mesh export )
* Mesh export test for TombRaider
* Texel adjustment method rolled back into TombRaider
* TR4 sky mesh?
* Texture changes
* Freyja work with ponytail graphing
* New FPS counter uses larger frame samples and reset
( readings still off by a little )
* Splash screen for threaded loads (shakes for fullscreen feedback)
* Particle engine research ( no code )
* Threading testing
* Might wait to install X 4.0.1 to work on bump map rendering
* Render check for multitexture
* Fixed OpenRaider to use new TombRaider::Texture API
* Bump map use with new TombRaider backend API
* "TR3 objtexture alpha clip" back in for 32bit textiles
* More testing features like texture dumping for all versions
* Special texture loading default use in TR4/TR5
* Zero padding on dumped textures - yes, it is about time
* Fixed special texture loading/dumping
* 32bit texture default use in TR4/TR5
* 32bit texture testing in TR5
* Make rule regression testing in cvs tree
`make tombraider.test`
* Better make rules for tombraider.test
* TombRaider fixes for compression use and dellocation
* New TombRaider::LoadTR5
* Worked on TombRaider agent
* Added *some of the TR5 spec to regression test build
* Some minor checks for bad allocation of meshes?
* Changed moveable code to assume nonanimated entity
* Entity drawing tied to room drawing
(For vising, later use an entity cache per room to avoid full cycle)
* Screenshot name now based on VERSION string (better bugs reports)
* Fixed Freyja tree's colored polygons
* More debug output on animation building
* Fixed Freyja's tree too
* Fixed TR4 decompress bug
( silly me, it only worked because of opt, didn't clear a var )
* Animation grouping prototype
* Fixes for mesh rendering ambient light level
* Fixes for animtion rendering
* Fixes for animation loading
(TR2+ lara has some animation problems still, with junk frames)
(TR1 lara works because all the right indices = 0)
* Fixed animations using steping fix I wrote for libfreyja_egg
this breaks the old TR aniamtion hacks though =)
* Back porting to Freyja to help figure out TR animation problems
* Worked on TR5 and TR4 texture alpha flags
* Fixed skeletal/moveable loading and animation
* Starting entity mapping tracer
* NOTE make enities list so dup models won't draw to same position
* Caching caused segfault - so now emulate dumb smart pointers
* Removed Free TR data, it caused to many segfaults,
for some reason it frees twice even with Clear()
* Caching for duplicate models ( saves tons of memory )
* Fixed loading and animation for all models in level
* Broke animation with new loader?! (caused by new moveable loading)
* Free TR data after load ( May cause segfault on exit )
* Simple vising for items back in
* Oops, removed mesh draw from viewmodel renderer
( was debuging item meshes )
* Fixed tr4 (2 layer tags) flag set on non lara models
* Fixed moveable loading
* Looking for moveable object drawing problems ( werid )
* Fixed item positioning set on load
* Fixed sprite/room amb lighting back to white ( heh, oops )
* Void color only when outside world
* Various minor renderer changes
* Static mesh rendering fix (pad bad meshes with NULL meshes)
* Fixed lara's colored polygons index bug for TR1
* Autoload lara as view model
* Tr4 two mesh system use
* Basic skeletal model animation (frame rate based)
* Skeletal model rendering
* Skeletal model loader finished
* No quaterions generated in current skeletal loader
It'll be easy to add bone lerping later, but first I want
correct behavior ( ie animation and placement )
* Planning rendering engine #3
* Once skeletal models are in rendering engine #2
physics code can start
* EXPERIMENTAL moveable code starts
* Moveable code finaling coming back in ( now with quats )
* Bug fix to ignore bad meshes in some TR4 levels?
* TombRaider class test
* Some TR5 specs fell in my lap today =)
* Mouse motion control fixes
* Item sprite rendering ( TR1, TR2, and should work for others )
* Item sprite loading ( TR1, TR2, and should work for others )
* Fixed room sprite loading
* Hack temp fixes for camera ( broke it bad last night )
* Baisc strafing and better forward/backward movement on camera
* More user documentation and bug tracking
* Portal toggle
* Fixed TR4 crash on -1 mesh light flag; can't alloc -1 objects =)
* Mouse look code
* The portal code is hindered by the old XZ vis check =(
once it's replaced it should be 100% correct
* Added portal code, and is almost fully working now
* Worked on portal code (testing)
* Since adding quaternion camera, segfault on exit... hhmmm...
* Finished quaternion based camera and rendering
* Planning to break mtk3d into base type classes and expand it as
a library with learping functions for use in animation also =)
* Started on quaternion camera and quaternion support in mtk3d
* TR4 sound fx postioning loader starts
* GL driver string from resource
* OpenGL fixes ( hopefully fixes radeon 'lineloop' bug )
* SDL key code fixes
* More SDL fixes for rendering
* More SDL work, fixes
* FPS counter prints to console every 100 frames
* SDL is very slow atm ( drag ass )
You can edit Makefile to set it to use it if you want
* Finished basic test SDL interface
* Started on item sprite loading (likes a little more, but not priority)
* Aren't you all gald I ditched render engine #1 now? ;)
* New sprite rendering code
* Fixed bug that drew static room meshes twice
* Fixed bug that drew alpha sorted tris 3 times
(Fixes all known alpha rendering bugs)
* Room sprite loading code
* Cleaned code, fixed some documentation
* Started work on Resource agent, not ready to replace old code yet
* No longer dump textures, unless explictly set in rc file
* Fixed XEmacs modes should have been 'Mode: C++'
* Looked at portal design guide, was useless
* Added texel adjust fix to meshes ( fixes 1 pixel off alignment )
* SDL support starts back
* Added my old linux joystick code
* Basic sorted alpha poly render second pass with very small penalty
( An all new rendering feature never in engine before )
* Figured out best way to sort alpha polys exp with rooms only for now
* SkyMesh support ( rendering/identifing ) for TR2 and TR3
* Static mesh rendering back ( doesn't use room lighting
intensity for now )
* Texel alignment
* Static meshes
* Model meshes
* Mipmaps in Texture as option
* Code clean up
* Item sprite and room sprite loader code about finished
* Finished adding my screenshot code from Freyja, and
made it produce TGAs instead of PPMs ( cmd 'S' )
* POublic CVS Release
* Vertex lighting now functional and stable in new engine
* Fix for TR4 water alpha via textile generator, but
some light shards are still black - might be other
alpha flags that are unknown
* New level loader using _map_list
* New Map list RC rule
* Start of item sprite code in new engine
* Leaving old Texture calls for compaiblity with obsolete
* New textile loading by moving new code into Freyja's
TombRaider module to handle *all pixmap generation
* User documentation
* Testing
* Resource system back in
* AL init threaded off
* Switched order of AL and GL inits
( so you can have in game progess loader for loading )
* Should have all the best of the engines merged by Monday!
* Started model rendering code for engine #2
* New mode control for WIREFRAME, SOLID, TEXTURE
* Fixed texel index bug for rooms
* New Camera methods for visibility and more accessors
* Render engine #2 feature upgrade by merging with engine #1
* Rendering engine #2 fixes
* New Camera method for positioning
* Rendering engine #2 update
* Added documentation to Sound agent
* Texture manager fixes
* Tesselated quads
* Removed dependence on libmtk_gl ( my GL tool kit for my 3d modeler )
* Moved 16bit ARGB -> 32bit RGBA texture util to TombRaider loader
* Render fixes
* OpenAL fixes for /dev/dsp in use and _init guard
* Added Sound manager, OpenAL support for groovy 3d audio =)
* Dropped all OSS code
* Fixed segfault by freeing _texture and _tombraider twice
* TR4 texture fixes ported from gegg
* Fixed segfault on texture handling
* Removed splash screen code completely
( Will later use loader screens just like TR )
* Splash screen as compile time support
* PThread support as compile time option
* TR4 texel loading fixes
* OpenRaider request for sourceforge hosting
* New Render class is now the new renderer
* GLUT use abstracted and placed into openraider.cpp
* Mtk Image manager
* Mtk texture manager
* Thread for Freyja loader
* Freyja camera
* OpenRaider RC system design
* Freyja loader replaces yuri loader in test build
* Splash screen
* New engine starts
* Removed drawing another lara as an error marker for movables
* Removed level dumping and saving
* Split up mesh rendering
* New 3rd person lara camera rendering
* New animation control
* This project is based on trueview by yuri and some patches
and porting to linux by Mongoose along with code from
GooseEgg by Mongoose
* Log started