Commit Graph

168 Commits

Author SHA1 Message Date
Andreas Schneider 158403e41a - Removed custom tile info window
- Updated VirtualTreeView
- Added tile info as owner drawn hint to vdtTiles (fixes #55)
2009-12-19 19:01:48 +01:00
Andreas Schneider 9ab8e5901b - Replaced array with generic list (TfrmMain.FAccessChangedListeners) 2009-12-19 14:43:22 +01:00
Andreas Schneider a9f278ae21 - Realigned frmRegionControl
- Added coordinate grabbing to TfrmRegionControl
- Added hints to the grab buttons in frmLargeScaleCommand
2009-12-19 14:39:14 +01:00
Andreas Schneider 387d5fb28d - Added selection listener to TfrmMain
- Added "grab coordinates" using the new selection listener to TfrmLargeScaleCommand (fixes #54)
2009-12-19 13:57:29 +01:00
Andreas Schneider ff87bdea15 - Realigned TfrmLargeScaleCommand
- Fixed overlay being drawn with correct color and alpha
2009-12-19 01:02:06 +01:00
Andreas Schneider 5d7c40d579 - Fixed TfrmToolWindow.FormDeactivate to check CanClose first
- Fixed TfrmDrawSettings and TfrmHueSettings to be shown non-modal (fixes #49)
2009-12-18 18:43:55 +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 365fa72dc9 - Changed TfrmMain.BuildTileList to use all available static tiles
- Added static tile id checking to the random preset loading
2009-12-18 01:07:55 +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 b0b014f66a - Added saving of random presets when creating or overwriting one 2009-12-17 21:05:46 +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 13264d3251 - Fixed potential crash when using the Mouse Wheel 2009-12-17 00:36:26 +01:00
Andreas Schneider 3969493d90 - Added XML storage for Random Presets 2009-12-16 23:24:57 +01:00
Andreas Schneider 34c0e9c901 - Implemented saving and loading of locations to/from xml 2009-12-16 16:03:35 +01:00
Andreas Schneider 797abbfa07 - Fixed ref counting for the virtual layer (fixes #53) 2009-12-16 15:18:42 +01:00
Andreas Schneider e259ecd622 - Bumped version to 0.5
- Updated changelog
2009-12-11 18:22:15 +01:00
Andreas Schneider 2763f4357c - Fixed alignment in frmLogin 2009-12-10 22:23:26 +01:00
Andreas Schneider 908bddda07 - Added generic tiledata access to TTileDataProvider (to avoid cloning)
- Fixed TfrmMain.BuildTileList to use that non-cloning tiledata access to remove a memory leak
- Convert the filter text to ISO8859-1 first
2009-12-10 22:18:25 +01:00
Andreas Schneider 34765f7235 - Fixed Art and TexMap to no longer get loaded if their Size is <= 0 2009-12-10 22:05:38 +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 59ab7046c4 - Relect selection of the random tile list with the normal list list (fixes #51) 2009-12-10 16:54:43 +01:00
Andreas Schneider 5a2cde2ac8 - Fixed locations backups being placed in the app dir instead of config dir 2009-12-10 14:32:29 +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 80412fa867 - Fixed typo in TGLArrow (RealWidth <> RealHeight)
- Fixed TGLArrow.HitTest
2009-12-09 21:25:29 +01:00
Andreas Schneider 3bd5add656 - More adjustements to frmLogin
- Added property storage to several frmMain options
2009-12-09 19:10:07 +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 3df7b446f5 - Changed profile, preset, locations and radar cache path to the user directory (fixes #50) 2009-12-09 00:19:45 +01:00
Andreas Schneider 1759e0763c - Fixed typo in UMulManager
- Added array initialization to TAnimDataProvider
- Adjusted frmLogin
- Some code cleanups
2009-12-08 22:17:39 +01:00
Andreas Schneider 06c9c2c507 - Added AnimDataProvider
- Some code cleanups
2009-12-08 20:22:45 +01:00
Andreas Schneider 392bd3db14 - Added missing icon
- Fixed compilation of server
2009-12-08 16:17:45 +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 c0b5051b00 - Added Keyboard movement to oglGameWindow (fixes #5) 2009-12-07 16:26:47 +01:00
Andreas Schneider 09bd74675e - Added highlighting of the target region for copy/move operations in frmLargeScaleCommand (fixes #40) 2009-12-07 02:15:56 +01:00
Andreas Schneider 6eaf10e73e - Added error handling when loading Locations and Profiles (fixes #2) 2009-12-06 20:03:24 +01:00
Andreas Schneider 4280db3f7e - Added flat-mode settings to toggle height display 2009-12-05 17:37:33 +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 a5128b0d05 - Enable double buffering for the tile info label 2009-12-05 02:04:27 +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 833c470cb7 - Fixed CurrentTile to be updated on changes (fixes #47) 2009-12-05 01:06:01 +01:00
Andreas Schneider 4da488a02b - Fixed TfrmMain.OnStaticElevated to correctly handle off-screen updates 2009-12-05 00:57:55 +01:00
Andreas Schneider a5082879fe - Fixed static tiles to be added several times (due to ghost tile replication)
- Added more debug info to UfrmMain
2009-12-05 00:40:05 +01:00
Andreas Schneider b223f44721 - Fixed cedserver to compile again (using generics now)
- Added multilog dependency to cedserver for easier debugging
- Several code cleanups
2009-12-04 23:30:39 +01:00
Andreas Schneider 2fedab62cc - Added Undo operation 2009-12-04 20:24:36 +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 082770f183 - Fixed mouse-up handling when no SelectedTile is given 2009-12-04 03:17:05 +01:00
Andreas Schneider b6dfd64d41 - (Re-)Added drawing of tiles (using the ghost tiles)
- Fixed ghost tiles to be in edit-mode
2009-12-04 02:33:59 +01:00
Andreas Schneider 20747a4e0c - Fixed TfrmMain.SetCurrentTile to exit only under correct conditions
- Fixed ghost tile creation to handle random height
- Changed UpdateSelection to only process the selection changes if necessary
- Changed TMapCell.GhostZ to be readable (necessary for simplier increase with random altitude)
2009-12-04 02:20:56 +01:00
Andreas Schneider 211866d6c1 - Fixed ghost tiles to use the proper priorities
- Fixed mouse-up handling to correctly reset the selected tile
- Moved ghost tile adding to the appropriate single- and multi-select blocks
- Fixed AddGhostTile to use the correct tile (current <> selected) as base for certain assumptions
2009-12-04 02:00:02 +01:00
Andreas Schneider fda2be2b8c - Added static ghost tiles 2009-12-04 01:27:06 +01:00
Andreas Schneider be9d56f7c9 - Added virtual getters for Z and TileID to TWorldItem
- Added ghost information to TMap
- Added ghost tiles (currently for map tiles only)
2009-12-04 00:58:59 +01:00
Andreas Schneider 2fdbc698ac - Added more appropriate handling of the selection rectangle (no +1 and an own compare function) 2009-12-03 18:56:08 +01:00
Andreas Schneider e337c931ed - Fixed another case of off-screen updating
- Removed old GhostTile handling
2009-12-03 15:41:49 +01:00
Andreas Schneider 0f2130730b - Fixed UpdateSortOrder to handle off-screen updates correctly 2009-12-03 15:38:11 +01:00
Andreas Schneider a74bfce923 - Re-enabled lighting normals 2009-12-03 01:38:42 +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 8df2313b4d - Fixed TfrmLogin to create the profile path if it doesn't exist
- Removed old code from TfrmMain.Render
- Bumped version to 0.4.5
- Moved TVirtualTile to UWorldItem
- Added TVirtualTile handling to CompareWorldItems
- Added priorities to the virtual tiles
2009-12-02 18:40:03 +01:00
Andreas Schneider c030b9c586 - Updated to new VirtualTreeView (UTF8String --> String) 2009-11-24 13:53:43 +01:00
Andreas Schneider f58bef6d63 - Fixed drawing of TileName in the tile list (assuming ISO8859-1 encoding) - fixes #37 2009-10-24 14:29:32 +02: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 69a5b97b64 - Fixed some events not correctly triggering a repaint 2009-10-02 18:12:36 +02:00
Andreas Schneider 7d038013b2 - Fixed TLandscape.FillDrawList to unnecessarily check upper/lower bounds 2009-10-02 18:10:21 +02:00
Andreas Schneider 6c9a474003 - Changed handling of CurrentTile and SelectedTile to avoid unnecessary invalidations 2009-09-30 19:29:32 +02:00
Andreas Schneider 94d77d4a00 - Changed TVirtualTile to inherit directly from TWorldItem
- Added FRepaintNeeded to minimize unnecessary repaints
2009-09-29 16:06:52 +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 b9ef61c0db - Added UfrmToolWindow
- Changed the tool windows to inherit from TfrmToolWindow
- Added a "close timer" to TfrmToolWindow to handle different focus behaviours of window managers
- Moved position changes for the tool windows to the appropriate TfrmToolWindow.FormShow event
2009-09-02 03:21:39 +02:00
Andreas Schneider d769c7ddc3 - Added version info to the project options
- Added new icon
2009-08-31 22:24:54 +02:00
Andreas Schneider 237c9765cd - Added filter management to TfrmMain
- Changed screen buffer state handling to enums
2009-08-06 17:34:55 +02:00
Andreas Schneider 2cfde3eea5 - Changed TfrmFilter to enable tile and hue filter on tile/hue list changes
- Changed TfrmFilter placement to be off by -4 in x and y direction
- Disabled "scroll to center" in TfrmMain's TileList
- Disabled unncessary drag operations in TfrmMain's TileList
2009-08-06 15:42:19 +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 2ea8601402 - Added handling for hue changes (OnStaticHued) 2009-08-03 18:55:54 +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 f3888db49c - Removed several unnecessary panels from frmMain (using Anchors instead) 2009-07-31 17:03: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 31d2623df9 - Changed terrain rendering from GL_TRIANGLES to GL_QUADS to fix coastlines and other overlapping (thanks Turley) 2009-06-11 14:41:30 +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 45537315b5 - Updated to a recent VirtualTrees revision
- Updated README accordingly
2009-01-27 10:45:01 +01:00