53 Commits

Author SHA1 Message Date
70423be9d4 Item reference system deprecated in favor of smart pointer system. Converted all items to use pointers instead, removed all reference wrappers for item system. Fixed buggy last item sorting when removing items from InventoryScrollableWindowComponents. Implemented proper inventory removal checks when items are completely removed from an inventory. Sorted inventories now copy the pointer as a shared pointer from the main inventory code instead of needlessly creating extra copies of the same item. 2023-12-22 06:14:37 -06:00
a26d86d0b0 Separate GetTextSize and GetWrappedTextSize functions for clarity. Fix sizing comparisons for wrapping text. Fixed issue with menu destinations not properly being assigned on certain buttons. 2023-12-21 10:26:18 -06:00
eae8239501 Traveling Merchant Purchase Window and systems implemented. 2023-12-19 18:46:59 -06:00
71fe49162d Added Merchant/Buy/Sell Menu windows. Added sorted item callbacks for traveling merchant inventory modifications. 2023-12-19 17:10:04 -06:00
3251053364 Added row item display button components. 2023-12-16 22:17:49 -06:00
ac0f5c42aa Hover functionality moved out to MenuComponent so any component can utilize them. 2023-12-16 21:28:41 -06:00
025a89788e Fix border display drawing for menus. Fix scrollable window components that went outside to use proper scrolling offsets. Fix issue with same-frame clicking and releasing causing a different button to be selected. 2023-12-15 23:57:09 -06:00
7a46f79f2b Fix Perspective correction on ViewPort PGEX. Implement windowing system and remove sprite reliance from all menu components. 2023-12-14 04:18:05 -06:00
4bab1397dc Fix ViewPort PGEX. Added Draw String functions from PGE to ViewPort. 2023-12-14 01:43:42 -06:00
5abc789bcd Added hover button functionality to MenuItemButton component and to InventorySrollableWindowComponent item buttons created via that component. Implemented inventory screen. 2023-12-12 05:20:51 -06:00
e4f63a3550 Change implementation of scrollable inventory component displays, make tabs on inventory window functional. 2023-12-10 23:02:16 -06:00
469bea4c5e Inventory display window tabs are implemented, inventory component is displayed. Ranger Backstep cancels casts. Casts are forced to be channeled for 0.2 seconds before walking can cancel them, 2023-12-10 20:14:32 -06:00
e744112206 GUI template/macro usage refactor. 2023-12-10 19:14:37 -06:00
4ac42fbd7e Implemented menucomponent depth property. Fixed equipment menu labels interacting with hover events. 2023-12-09 01:58:46 -06:00
13104bae66 Back button in character stats window, moved elements slightly upwards for better positioning. 2023-12-08 17:06:34 -06:00
ae2d1719c8 Add a BeforeUpdate event for components to handle mouse out events (specifically for equip item slots showing stat differences.) Corrects a bug with stat differences not refreshing on mouse out. 2023-12-08 16:36:51 -06:00
88a239cd91 Equip Window is now functional. 2023-12-06 22:47:09 -06:00
a659bf7924 Character Info Window layouts setup 2023-12-01 22:55:33 -06:00
298b0c4ca7 Implemented equipping of items, reading of slot types from item database, and prepared set items and stats structures. 2023-11-30 23:33:40 -06:00
2af830d400 FreeType license (required for PGEX_TTF) included in all license notices. Setup project with freetype libraries and includes. Added gamepad PGEX for future gamepad support. 2023-11-29 00:50:00 -06:00
3ff558d44e Added pragma regions to all license comment fields in files and collapsed them. 2023-11-20 23:25:36 -06:00
f427928ca6 Implemented Loadout selection item buttons, corrected inventory window missing category variables, corrected loadout item selection logic, updated inventory window layout. 2023-11-14 23:20:13 -06:00
2bf45dacef It's 2023 btw 2023-11-14 18:12:54 -06:00
dd531d1fd7 Apply OLC-3 License to all source files. 2023-11-14 18:11:32 -06:00
2594078794 Update labels for different zones when clicking through them. 2023-11-12 23:51:49 -06:00
380582dfeb Implemented automatic memory leak detection and reporting for CRT. 2023-11-11 04:03:48 -06:00
2e248e30b4 Converted boolean flags for component creation in windows to using enum bitwise attributes. 2023-11-06 01:00:17 -06:00
c82a3c5980 Refactor menucomponent internal draw function a little bit for code organizing. 2023-11-06 00:05:09 -06:00
cedb465c79 Toggle Interface implementation. Class toggling connections created and class switching via class selection menu completed. 2023-10-24 04:52:24 -05:00
02c7165b37 Add in class display labels, animated sprite icons, and title of the window. 2023-10-24 03:03:34 -05:00
debced946e Menu component leak debugging detection added. 2023-10-23 00:05:30 -05:00
800a5767f2 Add destructors for all menu components and sub components. Finish menu navigation for class selection window and class info window. 2023-10-22 23:19:47 -05:00
3f78565655 Added properties for border and background control, vertically align uncentered labels by default. 2023-10-22 10:35:53 -05:00
e9952ca1be An inventory scrollable component window should not be the same as an inventory window as they would layout things differently. Separated into proper hierarchy.
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
2023-10-18 18:07:10 +00:00
46462a24e7 Refactor inventory window so the scrollable consumable window now subscribes to a listener.
Listener list system removes the arbitrary requirement of components needing to be called "inventory" (very error-prone)
2023-10-18 16:06:08 +00:00
04d6f42526 Handled dynamic adding and removing of inventory items and syncing with menu systems. 2023-10-17 05:35:19 -05:00
340690a26b Added keyboard/controller controls for scrollable menu components beyond bounds for disabled controls. 2023-10-17 00:50:58 -05:00
958a1866c7 Keyboard menu button storage can now be differentiated from internal button storage. 2023-10-17 00:31:56 -05:00
daf94db505 Added functional scrollbar. 2023-10-15 14:59:35 -05:00
ff3f4ba1c0 Setup framework for scrollbar and buttons in ScrollableWindowComponent. Fixed a bug where disabled buttons would not increment selection check loop. CreateMenu function instead of creating pointer and returning, so windows can add stuff to menus easily. 2023-10-15 12:58:39 -05:00
be0225aa97 Change scrollable window component's offset to be an attribute instead. 2023-10-12 21:12:10 -05:00
472e8eceda Rendering of decal portions now controllable via point check overrides. 2023-10-12 20:16:22 -05:00
18db45e6c3 Implement parent component hover state handling. 2023-10-12 19:35:16 -05:00
1c4ec84d75 Implement dummy items and scrollablewindowcomponent setup 2023-10-12 18:35:45 -05:00
e3d0283fcb Prepare framework with Draw and DrawDecal split. 2023-10-11 19:50:12 -05:00
461265a8a4 Added label, text, and quantity descriptions for all items on the inventory menu. 2023-10-07 19:06:56 -05:00
803a0189d8 Inventory Drag and Drop Management implemented. 2023-10-07 18:28:19 -05:00
5903692dbb Fix null checks. Inventory display window setup. Ready for draggable interface. 2023-10-07 16:26:03 -05:00
99c24b9c37 Setup internal menu components so they know what button was clicked on a menu function. Compacted the on click menu function for menu buttons.
Refactored some item convenience functions.
2023-10-07 15:47:26 -05:00
c1d64e7bd1 Window centering and positioning added. 2023-10-06 15:00:27 -05:00