Commit Graph

455 Commits (master)

Author SHA1 Message Date
Auri d4c9a431f2 Redo NetField, entity serialization & adjustments.
- NetField now has explicitly declared indexes to allow for easier debugging.
- Better serialization algorithm for ServerLuaEntity that allows for NetField::ALL
- better deserialization algorithm for LocalDimension and LocalPlayer that warns on unhandled Netfields.
- Documentation for usertype/Entity & ent/Entity & some subclasses.
- Partial setDimension implementation in LuaEntity
- Velocity in LuaEntity
- Collides and gravity properties in LuaEntity (yet unused)
- General cleanup and reorganization
2020-12-04 23:14:35 -08:00
Auri 29239b52f3 Entity collision boxes, entity selecting, Target refactor. 2020-12-04 01:32:27 -08:00
Auri a53f627acd Server side messaging, fix right click in inventory. 2020-12-03 16:26:57 -08:00
Auri eda8fe4a37 new structure format which is kinda broke. 2020-11-28 17:40:10 -08:00
Auri cfc99fafc4 Fix NoCulls faces getting incorect lighting. 2020-11-28 15:13:49 -08:00
Auri 7027c687fd Document and revise Chunk class, and re-implement MapGen-side-lighting. 2020-11-10 17:00:29 -08:00
Auri 2c97101c39 Documentation on the MapGen class, fix hint in setBlock. 2020-11-09 11:27:22 -08:00
Auri e49ab18617 Apply new Code Styling to all files. 2020-11-08 22:57:34 -08:00
Auri 4915a8130b One last fix. 2020-11-08 22:17:50 -08:00
Auri 9250177fd7 More codacy issues resolved. 2020-11-08 22:11:58 -08:00
Auri 1916911a6e Various code quality fixes, & some optimizations. 2020-11-08 21:54:07 -08:00
Auri 1482e73534 Fix one todo 2020-11-08 21:06:40 -08:00
Auri 0879ae5493 PER DIMENSION MAPGEN!
* Per-MapGen Voronoi.
* More generalized Voronoi3D.
* Biome tags.
2020-11-08 18:49:17 -08:00
Auri fb27da49cb Remove unused CreateBlockModel class. 2020-11-08 18:14:51 -08:00
Auri 3d1a1355da Immediate mode RegisterKeybind, fix keybinds not registering. 2020-11-08 18:14:41 -08:00
Auri 31df51d471 Formatting tweaks. 2020-11-08 18:04:56 -08:00
Auri 04e42b92cc Immediate mode Biome registration, with documentation. 2020-11-08 18:03:03 -08:00
Auri 6d715546d8 Immediate mode Item registration, docs for Register(Block / Item) 2020-11-08 17:12:45 -08:00
Auri 54b3cd072f Immediate mode for block instantiation. 2020-11-08 16:43:12 -08:00
Auri c011641b0a Make MapGen a member of Dimension, [MORE]
* Start to set up per-dimension generation, reached a problem due to the deferred registration. Next commit will attempt to make it immediate. Why did I write it this way anyway?
2020-11-07 20:35:21 -08:00
Auri 5419d0a5f6 Bounds helper class, prioritize nearby existing chunks when sending to client. 2020-11-07 16:34:47 -08:00
Auri e0b8651b8a Clear MeshChunks on Dimension leave. 2020-11-07 15:55:39 -08:00
Auri 45646b4769 Networked Dimensions, dimension transitions, & dimension change functions! 2020-11-06 22:20:44 -08:00
Auri 376593a9f1 Clean up some Codacy issues, make scope locks more clear by using _ as name. 2020-11-04 14:22:57 -08:00
Auri 041636254a Remove redundant assignment, thanks Codacy. 2020-11-04 14:11:59 -08:00
Auri a9a12a89d9 Removed ClientState entirely and restructured client data passing.
* Updated the fenv polyfill.
* Added a fromString helper to Address.
* Added documentation comments to some classes. More to come!
* Configured CLion code style settings.
2020-11-03 23:29:30 -08:00
Auri 8d6e19500a Committed to Lua 5.3, polyfilled (ew) the setfenv / getfenv functions.
* Fixed a crash where an improperly formatted subgame can crash the client.
* Remove Lua 5.1 from CMakeLists.txt.
2020-11-02 15:18:09 -08:00
Auri 9f9cf0b8d2 Testing dimension things 2020-11-01 14:14:39 -08:00
Auri d7382c2533 Fixed threading issues & block definition props.
- Fixed deadlock when propagating light on chunk boundaries.
- Fixed culls property on block definition not being set in RegisterBlocks.h
- Properly snake_case tall_grass_*
- Welcome back~
2020-10-31 20:16:09 -07:00
Auri a619477457 Remove dependency on symbolic links in the build directories. Now checks one level up. 2020-10-29 21:40:27 -07:00
Jordan Snelling c0a60aac09 Fix build on Linux systems, notes added for Linux compiling. 2020-10-19 01:33:45 +01:00
Nicole Collings 31cdfbdaa8 reorganize ALL THE THINGS!! 2020-08-13 00:55:18 -07:00
Nicole Collings aafe67ce11 My life is finally complete. (Fixed entities, server-side entity anims!) 2020-08-12 19:42:27 -07:00
Nicole Collings 2a952955bf Fix a gross hack related to big refactor. 2020-08-06 22:19:49 -07:00
Nicole Collings db64794bcf Fixed segfault with non-threadsafe packet creation. Yay~ 2020-08-06 22:09:08 -07:00
Nicole Collings 4815c3f17d Reset block damage on block change. 2020-08-06 19:08:56 -07:00
Nicole Collings c081f224af Clean up some debug output. 2020-08-06 16:17:36 -07:00
Nicole Collings 71cbe034dd Added thread safety to chunks & dimensions, reimplemented animations.
* Fixed air becoming invalid when placed with lua.
* Reimplemented client-side animations.
* Update AnimationManager Usertype to new format.
* Updated AnimationState & segment to be less icky.
* Updated some entity textures, added Mouse model and textures.
2020-08-06 16:15:23 -07:00
Nicole Collings 5d46a12077 Reimplement server entities, generic LuaEntity baseclass. 2020-08-05 15:26:15 -07:00
Nicole Collings e9c95e8042 Segfault is gone? 🦀🦀🦀 2020-08-03 12:28:35 -07:00
Nicole Collings 06cdc7b2df Re-implement block breaking & interactions. Move PacketChannel & Type.
* Segfault when accessing player in release.
2020-08-03 11:34:35 -07:00
Nicole Collings dfb90e8c03 Fix player not being initialized at mod load time. Targets have dim. 2020-08-02 20:51:22 -07:00
Nicole Collings b312193969 Covariant Ptr type 2020-08-02 17:16:40 -07:00
Nicole Collings 6fd5acae0a Covariant Pointer 2020-08-02 12:21:07 -07:00
Nicole Collings 6a90bb4875 BIG BOI REFACTOR FOR MULTIDIMENSIONS - Doesn't segfault so i'm commit~ 2020-07-30 22:07:00 -07:00
Nicole Collings 38b75c212b Synchronize block interaction callbacks, wieldlists, etc. Breaking broke 2020-07-28 14:11:11 -07:00
Nicole Collings ad029752ef Reorganize filesystem. 2020-07-26 19:59:03 -07:00
Nicole Collings e45baf8901 Remove exit(1)s, fix main menu error handler. 2020-07-26 18:21:33 -07:00
Nicole Collings ca3f99fdc7 Tweak Game class, rename to Subgame class, refactor more of the lua API. 2020-07-25 20:19:18 -07:00
Nicole Collings 3de0c561e2 Generalize Game class for use with Lua Api Modules
In the future, I would like to split item and block defs in two arrays,
and put all definitions inside a `defs` class.
2020-07-25 11:55:48 -07:00
Nicole Collings d56d6f890a Update to sol3, vec3 customization, C++ 17 now required. 2020-07-23 18:54:11 -07:00
Nicole Collings c7c2e38c38 Clean up vector library, standardize parameter orders, conform to docs. 2020-07-22 00:46:06 -07:00
Nicole Collings c00ee72529 Fix a few bugs from the previous commit. 2020-07-21 19:57:21 -07:00
Nicole Collings a5e57716ee Rewrite inventory networking, player networking, tools.
+ Made wield and hand lists.
+ Made tool props & block defenses.
+ Crazyblocks mod to test various API features.
2020-07-21 19:33:26 -07:00
Nicole Collings ecaf1fb90c Some minor updates and consistency to Stream classes. 2020-07-19 15:06:12 -07:00
Nicole Collings 680469da44 Small Timer update. 2020-07-16 19:51:06 -07:00
Nicole Collings b3c52031c4 Optimizations, Asynchronous MapGen packets. 2020-07-16 19:38:25 -07:00
Nicole Collings c1752efc1d SPEED (Mapgen Remake Complete) 2020-07-16 12:10:40 -07:00
Nicole Collings 868cfe6339 Inline NoiseSample get, re-implement structures (no partials yet) 2020-07-16 10:51:24 -07:00
Nicole Collings 2ecbe11ecc MapGen rewrite pt. 2 - removed DensityBehavior code & default to true 2020-07-15 23:28:20 -07:00
Nicole Collings 3c560c8ca2 MapGen rewrite pt. 1 - has DensityBehavior code. 2020-07-15 23:25:39 -07:00
Nicole Collings 4b3a3b36bc Move src/util/net to src/net, src/server to src/net/server. 2020-07-06 20:00:00 -07:00
Nicole Collings 4ac862956f Fix an issue 2020-07-06 19:09:05 -07:00
Nicole Collings f15e10677b Fix some throws to use runtime_error 2020-07-06 18:35:29 -07:00
Nicole Collings 4ed852255d Optimize *all* of the imports across *every single file*.. damn. 2020-07-06 18:34:59 -07:00
Nicole Collings 2380c7ea31 Add a mutex to Chunk, safeguard all existing reads/writes.
* Clean up more imports.
* Create FileManipulator class.
2020-07-06 14:00:46 -07:00
Nicole Collings ad169fbb1e Optimize more imports 2020-06-24 17:11:15 -07:00
Nicole Collings 72d0b8d697 Optimize several imports 2020-06-24 16:35:01 -07:00
Nicole Collings eaa9aecb8f Tweaks to naming 2020-06-23 20:27:18 -07:00
Nicole Collings 48c7a38763 Optimize Chunk packets severely. 2020-06-22 21:40:55 -07:00
Nicole Collings d268654259 Optimize Chunk serialization format slightly. 2020-06-22 18:27:27 -07:00
Nicole Collings b272721fed Reimplement Biomes 2020-06-21 18:01:35 -07:00
Nicole Collings 7cdd9bc270 Clean up BlockChunk 2020-06-21 12:52:13 -07:00
Nicole Collings e60f197c7e Clean up Chunk 2020-06-21 12:50:43 -07:00
Nicole Collings 5063288b30 Fix a noexcept issue 2020-06-20 23:43:57 -07:00
Nicole Collings ab09cde351 Fix some Codacy issues 2020-06-20 23:41:02 -07:00
Nicole Collings d38b81705f Added Vector functionality, remove venus parser, add new blocks.
- Add colored lights to default for testing
- Add vector divide function
- Remove Venus Parser
2020-06-20 23:36:13 -07:00
Nicole Collings 41bb678eec Globally cascading sunlight x3 2020-06-16 22:36:12 -07:00
Nicole Collings 9dfa361833 Fix blocklight propogation issue non-issue 2020-06-16 15:53:37 -07:00
Nicole Collings f5b29e0219 Rename some shaders. 2020-06-05 18:34:53 -07:00
Nicole Collings e51de627a2 Not working geometry shader. 2020-06-05 16:47:43 -07:00
Nicole Collings aa624464e0 Attempting to propogate light downwards 2020-05-28 16:53:23 -07:00
Nicole Collings 0bfe269308 Split lighting functionality and block functionality 2020-05-26 17:16:56 -07:00
Nicole Collings f8da40b229 WIP sunlight handling. 2020-05-26 16:54:26 -07:00
Nicole Collings 571453843e Add sunlight generation - wip implementation, does not pass MapBlocks.
* Added light_propagates block definition parameter.
* Improved BlockLight propagation and rendering.
* Change index order to improve caching.
2020-05-22 13:21:08 -07:00
Nicole Collings b50732ec5e Many improvements with lighting, gfx, and stability
- Add curvature shader effect to blocks (not entities yetTM)
- Make fromStr with an empty string return Air instead of Invalid
- Make the player start with an empty hand instead of with stone
- Update chunks on lighting changes!
- Fix dirty chunk rendering!
- Fix segfault when getting non-existent inventory list.
2020-05-13 20:43:31 -07:00
Nicole Collings 49b45d1b9e COLORED LIGHTING~ 2020-05-12 17:16:11 -07:00
Nicole Collings 4d49aee57c Hot wheel implementation, scroll wheel keys, better error handling 2020-05-10 17:53:37 -07:00
Nicole Collings 83dc74004e Refactor LuaKeybindHandler, Error catching on keybinds and callbacks.
* Hotwheel implementation pt 1
2020-05-07 17:21:56 -07:00
Nicole Collings 6add7becb4 Begin Hotwheel, InventoryLists can specify the amt of slots they display 2020-04-22 17:48:34 -07:00
Nicole Collings 83287cebf1 Add multiple GuiInventoryList callbacks, fix crash on resize. 2020-04-17 17:48:24 -07:00
Nicole Collings 0359ada6b3 Fix race conditions in *Streams, fix deserializer SegFault. 2020-04-17 17:19:01 -07:00
Nicole Collings b9b3db77fd Fix client-side segfault with uninitialized values. 2020-04-16 22:59:30 -07:00
Nicole Collings af78490c7e UI Elements with Live manipulation & garbage collection 🦀 2020-04-15 13:09:13 -07:00
Nicole Collings fdd5ae307f Do something, not working 2020-04-14 20:35:19 -07:00
Nicole Collings 49d9ad73ae Remove SerialGuiElement, use LuaGuiElement in GuiBuilder 2020-04-13 18:10:39 -07:00
Nicole Collings afa1b5621d LocalGuiElement 2020-04-13 16:33:15 -07:00
Nicole Collings d80fdccde4 Create a Metatable for UI elements. 2020-04-11 16:15:41 -07:00
Nicole Collings f0aee0d952 Fix the assertions in the AnimationState, optimize code. 2020-04-06 19:17:16 -07:00
Nicole Collings a59e1d2a82 Various shit. 2020-04-06 17:18:57 -07:00