Commit Graph

49 Commits

Author SHA1 Message Date
Andreas Schneider d461774816 - Added optional highlight for (un)walkable tiles
- Fixed lightmanager to draw in the correct color
- Fixed TMapBlock and TStaticBlock to correctly initialize itself as "unchanged"
- Cleanup in the server project
2009-12-24 15:49:15 +01:00
Andreas Schneider eb62553f5c - Fixed static tiles with hue 1 using the wrong cache id
- Commented some debug messages
2009-12-22 19:47:46 +01:00
Andreas Schneider 841061abbb - Added FBO based light source rendering
- Fixed memory leak in TLightManager.UpdateLightMap
2009-12-22 09:36:35 +01:00
Andreas Schneider e502321f35 - Added more nodraw.txt locations
- Improved nodraw.txt parsing
2009-12-18 14:24:35 +01:00
Andreas Schneider 7adf94010a - Fixed TNormals to use GLfloat 2009-12-18 13:57:37 +01:00
Andreas Schneider 12a28c79b2 - Replaced own UVector with unit matrix from the RTL 2009-12-18 02:35:25 +01:00
Andreas Schneider 1e84b76c63 - Added external nodraw definition 2009-12-18 01:53:09 +01:00
Andreas Schneider 73e704e5fa - Changed TAnimDataProvider to load as much animdata as the input files provides
- Added TBufferedStream.GetSize
- Added TIndexedMulProvider.EntryCount
- Added TAnimDataProvider.AnimCount
- Added TLandscape.MaxStaticID
- Some more code cleanups
2009-12-18 00:17:42 +01:00
Andreas Schneider c41fd3be95 - Several code cleanups
- Fixed TArt.RefreshBuffer using the wrong variable (j <> i)
- Suppressed some hints
2009-12-17 15:41:54 +01:00
Andreas Schneider 5c3de09d10 - Added ref counting to TMaterial
- Added cache growing to TCacheManager
- Fixed ImagingOptions.inc to not include JPEG support
- Fixed TfrmRadar to save the radar map to the correct location
- Fixed statics using the wrong hue when being painted
- Removed obsolete TLandTextureManager.GetFlatLandMaterial (and the according cache)
2009-12-10 21:40:14 +01:00
Andreas Schneider 9c010eeb89 - Added option to toggle animated tiles
- Added option to toggle the security question when performing area commands
2009-12-10 14:30:47 +01:00
Andreas Schneider 222abd54fd - Fixed TAnimMaterial to cache the textures
- Fixed texture size calculation in TMaterial
2009-12-10 14:16:46 +01:00
Andreas Schneider 36afc1e1d9 - Fixed tiles only being checked for animdata if they have the appropriate tiledata flag 2009-12-09 16:56:39 +01:00
Andreas Schneider be935a6bcb - Added TAnimMaterial
- Implemented animated tiles
- Fixed TAnimData.FrameData to use ShortInt instead of Byte
2009-12-09 16:26:12 +01:00
Andreas Schneider 2a3e17fa57 - Abstracted TMaterial
- Removed unnecessary width/height processing from TMaterial
- Added TSimpleMaterial for one-graphic-textures
2009-12-09 14:36:53 +01:00
Andreas Schneider 446e104031 - Made ULandscape.GetID inline
- Removed some constraints on TileIDs and map coordinates
- Removed another unnecessary typecast
2009-12-08 15:30:53 +01:00
Andreas Schneider dde886b051 - Generalized TCacheManager (for more type-safety and cleaner code) 2009-12-08 15:12:09 +01:00
Andreas Schneider be3f8c05df - Updated Vampyre Imaging Lib
- Added font rendering
- Added height display in flat mode
2009-12-05 17:26:22 +01:00
Andreas Schneider dd88d845cd - Added translucent static tile support (fixes #46)
- Fixed infinite recursion when updating ghost map tiles
2009-12-05 01:24:58 +01:00
Andreas Schneider 14ab47bdf8 - Changed several OpenGL calls with their integer-equivalents (we don't use floats anyway)
- Added a "real quad" to the screenbuffer to keep track of the original terrain locations
- Added OpenGL based hit test to TScreenBuffer.Find
2009-12-04 15:52:27 +01:00
Andreas Schneider 0f2130730b - Fixed UpdateSortOrder to handle off-screen updates correctly 2009-12-03 15:38:11 +01:00
Andreas Schneider fffb420299 - Some code cleanups in UfrmMain and ULandscape
- Fixed GetPlainNormals in ULandscape to actually return a value
2009-12-03 01:35:29 +01:00
Andreas Schneider d5e5510760 - Added TTileDataFlag enum
- Added TTileDataFlags set
- Changed TTiledata.Flags to use the TTileDataFlags set
- Added hue highlighting to TfrmMain
- Added TTextureManager.GetStaticMaterial to handle tiledata and hues
2009-12-03 00:04:19 +01:00
Andreas Schneider 01e7b98a12 - Added generic lists for world items, static items and map items
- Added appropriate compare functions
- Some local cleanups
2009-12-02 19:14:00 +01:00
Andreas Schneider c3bdc98219 - Moved WriteMap handling from TdmNetwork to TLandscape
- Added repainting when accesslevel display changes (toolstate, update write map)
2009-10-02 23:52:02 +02:00
Andreas Schneider f888443ed0 - Changed TLandscape.FOpenRequests to use TBits instead of a boolean array 2009-10-02 18:18:59 +02:00
Andreas Schneider 7d038013b2 - Fixed TLandscape.FillDrawList to unnecessarily check upper/lower bounds 2009-10-02 18:10:21 +02:00
Andreas Schneider 0cee996fbc - Reimplemented the Virtual Layer 2009-09-29 02:25:19 +02:00
Andreas Schneider 99c21fa951 - Added Logging unit and MultiLog dependency
- Removed StaticsFilter parameter from FillDrawList
2009-09-28 18:16:29 +02:00
Andreas Schneider 2b040fc5e3 - Disabled use of normals (weren't really in use anyway)
- Added updating of the last shortcut in TScreenBuffer
2009-08-06 15:04:09 +02:00
Andreas Schneider 28969d94f7 - Removed merge sort implementation
- Use a temporary array and QuickSort (TList.Sort) to sort the initial drawlist
- Clear the drawlist in the TLandscape.FillDrawList method
2009-08-04 18:02:39 +02:00
Andreas Schneider 1f1f5ac7b4 - Added TLandscape.OnMapChanged to handle changes to map tiles
- Reenabled terrain, statics, nodraw and flat toggles
- Fixed editing target list generation (in OnMouseUp) to only consider "normal" tiles, use their correct new order and the CanBeEdited attribute
- Removed obsolete TfrmMain.CanBeModified
2009-08-03 19:32:03 +02:00
Andreas Schneider a71c1bd570 - Added fpdoc paths
- Started some documenting
- Added TScreenBuffer.UpdateSortOrder to handle elevations
2009-08-03 18:40:31 +02:00
Andreas Schneider 1bc9ad3fe1 - Added handling of new blocks (OnNewBlock event) 2009-08-03 00:29:55 +02:00
Andreas Schneider 2e16269397 - Extracted TfrmMain.PrepareScreenBlock from RebuildScreenBuffer
- Added events for OnStatic-Inserted, -Deleted and -Elevated
2009-08-02 20:45:23 +02:00
Andreas Schneider fbbe988dd6 - Replaced usages of UListSort with TList.Sort
- Removed now obsolete UListSort.pas
- Removed GameResourceManager dependency from TStatics
- Moved TSeperatedStaticBlock to the according ULandscape units
- Cleanup some unnecessary <> nil checks
2009-08-02 19:08:56 +02:00
Andreas Schneider b70f03ba2a - Added iterator to TCacheManager
- Added access (CanBeWritten) tracking to TStaticItem
- Moved TLandscape.UpdateStaticsPriorities to TStaticItem.UpdatePriorities
- Moved ULandscape.CompareWorldItems to UWorldItem
- Renamed TSeperatedStaticBlock.RefreshList to RebuildList
- Changed TStaticBlock.Sort to use CompareWorldItems and TList.Sort
- Some code style changes
2009-08-02 13:45:26 +02:00
Andreas Schneider dc1f425353 - Added tracking of "Highlighted" state in the screen buffer 2009-07-30 20:31:29 +02:00
Andreas Schneider 01d5fb98d1 - Optimized blockInfo.ScreenRect calculation for static tiles
- Fixed TScreenBuffer.Find to correctly handle the new buffer usage (search at the end, not the beginning)
2009-07-30 17:04:49 +02:00
Andreas Schneider 1196ad6425 - Fix Z-order calculation for terrain tiles (thanks Turley) 2009-06-12 12:31:14 +02:00
Andreas Schneider 7fdfd1ee23 - Merged TTileList into TScreenBuffer
- Added shortcuts to TScreenBuffer to speed up the InsertionSort
- Renamed TScreenBuffer.Store to TScreenBuffer.Insert
- Added TScreenBuffer.Add to append to the list
- Added TScreenBuffer.Sort to sort the list using MergeSort
- Changed TLandscape.FillDrawList to just append to the list and sort afterwards
- Added screen buffer invalidation on TfrmMain.OnLandscapeChanged
2009-05-20 18:16:18 +02:00
Andreas Schneider 0d6c151c5f - Removed TVector2D
- Added screen buffer (in)validation
- Moved distance calculations to RebuildScreenBuffer
- Added tile drawing to the Render method
- Added DrawQuad precalculation to the post processing of the screen buffer
- Renamed the members of TScreenState
- Changed the DrawQuad to consist of TGLfloats for direct pointer passing
- Fixed the while loop condition in TScreenBuffer.Store
2009-05-18 00:33:59 +02:00
Andreas Schneider 561104a924 - Added screen buffer pre processing (prepare materials and normals)
- Added 2D Vector to store the points for drawing terrain
- Added additional GetNormals function to TLandscape to fill an existing array
2009-05-17 22:06:42 +02:00
Andreas Schneider fee66eada8 - Refined state handling for TBlockInfo
- Added caching of normals into TBlockInfo
- Added differentiation for low and high res materials to TBlockInfo
- Removed draw list clearing from FillDrawList
- Changed TScreenBuffer.Store to return a reference to the stored TBlockInfo
- Added missing ; to GetSerial
- More cleanups in ULandscape.pas
- Moved several local variables of TfrmMain.Render into TfrmMain members
- Moved several size related variable initializations from Render into OnResize
- Extracted GetDrawOffset
- Added seperate RebuildScreenBuffer
2009-05-17 15:32:51 +02:00
Andreas Schneider 61db743ee5 - Cleanup in ULandscape.pas
- Removed unncessary virtual and ghost tile handling from FillDrawList
- Added serial generation and tracking to TScreenBuffer
- Added editing state tracking to TScreenBuffer
- Changed TScreenBuffer.Store to perform an InsertSort
- Changed TScreenBuffer.Store to handle only the most necessary parameters
2009-05-17 14:12:52 +02:00
Andreas Schneider 2f560a7738 - Changed rendering to build the draw list for the whole range
- Added CanBeEdited flag to TWorldItem
- Changed list sorting from custom heap sort implementation to the FCL standard (QuickSort)
2009-05-15 23:37:10 +02:00
Andreas Schneider 0e841f864d - Merged changes from Turley (elevate with random altitude)
- Rearranged the TfrmElevateSettings dialog
- Fixed transparency settings of the images in the TfrmLogin dialog
- Fixed TfrmRegionControl to not react on mouse clicks if no region is selected
- Updated Vampyre Imaging Lib to recent SVN
- Added missing cedserver_config_2_3 project file
2008-08-29 12:09:26 +02:00
Andreas Schneider 12773fd63e - Fixed "UTiledata" spelling in ULandscape.pas
- Added ISerializable and IInvalidate interfaces
- Implemented a TConfig class and XML storage
- Added some more detailed messages when a login fails to the server console
- Removed obsolete IStream interface references
- Readded lbHue in TfrmHueSettings
2008-03-06 22:55:49 +01:00
Andreas Schneider c0a125042b - Initial import from internal repository 2007-12-21 21:31:58 +01:00