ModernUO/Projects/UOContent/Gumps
Kamron Batman bc6735bd23
feat: Adds grid support for the DynamicGump system (#2306)
### Summary 

- Adds a new grid layout system for DynamicGump with zero heap allocations
 - Migrates SpawnerControllerGump from legacy GumpGrid to DynamicGump
 - Migrates CommandListGump from BaseGridGump to DynamicGump
 - Removes legacy GumpGrid (no longer needed)

 ### New Grid Layout Components

 | Component | Purpose |
 |-----------|---------|
 | `GridCell` | Value type for cell bounds (x, y, width, height) |
 | `GridSizeSpec` | Parses CSS-like sizing specs ("10*", "*", "100") |
 | `GridCalculator` | Computes track positions using stackalloc |
 | `ListViewLayout` | Pagination + column layout for list views |
 | `GridBuilderExtensions` | Extension methods accepting `GridCell` |
 | `GridEntryStyle` | Styling properties for BaseGridGump migration |
 | `GridEntryExtensions` | Entry methods matching BaseGridGump patterns |

 ### Memory Impact

 | Component | Legacy | New |
 |-----------|--------|-----|
 | Grid storage | ~200 bytes heap | 0 bytes (stackalloc) |
 | Column/Row lists | ~400 bytes heap | ~128 bytes stack |
 | ListView | ~300 bytes heap | ~64 bytes stack |
 | **Total per render** | **~900 bytes heap** | **0 bytes heap** |

 ### Test plan

 - [x] All 21 gump tests pass
 - [x] Build succeeds with no warnings
 - [ ] In-game verification of SpawnerControllerGump
 - [ ] In-game verification of CommandListGump (HelpInfo command)
2026-01-03 10:12:22 -08:00
..
Base feat: Adds grid support for the DynamicGump system (#2306) 2026-01-03 10:12:22 -08:00
Go chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Guilds chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Houses fix: Eliminates List allocations in various places. (#2158) 2025-11-16 18:33:53 -08:00
Props fix: Fixes props gump for interfaces again (#2180) 2025-05-09 15:44:32 -07:00
AddDoorGump.cs fix: Rewrites AddDoor command, fixes gump and returning to correct page. (#2056) 2025-01-08 10:32:37 -08:00
AdminGump.cs feat: Fixes spawner bugs with position finding, Adds [ShowSpawnerBorders (#2297) 2025-12-28 18:26:03 -08:00
BanDurationGump.cs fix: Optimizes gump relay info (Prep for Static Gumps) (#1698) 2024-03-07 20:54:53 -08:00
BaseConfirmGump.cs fix: Fixes issue with cached static gump strings. Fixes bad gump colors (#1771) 2024-05-10 22:44:16 -07:00
BaseGridGump.cs fix: Consolidates Color/Center html (#1762) 2024-05-07 23:56:32 -07:00
BaseImageTileButtonsGump.cs fix: Optimizes gump relay info (Prep for Static Gumps) (#1698) 2024-03-07 20:54:53 -08:00
ClientGump.cs feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
CommentsGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
ConfirmBreakCrystalGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
ConfirmHeritageGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
ConfirmReleaseGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
HeritageTokenGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
NoticeGump.cs fix: Adds static warning/notice gumps. (#1741) 2024-04-26 17:19:16 -07:00
PetResurrectGump.cs feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
PlayerVendorGumps.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
PolymorphGump.cs fix: Fixes polymorph spell (#2173) 2025-05-04 09:31:32 -07:00
ReclaimVendorGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
ResurrectGump.cs fix: Fixes priced healer resurrection when not choosing the correct option (#2276) 2025-11-23 09:58:33 -08:00
RewardGump.cs feat: Adds item graphic size to Bounds.bin and makes item graphic offset available to gumps (#2115) 2025-02-10 19:31:39 -08:00
RunebookGump.cs fix: Actions on gump crash when Runebook has no entries (#1964) 2024-09-27 10:17:22 -07:00
SelectAddonDirectionGump.cs feat: Standardizes South/East selection gumps (#1839) 2025-02-14 00:15:14 -08:00
SkillsGump.cs fix: Optimizes gump relay info (Prep for Static Gumps) (#1698) 2024-03-07 20:54:53 -08:00
StaticNoticeGump.cs fix: Adds static warning/notice gumps. (#1741) 2024-04-26 17:19:16 -07:00
StaticWarningGump.cs feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
TithingGump.cs fix: Adds missing string interpolation handler for SetStringSlot (#2123) 2025-02-13 19:30:47 -08:00
ToTAdminGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
VendorInventoryGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
VendorRentalGumps.cs chore: Fixes variable types for possible performance issues (#2172) 2025-05-01 21:54:41 -07:00
ViewHousesGump.cs feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
VirtualCheckGump.cs feat: Adds size/style support to gump builders, optimizes EscapeHtml (#2257) 2025-11-23 11:35:31 -08:00
WarningGump.cs fix: Fixes issue with cached static gump strings. Fixes bad gump colors (#1771) 2024-05-10 22:44:16 -07:00
WhoGump.cs feat: Moves gumps out of the core (#1916) 2024-08-09 19:07:32 -07:00
YoungGumps.cs feat: Restyle young player gumps (#1917) 2024-08-10 11:06:18 -07:00