Commit Graph

455 Commits (master)

Author SHA1 Message Date
Nicole Collings 83f6c78056 Change world to 3d noise, Lua animation control. Rabbit entity w/ ai 2020-01-14 16:04:22 -08:00
Nicole Collings acd99ce0c6 Add XYZ axis rotation to entities, fix dropped item rotation 2020-01-12 23:22:23 -08:00
Nicole Collings b8b8957c25 Add most of the libnoise modules to the Lua Api 2020-01-11 13:57:39 -08:00
Nicole Collings 947aa6dda5 Lua libnoise parser, biomes have seperate generation parameters~
* Delete deprecated MapGen stuff
! Entire chunk's biome-gen is defined by bottom left corner.
2020-01-10 17:31:07 -08:00
Nicole Collings 7c54de84fa Clean up the Register* functions, make them all one header file
* Reorganize src/lua
* Add `environment` table to Biome Definitions
2020-01-10 14:58:46 -08:00
Nicole Collings 732a166dab Change naming scheme from interp_pos & set_pos to set_pos & snap_pos 2020-01-09 21:04:31 -08:00
Nicole Collings c0894d46c6 Change naming scheme from interp_pos & set_pos to set_pos & snap_pos 2020-01-09 15:42:04 -08:00
Nicole Collings 5d59e013d2 Synchronized Server side entities! Many integer vectors changed to ivecs 2020-01-08 14:42:14 -08:00
Nicole Collings 72dbfd9cbf Send mods order with a vector 2020-01-07 17:03:41 -08:00
Nicole Collings 57770cb34f Finish Deserializer, remove old serializer, fix numerous std bugs 2020-01-07 16:49:39 -08:00
Nicole Collings 7e06774c21 New Serializer & Deserializer class. All functions use new Serializer 2020-01-07 14:57:44 -08:00
Nicole Collings f82052b5fc Add Local handler for ServerEntities (unfinished) 2020-01-06 19:48:51 -08:00
Nicole Collings ce07aa24b9 Transfer dirty lua entities to client -- no client handling at this time 2020-01-06 00:02:32 -08:00
Nicole Collings 12bfa015fe Add exceptions to server api methods 2019-12-28 22:42:46 -08:00
Nicole Collings 87eaf4058b Lua Entities can be registered on server side, don't transfer yet. 2019-12-28 20:40:29 -08:00
Nicole Collings 4a497ea38d placeStack & splitStack are now secured against enemy invaders
* allow_take, allow_put, on_take, and on_put lua callbacks work.
2019-12-21 21:54:06 -08:00
Nicole Collings fcb46c18e6 Max Stack Size def property
* Index inventories in Lua by 1
2019-12-19 22:55:34 -08:00
Nicole Collings bce33e9bc5 Inventory can have blocks in it! GuiShader supports 3d models.
* Increased contrast in plant_twine.png & plant_fibre.png
2019-12-18 17:12:34 -08:00
Nicole Collings 6830c4adc4 Lua Inventory API
* Split inventory mod into zeus:inventory
* Redo inventory textures
* Add more textures and items to zeus:materials
* Convert zepha.is_server() to zepha.server & zepha.client bools
2019-12-17 17:26:48 -08:00
Nicole Collings 5cf3569629 Inventory stacking, splitting, and placing 2019-12-15 16:51:41 -08:00
Nicole Collings 8167bc4c85 Inventory manipulation 2019-12-15 15:32:35 -08:00
Nicole Collings 3273dcd31b Attempt to get click callbacks on GameGui, not working. 2019-12-13 02:27:52 -08:00
Nicole Collings 270f160164 Refactor Window, Renderer, shaders to clean up code. 2019-12-13 01:59:42 -08:00
Nicole Collings 532a0c3255 Add safeties to subgame indexing & menu mod loading.
* TextureAtlas loadDirectory function can be recursive.
* Re-implement GameGui showMenu.
2019-12-13 00:54:17 -08:00
Nicole Collings e4cc4b788e Fix SIGSEGV 2019-12-12 18:46:57 -08:00
Nicole Collings 3824b06061 Lua button callbacks, menu start_game API 2019-12-12 16:42:46 -08:00
Nicole Collings 8f035fe51d Optimize GuiBuilder slightly. 2019-12-12 14:39:51 -08:00
Nicole Collings aee457fd9b Main menu sandbox & lua defined GUI 2019-12-12 02:13:28 -08:00
Nicole Collings 3aaf649c42 Refactor bottom bar, dynamically search for subgames. 2019-12-11 21:38:20 -08:00
Nicole Collings 407d35c210 GUIImageButton class 2019-12-11 14:20:40 -08:00
Nicole Collings bac6403425 `crop` texture modifier, UI flag hover textures. 2019-12-11 00:41:46 -08:00
Nicole Collings ebff66f1a7 Replace getTextureRef with operator[],delete Def member access functions 2019-12-10 23:12:29 -08:00
Nicole Collings 0143979e12 Obligatory ascii art introduction 2019-12-10 15:44:58 -08:00
Nicole Collings b4b32520e0 Make server launch with subgame argument, move mods to subgames/zeus 2019-12-10 15:14:59 -08:00
Nicole Collings 4065fbf8de Title Screen, GUIComponent insert, click events, hover state wip
* Added getMousePos to Window (should be in InputManager but w/e)
2019-12-10 14:39:45 -08:00
Nicole Collings 647a83b1ce Merge remote-tracking branch 'origin/master' 2019-12-09 21:19:09 -08:00
Nicole Collings 851de85e70 Block collision boxes, Add Step-up functionality to Collidable
* Tweak player speed.
* Make Invalid display.
* Fix some mod bugs.
2019-12-09 21:19:02 -08:00
Jordan Snelling ea2f2ac068 Fix windows build, prevent glm/ext.hpp from
compiling bad min_max extensions
2019-11-24 01:05:50 +00:00
Nicole Collings 21b91a7249 I didn't use pointers for copying 128 1000+ char strings / frame. HELP
* Fixed like 90% of the generation lag in like 10 lines of code.
2019-11-23 13:42:46 -08:00
Nicole Collings 8c3cf3ed40 Map Block Integrity 2019-11-23 02:06:37 -08:00
Nicole Collings 07bf603516 Merge remote-tracking branch 'origin/master' 2019-11-22 01:29:21 -08:00
Nicole Collings 19d6c24541 Fixed server bugs, removed unnecessary TODOs.
- Fixed Server generating excessive MapBlocks.
- Fixed Server not generating when moving.
2019-11-22 01:29:09 -08:00
Nicole Collings ac56c16c0f Rewrite Dimension to use Regions & MapBlocks again 2019-11-22 01:00:29 -08:00
Nicole Collings 49da2ad701 Organized and Optimized TransPos, renamed to Space
- Clean up VecUtils
2019-11-22 00:59:55 -08:00
Nicole Collings 54bfd5f5b4 MapGen generates by the MapBlock. More efficient MapGen algorithm.
* Create parent to Local & Server Dimension to abstract code.
* Improve NoiseSample class.
! Known bug where map doesn't generate when you move.
! Known bug where map will regenerate even if the chunks already exist.
2019-11-20 15:52:29 -08:00
Nicole Collings fa9616b8ac Improve NoiseSample efficiency, fix Serializer::encodeUShortVec 2019-11-20 13:31:35 -08:00
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
aurailus df0e74b3e7 Client Positions are shown using crosshairs on all other clients!
* Server Regurgitates player location info to all clients
* PlayerEntity class for representing other Players on the server
* Temporary ServerEntity rendering code in GameScene
2019-02-08 15:35:59 -08:00
aurailus a0cd2c554b Overhaul Server & ServerConnection classes
* Handle packet events properly on both classes
* PacketType & PacketChannel class
* ServerPeer & ServerPlayer classes for storing info on the server
* ConnectionList class to organize ServerPlayers and ServerPeers
2019-02-08 00:25:45 -08:00
aurailus 0706a8b457 Seperate Serialization from Packet class into its own class.
Speed up serialization with cheaty of methods which will need to be
  reviewed when communicating to systems of different architectures.
2019-02-07 19:52:47 -08:00
aurailus 201d70f291 GameGui Class to encapsulate crosshair initialization code. 2019-02-05 22:58:10 -08:00