summaryrefslogtreecommitdiff
path: root/custommapsmenu.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'custommapsmenu.cfg')
-rwxr-xr-xcustommapsmenu.cfg71
1 files changed, 71 insertions, 0 deletions
diff --git a/custommapsmenu.cfg b/custommapsmenu.cfg
new file mode 100755
index 0000000..cac660a
--- /dev/null
+++ b/custommapsmenu.cfg
@@ -0,0 +1,71 @@
+// Custom map menu, ported from Sauerbraten, 7Year aka Xolatile.
+
+octabase = "^f7"
+octamain = "^f1"
+unmapsx = 4
+unmapsy = 24
+
+custommaps = ""
+
+loopfiles curmap "packages/maps" "ogz" [
+ if (< (indexof $allmaps $curmap) 0) [
+ custommaps = (concat $custommaps $curmap)
+ ]
+]
+
+sy_nume = (listlen $custommaps)
+
+showcustommaps = [sy_remaps; showgui sy_unmaps]
+
+sy_remaps = [
+ custommaps = ""
+ loopfiles curmap "packages/maps" "ogz" [
+ if (< (indexof $allmaps $curmap) 0) [
+ custommaps = (concat $custommaps $curmap)
+ ]
+ ]
+ custommaps = (sortlist $custommaps x y [<=s $x $y])
+ amountxy = (+ (div (listlen $custommaps) $unmapsy) 1)
+ loop syxy $amountxy [
+ (concatword "custommaps" $syxy) = ""
+ ]; syxy = 0
+ loop syxy $amountxy [
+ (concatword "custommaps" $syxy)
+ loop unto $unmapsy [
+ (concatword "custommaps" $syxy) = (concat $(concatword "custommaps" $syxy) (at $custommaps (+ (* $unmapsy $syxy) $unto)))
+ ]
+ ]; syxy = 0; unto = 0
+ sy_nume = (listlen $custommaps)
+]
+
+newgui sy_unmaps [
+ if (mod $amountxy $unmapsx) [
+ sy_unpage = (+ (div $amountxy $unmapsx) 1)
+ ] [
+ sy_unpage = (div $amountxy $unmapsx)
+ ]
+ loop syi $sy_unpage [
+ guilist [
+ loop syj $unmapsx [
+ if (< (+ (* $syi $unmapsx) $syj) $amountxy) [
+ guistrut $unmapsy 1
+ guilist [
+ guistrut 27 1
+ looplist unto $(concatword "custommaps" (+ (* $syi $unmapsx) $syj )) [
+ guibutton (concatword $octabase $unto) (concat map $unto) "cube"
+ ]
+ ]
+ ]
+ ]
+ guibar
+ if (< (+ (* $syi $unmapsx) $syj) $amountxy) [
+ guiimage (concatword "packages/maps/" (strreplace $guirolloveraction "map " "") ".jpg") $guirolloveraction 6 1 "data/cube.png"
+ ]
+ ]
+ if (= (+ $syi 1) $sy_unpage) [
+
+ ] [
+ guitab (concatword $octamain (+ $syi 2))
+ ]
+ ]
+] (concatword $octamain "Custom Maps (" $sy_nume ")")