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