153 Commits

Author SHA1 Message Date
IntegratedQuantum
9dee31ccbe Render text "shadows", once again till++ forced me to do it. 2023-04-04 16:17:39 +02:00
IntegratedQuantum
60f0c5d3af Add support for menu background scenes (but no default scene yet). 2023-04-04 11:30:02 +02:00
IntegratedQuantum
3b5b9fec8a Add till++'s beloved thin white line back to the item slots. 2023-04-03 20:25:24 +02:00
IntegratedQuantum
e0321c6cbf Various ui improvements proposed by @till++ 2023-04-03 19:01:49 +02:00
IntegratedQuantum
e17699f9f8 Add the workbench gui. 2023-04-02 21:29:19 +02:00
IntegratedQuantum
1e7e8a7a1a Avoid creating a GeneralPurposeAllocator for every tiny thing.
Using a global gpa allocator seems like the best solution until there is a performance problem, and in that case a custom allocator is better anyways.
2023-04-02 12:15:28 +02:00
IntegratedQuantum
71159060a3 Use an icon for the crafting button. 2023-04-01 12:32:40 +02:00
IntegratedQuantum
da8f6ac9cb Add inventory crafting. 2023-03-31 20:37:39 +02:00
IntegratedQuantum
9fdfa04734 Refactor: Limit window components to one. Also use better formatting for tooltips. 2023-03-29 22:11:08 +02:00
IntegratedQuantum
58d1428392 Tooltips. 2023-03-29 11:41:13 +02:00
IntegratedQuantum
2a332e9c04 . 2023-03-28 16:34:03 +02:00
IntegratedQuantum
1400141e94 Render item images for blocks. 2023-03-28 16:33:01 +02:00
IntegratedQuantum
2f5ff8f081 Throw items out of the inventory when clicking outside of an inventory slot. 2023-03-27 22:17:55 +02:00
IntegratedQuantum
f927487a0f Add inventory and creative inventory. 2023-03-27 17:51:00 +02:00
IntegratedQuantum
bbcc9caff0 Allow interacting with item slots. 2023-03-27 12:37:47 +02:00
IntegratedQuantum
a0c2d62110 Load the inventory when the player joins. 2023-03-23 17:43:11 +01:00
IntegratedQuantum
758fe2c8ab Use @hasDecl and automatically assign the window function pointers. 2023-03-23 17:13:40 +01:00
IntegratedQuantum
c2b0428539 Fix floating point precision issues in rendering. 2023-03-23 13:20:19 +01:00
IntegratedQuantum
642624c94d Add the ItemSlot component. 2023-03-23 13:08:29 +01:00
IntegratedQuantum
f158da89d4 Seperate the gui and game update logic, so you won't move while typing into a text field. 2023-03-22 14:29:55 +01:00
IntegratedQuantum
77610c0064 Add the chat gui and set the default text color to white. 2023-03-22 13:59:46 +01:00
IntegratedQuantum
d5389aefb7 Refactor: Add a seperate function for binding a texture to a specific texture unit. 2023-03-21 12:50:58 +01:00
IntegratedQuantum
219c3214e9 Add a ScrollBar to the VerticalList. 2023-03-21 11:45:29 +01:00
IntegratedQuantum
ef0f9ebf67 Allow ungrabbing the mouse by pressing escape and add a way to show the title bar of transparent windows. 2023-03-20 18:37:26 +01:00
IntegratedQuantum
9c20b463e3 Add a simple healthbar. 2023-03-19 23:25:31 +01:00
IntegratedQuantum
f04d441c3c Improve Bloom performance by combining downsampling and color extracting steps. 2023-03-19 19:20:42 +01:00
IntegratedQuantum
ba8856bd35 Add the crosshair. 2023-03-18 22:54:05 +01:00
IntegratedQuantum
0467e43163 Update the position of closed windows as well to prevent weird behavior. 2023-03-17 16:26:49 +01:00
IntegratedQuantum
9e7f3defe2 Add HorizontalList, add alignment to list components and fix a bug. 2023-03-17 16:18:43 +01:00
IntegratedQuantum
5c74694611 Refactor how components are handled.
- A `GuiComponent` now is union of pointers.
- `pos` and `size` are now stored in each component rather than being passed down through functions.
2023-03-17 13:47:07 +01:00
IntegratedQuantum
fd0e903431 Refactor: Simplify window creation by limiting it to a single window per namespace. 2023-03-17 11:25:46 +01:00
IntegratedQuantum
966c3f8857 Add the multiplayer gui and allow joining multiplayer games. 2023-03-16 19:26:43 +01:00
IntegratedQuantum
bb904828e8 Save/Load the gui layout. 2023-03-15 22:25:32 +01:00
IntegratedQuantum
fbb28869f6 Allow closing windows and zooming in/out. 2023-03-15 19:02:40 +01:00
IntegratedQuantum
5b3aaa02c8 Refactor: Simplify texture loading from file and shader creation. Ziggify Shader.create()/delete() to init()/deinit() 2023-03-15 14:33:54 +01:00
IntegratedQuantum
2523947a9c Finish the change name window. 2023-03-12 17:43:57 +01:00
IntegratedQuantum
0d064fc9da Dynamic gui scale and some refactoring and fixes. 2023-03-12 17:11:00 +01:00
IntegratedQuantum
ecbcfd3ed0 Implement updateHovered which only updates the components that are on the front-most window at the cursor position.
This is for example used to prevent marking buttons as hovered when another window is above it.
2023-03-12 16:04:20 +01:00
IntegratedQuantum
573a542bfa Use the mouse wheel input to scroll in TextInputs. 2023-03-12 15:33:00 +01:00
IntegratedQuantum
b8f5b84322 Text can now be scrolled. 2023-03-11 17:45:20 +01:00
IntegratedQuantum
44eed8026d Refactor: Use one global allocator for all gui related stuff. 2023-03-10 17:24:36 +01:00
IntegratedQuantum
1c12ba3459 Add a texture for text fields. 2023-03-10 16:53:21 +01:00
IntegratedQuantum
4caa8f7378 Allow different text alignments. 2023-03-10 11:50:27 +01:00
IntegratedQuantum
6f76d0f214 Fix a couple bugs. 2023-03-09 11:23:36 +01:00
IntegratedQuantum
1d9d38c9b7 Newline on enter. 2023-03-08 12:42:23 +01:00
IntegratedQuantum
c2e888031f Add a TextInput component that supports multiline text editing. 2023-03-07 20:53:57 +01:00
IntegratedQuantum
b12f004d41 Load and save keyboard settings. 2023-03-04 19:59:09 +01:00
IntegratedQuantum
c9c6bcaece Add the controls settings and some other things. 2023-03-03 19:26:15 +01:00
IntegratedQuantum
df73bc964e Add a Checkbox. 2023-03-01 16:43:05 +01:00
IntegratedQuantum
b5e8ba4d20 Add a Slider component. 2023-03-01 10:55:41 +01:00