336 Commits

Author SHA1 Message Date
02ef94a395 Corrected spelling 2021-01-11 11:25:42 +03:00
a67d3ba1bb Added the ability to sprint
When you double-tap the W key, the character starts moving faster
2021-01-11 00:17:31 +03:00
76a6c4a186 Made glass not remove tiles under itself and updated 2 textures
- Glass is no longer solid and is now transparent
- Updated Clock and Wallpaper textures
2021-01-11 00:07:34 +03:00
d2450c796b Fixed runtime problems, renamed some content and disabled saves
- Made sure texture names had correct case
- Renamed Test:Wood to Test:Log
- Renamed Test:Time to Test:Clock
- Links in crash reports are now clickable from Eclipse
2021-01-10 23:54:12 +03:00
73be13734e Merge branch 'master' into Textures 2021-01-10 23:33:22 +03:00
WarDref
b1e5917323 Updated and added textures for blocks and tiles
-WoodenPlank
-clock
-Sand
-CeilingTile1
-CeilingTile2
-Wallpaper
-Wood
-ConcreteBlock
-Glass
-BrickWhite
-Brick
2021-01-10 23:13:23 +03:00
9d305890d1 Crash reports now include the stacktrace of .report() 2021-01-10 23:00:49 +03:00
c1b1d930ce Added audio system initialization 2021-01-10 21:44:03 +03:00
920284190c
Updated Windows building instructions in README.md 2021-01-10 21:06:43 +03:00
8f419b4d02 Rewrote README, wrote building guides and cleaned up
- Updated/prettified README.md
- Wrote extensive building guides
- Removed pictures/
- Removed music samples
- Made sure that git creates run/ when cloning
2021-01-10 20:52:45 +03:00
eb34a4c0d2 Replaced ALTest with AudioSystem class 2021-01-09 19:01:18 +03:00
a4dd14491d Fixed build scripts
- Eclipse is now able to detect native dependencies correctly
- `buildPackages.sh debian' exits with correct exit code
- Renamed `require*Dependencies' to `request*Dependencies'
2021-01-09 14:14:36 +03:00
7a2721c7b3 Fixed missing manifest file in built JARs 2021-01-08 00:44:49 +03:00
e389d2ad67 Refactored build scripts and removed unused dependencies
- Added the following Gradle tasks:
  - buildLocal (alias for build)
  - buildCrossPlatform (builds with all natives)
  - packageDebian
  - packageWindows
- Gradle no longer downloads or packages natives for wrong platforms
(unless buildCrossPlatform or require*Dependencies is run)
- Gradle should no longer complain about deprecated features
- buildPackages.sh is now a lot more robust
- Removed the following dependencies:
  - Apache Commons Math
  - Everything in LWJGL except OpenGL/AL, GLFW, STB and core
2021-01-08 00:33:53 +03:00
eb82c96390 Lots of small tweaks
- Added text outlining
- Shrunk and moved compass bar (it no longer pretends to be a hotbar)
- Changed cross to match text proportions
- Refactored TileRenderSimple into TileRender{Opaque,Transparent}Surface
  - Also renamed OpaqueTile into OpaqueSurface
- Added about and version info
2021-01-07 18:26:54 +03:00
e467d00877 Probably fixed that GUI freeze that WarGreg reported 2021-01-07 16:51:34 +03:00
1bba20504d Set up crash reporting for Guava's EventBuses
- Added GuavaEventBusHijacker to access an inexplicably package-private
constructor in EventBus
- Added and utilized ReportingEventBus that reports caught exceptions
2021-01-07 00:13:18 +03:00
c919ffc8ce Multiple blocks and tiles can now be placed
- Different blocks can now be placed
  - Select block with (vertical) mouse wheel scrolling when block
placing is active
  - All blocks except Test:Air are available
- Different tiles can now be placed
  - Select tile with (vertical) mouse wheel scrolling when tile placing
is active
  - Switch between placing blocks and tiles with middle mouse button,
horizontal mouse scrolling or Shift + (vertical) mouse scrolling
- Changed Test GUI text color to white to increase readability on blocks
2021-01-06 23:25:05 +03:00
339e11d3ac Fixed several miscellaneous bugs
- Recolored Test:Stones to better match granite textures
- Selection box restored
- Controls no longer get stuck after player entity is reloaded
- Moved test spawn location a little down so chunks would load
conveniently
- Moved test spawn variable into TestContent
2021-01-06 21:44:54 +03:00
890dd16ec6 Added DynamicStrings to minimize String.format invocations in GUI 2021-01-06 21:26:19 +03:00
saval559362
755a6932cf Updated the control file for the build 2021-01-05 20:42:20 +03:00
008e8b33a5 Added color multiplier stack to shaders, fixed dynamic font colors
- ShapeFragment.glsl now declares uniformColorMultiplier, which is used
as an additional fragment color multiplier (independent from VBAs)
  - Managed with a new stack by ShapeRenderHelper
- Fixed dynamic font colors
2021-01-05 19:08:53 +03:00
d197c0a73e Colors are now always Vec4, ARGB ints are only wrappers 2021-01-05 18:51:44 +03:00
a6c1b914c1 Fixed and re-optimized static labels 2021-01-05 17:45:28 +03:00
18bac9d2b5 Fixed dynamic labels, broke font colors and static label optimization 2021-01-05 17:12:02 +03:00
7b417d612d Oops, forgot to move snow layers 1 km up 2021-01-05 17:07:20 +03:00
524e79008f Removed some leftover debug content 2021-01-04 21:57:54 +03:00
2ce11b5d01 Added granite & snow, updated dirt texture
- Added granite (monolith, cracked and gravel variants)
  - Generates as a random combination of the variants instead of stone
on mountain cliffs
- Added snow (opaque, half and quarter variants)
  - Generates at altitudes above 1500 m
  - Distribution is bad atm, not fixing until proper worldgen is
introduced
- Reduced cliff areas
- Hotfixed texture flickering
- Changed dirt texture
2021-01-04 21:55:54 +03:00
5157a675af Hotfixed collision drag, still needs a lot of testing 2021-01-04 11:46:16 +03:00
17e0714913 Resized and improved tile textures 2021-01-04 01:13:14 +03:00
6f82d1d8b8 Fixed some minor bugs 2021-01-03 23:19:23 +03:00
e7433c90e2 Closest chunks models are now updated first 2021-01-03 16:05:47 +03:00
daba418361 Hopefully fixed #8 by enforcing only one change per tile per tick
- TickerCoordinator.pendingChanges is now a HashSet
- TickerCoordinator now makes some best-effort checks to make sure the
world does not change during evaluation phase
- Extracted Cached{Block,Tile}Change
  - these classes implement hashCode() and equals() based on the
location of the block/tile they affect, thus ensuring that only one per
block/tile remain in the aforementioned set
- Similarly extracted PacketAffect{Block,Tile,Entity}
- Renamed a bunch of packets
2021-01-03 13:21:47 +03:00
cc031529a1 Added OpenSimplex2 and a fancy world generator 2021-01-02 20:48:29 +03:00
ea56b642ee Fixed PacketSendEntity
- Moved PacketSendEntity to correct package (.common.world.entity)
- Temporarily added position, velocity and direction to EntityData
read/write methods

- Increased view distance to 150 m
- Squashed visible area vertically (to load less underground and air
chunks)
2021-01-02 17:06:55 +03:00
16c89b963e Fixed test generator not populating chunks that were loaded from disk 2021-01-02 11:26:06 +03:00
8c6794e7da Merge branch 'master' into multichunk
Conflicts:
	src/main/java/ru/windcorp/progressia/server/ServerThread.java
2021-01-02 10:34:47 +03:00
7a9e03f700 Added generation hint persistence 2021-01-02 10:26:34 +03:00
65820040ce Added FPS and TPS display averaging 2021-01-02 00:37:12 +03:00
01645f5c6e Documented and prettified CrashReports 2021-01-02 00:08:32 +03:00
06f4b4637d Added world generation hints, altered ChunkIO slightly, fixed some bugs
- A custom Object can be appended to any ChunkData to save its
generation status
  - Handled by WorldGenerator
  - Persistent
  - Used to determine whether a chunk is ready to be sent to client
- ChunkIO now requires an IOConext
- ChunkIO now requires Data{In,Out}putStreams (as a combination of
Data{In,Out}put and {In,Out}putStream)
- Fixed some minor bugs
2021-01-01 23:06:32 +03:00
bedc9fc729 Enhanced crash report interface
- CrashReports.report now throws an exception instead of invoking System.exit()
  - Reduced chance of deadlocks
  - Improved code readability
- added CrashReports.crash to handle exceptions thrown by report() in top-level catch blocks
2021-01-01 22:32:07 +03:00
00773d4f8b
Fixed compilation on JDK 8 2021-01-01 20:25:47 +03:00
77599e857d Introduced WorldGenerators 2020-12-31 15:36:21 +03:00
6e6701d2e5 Merge branch 'multichunk' 2020-12-30 14:49:59 +03:00
2947e9acff Add world persistence because I can
This is terribly inefficient both storage- and TPS-wise.
Enable/disable with ru.windcorp.progressia.test.TestWorldDiskIO.ENABLE
2020-12-30 14:47:43 +03:00
ef928b382f Implemented TestChunkCodec and removed chunk generation from client 2020-12-30 14:22:34 +03:00
saval559362
2ccba64687 Fixed a bug with the build 2020-12-30 12:46:56 +03:00
c9087e7215 Spread chunk updates over several frames
- At most 1 chunk is updated (previously known as 'buildModel') every
frame
- 3x3x3 chunks closest to the player are updated in real-time without
the aforementioned limit
2020-12-30 00:29:25 +03:00
saval559362
2960ea0b23 Added binary dependencies to installers 2020-12-30 00:05:33 +03:00