Commit graph

225 commits

Author SHA1 Message Date
Norbi Peti 220eb02a19
Return descriptions with command names, selected block/color fix 2021-05-25 01:20:46 +02:00
Norbi Peti e8515ef42b
Fix events not firing and event exception handling
Copying to Plugins folder on build
Registering deterministic game engines automatically
Each event handler is wrapped so if one fails it will still trigger the rest
2021-05-23 20:53:55 +02:00
Norbi Peti f5e3010e48
Removed all obsolete classes and some commented out code 2021-05-21 00:09:36 +02:00
Norbi Peti 1cbe252727
Move block engines into their own namespace 2021-05-20 23:37:10 +02:00
Norbi Peti b3f7dcd36d
Add start of Engine class, removed nonexistent blocks
Not all engine properties are added (yet)
The old block types can be brought back when/if they come back, potentially with different properties
2021-05-20 23:26:22 +02:00
Norbi Peti e9df67f462
Use Block.New everywhere, testing *every block property*
Fixed prefab update for nonexistent blocks
Removed Type from block placed/removed event args
Added test to check the block ID enum (whether it has any extra or missing IDs)
Added test to place every block on the ID enum
Added test to set and verify each property of each block type (type-specific properties are also set when they can be through the API)
Added support for enumerator test methods with exception handling
2021-05-19 01:40:15 +02:00
Norbi Peti 70b322583a
Fix setting the material of a block
Also fixed ID of wood material
2021-05-18 20:00:24 +02:00
Norbi Peti 4f0645492c
Fix block color and group 2021-05-18 00:44:09 +02:00
Norbi Peti 58d703f502
Fix block tests and add test command to toggle time mode 2021-05-17 14:55:13 +02:00
NGnius db08bf1ac0 Fix docs (hopefully) 2021-05-12 20:00:33 -04:00
Norbi Peti dd2680abd5
Set the grid scale as well when changing the scale 2021-05-13 01:41:52 +02:00
Norbi Peti 4807c12387
Fix placing blocks
Most of the removed initialitzers are actually important
Also, the prefab ID was not calculated correctly
Also, the category is 1, not sure why but it is
2021-05-13 00:13:31 +02:00
Norbi Peti 3432a1ae33
Return block objects based on the group, not a type param
Replaced typeToGroup with GroupToConstructor
The block object's type is determined by the exclusive group instead of a type parameter
Removed the Specialise() method, the API should always return specialised objects

This fixes the not supported exception but not the game crash that follows
2021-05-12 02:33:01 +02:00
Norbi Peti 7a53e1d32f
Fix command registration 2021-05-12 01:34:40 +02:00
Norbi Peti aa12b848d0
Merge branch 'feature-ecs_object_base' 2021-05-12 00:51:56 +02:00
Norbi Peti b6b9a29a3c
Convert more things to use EcsObjectBase
Though the major benefit is only for blocks right now (using initializers)
2021-05-12 00:49:01 +02:00
Norbi Peti 6fedf90380
Remove struct layout stuff
It broke everything using the type
2021-05-12 00:25:07 +02:00
Norbi Peti 3eef859095
Update gen_csproj script and references 2021-05-11 22:56:36 +02:00
Norbi Peti 858a5c9b5c
Fix remaining errors, add support for managed entity DB 2021-05-11 00:56:46 +02:00
Norbi Peti d238c97906
Remove block info getters and setters
Regex is great

GetBlockInfo\(this, \((\w+) (\w+)\) ?=> ?\2(.+)\);
GetBlockInfo<$1>(this)$3;

SetBlockInfo\(this, \(ref (\w+) (\w+), \w+ (\w+)\) ?=> \2(.*) = \3,\s*value\);
GetBlockInfo<$1>(this)$4 = value;
2021-05-10 23:08:15 +02:00
Norbi Peti 61184145a9
Start using new extension methods, code cleanup
Removed all of the different block property getter methods
2021-05-10 22:45:07 +02:00
Norbi Peti 2d99d1d478
Generalize optional references and init data
Added extension methods to query data from ECS objects
Added base class for ECS objects
Added support for representing in-construction ECS objects with an OptionalRef<T>
2021-05-10 02:04:59 +02:00
Norbi Peti 78ee3b3bcd
Fix block type check on placement 2021-05-10 01:38:15 +02:00
Norbi Peti aea3ef3623
Remove AsyncUtils, fix FlyCam and GetThingLookedAt() 2021-05-03 01:25:26 +02:00
Norbi Peti 62afd3b780
Some file renames that were missing 2021-05-03 00:17:49 +02:00
Norbi Peti 5172b13b7c
Update readme and version 2021-05-02 02:08:22 +02:00
Norbi Peti c914b5b393
Renamed all references of Gamecraft to Techblox
Except those that actually refer to the game's code
2021-05-02 01:56:20 +02:00
Norbi Peti a6f52070ee
Rename to TechbloxModdingAPI 2021-05-02 01:08:25 +02:00
Norbi Peti 807470e289
Add new block types and improve listing them
Now it prints them ordered and mostly suitable to be used in code (it only needs a couple replaces)
2021-05-01 00:38:27 +02:00
Norbi Peti df6a2e84e1
Update to Techblox 2021.04.29.18.37 2021-04-30 22:36:54 +02:00
Norbi Peti 6e03847ab0
FlyCam additions, improve struct
Added property to get the camera from the player
Removed pointer magic
2021-04-27 01:52:54 +02:00
Norbi Peti 55b38f1678
Start working on FlyCam and create an overcomplicated struct
Just some native code that's totally unnecessary
2021-04-26 03:12:22 +02:00
Norbi Peti eb7a09ed22
Fixes, move command patch out of the test class
Removed some command line engines that shouldn't be registered
Fixed registering custom commands - registering it with the existing ones
2021-04-25 02:07:31 +02:00
Norbi Peti 6a2459b3e7
Attempts to bring console commands back (test) 2021-04-24 03:41:37 +02:00
Norbi Peti cc4850a073
Fix fake input 2021-04-20 01:23:39 +02:00
Norbi Peti 677c8b0907
Add constructor for placing block, remove most PlaceNew args 2021-04-19 19:32:14 +02:00
Norbi Peti 1f688195af
Add support for flipped blocks and auto-wiring, other fixes 2021-04-19 03:13:00 +02:00
Norbi Peti 9a4ff858f3
Improve color API and add material API 2021-04-16 01:40:30 +02:00
Norbi Peti 124ef410c7
Attempt to bring console back and update block ID list 2021-04-13 02:05:16 +02:00
Norbi Peti 98e00de642
Fix all startup errors 2021-04-12 17:37:51 +02:00
Norbi Peti 2d41026a05
Turned the rest of the errors into TODOs 2021-04-11 02:36:00 +02:00
Norbi Peti a6b69d94c9
Start compatibility with Techblox
Added some TODOs as well
2021-04-10 02:02:47 +02:00
NGnius (Graham) 37e3c6f718 Remove debug FMOD patches 2020-12-28 13:47:08 -05:00
NGnius (Graham) 0ef875b6b2 Document undocumented IMGUI element classes 2020-12-27 18:57:23 -05:00
Norbi Peti d954060a5a Add ability to change properties of existing blocks
And not storing custom block data for now
2020-12-27 21:13:49 +01:00
Norbi Peti fdc47832f4 Store custom block IDs in save files 2020-12-26 01:59:06 +01:00
NGnius (Graham) 95574a50f8 Merge branch 'master' of https://git.exmods.org/modtainers/GamecraftModdingAPI 2020-12-21 16:57:32 -05:00
NGnius (Graham) 1c014e36ac Add IMGUI styling and initial OOP implementation 2020-12-21 16:31:57 -05:00
Norbi Peti 879901f4b9 Add new block IDs, a property, 2 tests and fixes 2020-12-20 00:05:02 +01:00
Norbi Peti 6a90739197 Attempt to use custom cube category 2020-12-19 21:43:49 +01:00