179 Commits

Author SHA1 Message Date
e1ce8c2e09 Added GNU Unifont typeface, optimized TextureDataEditor greatly
- Added GNU Unifont support
- TextureDataEditor no longer uses AWT internally
  - Optimized Atlases slightly
- SpriteTypeface adds spacing between lines
- Removed TestTypeface
2020-08-17 22:22:13 +03:00
54002475d0 Added SpriteTypeface that implements text styling and layout 2020-08-16 20:37:42 +04:00
0e99685583 Added test text rendering
- Added Typeface
- Added Font (Typeface + style)
- Added Label to display text in GUI
- Added Panels to quickly group Components
- Added a test font
  - Ignores all parameters but text itself
  - Only ABCD are supported (no whitespace)
2020-08-16 08:31:06 +04:00
4370c523e6 Flipped Y-axis in flat layers and cursor input. Now (0; 0) is lower left 2020-08-15 22:35:45 +04:00
eb6945b017 Fixed block atlas size 2020-08-15 22:20:42 +04:00
6d2adb0f31 Refactored texture loading system to allow runtime editing and atlases
- Removed TextureManager, use TextureLoader instead
  - Removed PngLoader, AWT image compat moved to TextureUtils
- Pixels renamed to TextureData
- Added TextureDataEditor for runtime editing of TextureData
- Added SimpleTextures to load random, one-off textures
- Added Atlases to load textures into runtime-compiled atlases
  - BlockRenders now contains a method to load a block texture properly
- Moved block textures into assets/textures/blocks/
2020-08-15 22:15:26 +04:00
aeed34d105 Changed name to Progressia in README and file headers 2020-08-10 14:07:53 +04:00
4cf0324f1a Moved everything into ru.windcorp.progressia package 2020-08-10 12:22:45 +03:00
45b0ad2888 Switched back to GLSL 1.20 because my laptop is a brick 2020-08-09 11:40:41 +03:00
1362dab2c1 Updated BinUtil and CoordinatePacker
- Added packing 2 ints into a long to CoordinatePacker
- Added iPowerOf2(int) to BinUtil
2020-08-06 21:36:45 +03:00
b9dc25096f Replaced .gui.Size with Vec2i 2020-08-05 11:55:50 +03:00
2abffff843 Ported Component system from https://github.com/OLEGSHA/crystal-farm
- Added Components
  - Also added component-related events and several Layouts
- Added GUILayer to integrate Components into Layers
- Added InputBuses to handle consumable events
  - Layers now have a separate input handling pipeline
- Mouse button clicks are now handled together with keyboard keys
  - KeyEvent, Keys, InputTracker consider MBs to be keys
- Cursor position and pressed keys are now tracked by InputTracker
- GLFW key codes can now be mapped to names with Keys
- Added KeyMatcher for later
- Fixed world clipping into UI
- Cursor info is no longer available thru GraphicsInterface, use
InputTracker instead
2020-08-05 00:16:44 +03:00
4bd5411abb Added FrameResizeEvent, refactored input events a little 2020-08-03 22:41:07 +03:00
7dee1eb95f Re-written flat render pipeline to support transforms
FlatRender now supports arbitrary transforms
GLSL 1.40 is now used in shaders
2020-08-03 21:44:36 +03:00
da61f834e5 Added Mouse Scroll Wheel Support 2020-08-01 22:25:43 +03:00
f6d521fe8a Fixed copyrights 2020-08-01 18:08:13 +03:00
3b2621c82b Fixed flat render depth and added a test crosshair 2020-08-01 18:01:17 +03:00
1ed8f93af4 Added GUI render and support for faces without textures
- Added FlatRenderProgram to render 2D graphics
  - Can be used as-is
  - Supports rectangular coordinate-aligned nested masks
- Added AssembledFlatLayer to cache 2D graphics
  - Use RenderTarget for add elements during reassembly
- ShapeRenderProgram now allows null textures (defaults to white BG)
- Sprite now deduces size based on primitive's content size
  - unless given size explicitly
- ShapeRenderHelper.*WorldTransform methods renamed to .*Transform
2020-08-01 16:23:31 +03:00
47ea102ed7 Fixed a bug with custom-sized textures in PngLoader 2020-08-01 10:28:37 +03:00
8aa0bb8aa0 Refactored ShapeRenderProgram into SRP and WorldRenderProgram
- ShapeRP now handles positions, textures and color multipliers only,
normals, view transforms and light calculations are now in WorldRP
- Renamed WorldRenderer to ShapeRenderHelper
- Moved normal computation to WorldRP code from Face
- No default ShapeRP exists, methods in Faces and Shapes now explicitly
require a program
- Removed unnecessary glBind from texture loader
- Refactored and renamed GLSL code
- Added a view bobbing test, enable with I_WANT_TO_THROW_UP in
LayerWorld
2020-08-01 00:24:38 +03:00
16205909ed Refactored texture loading: added caching and allowed loading from RAM 2020-07-31 14:42:28 +03:00
e8cec807bc
Update README.md
Updated instructions for IntelliJ IDEA
2020-07-29 22:54:54 +03:00
ed9a52c7a5 Added actual storage capabilities to ChunkData
Also a block can be changed at (0; 0; 0) by pressing G
2020-07-29 21:48:06 +03:00
WarDref
3e0f17c959
Update textures grass_bottom 2020-07-29 16:44:41 +03:00
WarDref
9372ad5ce2
changed texture grass
changed block texture grass_side and block texture grass_side
2020-07-29 16:25:06 +03:00
WarDref
5040101edd
Update block texture grass_side 2020-07-29 15:57:34 +03:00
9d36b86d10 Fixed Shape.fragment.glsl 2020-07-29 15:12:34 +03:00
021c63cf98
Created README.md 2020-07-29 12:56:19 +03:00
e96a30c275 Initial commit 2020-07-29 12:30:34 +03:00