1229 Commits

Author SHA1 Message Date
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
IntegratedQuantum
82ad5f2b98 Add a Label component. 2023-02-28 13:05:10 +01:00
IntegratedQuantum
7ce9dc8716 Draw entity names. 2023-02-27 22:06:07 +01:00
IntegratedQuantum
17dead15da Prepare the menu/settings related windows. 2023-02-24 19:36:18 +01:00
IntegratedQuantum
61e2e417a2 Add textures for the button and window. 2023-02-24 13:25:59 +01:00
IntegratedQuantum
ff7df1bdbc The for loop update. 2023-02-21 21:34:09 +01:00
IntegratedQuantum
3e027995b4 Determine button height dynamically from the button text. 2023-02-17 22:28:06 +01:00
IntegratedQuantum
313f31915e Add a VerticalList layouting component.
Also made some ergonomical changes.
2023-02-16 22:51:03 +01:00
IntegratedQuantum
6fb871df0d Draw text in the button. 2023-02-16 15:22:17 +01:00
IntegratedQuantum
be7638793b Add a first prototype of a component system and a simple clickable button component. 2023-02-15 21:59:08 +01:00
IntegratedQuantum
0cf88c46a5 Start the gui system: movable windows 2023-02-14 12:46:29 +01:00
IntegratedQuantum
fc52ad22ef Fix data races. 2023-02-04 16:32:30 +01:00
IntegratedQuantum
b84332d426 Some small fixes.
- Weird alignment issues when using *align(8)Vec3d
- Duplicate dFdx
2023-02-03 16:48:40 +01:00
IntegratedQuantum
4769e9cb52 I forgot to update the itemdrops... 2023-01-31 12:30:14 +01:00
IntegratedQuantum
be52c1054d itemdrop cleanup and some small fixes. 2023-01-30 17:23:53 +01:00
IntegratedQuantum
c1fac3ff3e render block drops. 2023-01-30 17:03:31 +01:00
IntegratedQuantum
1a3c1e56c9 Pass the normals for itemdrops as vertex attributes. 2023-01-28 16:30:42 +01:00
IntegratedQuantum
159adc9581 Render itemdrops. (still missing block drops) 2023-01-26 17:30:16 +01:00
IntegratedQuantum
a03f957743 Move the parse function into JsonElement to simplify usage.
And some more refactoring...
2023-01-24 12:48:21 +01:00
IntegratedQuantum
0ac3346cc4 Start working on itemdrops. 2023-01-24 12:06:02 +01:00
IntegratedQuantum
6bfd4784a2 Fix the log function.
Apparently the process of overwriting the log function was changed in the standard library.
2023-01-24 11:19:58 +01:00
IntegratedQuantum
929d296fdc Rewrite mipmapping for the 10th time. 2023-01-21 19:05:02 +01:00
IntegratedQuantum
f5a2b640b4 Replace ChunkCoordinate with i32.
Lines were getting long...
And also unless I go into fixed point territory i32 is just the only reasonable choice:
i16 is too small (→ 65536 world size)
i24 and similar are too weird(→ potential performance problems?)
i32 is already too big(→ 4 billion world size)
2023-01-20 11:43:02 +01:00
IntegratedQuantum
9bd9912eb8 Simplify the mesh selection code using vectors. 2023-01-20 11:21:53 +01:00
IntegratedQuantum
943d986e99 Mipmapping. 2023-01-14 20:22:57 +01:00