Skip to content

Commit a44793f

Browse files
committed
Lua native generator script: Add "+.0" to float type arguments
Allows for passing whole numbers properly (before they were treated as integers)
1 parent 61603ec commit a44793f

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

scripts/generate_natives.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,35 @@
44
import json
55
import urllib.request
66

7+
from dataclasses import dataclass
8+
9+
@dataclass
10+
class Arg:
11+
name : str
12+
type : str
13+
714
def parse_native(native_hash, native_data, _out):
815
return_type = native_data["return_type"]
916

1017
native_name = native_data["name"]
1118

1219
print(native_name)
1320

21+
args : list[Arg]
1422
args = []
15-
for arg in native_data["params"]:
16-
argName = arg["name"]
23+
for param in native_data["params"]:
24+
argName = param["name"]
1725

1826
if argName == "end" or argName == "repeat":
1927
argName = "_" + argName
2028

21-
args.append(argName)
29+
arg = Arg(argName, param['type'])
30+
31+
args.append(arg)
2232

2333
_out.write("function " + native_name + "(")
2434
for i in range(len(args)):
25-
_out.write(args[i])
35+
_out.write(args[i].name)
2636
if i < len(args) - 1:
2737
_out.write(",")
2838
_out.write(")\n")
@@ -50,7 +60,7 @@ def parse_native(native_hash, native_data, _out):
5060
if len(args) > 0:
5161
_out.write(",")
5262
for i in range(len(args)):
53-
_out.write(args[i])
63+
_out.write(args[i].name + ('+.0' if args[i].type == 'float' else ''))
5464
if i < len(args) - 1:
5565
_out.write(",")
5666
_out.write(")\nend\n\n")

0 commit comments

Comments
 (0)