Skip to content

Update to Godot 4.4.1 #798

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

Merged
merged 1 commit into from
Mar 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/trigger_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.12.2-4.4"
godot-version: "4.4-stable"
build-version: "0.12.2"
godot-kotlin-jvm-version: "0.12.3-4.4.1"
godot-version: "4.4.1-stable"
build-version: "0.12.3"
jvm-version: "17"

build-jvm:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/trigger_on_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.12.2-4.4"
godot-version: "4.4-stable"
build-version: "0.12.2"
godot-kotlin-jvm-version: "0.12.3-4.4.1"
godot-version: "4.4.1-stable"
build-version: "0.12.3"
jvm-version: "17"

build-jvm:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/trigger_on_push_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.12.2-4.4"
godot-version: "4.4-stable"
build-version: "0.12.2"
godot-kotlin-jvm-version: "0.12.3-4.4.1"
godot-version: "4.4.1-stable"
build-version: "0.12.3"
jvm-version: "17"

build-jvm:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/trigger_on_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ jobs:
- run: |
echo "Setup done"
outputs: # defined here explicitly, so it only needs to be defined here. All other workflows can just reference it
godot-kotlin-jvm-version: "0.12.2-4.4"
godot-version: "4.4-stable"
build-version: "0.12.2"
godot-kotlin-jvm-version: "0.12.3-4.4.1"
godot-version: "4.4.1-stable"
build-version: "0.12.3"
jvm-version: "17"

build-jvm:
Expand Down
2 changes: 1 addition & 1 deletion config.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ def can_build(env, platform):
return True

def configure(env):
env.add_module_version_string("jvm.0.12.2")
env.add_module_version_string("jvm.0.12.3")
6 changes: 3 additions & 3 deletions docs/src/doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ While Kotlin and Godot supports a wide range of platforms, this module for the m

The module uses semantic versioning for its own versions but adds a suffix for the supported Godot version:

Full version: `0.12.2-4.4`
Full version: `0.12.3-4.4.1`

Module Version: `0.12.2`
Module Version: `0.12.3`

Supported Godot Version: `4.4`
Supported Godot Version: `4.4.1`

This module relies on a Kotlin *compiler plugin* for registering your classes and members to Godot. As the compiler API from Kotlin is not stable yet, at the moment we can only support specific Kotlin version per release.

Expand Down
4 changes: 2 additions & 2 deletions harness/tests/export_presets.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ script_export_mode=0

[preset.0.options]

custom_template/debug="D:/Godot/Module/kotlin/bin/godot.windows.template_debug.x86_64.jvm.0.12.2.exe"
custom_template/release="D:/Godot/Module/kotlin/bin/godot.windows.template_release.x86_64.jvm.0.12.2.exe"
custom_template/debug="D:/Godot/Module/kotlin/bin/godot.windows.template_debug.x86_64.jvm.0.12.3.exe"
custom_template/release="D:/Godot/Module/kotlin/bin/godot.windows.template_release.x86_64.jvm.0.12.3.exe"
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
Expand Down
103 changes: 89 additions & 14 deletions kt/api-generator/src/main/resources/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"header": {
"version_major": 4,
"version_minor": 4,
"version_patch": 0,
"version_status": "rc",
"version_patch": 1,
"version_status": "stable",
"version_build": "custom_build",
"version_full_name": "Godot Engine v4.4.rc.jvm.0.12.0.custom_build"
"version_full_name": "Godot Engine v4.4.1.stable.jvm.0.12.3.custom_build"
},
"builtin_class_sizes": [
{
Expand Down Expand Up @@ -93070,7 +93070,7 @@
{
"name": "DEBUG_FLAG_DUMB_CLIENT",
"value": 1,
"description": "Flag is set if remotely debugged project is expected to use remote file system. If set, [method gen_export_flags] will add [code]--remove-fs[/code] and [code]--remote-fs-password[/code] (if password is set in the editor settings) command line arguments to the list."
"description": "Flag is set if remotely debugged project is expected to use remote file system. If set, [method gen_export_flags] will add [code]--remote-fs[/code] and [code]--remote-fs-password[/code] (if password is set in the editor settings) command line arguments to the list."
},
{
"name": "DEBUG_FLAG_REMOTE_DEBUG",
Expand Down Expand Up @@ -93309,7 +93309,7 @@
"default_value": "Callable()"
}
],
"description": "Exports project files for the specified preset. This method can be used to implement custom export format, other than PCK and ZIP. One of the callbacks is called for each exported file.\n[param save_cb] is called for all exported files and have the following arguments: [code]file_path: String[/code], [code]file_data: PackedByteArray[/code], [code]file_index: int[/code], [code]file_count: int[/code], [code]encryption_include_filters: PackedStringArray[/code], [code]encryption_exclude_filters: PackedStringArray[/code], [code]encryption_key: PackedByteArray[/code].\n[param shared_cb] is called for exported native shared/static libraries and have the following arguments: [code]file_path: String[/code], [code]tags: PackedStringArray[/code], [code]target_folder: String[/code].\n[b]Note:[/b] [code]file_index[/code] and [code]file_count[/code] are intended for progress tracking only and aren't necesserely unique and precise."
"description": "Exports project files for the specified preset. This method can be used to implement custom export format, other than PCK and ZIP. One of the callbacks is called for each exported file.\n[param save_cb] is called for all exported files and have the following arguments: [code]file_path: String[/code], [code]file_data: PackedByteArray[/code], [code]file_index: int[/code], [code]file_count: int[/code], [code]encryption_include_filters: PackedStringArray[/code], [code]encryption_exclude_filters: PackedStringArray[/code], [code]encryption_key: PackedByteArray[/code].\n[param shared_cb] is called for exported native shared/static libraries and have the following arguments: [code]file_path: String[/code], [code]tags: PackedStringArray[/code], [code]target_folder: String[/code].\n[b]Note:[/b] [code]file_index[/code] and [code]file_count[/code] are intended for progress tracking only and aren't necessarily unique and precise."
},
{
"name": "export_project",
Expand Down Expand Up @@ -95301,7 +95301,7 @@
"return_value": {
"type": "Dictionary"
},
"description": "Returns [Dictionary] of files selected in the \"Resources\" tab of the export dialog. Dictionary keys are file names and values are export mode - [code]\"strip[/code], [code]\"keep\"[/code], or [code]\"remove\"[/code]. See also [method get_file_export_mode]."
"description": "Returns [Dictionary] of files selected in the \"Resources\" tab of the export dialog. Dictionary keys are file names and values are export mode - [code]\"strip\"[/code], [code]\"keep\"[/code], or [code]\"remove\"[/code]. See also [method get_file_export_mode]."
},
{
"name": "get_customized_files_count",
Expand Down Expand Up @@ -95391,7 +95391,7 @@
"return_value": {
"type": "bool"
},
"description": "Returns [code]true[/code], is \"Advanced\" toggle is enabled in the export dialog."
"description": "Returns [code]true[/code] if \"Advanced\" toggle is enabled in the export dialog."
},
{
"name": "is_dedicated_server",
Expand Down Expand Up @@ -144481,7 +144481,7 @@
"type": "String"
}
],
"description": "Wraps a class defined in Java, and returns it as a [JavaClass] [Object] type that Godot can interact with.\n[b]Note:[/b] This method only works on Android. On every other platform, this method does nothing and returns an empty [JavaClass]."
"description": "Wraps a class defined in Java, and returns it as a [JavaClass] [Object] type that Godot can interact with.\nWhen wrapping inner (nested) classes, use [code]$[/code] instead of [code].[/code] to separate them. For example, [code]JavaClassWrapper.wrap(\"android.view.WindowManager$LayoutParams\")[/code] wraps the [b]WindowManager.LayoutParams[/b] class.\n[b]Note:[/b] This method only works on Android. On every other platform, this method does nothing and returns an empty [JavaClass]."
},
{
"name": "get_exception",
Expand Down Expand Up @@ -152488,7 +152488,7 @@
"name": "caret_force_displayed",
"setter": "set_caret_force_displayed",
"getter": "is_caret_force_displayed",
"description": "If [code]true[/code], the [LineEdit] will always show the caret, even if focus is lost."
"description": "If [code]true[/code], the [LineEdit] will always show the caret, even if not editing or focus is lost."
},
{
"type": "bool",
Expand Down Expand Up @@ -161391,7 +161391,7 @@
"type": "RID"
}
],
"description": "Returns global menu open callback.\nb]Note:[/b] This method is implemented only on macOS."
"description": "Returns global menu open callback.\n[b]Note:[/b] This method is implemented only on macOS."
},
{
"name": "set_popup_close_callback",
Expand Down Expand Up @@ -176903,6 +176903,11 @@
"value": 1011,
"description": "Notification received when the mouse cursor leaves the [Viewport]'s visible area, that is not occluded behind other [Control]s or [Window]s, provided its [member Viewport.gui_disable_input] is [code]false[/code] and regardless if it's currently focused or not."
},
{
"name": "NOTIFICATION_WM_POSITION_CHANGED",
"value": 1012,
"description": "Notification received when the window is moved."
},
{
"name": "NOTIFICATION_OS_MEMORY_WARNING",
"value": 2009,
Expand Down Expand Up @@ -186247,7 +186252,7 @@
"is_refcounted": false,
"is_instantiable": true,
"inherits": "PanelContainer",
"api_type": "core",
"api_type": "editor",
"methods": [
{
"name": "get_binding_modifier",
Expand Down Expand Up @@ -188612,7 +188617,7 @@
"is_refcounted": false,
"is_instantiable": true,
"inherits": "OpenXRInteractionProfileEditorBase",
"api_type": "core",
"api_type": "editor",
"brief_description": "Default OpenXR interaction profile editor.",
"description": "This is the default OpenXR interaction profile editor that provides a generic interface for editing any interaction profile for which no custom editor has been defined."
},
Expand All @@ -188621,7 +188626,7 @@
"is_refcounted": false,
"is_instantiable": false,
"inherits": "HBoxContainer",
"api_type": "core",
"api_type": "editor",
"methods": [
{
"name": "setup",
Expand Down Expand Up @@ -233126,8 +233131,78 @@
"description": "16-bit-per-channel unsigned floating-point green/blue/red channel data with normalized value, plus 6 unused bits after each channel. Stored across 3 separate planes (green + blue + red). Values are in the [code][0.0, 1.0][/code] range."
},
{
"name": "DATA_FORMAT_MAX",
"name": "DATA_FORMAT_ASTC_4x4_SFLOAT_BLOCK",
"value": 218,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_5x4_SFLOAT_BLOCK",
"value": 219,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_5x5_SFLOAT_BLOCK",
"value": 220,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_6x5_SFLOAT_BLOCK",
"value": 221,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_6x6_SFLOAT_BLOCK",
"value": 222,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_8x5_SFLOAT_BLOCK",
"value": 223,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_8x6_SFLOAT_BLOCK",
"value": 224,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_8x8_SFLOAT_BLOCK",
"value": 225,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_10x5_SFLOAT_BLOCK",
"value": 226,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_10x6_SFLOAT_BLOCK",
"value": 227,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_10x8_SFLOAT_BLOCK",
"value": 228,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_10x10_SFLOAT_BLOCK",
"value": 229,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_12x10_SFLOAT_BLOCK",
"value": 230,
"description": ""
},
{
"name": "DATA_FORMAT_ASTC_12x12_SFLOAT_BLOCK",
"value": 231,
"description": ""
},
{
"name": "DATA_FORMAT_MAX",
"value": 232,
"description": "Represents the size of the [enum DataFormat] enum."
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,6 @@ import godot.api.OpenXRActionMap
import godot.api.OpenXRActionSet
import godot.api.OpenXRAnalogThresholdModifier
import godot.api.OpenXRBindingModifier
import godot.api.OpenXRBindingModifierEditor
import godot.api.OpenXRCompositionLayer
import godot.api.OpenXRCompositionLayerCylinder
import godot.api.OpenXRCompositionLayerEquirect
Expand All @@ -431,8 +430,6 @@ import godot.api.OpenXRHapticVibration
import godot.api.OpenXRIPBinding
import godot.api.OpenXRIPBindingModifier
import godot.api.OpenXRInteractionProfile
import godot.api.OpenXRInteractionProfileEditor
import godot.api.OpenXRInteractionProfileEditorBase
import godot.api.OpenXRInteractionProfileMetadata
import godot.api.OpenXRInterface
import godot.api.OpenXRVisibilityMask
Expand Down Expand Up @@ -1495,8 +1492,6 @@ public fun registerEngineTypes(): Unit {
OpenXRAnalogThresholdModifier::class, ::OpenXRAnalogThresholdModifier)
TypeManager.registerEngineType("OpenXRBindingModifier", OpenXRBindingModifier::class,
::OpenXRBindingModifier)
TypeManager.registerEngineType("OpenXRBindingModifierEditor", OpenXRBindingModifierEditor::class,
::OpenXRBindingModifierEditor)
TypeManager.registerEngineType("OpenXRCompositionLayer", OpenXRCompositionLayer::class,
::OpenXRCompositionLayer)
TypeManager.registerEngineType("OpenXRCompositionLayerCylinder",
Expand All @@ -1518,10 +1513,6 @@ public fun registerEngineTypes(): Unit {
::OpenXRIPBindingModifier)
TypeManager.registerEngineType("OpenXRInteractionProfile", OpenXRInteractionProfile::class,
::OpenXRInteractionProfile)
TypeManager.registerEngineType("OpenXRInteractionProfileEditor",
OpenXRInteractionProfileEditor::class, ::OpenXRInteractionProfileEditor)
TypeManager.registerEngineType("OpenXRInteractionProfileEditorBase",
OpenXRInteractionProfileEditorBase::class, ::OpenXRInteractionProfileEditorBase)
TypeManager.registerEngineType("OpenXRInteractionProfileMetadata",
OpenXRInteractionProfileMetadata::class, ::OpenXRInteractionProfileMetadata)
TypeManager.registerEngineType("OpenXRInterface", OpenXRInterface::class, ::OpenXRInterface)
Expand Down Expand Up @@ -2604,7 +2595,6 @@ public fun registerVariantMapping(): Unit {
variantMapper[OpenXRActionSet::class] = OBJECT
variantMapper[OpenXRAnalogThresholdModifier::class] = OBJECT
variantMapper[OpenXRBindingModifier::class] = OBJECT
variantMapper[OpenXRBindingModifierEditor::class] = OBJECT
variantMapper[OpenXRCompositionLayer::class] = OBJECT
variantMapper[OpenXRCompositionLayerCylinder::class] = OBJECT
variantMapper[OpenXRCompositionLayerEquirect::class] = OBJECT
Expand All @@ -2617,8 +2607,6 @@ public fun registerVariantMapping(): Unit {
variantMapper[OpenXRIPBinding::class] = OBJECT
variantMapper[OpenXRIPBindingModifier::class] = OBJECT
variantMapper[OpenXRInteractionProfile::class] = OBJECT
variantMapper[OpenXRInteractionProfileEditor::class] = OBJECT
variantMapper[OpenXRInteractionProfileEditorBase::class] = OBJECT
variantMapper[OpenXRInteractionProfileMetadata::class] = OBJECT
variantMapper[OpenXRInterface::class] = OBJECT
variantMapper[OpenXRVisibilityMask::class] = OBJECT
Expand Down Expand Up @@ -3489,7 +3477,6 @@ public fun registerEngineTypeMethods(): Unit {
OpenXRActionSet.MethodBindings
OpenXRAnalogThresholdModifier.MethodBindings
OpenXRBindingModifier.MethodBindings
OpenXRBindingModifierEditor.MethodBindings
OpenXRCompositionLayer.MethodBindings
OpenXRCompositionLayerCylinder.MethodBindings
OpenXRCompositionLayerEquirect.MethodBindings
Expand All @@ -3502,8 +3489,6 @@ public fun registerEngineTypeMethods(): Unit {
OpenXRIPBinding.MethodBindings
OpenXRIPBindingModifier.MethodBindings
OpenXRInteractionProfile.MethodBindings
OpenXRInteractionProfileEditor.MethodBindings
OpenXRInteractionProfileEditorBase.MethodBindings
OpenXRInteractionProfileMetadata.MethodBindings
OpenXRInterface.MethodBindings
OpenXRVisibilityMask.MethodBindings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ public object JavaClassWrapper : Object() {
/**
* Wraps a class defined in Java, and returns it as a [JavaClass] [Object] type that Godot can
* interact with.
* When wrapping inner (nested) classes, use `$` instead of `.` to separate them. For example,
* `JavaClassWrapper.wrap("android.view.WindowManager$LayoutParams")` wraps the
* **WindowManager.LayoutParams** class.
* **Note:** This method only works on Android. On every other platform, this method does nothing
* and returns an empty [JavaClass].
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ public open class LineEdit : Control() {
}

/**
* If `true`, the [LineEdit] will always show the caret, even if focus is lost.
* If `true`, the [LineEdit] will always show the caret, even if not editing or focus is lost.
*/
public final inline var caretForceDisplayed: Boolean
@JvmName("caretForceDisplayedProperty")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ public object NativeMenu : Object() {

/**
* Returns global menu open callback.
* b]Note:[/b] This method is implemented only on macOS.
* **Note:** This method is implemented only on macOS.
*/
@JvmStatic
public final fun getPopupOpenCallback(rid: RID): Callable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2691,6 +2691,11 @@ public open class Node : Object() {
*/
public final const val NOTIFICATION_VP_MOUSE_EXIT: Long = 1011

/**
* Notification received when the window is moved.
*/
public final const val NOTIFICATION_WM_POSITION_CHANGED: Long = 1012

/**
* Notification received from the OS when the application is exceeding its allocated memory.
* Implemented only on iOS.
Expand Down
Loading
Loading