Godot: Making definition for multiple Android modules more intuitive in cfg file

Created on 19 May 2017  Â·  13Comments  Â·  Source: godotengine/godot

Godot version:
master / 3.0 and later

The current way to define several Android modules in your project.godot file is with a single String of comma-separated identifiers, e.g.:

[android]
modules = "org/godotengine/godot/SQLBridge,org/godotengine/godot/FireBase" 

The way it is parsed is defined here: https://github.com/godotengine/godot/blob/df61dc4b2bd54a5a40c515493c76f5a458e5b541/platform/android/java_glue.cpp#L943

To make things more intuitive, as used in TSCN files and other INI-like cfg files in Godot, I would suggest to use a proper Array:

[android]
modules = ["org/godotengine/godot/SQLBridge", "org/godotengine/godot/FireBase"]

This breaks compatibility, so of course only for master/3.0.

archived documentation enhancement android porting

Most helpful comment

Are we using the same code to parse the values on tscn and cfg files at the
moment? it'd be nice to be able to use all the types on the cfg file

On 19 May 2017 at 11:25, Rémi Verschelde notifications@github.com wrote:

Godot version:
master / 3.0 and later

The current way to define several Android modules in your project.godot
file is with a single String of comma-separated identifiers, e.g.:

[android]
modules = "org/godotengine/godot/SQLBridge,org/godotengine/godot/FireBase"

The way it is parsed is defined here: https://github.com/
godotengine/godot/blob/df61dc4b2bd54a5a40c515493c76f5
a458e5b541/platform/android/java_glue.cpp#L943

To make things more intuitive, as used in TSCN files and other INI-like
cfg files in Godot, I would suggest to use a proper Array:

[android]
modules = ["org/godotengine/godot/SQLBridge", "org/godotengine/godot/FireBase"]

This break compatibility, so of course only for master/3.0.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/8834, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPRNyMtTgHt73djlXDhUSGyoYhZCYks5r7aZdgaJpZM4NgmAR
.

All 13 comments

Are we using the same code to parse the values on tscn and cfg files at the
moment? it'd be nice to be able to use all the types on the cfg file

On 19 May 2017 at 11:25, Rémi Verschelde notifications@github.com wrote:

Godot version:
master / 3.0 and later

The current way to define several Android modules in your project.godot
file is with a single String of comma-separated identifiers, e.g.:

[android]
modules = "org/godotengine/godot/SQLBridge,org/godotengine/godot/FireBase"

The way it is parsed is defined here: https://github.com/
godotengine/godot/blob/df61dc4b2bd54a5a40c515493c76f5
a458e5b541/platform/android/java_glue.cpp#L943

To make things more intuitive, as used in TSCN files and other INI-like
cfg files in Godot, I would suggest to use a proper Array:

[android]
modules = ["org/godotengine/godot/SQLBridge", "org/godotengine/godot/FireBase"]

This break compatibility, so of course only for master/3.0.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/8834, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPRNyMtTgHt73djlXDhUSGyoYhZCYks5r7aZdgaJpZM4NgmAR
.

I'm not sure that this is possible with ini files, but it would be great if there was an opportunity to transfer a long string to several.
[android] modules = [ "org/godotengine/godot/SQLBridge", "org/godotengine/godot/FireBase" ]

@ret80 Yes, .tscn format already allows this, so I guess it would work fine.

It's now or never to do this compatibility breakage, if anyone is up to it.

I can do that but I'm not familiar with godot modules, someone can make me a small minimal project with more than 1 module so I can test ?

@akien-mga to add android modules, the only way is to go at Project Settings and add a Category named "Android", Property with "modules" and list of module separated with a , in value ?

is it still an junior job if we must add a "Array" type of attribute ? must think about how to display it, new view managing multiple entry ? seems not to be so easy...

Well arrays are already supported in ConfigFile (and project.godot), see e.g. gdnative/singletons or the input stuff:

[input]

jump=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":$
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777$
 ]
duck=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":$
 ]

The code for Android modules should be streamlined to use the same feature.

Yes for this part its OK, but for the UI in the Project Settings, Array aren't supported

Indeed, so maybe not so junior :D

Time is running out for this issue :) If we can't do it for 3.0, then we'll have to wait for 4.0, or give up on the idea.

IMO it is a lot of work for an little change.

Yeah I've discussed it with @reduz and the UI part of the change is not worth it. Instead, there should be an Android template builder in the future that can better handle this stuff.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

timoschwarzer picture timoschwarzer  Â·  3Comments

ducdetronquito picture ducdetronquito  Â·  3Comments

bojidar-bg picture bojidar-bg  Â·  3Comments

n-pigeon picture n-pigeon  Â·  3Comments

EdwardAngeles picture EdwardAngeles  Â·  3Comments