Commit Graph

359 Commits (ad029752ef5ef4f2e4a24ba8dd13520b51829ab4)

Author SHA1 Message Date
Nicole Collings 06bbb0ca5f Remove the tumours left by g++ uints and ushorts, as well as Pointer.h 2020-02-01 15:47:18 -08:00
Nicole Collings fb0fd13d4a Chunk Partials, functional tree generation, happy happy happy 2020-01-30 23:53:47 -08:00
Nicole Collings dbcfe5c822 Tweaked the MapGen class to begin adding half-generated chunks.WIP Trees
* Added turbulence to biome noises, and made their sampling 2D.
* Added bees and ravens to test animation library.
* Added TNT to test large scale world destruction (some work needs to be done).
2020-01-30 20:54:18 -08:00
Nicole Collings 8065520c71 Reimplement local server and add a temporary function to start it from the main menu 2020-01-14 16:46:34 -08:00
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