Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECS #254

Merged
merged 103 commits into from
Dec 11, 2024
Merged

ECS #254

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
be84d36
ECS
daid Oct 26, 2022
c6ebd57
Fix destruction of entities not being done properly due to initializa…
daid Oct 27, 2022
88837dd
Add optional components to a query.
daid Oct 27, 2022
0563f42
Add untested component replication code, quick&dirty
daid Oct 27, 2022
d3cebb2
WIP
daid Oct 27, 2022
545491d
Working network replication for ECS.
daid Oct 28, 2022
5fd9e3a
WIP
daid Oct 28, 2022
d6fe7fd
WIP
daid Oct 29, 2022
7e7103a
Merge branch 'master' into ECS
daid Oct 29, 2022
6a0350d
Start converting collision/physics handling into ECS
daid Nov 3, 2022
0750acf
Start converting collision/physics handling into ECS
daid Nov 3, 2022
5606a96
Fix query over ECS entities could crash.
daid Nov 4, 2022
9712fd1
WIP
daid Nov 4, 2022
d967ab7
Fix that references to components where invalidated on component crea…
daid Nov 5, 2022
da0eada
Rename sp::Position to sp::Transform, as it is position+rotation.
daid Dec 8, 2022
3cb6668
Allow returning enum classes from script functions.
daid Dec 15, 2022
e932348
Add workaround macro for script name vs class name mismatch, temporar…
daid Dec 21, 2022
b36d149
ECS update
daid Dec 24, 2022
71cd52c
Add new script interfacing code
daid Jan 11, 2023
797a820
Fix unused variable warning.
daid Jan 12, 2023
63be72f
Allow all enums in the databuffer for network transmission
daid Jan 13, 2023
c261087
Merge remote-tracking branch 'origin/master' into ECS
daid Jan 16, 2023
0ad9b6e
Merge remote-tracking branch 'origin/master' into ECS
daid Jan 26, 2023
64b1836
Some placeholder code while converting things to ECS
daid Feb 3, 2023
14f646c
Small ECS adjustment
daid Feb 20, 2023
43ab059
Add a temporary macro to bind subclasses as a different name to scripts.
daid Feb 23, 2023
373bc33
Merge remote-tracking branch 'origin/master' into ECS
daid Mar 1, 2023
319e162
Change how we can read multiple variables from an io buffer, for comp…
daid Mar 1, 2023
01b0716
Change how we can read multiple variables from an io buffer, for comp…
daid Mar 1, 2023
6e0828d
Fix extra sp::io::Databuffer operators not being usable from read<>()
daid Mar 1, 2023
59d8ed4
Merge remote-tracking branch 'origin/master' into ECS
daid Apr 12, 2023
c76c71a
Add missing astar.h file
daid Apr 17, 2023
763770e
Add standard lua libs to new lua scripting interface
daid Apr 23, 2023
b40e876
Update to work towards script binding ECS in EE
daid Apr 26, 2023
283a3eb
Add missing include
daid May 3, 2023
089130e
Merge remote-tracking branch 'origin/master' into ECS
daid May 8, 2023
af36572
Updates to the new scripting code to actually have the default global…
daid May 12, 2023
8933d0d
Add entityfunctiontable
daid May 12, 2023
bb4b176
Add function to destroy all entities, for when we close a scenario or…
daid May 17, 2023
df82372
Merge remote-tracking branch 'origin/master' into ECS
daid Jun 9, 2023
1ac044d
Setup entity equal compare and add consts to result class
daid Jun 9, 2023
cf6b9c5
Improve component scripting error reporting. Allow getting the shape …
daid Jun 9, 2023
e7ccc2d
Prevent global scope polution with STRINGIFY on debug builds
daid Jun 10, 2023
23ff036
Add support for std::optional in script conversion
daid Jun 10, 2023
7327924
Add missing include
daid Jul 5, 2023
0306a7a
Fix crash if lua_tostring is called on something that isnt a string.
daid Jul 6, 2023
6eda05b
Merge remote-tracking branch 'origin/master' into ECS
daid Aug 5, 2023
1418e2e
Do some type erasure in components script bindings as the linker is u…
daid Oct 16, 2023
295118d
Add the bitset class
daid Oct 20, 2023
b00c135
Allow toLua for callbacks.
daid Nov 21, 2023
e87a73f
Allow to set a global in a callback environment
daid Nov 22, 2023
09280d5
Merge branch 'master' into ECS
daid Jan 18, 2024
40c0986
Fix not allowing to set callbacks to nil from scripts
daid Mar 15, 2024
e6eb005
Add lua stacktraces
daid Mar 17, 2024
f8fbba1
Merge branch 'master' into ECS
daid Mar 18, 2024
9ed9ae2
Move some apple specific bundle initialization to SP engine instead o…
daid Mar 18, 2024
db23724
Merge branch 'master' into ECS
daid Apr 1, 2024
7d5d083
Compile fix
daid Apr 4, 2024
94b58d1
Change how ECS multiplayer registration happens, so we do not walk th…
daid Apr 5, 2024
71d1a14
Add class to handle multiplayer transform replication.
daid Apr 5, 2024
6cdbda8
Improve transform replication a bit.
daid Apr 5, 2024
47778ef
Add physics replication class
daid Apr 10, 2024
39d44eb
Merge branch 'master' into ECS
daid Apr 29, 2024
63f9c7c
Merge branch 'master' into ECS
daid May 16, 2024
e87dc89
Working on multiplayer code
daid May 17, 2024
c04dad0
Fix physics replication.
daid May 21, 2024
7b564e5
Fix sending wrong IDs on entity not known on server.
daid May 21, 2024
f9374ca
Fix physics replication.
daid May 21, 2024
6b4afa0
Do not allow lua code to touch C metatables
daid May 22, 2024
bb53c2a
Fix lua stack growing on setGlobal, better log where you are trying t…
daid May 24, 2024
8ad5944
Add components "subtable" to access components instead of directly on…
daid Jun 3, 2024
a8f371e
Update the new script component bindings to fix some issues
daid Jun 4, 2024
3d6b8d5
Add a method for getting all entities with a specific component from lua
daid Jun 7, 2024
27a2428
Small fix on headless server running update speed depending on gamespeed
daid Jun 10, 2024
67a9565
Allow logging to revert to stdout
daid Jun 10, 2024
4371d0a
Multiplayer update stats for ECS
daid Jun 14, 2024
8f064ef
Small improvement on multiplayer stats
daid Jun 14, 2024
ca79b65
Fix size_t issue on 32bit builds
daid Jun 16, 2024
11d53ce
Fix warning
daid Jun 16, 2024
651c2d5
Fix issue with :isValid() no longer working after entity is destroyed
daid Jun 18, 2024
b18399b
Improve the sandboxing. Fix crash if collision is quired before colli…
daid Jun 19, 2024
409a904
Merge branch 'master' into ECS
daid Jun 19, 2024
0dd381f
Allow for layered script environments
daid Jun 26, 2024
e8709a3
Add function to prevent multiplayer replication on setposition/rotation
daid Jul 28, 2024
c04ba87
Merge branch 'master' into ECS
daid Aug 2, 2024
58257f5
Remove all last traces of legacy scripting
daid Aug 2, 2024
aed552e
Merge branch 'master' into ECS
daid Aug 9, 2024
d985bf4
Remove the legacy component access, we should no longer need it
daid Aug 9, 2024
e078aef
Do not override the EE print
daid Aug 20, 2024
6bbaf8a
Merge branch 'master' into ECS
daid Aug 22, 2024
86f1257
Merge branch 'master' into ECS
daid Aug 28, 2024
cf81829
Fix removing transform from an entity permanently breaking its physics
GinjaNinja32 Aug 29, 2024
e09d9a7
Initialise physics to null so we don't deref an uninitialised pointer
GinjaNinja32 Aug 29, 2024
909896e
Merge pull request #247 from GinjaNinja32/ECS-fixes
daid Aug 30, 2024
dd1615f
Step physics world after updating its data, rather than before
GinjaNinja32 Aug 30, 2024
e0e500a
Merge pull request #248 from GinjaNinja32/ECS-fixes
daid Aug 30, 2024
9eea6de
Update to lua 5.4.7
daid Sep 11, 2024
5ff9371
Add code to allow capting all lua run results.
daid Sep 11, 2024
83213b5
Fix https://github.com/daid/EmptyEpsilon/issues/2184 and https://gith…
daid Oct 6, 2024
a96f8aa
Change lua ECS entities into stable keys for tables. This currently o…
daid Oct 24, 2024
1f15336
Merge remote-tracking branch 'origin/master' into ECS
daid Oct 24, 2024
c72caf0
Address type pruned pointer issues.
daid Oct 28, 2024
a1174ef
Merge remote-tracking branch 'origin/master' into ECS
daid Nov 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 26 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ set(source_files #All SeriousProton's objects to compile
src/audio/sound.cpp
src/audio/music.cpp
src/clipboard.cpp
src/collisionable.cpp
src/engine.cpp
src/event.cpp
src/graphics/font.cpp
Expand Down Expand Up @@ -171,9 +170,12 @@ set(source_files #All SeriousProton's objects to compile
src/random.cpp
src/Renderable.cpp
src/resources.cpp
src/scriptInterface.cpp
src/scriptInterfaceMagic.cpp
src/scriptInterfaceSandbox.cpp
src/script/environment.cpp
src/script/environment.h
src/script/conversion.h
src/script/component.h
src/script/callback.h
src/script/callback.cpp
src/shaderManager.cpp
src/soundManager.cpp
src/stringImproved.cpp
Expand Down Expand Up @@ -201,7 +203,6 @@ set(source_files #All SeriousProton's objects to compile
src/audio/sound.h
src/audio/music.h
src/clipboard.h
src/collisionable.h
src/dynamicLibrary.h
src/engine.h
src/event.h
Expand Down Expand Up @@ -251,9 +252,6 @@ set(source_files #All SeriousProton's objects to compile
src/rect.h
src/Renderable.h
src/resources.h
src/scriptInterface.h
src/scriptInterfaceMagic.h
src/scriptInterfaceSandbox.h
src/shaderManager.h
src/soundManager.h
src/stringImproved.h
Expand All @@ -266,6 +264,26 @@ set(source_files #All SeriousProton's objects to compile
src/vectorUtils.h
src/windowManager.h

src/container/sparseset.h
src/container/chunkedvector.h
src/container/bitset.h

src/ecs/entity.h
src/ecs/entity.cpp
src/ecs/component.h
src/ecs/component.cpp
src/ecs/query.h
src/ecs/multiplayer.h
src/ecs/system.h

src/components/collision.h
src/components/multiplayer.h
src/systems/collision.h
src/systems/collision.cpp

src/multiplayer/collision.h
src/multiplayer/collision.cpp

cmake/glDebug.inl.in
"${glDebug_inl}"
)
Expand Down
2 changes: 2 additions & 0 deletions libs/lua/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ set(source_files
ldump.c
lfunc.c
lgc.c
linit.c
llex.c
lmathlib.c
lmem.c
Expand All @@ -40,6 +41,7 @@ add_library(lua STATIC ${source_files})
target_include_directories(lua
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
target_compile_definitions(lua PRIVATE LUA_COMPAT_MATHLIB)

#--------------------------------Installation----------------------------------
install(
Expand Down
Loading
Loading