Commit Graph

359 Commits (ad029752ef5ef4f2e4a24ba8dd13520b51829ab4)

Author SHA1 Message Date
Jordan Snelling 328bf4f2c8 Fix windows build 2019-11-19 21:41:14 +00:00
Nicole Collings a21521cc2d Fix missing biomes 2019-11-19 13:14:28 -08:00
Nicole Collings af8fb9c5a3 Biome tinting, client side biome data 2019-11-18 23:03:51 -08:00
Nicole Collings 2b753121d7 Voronoi disagram - based biomes. 2019-11-13 20:42:25 -08:00
Nicole Collings 2f9defc215 Create register_biome function, move dump() to base. 2019-11-13 18:55:59 -08:00
Nicole Collings ab97b92569 3D Voronoi Diagram implementation~ 2019-11-12 19:18:11 -08:00
Nicole Collings 737a7da74f Make Dropped Items zoop into player when theyr're close enough.
* Set loadfile to nil
2019-11-12 01:15:06 -08:00
Nicole Collings c14c5f6b74 Merge remote-tracking branch 'origin/master' 2019-11-04 20:26:57 -08:00
Nicole Collings 5831977790 Support text and inventory component types in GameGui. Clean up parsing.
* GameGUI Support resizing.
* Bind player.close_menu function.
* Remove cShowMenu and cHideMenu
2019-11-04 20:26:50 -08:00
Jordan Snelling 9aa94e0b12 Fix Windows build 2: electric boogaloo 2019-11-04 15:28:20 +00:00
Nicole Collings ae286f84eb New inventory format and inventory parsing algorithm in GameGui. 2019-11-04 00:43:12 -08:00
Nicole Collings 3d5b705031 Double World Gen Queue size 2019-11-02 17:01:11 -07:00
Nicole Collings 7cbbd6fed2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/game/Client.cpp
2019-11-02 16:46:52 -07:00
Nicole Collings 352caaa268 Fix compilation on Linux 2019-11-02 16:27:13 -07:00
Nicole Collings d50357badb Re-enable --mode=local command line argument with LocalServerInstance 2019-10-31 14:07:53 -07:00
Jordan Snelling 6c06d0ba8d Fix Windows x64 builds 2019-10-31 01:14:17 +00:00
Nicole Collings c6418540b3 Lua Vector Library in base
* math.round function
2019-10-30 15:46:40 -07:00
Nicole Collings 30221bd611 Right align Item Counts 2019-10-30 14:20:53 -07:00
Nicole Collings 0dc932acdf InventoryList, ItemStack, GUIInventoryList shows InventoryList contents. 2019-10-29 23:41:25 -07:00
Nicole Collings d134eb089f Optimize GUIText setText method. Reserve and don't temp construct. 2019-10-29 20:36:46 -07:00
Nicole Collings ba3770aa21 Clean up Player Class some more, Fix Wireframe, new PointedThing class.
* Refactor PointedThing class to be cleaner and support pointing at nil.
* Convert Dir into an enum class
2019-10-29 20:06:55 -07:00
Nicole Collings 8272aac9c1 GUIInventoryItems and GUIInventoryLists 2019-10-29 19:21:50 -07:00
Nicole Collings 2537b629ec Optimize the hell out of Player::findSelectedBlock 2019-10-29 00:50:19 -07:00
Nicole Collings 2fd5d7d140 Abstract Player collision logic into Collidable class.
* Optimize movement code and clean up Player logic.
* Fix zeus:default:dropped_item display_object
2019-10-29 00:31:00 -07:00
Nicole Collings a8547ab661 Make serializer ISO C++17 Compliant, Disable logging color codes on Win. 2019-10-27 19:37:40 -07:00
Nicole Collings c48f0a4427 Player set_selected_block property.
* Tweak grass sway perlin noise.
2019-10-27 19:37:11 -07:00
Nicole Collings 2a99b7c6c9 Give Player control over GameGui, unlock mouse when in menu. 2019-10-24 20:16:39 -07:00
Nicole Collings 26904f2cfe Make API throw error if registered_* isn't within mod namespace.
- Update mods to use their proper namespace.
- Fix a segfault in the RegisterBlocks function related to models.
- Seperate base blockmodels into a mod called `base`.
- Mod named `base` always loads first.
2019-10-24 18:29:02 -07:00
Nicole Collings eaf379faa8 LuaPlayer Usertype & Bindings 2019-10-23 23:34:30 -07:00
Nicole Collings 098e5ff86d Make PlayerEntities use the Player model. 2019-10-19 14:03:07 -07:00
Nicole Collings be60f1ed4d Lua Keypress Events! 2019-10-15 00:40:16 -07:00
Nicole Collings 7ce536aea9 Broken bone based animation 2019-10-13 22:40:50 -07:00
Nicole Collings 6d5fbcb5c4 Run LuaEntity update func, Optimize remove_entity, core.__builtin table.
- Fix a bug that was causing the server to infinitely freeze up.
2019-10-11 15:13:46 -07:00
Nicole Collings c576e0c58f Move Lua Entities to Dimension, add remove_entity command. 2019-10-11 01:10:18 -07:00
Nicole Collings e2e4e3010b Resolve a bunch of CLion warnings. 2019-10-10 23:36:45 -07:00
Nicole Collings 659c63388a Local Blitz3D Models from mod /models/ directories, send over network.
- LuaEntities can now use .b3d models.
- GameObject (Block & CraftItem) models are now cached.
2019-10-10 19:55:49 -07:00
Nicole Collings 003c46ca9a Add new player model, tweak MeshGenStream variables. 2019-10-09 13:46:53 -07:00
Nicole Collings e57f99b9c4 Register Entity & Add Entity API Functions.
- LuaEntity Usertype
- Entities with dynamic models
- Lua functionality for setting ItemDef models (Blocks and Items)
- Move interp functions to int_, make set_ immediate.
- Tweak SSAO Shader
2019-10-05 00:53:37 -07:00
Nicole Collings 55595c6ecf Item Models 2019-10-02 16:26:48 -07:00
Nicole Collings 60e2d9ea4e DebugGui Shows items. 2019-10-02 00:16:49 -07:00
Nicole Collings 5cb208d6fc register_item and CraftItemDef 2019-10-01 23:54:11 -07:00
Nicole Collings b0d9676f99 Commit Shelved Changes related to previous commit. 2019-10-01 16:36:42 -07:00
Nicole Collings 7d57b7d487 Seperate Dimension into ClientDimension and ServerDimension
- Experiment with lowdef rendering
- BlockModel::createCube function
- Tweak the number of threads the helper processes get
- Fix DebugGui Mesh Updates
- Optimize BlockChunk class
- Moved Mesh Generation code to LocalDimension
2019-10-01 16:33:04 -07:00
Nicole Collings 0d1cdfb724 Move Rendering the world to Dimension 2019-09-29 23:17:34 -07:00
Nicole Collings 2ad700b63d Dimension class work 2019-09-29 22:17:05 -07:00
Nicole Collings 3946d50f73 Temp 2019-09-29 22:13:15 -07:00
Nicole Collings 009d2f38ee Clear the gBuffer properly! 2019-09-28 16:55:32 -07:00
Nicole Collings 2bea0a34c6 Clean up Renderer class. 2019-09-25 23:30:42 -07:00
Nicole Collings 4c00f88963 Abstract SSAO Logic into *Shader classes 2019-09-24 23:39:12 -07:00
Nicole Collings 894cd18e8b Make set(int loc, ...) functions on the Shader. 2019-09-24 16:48:08 -07:00
Nicole Collings 40c46d8316 Visible (buggy) SSAO 2019-09-13 16:15:46 -07:00
Nicole Collings b12a3dc5a1 Function SSAO 2019-09-13 14:24:54 -07:00
Nicole Collings e0d5e22155 Use sol::environment to create locally scoped variables. 2019-09-09 16:40:19 -07:00
Nicole Collings b8d8396efd Create stack traces in lua & fix stack trace not showing file name
* Fix missing texture cracked blocks
2019-09-08 20:55:31 -07:00
Nicole Collings 6ee9a3cb3c Reimplement swaying leaves & grass with version 3.30 shaders.
* Move SOL_ALL_SAFETIES_ON to CMake target_compile_definitions.
2019-09-08 12:33:33 -07:00
Nicole Collings a7088bcd1f Remove references of Zeus from CMake files and separate LoadLibs.cmake 2019-09-08 11:27:28 -07:00
Nicole Collings c7a8fea587 Change Lua global namespace to "zepha" 2019-09-08 11:26:53 -07:00
Nicole Collings fc325c4c2f Try to statically compile GLEW 2019-09-04 14:21:38 -07:00
Nicole Collings 59044b8f66 Not-working userdata customization point think 2019-08-31 23:58:38 -07:00
Nicole Collings 27c17af114 Make Entity class use Model instead of Mesh 2019-08-30 17:45:22 -07:00
Nicole Collings 7b77c4b07b Armature based bone animations and Assimp importer 2019-08-26 22:21:21 -07:00
Nicole Collings 7b9c2ab563 Replace ALL include guards with #pragma once 2019-08-24 17:39:35 -07:00
Nicole Collings 43cb70da4f Seperate Chunk, Entity, and GUI mesh related structures 2019-08-24 17:29:31 -07:00
Nicole Collings 1bc66e4d60 Fix multiplayer crash on server 2019-08-14 01:54:51 -07:00
Nicole Collings 3002cfd9aa New font, fix font kerning, implement blend color & font color. 2019-08-13 20:30:46 -07:00
Nicole Collings a92676fa67 Add the name property to ItemDef 2019-08-13 02:08:08 -07:00
Nicole Collings 05fae1f52c Cull some redundant files left behind from the last commit. 2019-08-13 01:52:45 -07:00
Nicole Collings 9113e6c4af Generify most definition classes, add preliminary item support. Pre-cull 2019-08-13 01:38:57 -07:00
Nicole Collings 4bd042fb72 Seperate blocks into their own lua files, move flowers into the flowers mod. 2019-08-10 14:54:44 -07:00
Nicole Collings cead4e705d Tweak some more Mapgen, add temp "water" block. 2019-08-10 14:21:13 -07:00
Nicole Collings e82ae10259 Improve MapGen 2019-08-08 00:29:12 -07:00
Nicole Collings f572fa8167 Refactor mod texture loading & mod directories, load textures over net. 2019-08-06 19:17:54 -07:00
Nicole Collings 2420706da6 Send mods over network. 2019-08-04 02:07:14 -07:00
Nicole Collings e637622aa8 Sandbox Lua files into ram, namespace them, parse conf.json, show_menu
* Lua show_menu function to show inventories. WIP
* Copy all lua mods & their files into a series of structs,
  stored in LuaMod, LuaModFile, and LuaModConfig classes.
* Sandbox SandboxedDoFile further by making it only open LuaModFiles
* Recursive mod searching which identifies conf.json as a mod root
* Read conf.json for name, description, version, and dependencies
* Organize mods to load in order of their dependencies
2019-08-03 18:18:05 -07:00
Nicole Collings d0ae343543 Update the inventory - fix the size of inventory boxes. 2019-08-01 02:19:57 -07:00
Nicole Collings 8c2c842373 Inventory Test - New Art assets & Game Scene GUI
* New tool textures
* Net material textures
2019-07-31 22:42:07 -07:00
Nicole Collings 9885744c94 Finish moving existing GUI elements to new system 2019-07-28 02:07:36 -07:00
Nicole Collings ec4d198229 Menus Part 1 - Refactored TextEntity class to GUIText class.
- Move MenuScene and ConnectScene elements to new GUI Components
2019-07-27 23:51:29 -07:00
Nicole Collings 4db2351408 Menus Part 1 - Refactored TextureRect class to GUIRect class.
- Made mouse not lock immediately upon game opening.
2019-07-27 13:19:23 -07:00
Nicole Collings 758054fa17 Finish final 3 Codacy bugfixes. 2019-07-24 18:00:28 -07:00
Nicole Collings 13a42d55d0 Add helper function do display IP addresses in string form. 2019-07-24 12:33:26 -07:00
Nicole Collings 9dd2764aa0 Optimize MeshGenStream's logic 2019-07-24 00:55:18 -07:00
Nicole Collings 7bdb99b51e Codacy "Code Style" bugfixes. 2019-07-23 23:25:38 -07:00
Nicole Collings 427fef04c9 Codacy "Security" bugfixes. 2019-07-23 22:25:13 -07:00
Nicole Collings 50dae1a828 Codacy "Performance" bugfixes. 2019-07-23 22:13:56 -07:00
Nicole Collings e8dae4c526 Codacy "Error Prone" bugfixes. 2019-07-23 22:09:13 -07:00
Nicole Collings eb66677a0b More Codacy bugfixes. 2019-07-23 20:31:39 -07:00
Nicole Collings 7b821d7b4a Hopefully fix a long standing memory leak with MeshGenStream 2019-07-23 20:02:37 -07:00
Nicole Collings b94be32a1b Fix some Codacy style errors. 2019-07-23 00:53:49 -07:00
Nicole Collings c391df1942 Test commit II - Discord web hook 2019-07-22 15:08:53 -07:00
Nicole Collings 28a66cc55c Test commit - Discord web hook 2019-07-22 15:04:55 -07:00
Nicole Collings 4d912949d4 Resolve some warnings pointed out by Codacy 2019-07-22 14:56:19 -07:00
Nicole Collings bfdf58cfac Fixed the block jumbling bug!
- Cleaned up BlockDef, made it more struct-like, removed getters.
- Stopped displaying TextureAtlas in DebugGUI
2019-07-22 14:53:34 -07:00
Nicole Collings 5fcbc5e75e Fix memory corruption in ConnectScene 2019-07-22 14:14:25 -07:00
Nicole Collings 1eeacfb102 Send IndexIdentifier information over the network.
- Improve scene manager
- Fix title screen
- Add ConnectScene scene
2019-07-22 01:22:40 -07:00
Nicole Collings 252c490aa2 Redo CMakeList to add more organization 2019-07-19 13:16:55 -07:00
Nicole Collings 98ab5ea664 Refactor build files and libraries.
- Standardize CMake include file structure
- Build GLFW in CMake configuration
- Include libs folder in repository (with licenses!)
- Update all #include statements that were broken
2019-07-17 22:42:42 -07:00
Nicole Collings 828fb1ee75 Modified the README.md and LICENSE.md files.
Added some information and tweaked the license to allow contributions.
2019-07-15 13:32:51 -07:00
aurailus a5dc8ae45f Overhaul of many classes to convert constructors to init lists + more 2019-07-11 23:50:24 -07:00
aurailus 320c0cec0f Make PacketType an enum class 2019-07-07 20:36:55 -07:00
aurailus 76173d06d1 Revise Server Client Handling
Fix Transparency in Mushroom Textures
2019-07-03 13:24:19 -07:00
aurailus bb436e23c4 Convert Server to new API standards 2019-06-29 01:12:56 -07:00
aurailus fe80175c08 Move all API functions into their own header files
- Defer loading blocks until all files are processed
2019-06-29 00:43:48 -07:00
aurailus 0f1db62bcb Add Mesh Mods and Offset_X/Y/Z mods. 2019-06-27 16:59:16 -07:00
aurailus d25299b9ba Remove redundant SelectionBox::Face class. 2019-06-21 14:29:13 -07:00
aurailus dcb5a75e6f Rename SWAY_GROUNDED to SWAY_ATTACHED. +
Base it off of all points, not just ground.
2019-06-21 14:18:33 -07:00
aurailus 90bacd330d Implement grass waving effects.
- Renderer wind texture.
- New draw types, SWAY_GROUNDED and SWAY_FULL_BLOCK
2019-06-20 22:59:00 -07:00
aurailus 1fa8b4f4ec ShaderMod code in vertex shaders
Compressed normal into float.
2019-06-19 22:38:29 -07:00
aurailus 262906c3a7 ShaderMod code in vertex shaders
Compressed normal into float.
2019-06-18 23:49:06 -07:00
aurailus 153a7571ab Seperate Deferred World shader from Entity shader. 2019-06-18 19:48:32 -07:00
aurailus d16b34f2d5 Fixed memory leak with WireframeEntity (FINALLY) 2019-06-18 00:15:24 -07:00
aurailus 3fcb939a9a Fix ParticleEntity and PlayerEntity missing normals. 2019-06-17 13:41:52 -07:00
aurailus d500fe65c4 Deferred rendering engine 2019-06-17 00:17:24 -07:00
aurailus 6b99bbd9a0 FBO is being written to and read from 2019-06-16 23:54:28 -07:00
aurailus bfd016dfd7 Remove pointers from Renderer, move uniforms to classes. 2019-06-16 19:16:29 -07:00
aurailus 225862bdd1 Clean up & Optimize MeshGenerator class 2019-06-16 18:35:40 -07:00
aurailus 5ffd3c6dbb Fixed blocks not propagating into 'empty' chunks, fixed empty tracking. 2019-06-16 00:08:54 -07:00
aurailus 09762ebbee zeus.delay and zeus.get_block API functions. 2019-06-15 23:04:10 -07:00
aurailus 41e4883216 Add zeus.set_block & zeus.remove_block to the Lua API. 2019-06-12 18:06:51 -07:00
aurailus 2042ca1b45 New Log namespace for colored debug output.
* Converted all output to use the new log namespace.
* Fixed a bug with path.
2019-06-12 14:45:08 -07:00
aurailus b590e57b4e Client and Server both run Lua code under separate APIs + sandboxing.
* Seperate Lua API into a Client API and a Server API
* LuaApi split into 2 files and named ClientLuaParser & ServerLuaParser
* ModuleServerRegisterBlock modified to work with ServerDefs
* Lua Parsers now find mods in the mod root directory
* Path class to sandbox included lua files
* Move util.lua code into ModuleClientUtils / ModuleServerUtils
* MapGen uses block names instead of hard-coded IDs
* Moved header-only-libs implementations into Main.cpp
* Two test mods with only main.lua to test mod loading
2019-06-12 00:15:47 -07:00
aurailus 709eda6eb2 Path Class for Sanitizing Path Strings 2019-06-11 23:38:54 -07:00
aurailus eb66f9d3e6 Create a new series of classes to store block definitions on the server.
* Added ServerBlockAtlas class
* Added ServerBlockDef class
* Added ServerBlockModel class
* Added ServerMeshPart class
* Added ServerDefs class
2019-06-10 23:53:24 -07:00
aurailus 6a66282eea Add some padding to the UVs to mitigate "white line" visual glitches 2019-06-10 22:15:05 -07:00
aurailus 2a35ff808e Small change to function name 2019-06-04 17:00:29 -07:00
aurailus f35e825083 Multiplayer Block Update Synchronization 2019-06-04 00:05:52 -07:00
aurailus 00f9dff173 Finish Particles, Fix some TODOs
* Update Main
2019-05-27 23:01:22 -07:00
aurailus be62a302c9 Particles + Optimization
* Added Particles.
* Used Valgrind to identify and remove a few memory leaks.
2019-05-16 16:29:46 -07:00
aurailus cfc6430aa5 Rewrote Meshes to use a Vertex struct instead of float primitives. 2019-05-15 23:01:09 -07:00
aurailus 2e07d9b50d Placing Blocks!
* Lower terrain sampling density
* Player "model"s
* Fix updateRightMouse function on InputManager
2019-05-15 20:35:26 -07:00
aurailus 98a85c76df New Block Damaging Functionality, Chunk size = 16
* Re-enable Atlas Tex
* Rename BlockModelEntity to BlockCrackEntity
* Disable Player Crosshair
* Fix isMousePressed function in InputManager
* Clean LocalWorld update function
* Moved block break code from player to LocalWorld
* Reduced Chunk Size back to 16
2019-05-14 12:05:54 -07:00
aurailus bd777c2e08 Finished Texture Atlas deletion.
* Increase Texture Atlas size
* Improve Terrain Generation
* Block Break persistence
* Increase Chunk render distance
2019-05-01 19:57:50 -07:00
aurailus 06e16eeab5 Dynamic Atlas deletes unused Textures. 2019-05-01 15:33:32 -07:00
aurailus 20a9eaa298 Generate crack textures dynamically on the texture atlas,
Note: Atlas does not discard unused textures yet.
2019-05-01 14:49:39 -07:00
aurailus 84cff00a3c Update texture atlas to support creating crack textures.
* Add Halfslab models
* Add grass slab block
2019-04-30 00:39:33 -07:00
aurailus 9565851b09 TextEntity line height tweak 2019-04-29 15:11:54 -07:00
aurailus 17d92f0f9e Remove every single pointer from DebugGui 2019-04-29 14:54:22 -07:00
aurailus 7a036cfee9 Refactor DebugGui, modify HUD classes
* Add StatGraph class to encapsulate common graph things
* Merge TextBuilder with TextEntity
* Add Util class for the float / vec to string conversions
2019-04-29 00:58:01 -07:00
aurailus 6cddfe3bd8 Tweak mapgen and generation range 2019-04-24 17:28:58 -07:00
aurailus fa82be9c59 New Dimension code which deletes mesh & block chunks far away [!BUG]
* Important note: There is a ram leak in this code somewhere, and probably other bugs, writing code at midnight is a bad idea.
2019-04-23 00:07:17 -07:00
aurailus 46f455939c Pre-large-scale-cleanup 2019-04-22 17:06:32 -07:00
aurailus 8e48bb1021 Un-template the RegionHandler & derivatives. 2019-04-22 14:12:55 -07:00
aurailus 57b6915ac5 Missing texture files commit 2019-04-22 13:41:46 -07:00
aurailus d119cee07f Remove all Magic Numbers relating to Chunk Size, change size to 32^3 2019-04-22 01:04:43 -07:00
aurailus 91cbc6591b Added bushes to MapGen
* Erased some nearly-transparent pixels from default_leaves_puff.
* Increased the discard threshold for transparent fragments.
2019-04-21 19:05:57 -07:00
aurailus a853cfbdbf Load util.lua in LuaApi.cpp instead of default
Finish some misc TODOs
2019-04-21 18:02:31 -07:00
aurailus d9b4e852e9 New lua functions and C++ dofile
- Override lua dofile with a C++ implementation for future security
- LModuleUtil containing zeus.get_path()
- zeus.get_path() function for relative paths
- Register air node in C++ so there isn't strange lua code in default
- Move unused textures to a folder that isn't scanned temporarily
- Temporarily shrink texture atlas
2019-04-21 17:20:16 -07:00
aurailus 4078e29440 Refactor the Lua code for the default game.
* Split the models and block definitions into two folders
* Gave some models more generic names
2019-04-21 15:25:06 -07:00
aurailus 91e3cc81ca Remove most pointers from BlockDef, BlockModel, and BlockAtlas classes. 2019-04-20 15:15:25 -07:00
aurailus 1d8962d14c Rewrite Register_Block method, add docs to Register_BlockModel func. 2019-04-19 16:50:11 -07:00
aurailus c154670f2e Convert Lua functions to Lambdas 2019-04-19 15:33:16 -07:00
aurailus d83e0d5f7e LocalWorld optimization 2019-04-18 20:11:34 -07:00
aurailus 7ac199127d Rename DynamicAtlas to match it's filename (TextureAtlas) 2019-04-18 19:02:36 -07:00
aurailus ebac3106b5 Complete Reorganization of file tree
* Merged ArrayTrans3D with VecUtils
* Add crack textures
2019-04-18 17:03:52 -07:00
aurailus c716fe3afd Dynamic Texture Atlas (oh my god) 2019-04-17 23:09:12 -07:00
aurailus e6c4baeb2b Remove a ton of unnecessary pointers in Block Mesh related code.
Add BlockModelEntity class
2019-04-15 14:12:59 -07:00
aurailus 7fe09b579d Fix FOV being incorrectly in Radians
* Implement Desert Biome, disabled
2019-04-15 14:12:10 -07:00
aurailus e71a3c57ab Convert WireframeGenerator to WireframeEntity 2019-04-11 00:45:45 -07:00
aurailus 61ccef158b Roll back changes. 2019-04-11 00:11:42 -07:00
aurailus 860254e51c InputManager 2019-04-10 18:44:17 -07:00
aurailus dd9ea0038a Drawable/DrawableGroup class, remove temporary render code in GameScene 2019-04-09 21:42:27 -07:00
aurailus b1c10e4d90 Fix debugGui pointed block field. 2019-04-09 15:49:31 -07:00
aurailus d8e9f0eb7a Wireframe is partially transparent and keeps a constant visual scale,
Allow Partial Transparency in world.fs,
Fix partially transparent pixels in tallgrass.
2019-04-09 12:13:07 -07:00
aurailus bc52cd6e02 SelectionBox support for block collision boxes. 2019-04-09 00:51:38 -07:00
aurailus 2653cc46d7 Simple WireframeGenerator and collision box 2019-04-08 22:55:19 -07:00
aurailus 2539352728 Modify Vertex Attributes to allow colored vertices. 2019-04-08 20:21:15 -07:00
aurailus 5e9a0774be BugFixes, Optimizations, Speed Improvements
#Fixes
* Fix Segfault when you go back to previously generated chunks
* Make dimension & BlockChunks use shared_ptrs (finally)
* MeshGenStream no longer unnecessarily duplicates BlockChunks
* Different Vertical Gen Range to Horizontal

# Clean Up
* Convert most MeshGenerator functions to using references (safety)
* Optimize Flora noise
* Remove raw C array Mesh Initializer (it was messy)
* Pre-generate ActiveRange positions and remove runtime sorting
2019-04-08 19:18:03 -07:00
aurailus a1e5f39652 Changed Region & MapBlock Sizes to 4 2019-04-07 18:07:36 -07:00
aurailus 128c220ae7 Generic RegionHandler class, make Dimension extend said class. 2019-04-07 01:47:19 -07:00
aurailus 25a73fa480 Use the new Dimension class
* Fix the DebugGui Background Box
2019-04-07 01:22:36 -07:00
aurailus 63046936e7 Add Dimension Class, Clean up DebugGui
* Clean up DebugGui's terrible update function.
* Fix TransPos functions and add namespacing for clarity.
* Dimension, MapBlock, and Region classes.
* Tests for Dimension functionality.
2019-04-07 00:54:07 -07:00
aurailus ec87cec560 TransPos class commit 2019-04-06 01:47:07 -07:00
aurailus a80c192a25 Move NoiseSample class to gen folder, delete noise folder. 2019-04-04 01:12:41 -07:00
aurailus f69b1bbfc9 Adjust player move speed 2019-04-03 23:32:24 -07:00
aurailus 1217969102 Font is no longer monospaced!
* Font is not monospaced
* Minor texture changes for font glyphs
* Shadow under letters
2019-04-03 23:21:43 -07:00
aurailus cd6d62696b MapBlock & Region functions in TransPos.h 2019-04-03 23:21:05 -07:00
aurailus 7771db2eb5 Fixed Coordinate System
* For some reason, there was a "negative" 0, (two block positions were
* considered 0 in each axis), there was also a 16 in some chunks. This
* was super weird, and problematic.
2019-04-03 19:26:37 -07:00
aurailus f962ddb4b3 Procedural Chunk Generation & Bugfixes
* Fix shader making bottom faces transparent.
* Change FOV to 70
* Fix chunk generation(previously was using position vector incorrectly)
* Reimplement movement generation
* Add username class to player
2019-04-03 13:27:06 -07:00
aurailus 16ff339a2b Add flowers, Pad Texture Atlas, Move block break code to Player class 2019-04-02 20:58:20 -07:00
aurailus e50ad18663 Added fog to the shader, added keybinds to toggle UI
* F1 Toggles all UI
* F3 Toggles Debug Menu (Except FPS)
Added visible property to Entity class
Decrease Viginette intensity
2019-04-01 23:05:16 -07:00
aurailus 6fe900eb29 Rewrite Map Generation using LibNoise! 2019-04-01 23:03:36 -07:00
aurailus 7ba75bb805 Implement Local Generation Depth 2019-04-01 14:15:15 -07:00
aurailus 03acd95e7c Rewrite LocalWorld Class
* MeshGenStream class to Mesh Chunks
* WorldInterpolationStream class to client-side-gen chunks (wip)
* Clean up attemptMeshChunk, adjacentChunkExists, and getAdjacentsCull
* Remove handleMeshGenQueue and handleChunkGenQueue
* Rewrite LocalWorld Update method to use Streams
* Delete WorldThreadDefs
* Seperate chunk functions into ChunkVec class
* Seperate Vec3Compare function into Vec3Compare class
* VecUtils class to get cardinal directions
2019-03-30 00:48:02 -07:00
aurailus fc6ba195c3 Commit some Missing Files 2019-03-19 23:55:45 -07:00
aurailus 5d87863cb8 Replace Perlin noise with Simplex Noise, Optimize NoiseSampler class. 2019-03-19 23:53:24 -07:00
aurailus 4a195a96cb Server debug information, distance sorted generation, faster meshing. 2019-03-15 23:22:53 -07:00
aurailus e85451abfe Misc World Graphical Tweaks
* Brighten the world in the vertex shader a little bit
* Set the clear color to be brighter
* Cap the player's yaw value
* Add a viginette
2019-03-07 22:45:58 -08:00
aurailus b66ca8284b Server Side Chunk Generation
* Server World Class
* WorldGenStream class to handle multithreaded map generation
* ServerPlayer stores active chunk boundaries

* BlockChunk stores position
* Renamed client World to LocalWorld
* Disabled client side Generation
* ServerConnection stores chunk packets to be used by the GameScene,
  which gives them to the world (change later?)

* Reenabled "BlockChunk Packet Encoding" test in tests/BlockChunk.cpp
2019-03-07 17:43:05 -08:00
aurailus 3bba3adf66 Rename World to LocalWorld 2019-03-05 16:54:09 -08:00
aurailus ec1b4ee4ec Show VRAM usage on debug menu 2019-03-04 22:33:50 -08:00
aurailus 314e1ce33e Converted PacketType & PacketChannel const ints into enums. 2019-03-04 18:16:19 -08:00
aurailus 96ea94eee1 Updated DebugGUI to show culled chunks proportion.
* Added setMax function to histogram
2019-03-04 15:22:15 -08:00
aurailus 2c035ecc57 Frustum Culling
* Frustum class for Frustum Calculations
* FrustumAABB class for Axis Aligned Bounding Boxes
* FrustumPlane classes for defining the planes
* Cleaned up Ray class
* Converted Camera properties to variables
* Only render chunks if inside of Frustum
2019-03-03 23:43:53 -08:00
aurailus 67f8440647 Preparing for Frustum Culling
* Moved matrix related code to the camera
* Made GUI Elements and the Perspective / Ortho matrices resize on
  buffer (window) resizing.
2019-03-02 17:24:15 -08:00
aurailus 012bea39e9 New Map Generation
* Interpolation Class
* noise folder with NoiseParams, NoiseSampler, and NoiseSample classes
* MapGenJobs are in a seperate file
* Rewrite of MapGen class.
2019-03-01 17:16:02 -08:00
aurailus 7fb6bdc8ee BlockChunk no longer uses a pointer to it's data. 2019-02-13 17:39:39 -08:00
aurailus 98387e9571 New Map Generation class using 3D Perlin noise - First commit
* Changed World thread vars a bit to balance performance with output.
2019-02-13 17:23:53 -08:00
aurailus 7318a6b895 Improve Crosshair Texture and add a Draw Calls histogram to the GUI
* Allow histograms to have dynamic max values
* Change ArrayTrans3D to use a reference for indAssignVec
2019-02-13 17:23:08 -08:00
aurailus 08a231ad2e Refactor of the DebugGui
* Rewrite GUI shader to allow colored rectangles
* Histograms have overwrite mode to make it easier to read them
* White histogram textures
* Mesh Gen and Map Gen histograms
* More distinct and easy to read Debug Gui
2019-02-10 19:40:12 -08:00
aurailus 3c14ca14da Support window resize, Histogram class.
* Resize buffers when the window resizes.
* Histogram class for displaying per-frame data.
* Histogram can either push data to the left when new data arrives
  (false) or Overwrite with a moving insertion point (true) based on the
  editInPlace variable.
2019-02-10 00:28:39 -08:00