Commit Graph

125 Commits

Author SHA1 Message Date
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
Andreas Schneider e727aadcf2 - Fixed TfrmEditAccount.RegionDeleted to check, if the region is known (to prevent index out of bounds errors)
- Fixed UfrmMain to be compatible with newer versions of FPC
- Added a slider to frmRegionControl
- Added buttons to add and delete regions to frmRegionControl
- Fixed unsaved regions not being removed in TfrmRegionControl
- Extracted TfrmRegionControl.CheckUnsaved
2008-09-28 22:00:32 +02:00
Andreas Schneider 01f5b2ca58 - Removed an unnecessary file from the project file 2008-10-22 11:46:50 +02:00
Andreas Schneider 8a3f00fd4c - Updated version to 0.4.1
- Updated changelog
2008-09-07 15:40:23 +02:00
Andreas Schneider 7399b13fd0 - Fixed WheelDelta not being adjusted right 2008-09-06 23:08:50 +02:00
Andreas Schneider cc8eee1b1b - Fixed VirtualLayer preparation for corner cases (where the size would have been too small) 2008-08-29 14:55:00 +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 d0c65f912b - Fixed a missing event assignment in TfrmBoundaries (Min/Max spinedits didn't react to OnChange)
- Fixed a typo in cedserver_config_2_3.lpr ("Accesslevel" <> "AccessLevel")
2008-08-27 20:56:31 +02:00
Andreas Schneider de21e6efde - Added converter for cedserver configs from version 2 to 3
- Updated changelog
- Updated installer
- Updated version to 0.4.0 and revision to 64
- Fixed about dialog
- Added some more exclusions to .hgignore
2008-08-27 13:18:09 +02:00
Andreas Schneider 1c3d624949 - Added client side visualization of area restrictions
- Added an icon to the "Region control" menu item
- Changed the former TAccessLevelChangedPacket and the TLoginResponsePacket to add informations about the writeable areas
- Changed OnModifyUserPacket to update clients according to new accesslevel/area restrictions
- Changed OnModifyRegionPacket to update clients using that particular region
- Fixed UPacketHandlers.ValidateAccess to check the region bounds according to the PtInRect function
2008-08-26 22:48:48 +02:00
Andreas Schneider 91af86a294 - Added ability to edit regions for accounts
- Added AccessChangedListener to allow several listeners to react on accesslevel changes
- Changed TModifyUserPacket to support the region lists
- Fixed a region list parsing bug in TfrmAccountControl.OnListUsersPacket (Unsigned vs. Signed Integer)
- Fixed the order of form creation in TdmNetwork to assure the functionality of the region and account control
- Added some glob entries to .hgignore
2008-08-25 17:33:38 +02:00
Andreas Schneider 85cc0c0066 - Fixed/Removed some compiler warnings and hints
- Some more syntactic changes to UfrmRegionControl.pas
- Implemented region modification and deletion
- Changed the server side region handling to broadcast the changes
- Added safer admin packet registration
- Added some more units to the project files
2008-08-23 23:09:20 +02:00
Andreas Schneider d5069bbb50 - Fixed memory leak in TfrmFilter (not freeing FCheckedHues)
- Fixed memory leak in TfrmMain (not freeing the strings in the location info nodes)
- Rearranged frmEditAccount to allow region handling
- Added region handling to the client side account specific network packets
- Fixed some more code style inconsistencies in UfrmRegionControl.pas
- Fixed redrawing in TfrmRegionControl
- Fixed memory leak in TAccount (not freeing FRegions)
- Fixed the TModifyRegionResponsePacket ID
- Fixed the content of the TUserListPacket to not contain the list of all regions
2008-08-17 20:12:36 +02:00
Andreas Schneider c7d845997e - Changed alignment of frmBoundaries and frmVirtualLayer
- Added ParentFont to all controls to keep a consistent look among all widgetsets and DE settings
2008-08-17 15:38:54 +02:00
Andreas Schneider 3e958a4dfc - Added missing files from last commit 2008-08-12 13:59:56 +02:00
Andreas Schneider 2edc2a7424 - Merged client side changes from Turley (with syntactic modifications)
- Changed alignment in frmDrawSettings
2008-08-12 13:46:45 +02:00
Andreas Schneider 2409b861e3 - Added GTK2 support to UGUIPlatformUtils.pas
- Fixed compilation of the ImagingLib with newer Lazarus versions
- Renamed TInvalidConfigVersionExeption to TInvalidConfigException
- Cleanup in ULandscape.pas
- Removed widgetset and platform constraints from the project file
2008-08-09 19:38:09 +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