Compare commits
2 commits
3066bdacc9
...
17680c2288
| Author | SHA1 | Date | |
|---|---|---|---|
| 17680c2288 | |||
| ea634491de |
7 changed files with 53 additions and 323529 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -1,6 +1,13 @@
|
||||||
# Compiled Object files from SCons
|
# Compiled Object files from SCons
|
||||||
*.os
|
*.os
|
||||||
|
|
||||||
|
# Generated by tooling
|
||||||
|
extension_api.json
|
||||||
|
compile_commands.json
|
||||||
|
|
||||||
|
# clangd cache
|
||||||
|
.cache/
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/c++,godot,scons
|
# Created by https://www.toptal.com/developers/gitignore/api/c++,godot,scons
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=c++,godot,scons
|
# Edit at https://www.toptal.com/developers/gitignore?templates=c++,godot,scons
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,15 @@ Named in this order so not everything starts with the same word
|
||||||
Using Godot v4.4.beta1.official [d33da79d3].
|
Using Godot v4.4.beta1.official [d33da79d3].
|
||||||
Install SCons with `pipx install scons`.
|
Install SCons with `pipx install scons`.
|
||||||
|
|
||||||
|
To generate files for build tooling, run the following:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
godot --dump-extension-api
|
||||||
|
scons compile_commands
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
To build the extension run SCons in the repository root, the default arguments have been added to the file.
|
To build the extension run SCons in the repository root, the default arguments have been added to the file.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,12 @@ sources = Glob("src/*.cpp")
|
||||||
# Generated with local Godot installation
|
# Generated with local Godot installation
|
||||||
env["custom_api_file"] = "extension_api.json"
|
env["custom_api_file"] = "extension_api.json"
|
||||||
|
|
||||||
|
# Information for Clang tooling, including clangd language server
|
||||||
|
# To create the compile_database
|
||||||
|
env.Tool('compilation_db')
|
||||||
|
cdb = env.CompilationDatabase('compile_commands.json')
|
||||||
|
Alias('compile_commands', cdb)
|
||||||
|
|
||||||
if env["platform"] == "macos":
|
if env["platform"] == "macos":
|
||||||
library = env.SharedLibrary(
|
library = env.SharedLibrary(
|
||||||
"project/bin/libmarshconnector.{}.{}.framework/libmarshconnector.{}.{}".format(
|
"project/bin/libmarshconnector.{}.{}.framework/libmarshconnector.{}.{}".format(
|
||||||
|
|
|
||||||
323500
extension_api.json
323500
extension_api.json
File diff suppressed because it is too large
Load diff
|
|
@ -3,8 +3,7 @@
|
||||||
|
|
||||||
using namespace godot;
|
using namespace godot;
|
||||||
|
|
||||||
void MarshConnector::_bind_methods() {
|
void MarshConnector::_bind_methods() {}
|
||||||
}
|
|
||||||
|
|
||||||
MarshConnector::MarshConnector() {
|
MarshConnector::MarshConnector() {
|
||||||
// Initialize any variables here.
|
// Initialize any variables here.
|
||||||
|
|
@ -15,6 +14,4 @@ MarshConnector::~MarshConnector() {
|
||||||
// Add your cleanup here.
|
// Add your cleanup here.
|
||||||
}
|
}
|
||||||
|
|
||||||
void MarshConnector::_process(double delta) {
|
void MarshConnector::_process(double delta) { time_passed += delta; }
|
||||||
time_passed += delta;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
namespace godot {
|
namespace godot {
|
||||||
|
|
||||||
class MarshConnector : public Node{
|
class MarshConnector : public Node {
|
||||||
GDCLASS(MarshConnector, Node)
|
GDCLASS(MarshConnector, Node)
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
@ -21,6 +21,6 @@ public:
|
||||||
void _process(double delta) override;
|
void _process(double delta) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
} // namespace godot
|
||||||
|
|
||||||
#endif // MARSHCONNECTOR_H
|
#endif // MARSHCONNECTOR_H
|
||||||
|
|
|
||||||
|
|
@ -24,12 +24,17 @@ void uninitialize_marsh_module(ModuleInitializationLevel p_level) {
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
// Initialization.
|
// Initialization.
|
||||||
GDExtensionBool GDE_EXPORT marsh_library_init(GDExtensionInterfaceGetProcAddress p_get_proc_address, const GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) {
|
GDExtensionBool GDE_EXPORT
|
||||||
godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library, r_initialization);
|
marsh_library_init(GDExtensionInterfaceGetProcAddress p_get_proc_address,
|
||||||
|
const GDExtensionClassLibraryPtr p_library,
|
||||||
|
GDExtensionInitialization *r_initialization) {
|
||||||
|
godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library,
|
||||||
|
r_initialization);
|
||||||
|
|
||||||
init_obj.register_initializer(initialize_marsh_module);
|
init_obj.register_initializer(initialize_marsh_module);
|
||||||
init_obj.register_terminator(uninitialize_marsh_module);
|
init_obj.register_terminator(uninitialize_marsh_module);
|
||||||
init_obj.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE);
|
init_obj.set_minimum_library_initialization_level(
|
||||||
|
MODULE_INITIALIZATION_LEVEL_SCENE);
|
||||||
|
|
||||||
return init_obj.init();
|
return init_obj.init();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue