diff --git a/example/extension/extension.so b/example/extension/extension.so deleted file mode 100755 index f19fce9..0000000 Binary files a/example/extension/extension.so and /dev/null differ diff --git a/example/project/extensions/exExtensionTest/exExtensionTest.yy b/example/project/extensions/exExtensionTest/exExtensionTest.yy index 82bc406..a6305b4 100644 --- a/example/project/extensions/exExtensionTest/exExtensionTest.yy +++ b/example/project/extensions/exExtensionTest/exExtensionTest.yy @@ -20,7 +20,10 @@ {"$GMExtensionFunction":"","%Name":"add","argCount":0,"args":[2,2,],"documentation":"///@param {real} a\n///@param {real} b\n///@returns {real}\n","externalName":"add","help":"","hidden":false,"kind":1,"name":"add","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,}, {"$GMExtensionFunction":"","%Name":"pass_pointer","argCount":0,"args":[2,],"documentation":"///@param {real} ptr\n","externalName":"pass_pointer","help":"","hidden":false,"kind":1,"name":"pass_pointer","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":0,}, ],"init":"","kind":1,"name":"","origname":"","ProxyFiles":[],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":false,}, - {"$GMExtensionFile":"v1","%Name":"","constants":[],"copyToTargets":-1,"filename":"extension.ext","final":"","functions":[],"init":"","kind":4,"name":"","origname":"","ProxyFiles":[],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":false,}, + {"$GMExtensionFile":"v1","%Name":"","constants":[],"copyToTargets":-1,"filename":"extension.ext","final":"","functions":[ + {"$GMExtensionFunction":"","%Name":"add","argCount":0,"args":[2,2,],"documentation":"///@param {real} a\n///@param {real} b\n///@returns {real}\n","externalName":"add","help":"","hidden":false,"kind":1,"name":"add","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":2,}, + {"$GMExtensionFunction":"","%Name":"pass_pointer","argCount":0,"args":[2,],"documentation":"///@param {real} ptr\n","externalName":"pass_pointer","help":"","hidden":false,"kind":1,"name":"pass_pointer","resourceType":"GMExtensionFunction","resourceVersion":"2.0","returnType":0,}, + ],"init":"","kind":4,"name":"","origname":"","ProxyFiles":[],"resourceType":"GMExtensionFile","resourceVersion":"2.0","uncompress":false,"usesRunnerInterface":false,}, ], "gradleinject":null, "hasConvertedCodeInjection":true, diff --git a/main.odin b/main.odin index 0ee418f..c209cdd 100644 --- a/main.odin +++ b/main.odin @@ -125,8 +125,8 @@ program :: proc(module_path, gamemaker_extension_path: string) -> Error { files := resource["files"].(json.Array) for file in files { - object := file.(json.Object) - filename := object["filename"].(json.String) + file := file.(json.Object) + filename := file["filename"].(json.String) _, filename_ext := os.split_filename(filename) switch { case filename_ext == "ext" || filename_ext == "so" || filename_ext == "dll": @@ -134,8 +134,7 @@ program :: proc(module_path, gamemaker_extension_path: string) -> Error { fmt.println("Invalid filename extension '", filename, "' skipping") continue } - object["functions"] = funcs - break + file["functions"] = funcs } gamemaker_resource_write(gamemaker_extension_path, resource) or_return