- use new built-in sort() function instead of locally defined one
- use new negative substr() offset feature
This commit is contained in:
parent
47f5e58005
commit
f6355d5344
1 changed files with 6 additions and 27 deletions
|
@ -43,26 +43,6 @@ var init_prop = func(prop, value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# sort vector of strings (bubblesort)
|
|
||||||
#
|
|
||||||
var sort = func(l) {
|
|
||||||
while (1) {
|
|
||||||
var n = 0;
|
|
||||||
for (var i = 0; i < size(l) - 1; i += 1) {
|
|
||||||
if (cmp(l[i], l[i + 1]) > 0) {
|
|
||||||
var t = l[i + 1];
|
|
||||||
l[i + 1] = l[i];
|
|
||||||
l[i] = t;
|
|
||||||
n += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!n) {
|
|
||||||
return l;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# binary search of string in sorted vector; returns index or -1 if not found
|
# binary search of string in sorted vector; returns index or -1 if not found
|
||||||
#
|
#
|
||||||
var search = func(list, which) {
|
var search = func(list, which) {
|
||||||
|
@ -98,9 +78,9 @@ var scan_models = func(base) {
|
||||||
var ac = {};
|
var ac = {};
|
||||||
foreach (var d; list) {
|
foreach (var d; list) {
|
||||||
if (d[0] != `.` and d != "CVS") {
|
if (d[0] != `.` and d != "CVS") {
|
||||||
if (substr(d, size(d) - 4) == ".xml") {
|
if (substr(d, -4) == ".xml") {
|
||||||
xml[base ~ "/" ~ d] = 1;
|
xml[base ~ "/" ~ d] = 1;
|
||||||
} elsif (substr(d, size(d) - 3) == ".ac") {
|
} elsif (substr(d, -3) == ".ac") {
|
||||||
ac[base ~ "/" ~ d] = 1;
|
ac[base ~ "/" ~ d] = 1;
|
||||||
} else {
|
} else {
|
||||||
foreach (var s; scan_models(base ~ "/" ~ d)) {
|
foreach (var s; scan_models(base ~ "/" ~ d)) {
|
||||||
|
@ -547,12 +527,11 @@ var ModelMgr = {
|
||||||
|
|
||||||
var scan_dirs = func(csv) {
|
var scan_dirs = func(csv) {
|
||||||
var list = ["Aircraft/ufo/Models/sign.ac"];
|
var list = ["Aircraft/ufo/Models/sign.ac"];
|
||||||
foreach(var dir; split(",", csv)) {
|
foreach (var dir; split(",", csv))
|
||||||
foreach(var m; scan_models(dir)) {
|
foreach(var m; scan_models(dir))
|
||||||
append(list, m);
|
append(list, m);
|
||||||
}
|
|
||||||
}
|
return sort(list, func(a, b) cmp(a, b));
|
||||||
return sort(list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue