summaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2016-04-17 19:51:42 +0000
committerfrosch <frosch@openttd.org>2016-04-17 19:51:42 +0000
commitda7978a08c926f72418c0523dd18948bbfefd92a (patch)
treeaa05fbdf17918196bfe4f65b92195074607d628c /src/script
parent7e29551ae08757c389d9e195f4eb5b14786afafa (diff)
downloadopenttd-da7978a08c926f72418c0523dd18948bbfefd92a.tar.xz
(svn r27545) -Fix: Remove special handling of classes with virtual methods from squirrel_export.awk. It seems to serve no purpose, except to break on 3 classes.
Diffstat (limited to 'src/script')
-rw-r--r--src/script/api/squirrel_export.awk34
1 files changed, 14 insertions, 20 deletions
diff --git a/src/script/api/squirrel_export.awk b/src/script/api/squirrel_export.awk
index c397d1da6..2cb47dedd 100644
--- a/src/script/api/squirrel_export.awk
+++ b/src/script/api/squirrel_export.awk
@@ -81,7 +81,6 @@ function reset_reader()
struct_size = 0
method_size = 0
static_method_size = 0
- virtual_class = "false"
cls = ""
start_squirrel_define_on_next_line = "false"
cls_level = 0
@@ -97,7 +96,6 @@ BEGIN {
struct_size = 0
method_size = 0
static_method_size = 0
- virtual_class = "false"
super_cls = ""
cls = ""
api_selected = ""
@@ -340,7 +338,7 @@ BEGIN {
} else {
print " SQ" api_cls ".PreRegister(engine, \"" api_super_cls "\");"
}
- if (virtual_class == "false" && super_cls != "ScriptEvent") {
+ if (super_cls != "ScriptEvent") {
if (cls_param[2] == "v") {
print " SQ" api_cls ".AddSQAdvancedConstructor(engine);"
} else {
@@ -409,22 +407,21 @@ BEGIN {
}
if (static_method_size != 0) print ""
- if (virtual_class == "false") {
- # Non-static methods
- mlen = 0
- for (i = 1; i <= method_size; i++) {
- if (mlen <= length(methods[i, 0])) mlen = length(methods[i, 0])
- }
- for (i = 1; i <= method_size; i++) {
- if (methods[i, 2] == "v") {
- print " SQ" api_cls ".DefSQAdvancedMethod(engine, &" cls "::" methods[i, 0] ", " substr(spaces, 1, mlen - length(methods[i, 0]) - 8) "\"" methods[i, 0] "\");"
- } else {
- print " SQ" api_cls ".DefSQMethod(engine, &" cls "::" methods[i, 0] ", " substr(spaces, 1, mlen - length(methods[i, 0])) "\"" methods[i, 0] "\", " substr(spaces, 1, mlen - length(methods[i, 0])) "" methods[i, 1] ", \"" methods[i, 2] "\");"
- }
- delete methods[i]
+ # Non-static methods
+ mlen = 0
+ for (i = 1; i <= method_size; i++) {
+ if (mlen <= length(methods[i, 0])) mlen = length(methods[i, 0])
+ }
+ for (i = 1; i <= method_size; i++) {
+ if (methods[i, 2] == "v") {
+ print " SQ" api_cls ".DefSQAdvancedMethod(engine, &" cls "::" methods[i, 0] ", " substr(spaces, 1, mlen - length(methods[i, 0]) - 8) "\"" methods[i, 0] "\");"
+ } else {
+ print " SQ" api_cls ".DefSQMethod(engine, &" cls "::" methods[i, 0] ", " substr(spaces, 1, mlen - length(methods[i, 0])) "\"" methods[i, 0] "\", " substr(spaces, 1, mlen - length(methods[i, 0])) "" methods[i, 1] ", \"" methods[i, 2] "\");"
}
- if (method_size != 0) print ""
+ delete methods[i]
}
+ if (method_size != 0) print ""
+
print " SQ" api_cls ".PostRegister(engine);"
print "}"
@@ -489,9 +486,6 @@ BEGIN {
}
is_static = match($0, "static")
- if (match($0, "virtual")) {
- virtual_class = "true"
- }
gsub("\\yvirtual\\y", "", $0)
gsub("\\ystatic\\y", "", $0)
gsub("\\yconst\\y", "", $0)