aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/crepe/CMakeLists.txt7
-rw-r--r--src/crepe/Component.h3
-rw-r--r--src/crepe/GameObject.cpp7
-rw-r--r--src/crepe/api/AudioSource.cpp2
-rw-r--r--src/crepe/api/AudioSource.h4
-rw-r--r--src/crepe/api/BehaviorScript.cpp1
-rw-r--r--src/crepe/api/BehaviorScript.h2
-rw-r--r--src/crepe/api/CMakeLists.txt9
-rw-r--r--src/crepe/api/Collider.cpp (renamed from src/crepe/Collider.cpp)2
-rw-r--r--src/crepe/api/Collider.h (renamed from src/crepe/Collider.h)6
-rw-r--r--src/crepe/api/GameObject.cpp7
-rw-r--r--src/crepe/api/GameObject.h (renamed from src/crepe/GameObject.h)4
-rw-r--r--src/crepe/api/GameObject.hpp (renamed from src/crepe/GameObject.hpp)8
-rw-r--r--src/crepe/api/Rigidbody.cpp (renamed from src/crepe/Rigidbody.cpp)2
-rw-r--r--src/crepe/api/Rigidbody.h (renamed from src/crepe/Rigidbody.h)6
-rw-r--r--src/example/CMakeLists.txt4
-rw-r--r--src/example/components_internal.cpp11
-rw-r--r--src/example/script.cpp2
-rw-r--r--src/readme.md3
19 files changed, 50 insertions, 40 deletions
diff --git a/src/crepe/CMakeLists.txt b/src/crepe/CMakeLists.txt
index 6633696..cc20f83 100644
--- a/src/crepe/CMakeLists.txt
+++ b/src/crepe/CMakeLists.txt
@@ -5,9 +5,6 @@ target_sources(crepe PUBLIC
SdlContext.cpp
ComponentManager.cpp
Component.cpp
- GameObject.cpp
- Collider.cpp
- Rigidbody.cpp
ScriptSystem.cpp
RenderSystem.cpp
)
@@ -20,10 +17,6 @@ target_sources(crepe PUBLIC FILE_SET HEADERS FILES
ComponentManager.h
ComponentManager.hpp
Component.h
- GameObject.h
- GameObject.hpp
- Collider.h
- Rigidbody.h
System.h
ScriptSystem.h
RenderSystem.h
diff --git a/src/crepe/Component.h b/src/crepe/Component.h
index d9a01ac..9cda177 100644
--- a/src/crepe/Component.h
+++ b/src/crepe/Component.h
@@ -8,9 +8,8 @@ protected:
public:
virtual ~Component() = default;
- // TODO: shouldn't this constructor be deleted because this class will never
- // directly be instantiated?
+public:
bool active = true;
};
diff --git a/src/crepe/GameObject.cpp b/src/crepe/GameObject.cpp
deleted file mode 100644
index de3beb6..0000000
--- a/src/crepe/GameObject.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "GameObject.h"
-
-using namespace crepe;
-
-GameObject::GameObject(uint32_t id, std::string name, std::string tag,
- int layer)
- : id(id), name(name), tag(tag), active(true), layer(layer) {}
diff --git a/src/crepe/api/AudioSource.cpp b/src/crepe/api/AudioSource.cpp
index 90c1b07..b246cc9 100644
--- a/src/crepe/api/AudioSource.cpp
+++ b/src/crepe/api/AudioSource.cpp
@@ -1,3 +1,5 @@
+#include <memory>
+
#include "AudioSource.h"
#include "Sound.h"
diff --git a/src/crepe/api/AudioSource.h b/src/crepe/api/AudioSource.h
index 2d26cda..7980212 100644
--- a/src/crepe/api/AudioSource.h
+++ b/src/crepe/api/AudioSource.h
@@ -2,8 +2,8 @@
#include <memory>
-#include "Asset.h"
-#include "Component.h"
+#include "../Asset.h"
+#include "../Component.h"
namespace crepe {
class Sound;
diff --git a/src/crepe/api/BehaviorScript.cpp b/src/crepe/api/BehaviorScript.cpp
index 1f236b4..84bfd4c 100644
--- a/src/crepe/api/BehaviorScript.cpp
+++ b/src/crepe/api/BehaviorScript.cpp
@@ -1,7 +1,6 @@
#include "../util/log.h"
#include "BehaviorScript.h"
-#include "Script.h"
using namespace crepe::api;
diff --git a/src/crepe/api/BehaviorScript.h b/src/crepe/api/BehaviorScript.h
index 6ce6798..25d3cc5 100644
--- a/src/crepe/api/BehaviorScript.h
+++ b/src/crepe/api/BehaviorScript.h
@@ -2,7 +2,7 @@
#include <memory>
-#include "Component.h"
+#include "../Component.h"
#include "Script.h"
namespace crepe {
diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt
index d29a771..37c194d 100644
--- a/src/crepe/api/CMakeLists.txt
+++ b/src/crepe/api/CMakeLists.txt
@@ -7,12 +7,21 @@ target_sources(crepe PUBLIC
Sprite.cpp
Transform.cpp
AssetManager.cpp
+ GameObject.cpp
+ Collider.cpp
+ Rigidbody.cpp
+ Sprite.cpp
)
target_sources(crepe PUBLIC FILE_SET HEADERS FILES
# AudioSource.h
BehaviorScript.h
Script.h
+ GameObject.h
+ GameObject.hpp
+ Collider.h
+ Rigidbody.h
+ Sprite.h
Point.h
Transform.h
Color.h
diff --git a/src/crepe/Collider.cpp b/src/crepe/api/Collider.cpp
index 3f12afd..6370a42 100644
--- a/src/crepe/Collider.cpp
+++ b/src/crepe/api/Collider.cpp
@@ -1,5 +1,5 @@
#include "Collider.h"
-using namespace crepe;
+using namespace crepe::api;
Collider::Collider(int size) : size(size) {}
diff --git a/src/crepe/Collider.h b/src/crepe/api/Collider.h
index 120da05..72d8e77 100644
--- a/src/crepe/Collider.h
+++ b/src/crepe/api/Collider.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Component.h"
+#include "../Component.h"
-namespace crepe {
+namespace crepe::api {
class Collider : public Component {
public:
@@ -11,4 +11,4 @@ public:
int size;
};
-} // namespace crepe
+} // namespace crepe::api
diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp
new file mode 100644
index 0000000..b167187
--- /dev/null
+++ b/src/crepe/api/GameObject.cpp
@@ -0,0 +1,7 @@
+#include "GameObject.h"
+
+using namespace crepe::api;
+using namespace std;
+
+GameObject::GameObject(uint32_t id, string name, string tag, int layer)
+ : id(id), name(name), tag(tag), active(true), layer(layer) {}
diff --git a/src/crepe/GameObject.h b/src/crepe/api/GameObject.h
index b5d6399..57508c5 100644
--- a/src/crepe/GameObject.h
+++ b/src/crepe/api/GameObject.h
@@ -3,7 +3,7 @@
#include <cstdint>
#include <string>
-namespace crepe {
+namespace crepe::api {
class GameObject {
public:
@@ -19,6 +19,6 @@ public:
int layer;
};
-} // namespace crepe
+} // namespace crepe::api
#include "GameObject.hpp"
diff --git a/src/crepe/GameObject.hpp b/src/crepe/api/GameObject.hpp
index 8cd1abe..8295ea3 100644
--- a/src/crepe/GameObject.hpp
+++ b/src/crepe/api/GameObject.hpp
@@ -1,10 +1,10 @@
#pragma once
-#include "GameObject.h"
+#include "../ComponentManager.h"
-#include "ComponentManager.h"
+#include "GameObject.h"
-namespace crepe {
+namespace crepe::api {
template <typename T, typename... Args>
T & GameObject::add_component(Args &&... args) {
@@ -12,4 +12,4 @@ T & GameObject::add_component(Args &&... args) {
return mgr.add_component<T>(id, std::forward<Args>(args)...);
}
-} // namespace crepe
+} // namespace crepe::api
diff --git a/src/crepe/Rigidbody.cpp b/src/crepe/api/Rigidbody.cpp
index 495d908..98d1d60 100644
--- a/src/crepe/Rigidbody.cpp
+++ b/src/crepe/api/Rigidbody.cpp
@@ -1,6 +1,6 @@
#include "Rigidbody.h"
-using namespace crepe;
+using namespace crepe::api;
Rigidbody::Rigidbody(int mass, int gravityScale, int bodyType)
: mass(mass), gravity_scale(gravityScale), body_type(bodyType) {}
diff --git a/src/crepe/Rigidbody.h b/src/crepe/api/Rigidbody.h
index 63a8877..6cae579 100644
--- a/src/crepe/Rigidbody.h
+++ b/src/crepe/api/Rigidbody.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Component.h"
+#include "../Component.h"
-namespace crepe {
+namespace crepe::api {
class Rigidbody : public Component {
public:
@@ -13,4 +13,4 @@ public:
int body_type;
};
-} // namespace crepe
+} // namespace crepe::api
diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt
index 1b148b3..7c87afc 100644
--- a/src/example/CMakeLists.txt
+++ b/src/example/CMakeLists.txt
@@ -1,3 +1,6 @@
+# all examples
+add_custom_target(examples)
+
# add_example(target_name [SOURCES...])
function(add_example target_name)
# if SOURCES is not specified
@@ -10,6 +13,7 @@ function(add_example target_name)
add_executable(${target_name} EXCLUDE_FROM_ALL ${sources})
target_link_libraries(${target_name} PUBLIC crepe)
+ add_dependencies(examples ${target_name})
endfunction()
add_example(audio_internal)
diff --git a/src/example/components_internal.cpp b/src/example/components_internal.cpp
index 54ce295..e2169e1 100644
--- a/src/example/components_internal.cpp
+++ b/src/example/components_internal.cpp
@@ -6,14 +6,17 @@
#include <cassert>
#include <chrono>
-#include <crepe/Collider.h>
#include <crepe/Component.h>
#include <crepe/ComponentManager.h>
-#include <crepe/GameObject.h>
-#include <crepe/Rigidbody.h>
-#include <crepe/Sprite.h>
+
+#include <crepe/api/Collider.h>
+#include <crepe/api/GameObject.h>
+#include <crepe/api/Rigidbody.h>
+#include <crepe/api/Sprite.h>
+
#include <crepe/util/log.h>
+using namespace crepe::api;
using namespace crepe;
using namespace std;
diff --git a/src/example/script.cpp b/src/example/script.cpp
index cc585db..6e5563c 100644
--- a/src/example/script.cpp
+++ b/src/example/script.cpp
@@ -4,11 +4,11 @@
*/
#include <crepe/ComponentManager.h>
-#include <crepe/GameObject.h>
#include <crepe/ScriptSystem.h>
#include <crepe/util/log.h>
#include <crepe/api/BehaviorScript.h>
+#include <crepe/api/GameObject.h>
#include <crepe/api/Script.h>
using namespace crepe;
diff --git a/src/readme.md b/src/readme.md
index a4a71e7..a8ffc51 100644
--- a/src/readme.md
+++ b/src/readme.md
@@ -18,7 +18,8 @@ running the build command:
$ ninja -C build test_main
```
-Each source file in the example/ folder corresponds to a CMake target as well:
+Each source file in the example/ folder corresponds to a CMake target as well
+(all examples can be built at once by specifying the `examples` target):
```
$ ninja -C build audio_internal components_internal