Skip to content

Commit

Permalink
Merge pull request #656 from Spartan322/update/rebranding
Browse files Browse the repository at this point in the history
Fix Project Manager listing incorrect info
  • Loading branch information
SkogiB authored Oct 11, 2024
2 parents 2aa3ed0 + 829e0d4 commit 4f67c65
Show file tree
Hide file tree
Showing 13 changed files with 266 additions and 16 deletions.
30 changes: 18 additions & 12 deletions COPYRIGHT.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Exhaustive licensing information for files in the Godot Engine repository
# Exhaustive licensing information for files in the Redot Engine repository
# =========================================================================
#
# This file aims at documenting the copyright and license for every source
# file in the Godot Engine repository, and especially outline the files
# whose license differs from the MIT/Expat license used by Godot Engine.
# file in the Redot Engine repository, and especially outline the files
# whose license differs from the MIT/Expat license used by Redot Engine.
#
# It is written as a machine-readable format following the debian/copyright
# specification. Globbing patterns (e.g. "Files: *") mean that they affect
Expand All @@ -27,38 +27,40 @@
# License: Zlib
# The exact copyright for each file in that library *may* differ, and some
# files or code snippets might be distributed under other compatible licenses
# (e.g. a public domain dedication), but as far as Godot Engine is concerned
# (e.g. a public domain dedication), but as far as Redot Engine is concerned
# the library is considered as a whole under the Zlib license.
#
# Note: When linking dynamically against thirdparty libraries instead of
# building them into the Godot binary, you may remove the corresponding
# building them into the Redot binary, you may remove the corresponding
# license details from this file.

-----------------------------------------------------------------------

Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Godot Engine
Upstream-Contact: Rémi Verschelde <[email protected]>
Source: https://github.com/godotengine/godot
Upstream-Name: Redot Engine
Upstream-Contact: Andevrs <[email protected]>
Source: https://github.com/Redot-Engine/redot-engine

Files: *
Comment: Godot Engine
Copyright: 2014-present, Godot Engine contributors
Comment: Redot Engine
Copyright: 2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat

Files: ./icon.png
./icon.svg
./logo.png
./logo.svg
Comment: Godot Engine logo
Copyright: 2017, Andrea Calabró
Comment: Redot Engine logo
Copyright: 2024, dev_airsyad (on X/Twitter)
License: CC-BY-4.0

Files: ./core/math/convex_hull.cpp
./core/math/convex_hull.h
Comment: Bullet Continuous Collision Detection and Physics Library
Copyright: 2011, Ole Kniemeyer, MAXON, www.maxon.net
2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat and Zlib
Expand All @@ -84,6 +86,7 @@ Files: ./modules/godot_physics_3d/gjk_epa.cpp
./modules/godot_physics_3d/godot_shape_3d.h
Comment: Bullet Continuous Collision Detection and Physics Library
Copyright: 2003-2008, Erwin Coumans
2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat and Zlib
Expand All @@ -97,13 +100,15 @@ Files: ./modules/godot_physics_3d/joints/godot_cone_twist_joint_3d.cpp
./modules/godot_physics_3d/joints/godot_cone_twist_joint_3d.h
Comment: Bullet Continuous Collision Detection and Physics Library
Copyright: 2007, Starbreeze Studios
2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat and Zlib

Files: ./modules/lightmapper_rd/lm_compute.glsl
Comment: Joint Non-Local Means (JNLM) denoiser
Copyright: 2020, Manuel Prandini
2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat
Expand All @@ -127,6 +132,7 @@ License: Apache-2.0
Files: ./scene/animation/easing_equations.h
Comment: Robert Penner's Easing Functions
Copyright: 2001, Robert Penner
2024-present, Redot Engine contributors
2014-present, Godot Engine contributors
2007-2014, Juan Linietsky, Ariel Manzur
License: Expat
Expand Down
4 changes: 4 additions & 0 deletions REDOT_AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ name is available.



## Project Manager



## Developers

Adam Vondersaar (trashguy)
Expand Down
8 changes: 8 additions & 0 deletions core/SCsub
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,10 @@ def version_info_builder(target, source, env):
#define VERSION_WEBSITE "{website}"
#define VERSION_DOCS_BRANCH "{docs_branch}"
#define VERSION_DOCS_URL "https://docs.redotengine.org/en/" VERSION_DOCS_BRANCH
#define GODOT_VERSION_MAJOR {godot_major}
#define GODOT_VERSION_MINOR {godot_minor}
#define GODOT_VERSION_PATCH {godot_patch}
#define GODOT_VERSION_STATUS "{godot_status}"
""".format(**env.version_info)
)

Expand Down Expand Up @@ -259,6 +263,10 @@ env.CommandNoCache(
env.Run(core_builders.make_certs_header),
)

# Authors
env.Depends("#core/redot_authors.gen.h", "../REDOT_AUTHORS.md")
env.CommandNoCache("#core/redot_authors.gen.h", "../REDOT_AUTHORS.md", env.Run(core_builders.make_redot_authors_header))

# Authors
env.Depends("#core/authors.gen.h", "../AUTHORS.md")
env.CommandNoCache("#core/authors.gen.h", "../AUTHORS.md", env.Run(core_builders.make_authors_header))
Expand Down
45 changes: 45 additions & 0 deletions core/config/engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,10 @@
#include "core/config/project_settings.h"
#include "core/donors.gen.h"
#include "core/license.gen.h"
#include "core/redot_authors.gen.h"
#include "core/variant/typed_array.h"
#include "core/version.h"
#include "core/version_generated.gen.h"

void Engine::set_physics_ticks_per_second(int p_ips) {
ERR_FAIL_COND_MSG(p_ips <= 0, "Engine iterations per second must be greater than 0.");
Expand Down Expand Up @@ -139,6 +141,25 @@ Dictionary Engine::get_version_info() const {
return dict;
}

Dictionary Engine::get_godot_compatible_version_info() const {
Dictionary dict;
dict["major"] = GODOT_VERSION_MAJOR;
dict["minor"] = GODOT_VERSION_MINOR;
dict["patch"] = GODOT_VERSION_PATCH;
dict["hex"] = GODOT_VERSION_HEX;
dict["status"] = GODOT_VERSION_STATUS;

String stringver = String(dict["major"]) + "." + String(dict["minor"]);
if ((int)dict["patch"] != 0) {
stringver += "." + String(dict["patch"]);
}
// stringver += "-" + String(dict["status"]) + " (" + String(dict["build"]) + ")"; TODO: add godot automated build identification?
stringver += "-" + String(dict["status"]);
dict["string"] = stringver;

return dict;
}

static Array array_from_info(const char *const *info_list) {
Array arr;
for (int i = 0; info_list[i] != nullptr; i++) {
Expand All @@ -158,6 +179,17 @@ static Array array_from_info_count(const char *const *info_list, int info_count)
Dictionary Engine::get_author_info() const {
Dictionary dict;

dict["lead_developers"] = array_from_info(REDOT_AUTHORS_LEAD_DEVELOPERS);
dict["project_managers"] = array_from_info(REDOT_AUTHORS_PROJECT_MANAGERS);
dict["founders"] = array_from_info(REDOT_AUTHORS_FOUNDERS);
dict["developers"] = array_from_info(REDOT_AUTHORS_DEVELOPERS);

return dict;
}

Dictionary Engine::get_godot_author_info() const {
Dictionary dict;

dict["lead_developers"] = array_from_info(AUTHORS_LEAD_DEVELOPERS);
dict["project_managers"] = array_from_info(AUTHORS_PROJECT_MANAGERS);
dict["founders"] = array_from_info(AUTHORS_FOUNDERS);
Expand Down Expand Up @@ -189,6 +221,19 @@ TypedArray<Dictionary> Engine::get_copyright_info() const {
}

Dictionary Engine::get_donor_info() const {
Dictionary donors;
donors["patrons"] = Array();
donors["platinum_sponsors"] = Array();
donors["gold_sponsors"] = Array();
donors["silver_sponsors"] = Array();
donors["diamond_members"] = Array();
donors["titanium_members"] = Array();
donors["platinum_members"] = Array();
donors["gold_members"] = Array();
return donors;
}

Dictionary Engine::get_godot_donor_info() const {
Dictionary donors;
donors["patrons"] = array_from_info(DONORS_PATRONS);
donors["platinum_sponsors"] = array_from_info(DONORS_SPONSORS_PLATINUM);
Expand Down
3 changes: 3 additions & 0 deletions core/config/engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,12 @@ class Engine {
#endif

Dictionary get_version_info() const;
Dictionary get_godot_compatible_version_info() const;
Dictionary get_author_info() const;
Dictionary get_godot_author_info() const;
TypedArray<Dictionary> get_copyright_info() const;
Dictionary get_donor_info() const;
Dictionary get_godot_donor_info() const;
Dictionary get_license_info() const;
String get_license_text() const;

Expand Down
15 changes: 15 additions & 0 deletions core/core_bind.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1764,10 +1764,18 @@ Dictionary Engine::get_version_info() const {
return ::Engine::get_singleton()->get_version_info();
}

Dictionary Engine::get_godot_compatible_version_info() const {
return ::Engine::get_singleton()->get_godot_compatible_version_info();
}

Dictionary Engine::get_author_info() const {
return ::Engine::get_singleton()->get_author_info();
}

Dictionary Engine::get_godot_author_info() const {
return ::Engine::get_singleton()->get_godot_author_info();
}

TypedArray<Dictionary> Engine::get_copyright_info() const {
return ::Engine::get_singleton()->get_copyright_info();
}
Expand All @@ -1776,6 +1784,10 @@ Dictionary Engine::get_donor_info() const {
return ::Engine::get_singleton()->get_donor_info();
}

Dictionary Engine::get_godot_donor_info() const {
return ::Engine::get_singleton()->get_godot_donor_info();
}

Dictionary Engine::get_license_info() const {
return ::Engine::get_singleton()->get_license_info();
}
Expand Down Expand Up @@ -1905,9 +1917,12 @@ void Engine::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_main_loop"), &Engine::get_main_loop);

ClassDB::bind_method(D_METHOD("get_version_info"), &Engine::get_version_info);
ClassDB::bind_method(D_METHOD("get_godot_compatible_version_info"), &Engine::get_godot_compatible_version_info);
ClassDB::bind_method(D_METHOD("get_author_info"), &Engine::get_author_info);
ClassDB::bind_method(D_METHOD("get_godot_author_info"), &Engine::get_godot_author_info);
ClassDB::bind_method(D_METHOD("get_copyright_info"), &Engine::get_copyright_info);
ClassDB::bind_method(D_METHOD("get_donor_info"), &Engine::get_donor_info);
ClassDB::bind_method(D_METHOD("get_godot_donor_info"), &Engine::get_godot_donor_info);
ClassDB::bind_method(D_METHOD("get_license_info"), &Engine::get_license_info);
ClassDB::bind_method(D_METHOD("get_license_text"), &Engine::get_license_text);

Expand Down
3 changes: 3 additions & 0 deletions core/core_bind.h
Original file line number Diff line number Diff line change
Expand Up @@ -544,9 +544,12 @@ class Engine : public Object {
MainLoop *get_main_loop() const;

Dictionary get_version_info() const;
Dictionary get_godot_compatible_version_info() const;
Dictionary get_author_info() const;
Dictionary get_godot_author_info() const;
TypedArray<Dictionary> get_copyright_info() const;
Dictionary get_donor_info() const;
Dictionary get_godot_donor_info() const;
Dictionary get_license_info() const;
String get_license_text() const;

Expand Down
49 changes: 49 additions & 0 deletions core/core_builders.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,55 @@ def make_certs_header(target, source, env):
g.write("#endif // CERTS_COMPRESSED_GEN_H")


def make_redot_authors_header(target, source, env):
sections = [
"Project Founders",
"Lead Developer",
"Project Manager",
"Developers",
]
sections_id = [
"REDOT_AUTHORS_FOUNDERS",
"REDOT_AUTHORS_LEAD_DEVELOPERS",
"REDOT_AUTHORS_PROJECT_MANAGERS",
"REDOT_AUTHORS_DEVELOPERS",
]

src = str(source[0])
dst = str(target[0])
with open(src, "r", encoding="utf-8") as f, open(dst, "w", encoding="utf-8", newline="\n") as g:
g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n")
g.write("#ifndef REDOT_AUTHORS_GEN_H\n")
g.write("#define REDOT_AUTHORS_GEN_H\n")

reading = False

def close_section():
g.write("\t0\n")
g.write("};\n")

for line in f:
if reading:
if line.startswith(" "):
g.write('\t"' + escape_string(line.strip()) + '",\n')
continue
if line.startswith("## "):
if reading:
close_section()
reading = False
for section, section_id in zip(sections, sections_id):
if line.strip().endswith(section):
current_section = escape_string(section_id)
reading = True
g.write("const char *const " + current_section + "[] = {\n")
break

if reading:
close_section()

g.write("#endif // REDOT_AUTHORS_GEN_H\n")


def make_authors_header(target, source, env):
sections = [
"Project Founders",
Expand Down
40 changes: 40 additions & 0 deletions core/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,44 @@ extern const char *const VERSION_HASH;
// Set to 0 if unknown.
extern const uint64_t VERSION_TIMESTAMP;

// Defines the main "branch" version. Patch versions in this branch should be
// forward-compatible.
// Example: "3.1"
#define GODOT_VERSION_BRANCH _MKSTR(GODOT_VERSION_MAJOR) "." _MKSTR(GODOT_VERSION_MINOR)
#if GODOT_VERSION_PATCH
// Example: "3.1.4"
#define GODOT_VERSION_NUMBER GODOT_VERSION_BRANCH "." _MKSTR(GODOT_VERSION_PATCH)
#else // patch is 0, we don't include it in the "pretty" version number.
// Example: "3.1" instead of "3.1.0"
#define GODOT_VERSION_NUMBER GODOT_VERSION_BRANCH
#endif // GODOT_VERSION_PATCH

// Version number encoded as hexadecimal int with one byte for each number,
// for easy comparison from code.
// Example: 3.1.4 will be 0x030104, making comparison easy from script.
#define GODOT_VERSION_HEX 0x10000 * GODOT_VERSION_MAJOR + 0x100 * GODOT_VERSION_MINOR + GODOT_VERSION_PATCH

// TODO: determine how to deal with godot compatible versioning behavior

// Describes the full configuration of that Redot version, including the version number,
// the status (beta, stable, etc.) and potential module-specific features (e.g. mono).
// Example: "3.1.4.stable.mono"
// #define GODOT_VERSION_FULL_CONFIG VERSION_NUMBER "." GODOT_VERSION_STATUS VERSION_MODULE_CONFIG

// Similar to GODOT_VERSION_FULL_CONFIG, but also includes the (potentially custom) VERSION_BUILD
// description (e.g. official, custom_build, etc.).
// Example: "3.1.4.stable.mono.official"
// #define GODOT_VERSION_FULL_BUILD GODOT_VERSION_FULL_CONFIG "." GODOT_VERSION_BUILD

// Same as above, but prepended with Redot's name and a cosmetic "v" for "version".
// Example: "Godot v3.1.4.stable.official.mono"
// #define GODOT_VERSION_FULL_NAME GODOT_VERSION_NAME " v" GODOT_VERSION_FULL_BUILD

// Git commit hash, generated at build time in `core/version_hash.gen.cpp`.
// extern const char *const GODOT_VERSION_HASH;

// Git commit date UNIX timestamp (in seconds), generated at build time in `core/version_hash.gen.cpp`.
// Set to 0 if unknown.
// extern const uint64_t GODOT_VERSION_TIMESTAMP;

#endif // VERSION_H
Loading

0 comments on commit 4f67c65

Please sign in to comment.