diff --git a/Dependencies.cmake b/Dependencies.cmake index 475dd5352..e3ae01cee 100644 --- a/Dependencies.cmake +++ b/Dependencies.cmake @@ -9,7 +9,7 @@ if (NOT TARGET seika) FetchContent_Declare( seika_content GIT_REPOSITORY https://github.com/Chukobyte/seika.git - GIT_TAG v0.1.4 + GIT_TAG v0.1.5 ) FetchContent_MakeAvailable(seika_content) endif () diff --git a/crescent_py_api/pocketpy/crescent.py b/crescent_py_api/pocketpy/crescent.py index 2d62a2ce8..7ff619d43 100644 --- a/crescent_py_api/pocketpy/crescent.py +++ b/crescent_py_api/pocketpy/crescent.py @@ -667,32 +667,32 @@ def get_world_position() -> Vector2: class Keyboard: TAB = 29 - A = 97 - B = 98 - C = 99 - D = 100 - E = 101 - F = 102 - G = 103 - H = 104 - I = 105 - J = 106 - K = 107 - L = 108 - M = 109 - N = 110 - O = 111 - P = 112 - Q = 113 - R = 114 - S = 115 - T = 116 - U = 117 - V = 118 - W = 119 - X = 120 - Y = 121 - Z = 122 + A = 96 + B = 97 + C = 98 + D = 99 + E = 100 + F = 101 + G = 102 + H = 103 + I = 104 + J = 105 + K = 106 + L = 107 + M = 108 + N = 109 + O = 110 + P = 111 + Q = 112 + R = 113 + S = 114 + T = 115 + U = 116 + V = 117 + W = 118 + X = 119 + Y = 120 + Z = 121 LEFT = 30 RIGHT = 31 diff --git a/editor/src/core/file_creation/scene_file_creator.cpp b/editor/src/core/file_creation/scene_file_creator.cpp index eb4ff9cce..571178d64 100644 --- a/editor/src/core/file_creation/scene_file_creator.cpp +++ b/editor/src/core/file_creation/scene_file_creator.cpp @@ -6,56 +6,16 @@ #include "../utils/json_helper.h" namespace { -nlohmann::ordered_json Vector2ToJson(SkaVector2 value) { - nlohmann::ordered_json vec; - vec["x"] = value.x; - vec["y"] = value.y; - return vec; -} - -template -nlohmann::ordered_json Size2DToJson(T value) { - nlohmann::ordered_json size; - size["w"] = value.w; - size["h"] = value.h; - return size; -} - -nlohmann::ordered_json Rect2ToJson(const SkaRect2& value) { - nlohmann::ordered_json rect; - rect["x"] = value.x; - rect["y"] = value.y; - rect["w"] = value.w; - rect["h"] = value.h; - return rect; -} - -nlohmann::ordered_json ColorToJson(const SkaColor& value) { - nlohmann::ordered_json rect; - rect["r"] = (int) (value.r * 255); - rect["g"] = (int) (value.g * 255); - rect["b"] = (int) (value.b * 255); - rect["a"] = (int) (value.a * 255); - return rect; -} - -nlohmann::ordered_json MinMaxVector2ToJson(const SkaMinMaxVec2& value) { - nlohmann::ordered_json minmaxVec2; - minmaxVec2["min"] = Vector2ToJson(value.min); - minmaxVec2["max"] = Vector2ToJson(value.max); - return minmaxVec2; -} - nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { nlohmann::ordered_json componentsJsonArray = nlohmann::ordered_json::array(); if (const auto transform2DComp = sceneNode->GetComponentSafe()) { nlohmann::ordered_json transform2dJson; transform2dJson["type"] = "transform_2d"; if (transform2DComp->transform2D.position.x != 0.0f || transform2DComp->transform2D.position.y != 0.0f) { - transform2dJson["position"] = Vector2ToJson(transform2DComp->transform2D.position); + transform2dJson["position"] = JsonHelper::Vector2ToJson(transform2DComp->transform2D.position); } if (transform2DComp->transform2D.scale.x != 1.0f || transform2DComp->transform2D.scale.y != 1.0f) { - transform2dJson["scale"] = Vector2ToJson(transform2DComp->transform2D.scale); + transform2dJson["scale"] = JsonHelper::Vector2ToJson(transform2DComp->transform2D.scale); } if (transform2DComp->transform2D.rotation != 0.0f) { transform2dJson["rotation"] = transform2DComp->transform2D.rotation; @@ -75,12 +35,12 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { nlohmann::ordered_json spriteJson; spriteJson["type"] = "sprite"; spriteJson["texture_path"] = spriteComp->texturePath; - spriteJson["draw_source"] = Rect2ToJson(spriteComp->drawSource); + spriteJson["draw_source"] = JsonHelper::Rect2ToJson(spriteComp->drawSource); if (spriteComp->origin.x != 0.0f || spriteComp->origin.y != 0.0f) { - spriteJson["origin"] = Vector2ToJson(spriteComp->origin); + spriteJson["origin"] = JsonHelper::Vector2ToJson(spriteComp->origin); } if (spriteComp->modulate.r != 1.0f || spriteComp->modulate.g != 1.0f || spriteComp->modulate.b != 1.0f || spriteComp->modulate.a != 1.0f) { - spriteJson["modulate"] = ColorToJson(spriteComp->modulate); + spriteJson["modulate"] = JsonHelper::ColorToJson(spriteComp->modulate); } if (spriteComp->flipH != DEFAULT_COMPONENT_SPRITE_FLIP_H) { spriteJson["flip_h"] = spriteComp->flipH; @@ -99,10 +59,10 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { animSpriteJson["current_animation_name"] = animatedSpriteComp->currentAnimationName; animSpriteJson["is_playing"] = animatedSpriteComp->isPlaying; if (animatedSpriteComp->origin.x != 0.0f || animatedSpriteComp->origin.y != 0.0f) { - animSpriteJson["origin"] = Vector2ToJson(animatedSpriteComp->origin); + animSpriteJson["origin"] = JsonHelper::Vector2ToJson(animatedSpriteComp->origin); } if (animatedSpriteComp->modulate.r != 1.0f || animatedSpriteComp->modulate.g != 1.0f || animatedSpriteComp->modulate.b != 1.0f || animatedSpriteComp->modulate.a != 1.0f) { - animSpriteJson["modulate"] = ColorToJson(animatedSpriteComp->modulate); + animSpriteJson["modulate"] = JsonHelper::ColorToJson(animatedSpriteComp->modulate); } if (animatedSpriteComp->flipH != DEFAULT_COMPONENT_ANIMATED_SPRITE_FLIP_H) { animSpriteJson["flip_h"] = animatedSpriteComp->flipH; @@ -130,7 +90,7 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { nlohmann::ordered_json frameJson; frameJson["frame"] = frame.frame; frameJson["texture_path"] = frame.texturePath; - frameJson["draw_source"] = Rect2ToJson(frame.drawSource); + frameJson["draw_source"] = JsonHelper::Rect2ToJson(frame.drawSource); framesJsonArray.emplace_back(frameJson); } animJson["frames"] = framesJsonArray; @@ -147,7 +107,7 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { } textLabelJson["text"] = textLabelComp->text; if (textLabelComp->color.r != 1.0f || textLabelComp->color.g != 1.0f || textLabelComp->color.b != 1.0f || textLabelComp->color.a != 1.0f) { - textLabelJson["color"] = ColorToJson(textLabelComp->color); + textLabelJson["color"] = JsonHelper::ColorToJson(textLabelComp->color); } componentsJsonArray.emplace_back(textLabelJson); } @@ -161,18 +121,18 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { if (const auto collider2DComp = sceneNode->GetComponentSafe()) { nlohmann::ordered_json collider2DJson; collider2DJson["type"] = "collider_2d"; - collider2DJson["extents"] = Size2DToJson(collider2DComp->extents); + collider2DJson["extents"] = JsonHelper::Size2DToJson(collider2DComp->extents); if (collider2DComp->color.r != 1.0f || collider2DComp->color.g != 1.0f || collider2DComp->color.b != 1.0f || collider2DComp->color.a != 1.0f) { - collider2DJson["color"] = ColorToJson(collider2DComp->color); + collider2DJson["color"] = JsonHelper::ColorToJson(collider2DComp->color); } componentsJsonArray.emplace_back(collider2DJson); } if (const auto colorRectComp = sceneNode->GetComponentSafe()) { nlohmann::ordered_json colorRectJson; colorRectJson["type"] = "color_rect"; - colorRectJson["size"] = Size2DToJson(colorRectComp->size); + colorRectJson["size"] = JsonHelper::Size2DToJson(colorRectComp->size); if (colorRectComp->color.r != 1.0f || colorRectComp->color.g != 1.0f || colorRectComp->color.b != 1.0f || colorRectComp->color.a != 1.0f) { - colorRectJson["color"] = ColorToJson(colorRectComp->color); + colorRectJson["color"] = JsonHelper::ColorToJson(colorRectComp->color); } componentsJsonArray.emplace_back(colorRectJson); } @@ -180,7 +140,7 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { nlohmann::ordered_json parallaxJson; parallaxJson["type"] = "parallax"; if (parallaxComp->scrollSpeed.x != 0.0f || parallaxComp->scrollSpeed.y != 0.0f) { - parallaxJson["scroll_speed"] = Vector2ToJson(parallaxComp->scrollSpeed); + parallaxJson["scroll_speed"] = JsonHelper::Vector2ToJson(parallaxComp->scrollSpeed); } componentsJsonArray.emplace_back(parallaxJson); } @@ -194,10 +154,10 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { particles2DJson["amount"] = particles2DComp->amount; } if (particles2DComp->initialVelocity.min.x != 0.0f || particles2DComp->initialVelocity.min.y != 0.0f || particles2DComp->initialVelocity.max.x != 0.0f || particles2DComp->initialVelocity.max.y != 0.0f) { - particles2DJson["initial_velocity"] = MinMaxVector2ToJson(particles2DComp->initialVelocity); + particles2DJson["initial_velocity"] = JsonHelper::MinMaxVector2ToJson(particles2DComp->initialVelocity); } if (particles2DComp->color.r != 1.0f || particles2DComp->color.g != 1.0f || particles2DComp->color.b != 1.0f || particles2DComp->color.a != 1.0f) { - particles2DJson["color"] = ColorToJson(particles2DComp->color); + particles2DJson["color"] = JsonHelper::ColorToJson(particles2DComp->color); } if (particles2DComp->spread != 45.0f) { particles2DJson["spread"] = particles2DComp->spread; @@ -220,7 +180,7 @@ nlohmann::ordered_json GetComponentsJsonArray(SceneNode* sceneNode) { tilemapJson["texture_path"] = tilemapTexturePath; const auto& tileSize = tilemapComp->GetTileSize(); if (tileSize.w != 32 || tileSize.h != 32) { - tilemapJson["tile_size"] = Size2DToJson(tileSize); + tilemapJson["tile_size"] = JsonHelper::Size2DToJson(tileSize); } nlohmann::ordered_json activeTilesJsonArray = nlohmann::ordered_json::array(); tilemapComp->ForEachActiveTile([&activeTilesJsonArray](const CreTileData* tileData) { diff --git a/editor/src/core/project_properties.cpp b/editor/src/core/project_properties.cpp index ae48f8e61..fe079f9bd 100644 --- a/editor/src/core/project_properties.cpp +++ b/editor/src/core/project_properties.cpp @@ -98,6 +98,14 @@ void ProjectProperties::LoadPropertiesFromConfig(const char* filePath) { targetFPS = JsonHelper::Get(propertyJson, "target_fps"); areCollidersVisible = JsonHelper::Get(propertyJson, "colliders_visible"); version = JsonHelper::GetDefault(propertyJson, "version", "0.0.1"); + if (JsonHelper::HasKey(propertyJson, "window_background_color")) { + const auto windowBackgroundColorJson = JsonHelper::Get(propertyJson, "window_background_color"); + const int r = JsonHelper::Get(windowBackgroundColorJson, "r"); + const int g = JsonHelper::Get(windowBackgroundColorJson, "g"); + const int b = JsonHelper::Get(windowBackgroundColorJson, "b"); + const int a = JsonHelper::Get(windowBackgroundColorJson, "a"); + windowBackgroundColor = SkaColor{ r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f }; + } assets.SetAssets(JsonHelper::Get(propertyJson, "assets")); inputs.SetInputs(JsonHelper::Get(propertyJson, "inputs")); ska_logger_debug("Loading game properties finished"); @@ -168,6 +176,7 @@ nlohmann::ordered_json ProjectProperties::ToJson() const { configJson["initial_node_path"] = initialNodePath; configJson["colliders_visible"] = areCollidersVisible; configJson["vsync_enabled"] = vsyncEnabled; + configJson["window_background_color"] = JsonHelper::ColorToJson(windowBackgroundColor); configJson["version"] = version; // Assets diff --git a/editor/src/core/project_properties.h b/editor/src/core/project_properties.h index b732a0874..fcab23ab1 100644 --- a/editor/src/core/project_properties.h +++ b/editor/src/core/project_properties.h @@ -4,9 +4,11 @@ #include #include +#include +#include + #include "utils/json_helper.h" #include "utils/singleton.h" -#include "seika/math/math.h" struct TextureAsset { TextureAsset() = default; @@ -83,14 +85,15 @@ class ProjectProperties : public Singleton { public: std::string gameTitle; std::string initialNodePath; - int windowWidth; - int windowHeight; - int resolutionWidth; - int resolutionHeight; - uint32_t audioWavSampleRate; + int32 windowWidth; + int32 windowHeight; + int32 resolutionWidth; + int32 resolutionHeight; + uint32 audioWavSampleRate = SKA_AUDIO_SOURCE_DEFAULT_WAV_SAMPLE_RATE; bool maintainAspectRatio = false; - int targetFPS; + int32 targetFPS; bool areCollidersVisible = false; + SkaColor windowBackgroundColor = {33.0f / 255.0f, 33.0f / 255.0f, 33.0f / 255.0f, 1.0f }; bool vsyncEnabled = false; std::string version; ProjectAssets assets; diff --git a/editor/src/core/ui/views/opened_project/menu_bar_ui.cpp b/editor/src/core/ui/views/opened_project/menu_bar_ui.cpp index bc3d3fc38..9e55f8bb0 100644 --- a/editor/src/core/ui/views/opened_project/menu_bar_ui.cpp +++ b/editor/src/core/ui/views/opened_project/menu_bar_ui.cpp @@ -203,6 +203,9 @@ ImGuiHelper::MenuBar OpenedProjectUI::MenuBar::GetMenuBar() { static ImGuiHelper::CheckBox areCollidersVisibleCheckBox("Are Colliders Visible", projectProperties->areCollidersVisible); ImGuiHelper::BeginCheckBox(areCollidersVisibleCheckBox); + static ImGuiHelper::ColorEdit4 windowBackgroundColorEdit("Window Background Color", (float*)&projectProperties->windowBackgroundColor); + ImGuiHelper::BeginColorEdit4(windowBackgroundColorEdit); + static ImGuiHelper::InputText versionText("Version", projectProperties->version); ImGuiHelper::BeginInputText(versionText); }, diff --git a/editor/src/core/utils/json_helper.h b/editor/src/core/utils/json_helper.h index 3058ff2df..623480794 100644 --- a/editor/src/core/utils/json_helper.h +++ b/editor/src/core/utils/json_helper.h @@ -5,13 +5,13 @@ #include +#include #include - namespace JsonHelper { // General template -inline bool HasKey(JsonType& json, const std::string& key) { +bool HasKey(JsonType& json, const std::string& key) { try { json.at(key); return true; @@ -22,7 +22,7 @@ inline bool HasKey(JsonType& json, const std::string& key) { } template -inline T Get(const JsonType& json, const std::string& key) { +T Get(const JsonType& json, const std::string& key) { if (HasKey(json, key)) { return json.at(key); } @@ -31,7 +31,7 @@ inline T Get(const JsonType& json, const std::string& key) { } template -inline T GetDefault(const JsonType& json, const std::string& key, T defaultValue) { +T GetDefault(const JsonType& json, const std::string& key, T defaultValue) { if (HasKey(json, key)) { return json.at(key); } @@ -52,7 +52,7 @@ inline JsonType LoadFile(const std::string& filePath) { } template -inline void SaveFile(const std::string& filePath, const JsonType& outputJson, bool format = true) { +void SaveFile(const std::string& filePath, const JsonType& outputJson, bool format = true) { std::ofstream myFile(filePath); const std::string jsonText = format ? outputJson.dump(4) : outputJson.dump(); myFile << jsonText << "\n"; @@ -60,11 +60,54 @@ inline void SaveFile(const std::string& filePath, const JsonType& outputJson, bo } template -inline nlohmann::json ConvertString(const std::string& jsonString) { +nlohmann::json ConvertString(const std::string& jsonString) { std::stringstream ss; ss << jsonString; JsonType outputJson; outputJson << ss; return outputJson; } + +// Type to json helpers + +inline nlohmann::ordered_json Vector2ToJson(SkaVector2 value) { + nlohmann::ordered_json vec; + vec["x"] = value.x; + vec["y"] = value.y; + return vec; +} + +template +nlohmann::ordered_json Size2DToJson(T value) { + nlohmann::ordered_json size; + size["w"] = value.w; + size["h"] = value.h; + return size; +} + +inline nlohmann::ordered_json Rect2ToJson(const SkaRect2& value) { + nlohmann::ordered_json rect; + rect["x"] = value.x; + rect["y"] = value.y; + rect["w"] = value.w; + rect["h"] = value.h; + return rect; +} + +inline nlohmann::ordered_json ColorToJson(const SkaColor& value) { + nlohmann::ordered_json rect; + rect["r"] = (int) (value.r * 255); + rect["g"] = (int) (value.g * 255); + rect["b"] = (int) (value.b * 255); + rect["a"] = (int) (value.a * 255); + return rect; +} + +inline nlohmann::ordered_json MinMaxVector2ToJson(const SkaMinMaxVec2& value) { + nlohmann::ordered_json minmaxVec2; + minmaxVec2["min"] = Vector2ToJson(value.min); + minmaxVec2["max"] = Vector2ToJson(value.max); + return minmaxVec2; +} + } // namespace JsonHelper diff --git a/engine/src/core/core.c b/engine/src/core/core.c index 1e32e55d1..bd714dba4 100644 --- a/engine/src/core/core.c +++ b/engine/src/core/core.c @@ -248,7 +248,7 @@ void cre_render() { // Gather render data from ec systems ska_ecs_system_event_render_systems(); // Actually render - ska_window_render(); + ska_window_render(&gameProperties->windowBackgroundColor); } bool cre_is_running() { diff --git a/engine/src/core/game_properties.h b/engine/src/core/game_properties.h index 831616ec3..74ac4e6db 100644 --- a/engine/src/core/game_properties.h +++ b/engine/src/core/game_properties.h @@ -5,9 +5,9 @@ extern "C" { #endif #include -#include #include +#include typedef struct CREAssetAudioSource { char* file_path; @@ -64,6 +64,7 @@ typedef struct CREGameProperties { char* initialScenePath; bool areCollidersVisible; bool vsyncEnabled; + SkaColor windowBackgroundColor; CREAssetAudioSource audioSources[CRE_PROPERTIES_ASSET_LIMIT]; size_t audioSourceCount; CREAssetTexture textures[CRE_PROPERTIES_ASSET_LIMIT]; diff --git a/engine/src/core/json/json_file_loader.c b/engine/src/core/json/json_file_loader.c index b6f82fafa..098453f27 100644 --- a/engine/src/core/json/json_file_loader.c +++ b/engine/src/core/json/json_file_loader.c @@ -123,6 +123,11 @@ CREGameProperties* cre_json_load_config_file(const char* filePath) { // VSync Enabled properties->vsyncEnabled = json_get_bool_default(configJson, "vsync_enabled", properties->vsyncEnabled); ska_logger_debug("VSync Enabled '%s'", properties->vsyncEnabled == true ? "true" : "false"); + // Window Background Color + const SkaColor defaultBackgroundColor = (SkaColor){33.0f / 255.0f, 33.0f / 255.0f, 33.0f / 255.0f, 1.0f }; + properties->windowBackgroundColor = json_get_linear_color_default(configJson, "window_background_color", defaultBackgroundColor); + ska_logger_debug("Window Background Color (%f, %f, %f, %f)", + properties->windowBackgroundColor.r, properties->windowBackgroundColor.g, properties->windowBackgroundColor.b, properties->windowBackgroundColor.a); cre_json_configure_assets(configJson, properties); diff --git a/engine/src/core/scene/scene_manager.c b/engine/src/core/scene/scene_manager.c index a06e4ad69..ac3a1afce 100644 --- a/engine/src/core/scene/scene_manager.c +++ b/engine/src/core/scene/scene_manager.c @@ -516,27 +516,27 @@ SceneTreeNode* cre_scene_manager_setup_json_scene_node(JsonSceneNode* jsonSceneN ska_ecs_component_manager_set_component(node->entity, TEXT_LABEL_COMPONENT_INDEX, textLabelComponent); } if (jsonSceneNode->components[SCRIPT_COMPONENT_INDEX] != NULL) { - ScriptComponent* scriptComponent = script_component_copy((ScriptComponent*)jsonSceneNode->components[SCRIPT_COMPONENT_INDEX]); + ScriptComponent* scriptComponent = script_component_copy(jsonSceneNode->components[SCRIPT_COMPONENT_INDEX]); ska_ecs_component_manager_set_component(node->entity, SCRIPT_COMPONENT_INDEX, scriptComponent); } if (jsonSceneNode->components[COLLIDER2D_COMPONENT_INDEX] != NULL) { - Collider2DComponent* collider2DComponent = collider2d_component_copy((Collider2DComponent*)jsonSceneNode->components[COLLIDER2D_COMPONENT_INDEX]); + Collider2DComponent* collider2DComponent = collider2d_component_copy(jsonSceneNode->components[COLLIDER2D_COMPONENT_INDEX]); ska_ecs_component_manager_set_component(node->entity, COLLIDER2D_COMPONENT_INDEX, collider2DComponent); } if (jsonSceneNode->components[COLOR_RECT_COMPONENT_INDEX] != NULL) { - ColorRectComponent* colorSquareComponent = color_rect_component_copy((ColorRectComponent*)jsonSceneNode->components[COLOR_RECT_COMPONENT_INDEX]); + ColorRectComponent* colorSquareComponent = color_rect_component_copy(jsonSceneNode->components[COLOR_RECT_COMPONENT_INDEX]); ska_ecs_component_manager_set_component(node->entity, COLOR_RECT_COMPONENT_INDEX, colorSquareComponent); } if (jsonSceneNode->components[PARALLAX_COMPONENT_INDEX] != NULL) { - ParallaxComponent* parallaxComponent = parallax_component_copy((ParallaxComponent*)jsonSceneNode->components[PARALLAX_COMPONENT_INDEX]); + ParallaxComponent* parallaxComponent = parallax_component_copy(jsonSceneNode->components[PARALLAX_COMPONENT_INDEX]); ska_ecs_component_manager_set_component(node->entity, PARALLAX_COMPONENT_INDEX, parallaxComponent); } if (jsonSceneNode->components[PARTICLES2D_COMPONENT_INDEX] != NULL) { - Particles2DComponent* particles2DComponent = particles2d_component_copy((Particles2DComponent*)jsonSceneNode->components[PARTICLES2D_COMPONENT_INDEX]); + Particles2DComponent* particles2DComponent = particles2d_component_copy(jsonSceneNode->components[PARTICLES2D_COMPONENT_INDEX]); ska_ecs_component_manager_set_component(node->entity, PARTICLES2D_COMPONENT_INDEX, particles2DComponent); } if (jsonSceneNode->components[TILEMAP_COMPONENT_INDEX] != NULL) { - TilemapComponent* tilemapComponent = tilemap_component_copy((TilemapComponent*)jsonSceneNode->components[TILEMAP_COMPONENT_INDEX]); + TilemapComponent* tilemapComponent = tilemap_component_copy(jsonSceneNode->components[TILEMAP_COMPONENT_INDEX]); tilemapComponent->tilemap->tileset.texture = ska_asset_manager_get_texture(jsonSceneNode->spriteTexturePath); ska_ecs_component_manager_set_component(node->entity, TILEMAP_COMPONENT_INDEX, tilemapComponent); } diff --git a/engine/src/core/scripting/python/pocketpy/cre_pkpy_api_source.h b/engine/src/core/scripting/python/pocketpy/cre_pkpy_api_source.h index 2b50f027c..523bc86ec 100644 --- a/engine/src/core/scripting/python/pocketpy/cre_pkpy_api_source.h +++ b/engine/src/core/scripting/python/pocketpy/cre_pkpy_api_source.h @@ -670,32 +670,32 @@ "class Keyboard:\n"\ " TAB = 29\n"\ "\n"\ -" A = 97\n"\ -" B = 98\n"\ -" C = 99\n"\ -" D = 100\n"\ -" E = 101\n"\ -" F = 102\n"\ -" G = 103\n"\ -" H = 104\n"\ -" I = 105\n"\ -" J = 106\n"\ -" K = 107\n"\ -" L = 108\n"\ -" M = 109\n"\ -" N = 110\n"\ -" O = 111\n"\ -" P = 112\n"\ -" Q = 113\n"\ -" R = 114\n"\ -" S = 115\n"\ -" T = 116\n"\ -" U = 117\n"\ -" V = 118\n"\ -" W = 119\n"\ -" X = 120\n"\ -" Y = 121\n"\ -" Z = 122\n"\ +" A = 96\n"\ +" B = 97\n"\ +" C = 98\n"\ +" D = 99\n"\ +" E = 100\n"\ +" F = 101\n"\ +" G = 102\n"\ +" H = 103\n"\ +" I = 104\n"\ +" J = 105\n"\ +" K = 106\n"\ +" L = 107\n"\ +" M = 108\n"\ +" N = 109\n"\ +" O = 110\n"\ +" P = 111\n"\ +" Q = 112\n"\ +" R = 113\n"\ +" S = 114\n"\ +" T = 115\n"\ +" U = 116\n"\ +" V = 117\n"\ +" W = 118\n"\ +" X = 119\n"\ +" Y = 120\n"\ +" Z = 121\n"\ "\n"\ " LEFT = 30\n"\ " RIGHT = 31\n"\