aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins/Big Bento/about
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/resources/skins/Big Bento/about
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/resources/skins/Big Bento/about')
-rw-r--r--Src/resources/skins/Big Bento/about/about.m132
-rw-r--r--Src/resources/skins/Big Bento/about/about.makibin0 -> 16029 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/about.xml81
-rw-r--r--Src/resources/skins/Big Bento/about/about_fg.jpgbin0 -> 47483 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/fixedsys.pngbin0 -> 696 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/info.pngbin0 -> 177 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/info2.pngbin0 -> 197 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level1.pngbin0 -> 228 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level10.pngbin0 -> 284 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level2.pngbin0 -> 236 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level3.pngbin0 -> 253 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level4.pngbin0 -> 276 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level5.pngbin0 -> 392 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level6.pngbin0 -> 260 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level7.pngbin0 -> 268 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level8.pngbin0 -> 274 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level9.pngbin0 -> 408 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/llama.pngbin0 -> 211 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/nibbles.m828
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/nibbles.xml52
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/sammy.pngbin0 -> 83 bytes
21 files changed, 1093 insertions, 0 deletions
diff --git a/Src/resources/skins/Big Bento/about/about.m b/Src/resources/skins/Big Bento/about/about.m
new file mode 100644
index 00000000..d75dc8aa
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.m
@@ -0,0 +1,132 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: about.m
+Version: 1.0
+
+Type: maki
+Date: 03. Jul. 2006 - 22:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+#include nibbles/nibbles.m
+
+Global Layer tgnibbles;
+Global Group sg;
+Global Timer change;
+Global int counter;
+Global Group g1, g2, g3, g4, g5, g6, g7, g8;
+Function blend (guiobject in, guiobject out);
+
+System.onScriptLoaded ()
+{
+ sg = getScriptGroup();
+ tgnibbles = sg.getObject("toggle");
+ nibbles = sg.getObject("nibbles");
+
+ init_nibbles();
+
+ g1 = sg.getObject("about.text1");
+ g2 = sg.getObject("about.text2");
+ g3 = sg.getObject("about.text3");
+ g4 = sg.getObject("about.text4");
+ g5 = sg.getObject("about.text5");
+ g6 = sg.getObject("about.text6");
+ g7 = sg.getObject("about.text7");
+ g8 = sg.getObject("about.text8");
+
+ change = new Timer;
+ change.setDelay(3300);
+}
+
+system.onScriptUnloading ()
+{
+ delete change;
+}
+
+
+tgnibbles.onLeftButtonDblClk (int x, int y)
+{
+ if (nibbles.isVisible()) nibbles.hide();
+ else if (!nibbles.isVisible()) nibbles.show();
+}
+
+sg.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ change.start();
+ g1.setXmlParam("x", "400");
+ g1.canceltarget();
+ g1.setAlpha(255);
+ g1.setTargetX(25);
+ g1.setTargetSpeed(1.3);
+ g1.gotoTarget();
+ }
+ else
+ {
+ change.stop();
+ }
+
+}
+
+
+change.onTimer ()
+{
+ counter++;
+ if (counter > 7) counter = 0;
+ if (counter == 0)
+ {
+ blend(g1, g8);
+ }
+ else if (counter == 1)
+ {
+ blend(g2, g1);
+ }
+ else if (counter == 2)
+ {
+ blend(g3, g2);
+ }
+ else if (counter == 3)
+ {
+ blend(g4, g3);
+ }
+ else if (counter == 4)
+ {
+ blend(g5, g4);
+ }
+ else if (counter == 5)
+ {
+ blend(g6, g5);
+ }
+ else if (counter == 6)
+ {
+ blend(g7, g6);
+ }
+ else if (counter == 7)
+ {
+ blend(g8, g7);
+ }
+}
+
+blend (guiobject in, guiobject out)
+{
+ out.canceltarget();
+ out.setTargetA(0);
+ out.setTargetX(-25);
+ out.setTargetSpeed(2);
+ out.gotoTarget();
+ in.canceltarget();
+ in.setXmlParam("x", "400");
+ in.setAlpha(255);
+ in.setTargetX(25);
+ in.setTargetA(255);
+ in.setTargetSpeed(1.5);
+ in.gotoTarget();
+}
+
diff --git a/Src/resources/skins/Big Bento/about/about.maki b/Src/resources/skins/Big Bento/about/about.maki
new file mode 100644
index 00000000..98c057e0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/about.xml b/Src/resources/skins/Big Bento/about/about.xml
new file mode 100644
index 00000000..7369c563
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.xml
@@ -0,0 +1,81 @@
+<include file="nibbles/nibbles.xml"/>
+<elements>
+ <bitmap id="about.fg" file="../Big Bento/about/about_fg.jpg" />
+ <bitmap id="about.bg" file="../Big Bento/about/about_fg.jpg" y="0" h="321" x="0" w="1"/>
+ <color id="about.font" value="162,193,204" gammgroup="none" />
+</elements>
+
+<groupdef id="skin.about.group" w="0" h="0" relatw="1" relath="1" rectrgn="1">
+ <rect fitparent="1" color="255,255,255" filled="1" />
+
+ <layer fitparent="1" image="about.bg"/>
+
+ <layer
+ x="0" y="0"
+ w="371"
+ h="321"
+ image="about.fg"
+ />
+
+ <group id="about.text1" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text2" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text3" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text4" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text5" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text6" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text7" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text8" x="25" y="190" h="90" w="350" alpha="0"/>
+
+ <group id="nibbles" fitparent="1" visible="0" />
+
+ <layer id="toggle" fitparent="1" rectrgn="1" />
+
+ <script file="../Big Bento/about/about.maki"/>
+
+</groupdef>
+
+<groupdef id="about.text1" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="The new" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Single User Interface." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text2" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Coding by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Martin Pöhlmann." alpha="70"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="from www.skinconsortium.com" alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text3" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Graphics by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Taber Buhl." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text4" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Wasabi Development by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Ben Allison" alpha="60"/>
+<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="and Martin Pöhlmann." alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text5" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Color Themes by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="16" font="tahoma" text="DJ Egg, GreayStone, J_Darnley, Martin, QOAL, VooDoo`" alpha="100"/>
+ <text color="about.font" x="17" y="60" h="18" w="350" fontsize="16" font="tahoma" text="You are encouraged to submit new ones." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text7" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Feel free to use this skin" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="as a reference point" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="to create your own winamp skins." alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text8" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="For help visit" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="forums.winamp.com" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="or forums.skinconsortium.com" alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text6" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Thanks go to..." alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="DJ Egg, SLoB and Phobos" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="...for help and suggestions." alpha="100"/>
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/about_fg.jpg b/Src/resources/skins/Big Bento/about/about_fg.jpg
new file mode 100644
index 00000000..8985984c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about_fg.jpg
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png b/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png
new file mode 100644
index 00000000..6941ade1
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/info.png b/Src/resources/skins/Big Bento/about/nibbles/info.png
new file mode 100644
index 00000000..dd88498d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/info.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/info2.png b/Src/resources/skins/Big Bento/about/nibbles/info2.png
new file mode 100644
index 00000000..145d1b90
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/info2.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level1.png b/Src/resources/skins/Big Bento/about/nibbles/level1.png
new file mode 100644
index 00000000..59c0bb26
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level1.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level10.png b/Src/resources/skins/Big Bento/about/nibbles/level10.png
new file mode 100644
index 00000000..192d56cd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level10.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level2.png b/Src/resources/skins/Big Bento/about/nibbles/level2.png
new file mode 100644
index 00000000..4a14ab10
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level2.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level3.png b/Src/resources/skins/Big Bento/about/nibbles/level3.png
new file mode 100644
index 00000000..698aa821
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level3.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level4.png b/Src/resources/skins/Big Bento/about/nibbles/level4.png
new file mode 100644
index 00000000..e1213f4c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level4.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level5.png b/Src/resources/skins/Big Bento/about/nibbles/level5.png
new file mode 100644
index 00000000..b8ca1e9f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level5.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level6.png b/Src/resources/skins/Big Bento/about/nibbles/level6.png
new file mode 100644
index 00000000..22a6f866
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level6.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level7.png b/Src/resources/skins/Big Bento/about/nibbles/level7.png
new file mode 100644
index 00000000..fb7fe506
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level7.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level8.png b/Src/resources/skins/Big Bento/about/nibbles/level8.png
new file mode 100644
index 00000000..cab2d4c8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level8.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level9.png b/Src/resources/skins/Big Bento/about/nibbles/level9.png
new file mode 100644
index 00000000..a0d50871
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level9.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/llama.png b/Src/resources/skins/Big Bento/about/nibbles/llama.png
new file mode 100644
index 00000000..ef28a814
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/llama.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/nibbles.m b/Src/resources/skins/Big Bento/about/nibbles/nibbles.m
new file mode 100644
index 00000000..7f167fca
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/nibbles.m
@@ -0,0 +1,828 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: nibbles.m
+Version: 1.0
+
+Type: maki
+Date: 23. Okt. 2006 - 21:11
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#define GAME_SPEED 30
+#define MAX_H 59
+#define MAX_W 72
+#define MAX_LLAMAS 9
+
+function init_nibbles();
+
+Function setLlama();
+Function gotLlama();
+Function showInfo(string s);
+Function showInfo2();
+Function hideInfo2();
+Function startGame(int level);
+Function setPos(layer l, int x, int y);
+Function checkforWalls(layer l);
+Function checkforLlama(layer l);
+Function checkforSammy(layer l);
+Function sammyDies ();
+Function addSammy();
+Function syncSammy();
+Function Layer createSammy(int num, int x, int y);
+
+Global group nibbles;
+
+Global Layer bg, llama, info, info2;
+Global Text infotxt, infotxt2a, infotxt2b, infotxt2c, infotxt2d;
+
+Global Layer sammy0;
+Global String gamestate = "startup";
+Global String direction;
+Global Boolean gotkey = 0;
+Global Timer move;
+Global Boolean paused;
+
+Global map wall;
+
+Global int s_score, s_lives, s_level, currentllama;
+Global Text t_score, t_lives, t_level;
+
+Global int n_sammy, expn_sammy;
+Global List sammy, sammy_x, sammy_y;
+Global Group sammys;
+
+Global int cheat, nocheat;
+Global int cheat2, nocheat2;
+Global int cheat3, nocheat3;
+Global int evercheat;
+
+Global Text c1, c2, c3;
+
+init_nibbles()
+{
+ sammy = new List;
+ sammy_x = new List;
+ sammy_y = new List;
+
+ llama = nibbles.getObject("llama");
+ sammy0 = nibbles.getObject("sammy0");
+ info = nibbles.getObject("info");
+ infotxt = nibbles.getObject("infotxt");
+ sammys = nibbles.getObject("sammys");
+ bg = nibbles.getObject("bg");
+
+ info2 = nibbles.getObject("info2");
+ infotxt2a = nibbles.getObject("infotxt2a");
+ infotxt2b = nibbles.getObject("infotxt2b");
+ infotxt2c = nibbles.getObject("infotxt2c");
+ infotxt2d = nibbles.getObject("infotxt2d");
+
+ t_lives = nibbles.getObject("lives");
+ t_score = nibbles.getObject("score");
+ t_level = nibbles.getObject("level");
+ c1 = nibbles.getObject("c1");
+ c2 = nibbles.getObject("c2");
+ c3 = nibbles.getObject("c3");
+ gamestate = "startup";
+
+ n_sammy = 0;
+ expn_sammy = 0;
+ s_level = 1;
+ s_score = 0;
+ s_lives = 5;
+
+ cheat = 0;
+ nocheat = 0;
+ cheat2 = 0;
+ nocheat2 = 0;
+ cheat3 = 0;
+ nocheat3 = 0;
+ evercheat = 0;
+
+ move = new Timer;
+ move.setDelay(GAME_SPEED);
+}
+
+System.onKeyDown (String key)
+{
+ if (nibbles.isVisible() && nibbles.isActive())
+ {
+ if (!gotkey)
+ {
+ if (strsearch(key, "up") != -1 && direction != "d" && direction != "u")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "u";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "down") != -1 && direction != "u" && direction != "d")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "d";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "left") != -1 && direction != "r" && direction != "l")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "l";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "right") != -1 && direction != "l" && direction != "r")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "r";
+ complete;
+ return;
+ }
+ }
+ }
+
+
+ /* Cheet on */
+
+ if (key == "n" && cheat == 0 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
+ {
+ cheat = 1;
+ complete;
+ return;
+ }
+ else if (key == "o" && cheat == 1)
+ {
+ cheat = 2;
+ complete;
+ return;
+ }
+ else if (key == "s" && cheat == 2)
+ {
+ cheat = 3;
+ complete;
+ return;
+ }
+ else if (key == "a" && cheat == 3)
+ {
+ cheat = 4;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat == 4 && cheat != 5)
+ {
+ cheat = 5;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat == 5 && cheat != 4)
+ {
+ cheat = 6;
+ complete;
+ return;
+ }
+ else if (key == "y" && cheat == 6)
+ {
+ c1.setText("NOSAMMY");
+ cheat = 7;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet off */
+
+ else if (key == "n" && cheat == 7 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
+ {
+ nocheat = 1;
+ complete;
+ return;
+ }
+ else if (key == "o" && nocheat == 1)
+ {
+ nocheat = 2;
+ complete;
+ return;
+ }
+ else if (key == "s" && nocheat == 2)
+ {
+ nocheat = 3;
+ complete;
+ return;
+ }
+ else if (key == "a" && nocheat == 3)
+ {
+ nocheat = 4;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat == 4 && nocheat != 5)
+ {
+ nocheat = 5;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat == 5 && nocheat != 4)
+ {
+ nocheat = 6;
+ complete;
+ return;
+ }
+ else if (key == "y" && nocheat == 6 && nocheat3 != 7)
+ {
+ c1.setText("");
+ cheat = 0;
+ nocheat = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat */
+
+
+ /* Cheet2 on */
+
+ else if (key == "f" && cheat2 == 0 && cheat3 != 2 && nocheat3 != 2)
+ {
+ cheat2 = 1;
+ complete;
+ return;
+ }
+ else if (key == "r" && cheat2 == 1)
+ {
+ cheat2 = 2;
+ complete;
+ return;
+ }
+ else if (key == "e" && cheat2 == 2 && cheat2 != 3)
+ {
+ cheat2 = 3;
+ complete;
+ return;
+ }
+ else if (key == "e" && cheat2 == 3 && cheat2 != 2)
+ {
+ cheat2 = 4;
+ complete;
+ return;
+ }
+ else if (key == "s" && cheat2 == 4)
+ {
+ cheat2 = 5;
+ complete;
+ return;
+ }
+ else if (key == "a" && cheat2 == 5)
+ {
+ cheat2 = 6;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat2 == 6)
+ {
+ c2.setText("FREESAM");
+ cheat2 = 7;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet2 off */
+
+ else if (key == "f" && cheat2 == 7 && cheat3 != 2 && nocheat3 != 2)
+ {
+ nocheat2 = 1;
+ complete;
+ return;
+ }
+ else if (key == "r" && nocheat2 == 1)
+ {
+ nocheat2 = 2;
+ complete;
+ return;
+ }
+ else if (key == "e" && nocheat2 == 2 && nocheat2 != 3)
+ {
+ nocheat2 = 3;
+ complete;
+ return;
+ }
+ else if (key == "e" && nocheat2 == 3 && nocheat2 != 2)
+ {
+ nocheat2 = 4;
+ complete;
+ return;
+ }
+ else if (key == "s" && nocheat2 == 4)
+ {
+ nocheat2 = 5;
+ complete;
+ return;
+ }
+ else if (key == "a" && nocheat2 == 5)
+ {
+ nocheat2 = 6;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat2 == 6)
+ {
+ c2.setText("");
+ cheat2 = 0;
+ nocheat2 = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat2 */
+
+ /* Cheet3 on */
+
+ else if (key == "i" && cheat3 == 0 && cheat3 != 3 && cheat3 != 5)
+ {
+ cheat3 = 1;
+ complete;
+ return;
+ }
+ else if (key == "n" && cheat3 == 1 && cheat3 != 4)
+ {
+ cheat3 = 2;
+ complete;
+ return;
+ }
+ else if (key == "f" && cheat3 == 2)
+ {
+ cheat3 = 3;
+ complete;
+ return;
+ }
+ else if (key == "i" && cheat3 == 3 && cheat3 != 5 && cheat3 != 0)
+ {
+ cheat3 = 4;
+ complete;
+ return;
+ }
+ else if (key == "n" && cheat3 == 4 && cheat3 != 2)
+ {
+ cheat3 = 5;
+ complete;
+ return;
+ }
+ else if (key == "i" && cheat3 == 5 && cheat3 != 3 && cheat3 != 0)
+ {
+ cheat3 = 6;
+ complete;
+ return;
+ }
+ else if (key == "t" && cheat3 == 6)
+ {
+ cheat3 = 7;
+ complete;
+ return;
+ }
+ else if (key == "y" && cheat3 == 7)
+ {
+ c3.setText("INFINITY");
+ cheat3 = 8;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet3 off */
+
+ else if (key == "i" && cheat3 == 8 && nocheat3 != 3 && nocheat3 != 5)
+ {
+ nocheat3 = 1;
+ complete;
+ return;
+ }
+ else if (key == "n" && nocheat3 == 1 && nocheat3 != 4)
+ {
+ nocheat3 = 2;
+ complete;
+ return;
+ }
+ else if (key == "f" && nocheat3 == 2)
+ {
+ nocheat3 = 3;
+ complete;
+ return;
+ }
+ else if (key == "i" && nocheat3 == 3 && nocheat3 != 5 && nocheat3 != 0)
+ {
+ nocheat3 = 4;
+ complete;
+ return;
+ }
+ else if (key == "n" && nocheat3 == 4 && nocheat3 != 1)
+ {
+ nocheat3 = 5;
+ complete;
+ return;
+ }
+ else if (key == "i" && nocheat3 == 5 && nocheat3 != 3 && nocheat3 != 0)
+ {
+ nocheat3 = 6;
+ complete;
+ return;
+ }
+ else if (key == "t" && nocheat3 == 6)
+ {
+ nocheat3 = 7;
+ complete;
+ return;
+ }
+ else if (key == "y" && nocheat3 == 7 && nocheat != 6)
+ {
+ c3.setText("");
+ cheat3 = 0;
+ nocheat3 = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat3 */
+
+ else if (key == "space")
+ {
+ if (gamestate == "startup" || gamestate == "New Try" || gamestate == "Next level")
+ {
+ hideInfo2();
+ info.hide();
+ infotxt.hide();
+ gamestate = "running";
+ startGame(s_level);
+ complete;
+ return;
+ }
+ if (gamestate == "Game Over")
+ {
+ info.hide();
+ infotxt.hide();
+ showInfo2();
+ s_level = 1;
+ complete;
+ return;
+ }
+ if (gamestate == "Once Again")
+ {
+ s_level = 1;
+ s_score = 0;
+ s_lives = 5;
+ hideInfo2();
+ info.hide();
+ infotxt.hide();
+ gamestate = "running";
+ startGame(s_level);
+ complete;
+ return;
+ }
+ if (move.isRunning())
+ {
+ paused = 1;
+ move.stop();
+ showInfo("Game Paused ... Push Space");
+ complete;
+ return;
+ }
+ if (paused == 1)
+ {
+ paused = 0;
+ info.hide();
+ infotxt.hide();
+ move.start();
+ complete;
+ return;
+ }
+ }
+ else
+ {
+ complete;
+ return;
+ }
+ /* if (key == "up" && direction != "d")
+ {
+ if (move.isRunning())
+ {
+ direction = "u";
+ complete;
+ return;
+ }
+ }
+ if (key == "down" && direction != "u")
+ {
+ if (move.isRunning())
+ {
+ direction = "d";
+ complete;
+ return;
+ }
+ }
+ if (key == "left" && direction != "r")
+ {
+ if (move.isRunning())
+ {
+ direction = "l";
+ complete;
+ return;
+ }
+ }
+ if (key == "right" && direction != "l")
+ {
+ if (move.isRunning())
+ {
+ direction = "r";
+ complete;
+ return;
+ }
+ }*/
+ }
+}
+
+startGame (int level)
+{
+ if (level == 11) level = 10;
+
+ if (wall) delete wall;
+ wall = new map;
+ wall.loadMap("level" + integerToString(level));
+ bg.setXmlParam("image", "level" + integerToString(level));
+
+ int n = sammy.getNumItems();
+
+ for ( int i = 1; i <= n; i++ )
+ {
+ layer newsammy = sammy.enumItem(0);
+ sammy.removeItem(0);
+ newsammy.hide();
+ }
+
+ currentllama = 0;
+ t_lives.setText(translate("Lives: ") + integerToString(s_lives));
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ n_sammy = 0;
+ expn_sammy = 5;
+ gotkey = 1;
+ if (level != 8) direction = "r";
+ else direction = "u";
+ setLlama();
+ sammy.removeAll();
+ sammy_x.removeAll();
+ sammy_y.removeAll();
+ sammy0.setXmlParam("x", "180");
+ sammy0.setXMLParam("y", "155");
+ sammy0.show();
+ move.start();
+}
+
+move.onTimer ()
+{
+ if (n_sammy < expn_sammy)
+ {
+ addSammy();
+ }
+ else
+ {
+ syncSammy();
+ }
+
+ if (direction == "r")
+ {
+ setPos(sammy0, 1, 0);
+ }
+ else if (direction == "l")
+ {
+ setPos(sammy0, -1, 0);
+ }
+ else if (direction == "u")
+ {
+ setPos(sammy0, 0, -1);
+ }
+ else if (direction == "d")
+ {
+ setPos(sammy0, 0, 1);
+ }
+ checkForWalls (sammy0);
+ checkForSammy (sammy0);
+ checkForllama (sammy0);
+}
+
+setPos (layer l, int x, int y)
+{
+ l.setXMLParam("x", integerToString(l.getGuiX() + x*5));
+ l.setXMLParam("y", integerToString(l.getGuiY() + y*5));
+ gotkey = 0;
+}
+
+setLlama ()
+{
+ int lx = 5+random(MAX_W-3)*5;
+ int ly = 20+random(MAX_H-3)*5;
+
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
+ {
+ setLlama ();
+ return;
+ }
+
+ if (wall.getValue(lx, ly) == 255 || wall.getValue(lx+5, ly) == 255 || wall.getValue(lx+10, ly) == 255 ||
+ wall.getValue(lx, ly+5) == 255 || wall.getValue(lx+5, ly+5) == 255 || wall.getValue(lx+10, ly+5) == 255 ||
+ wall.getValue(lx, ly+10) == 255 || wall.getValue(lx+5, ly+10) == 255 || wall.getValue(lx+10, ly+10) == 255 )
+ {
+ setLlama ();
+ return;
+ }
+
+ int n = sammy_x.getNumItems();
+
+ for ( int i = 0; i < n; i++ )
+ {
+ x = sammy_x.enumItem(i);
+ y = sammy_y.enumItem(i);
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
+ {
+ setLlama ();
+ return;
+ }
+ }
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
+
+ llama.setXMLParam("x", integerToString(lx));
+ llama.setXMLParam("y", integerToString(ly));
+
+ llama.show();
+}
+
+addSammy ()
+{
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+ n_sammy++;
+ layer newsammy = createSammy(n_sammy, x, y);
+ sammy.addItem(newsammy);
+ sammy_x.addItem(x);
+ sammy_y.addItem(y);
+ newsammy.setXMLParam("x", integerToString(x));
+ newsammy.setXMLParam("y", integerToString(y));
+ newsammy.show();
+}
+
+Layer createSammy (int num, int x, int y)
+{
+ layer l = new Layer;
+ l.setXmlParam("id", "sammy" + integerToString(num));
+ l.setXmlParam("image", "sammy");
+ l.setXMLParam("x", integerToString(x));
+ l.setXMLParam("y", integerToString(y));
+ l.init(sammys);
+ return l;
+}
+
+syncSammy ()
+{
+ layer newsammy = sammy.enumItem(0);
+ sammy.removeItem(0);
+ sammy_x.removeItem(0);
+ sammy_y.removeItem(0);
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+ newsammy.setXMLParam("x", integerToString(x));
+ newsammy.setXMLParam("y", integerToString(y));
+ sammy.addItem(newsammy);
+ sammy_x.addItem(x);
+ sammy_y.addItem(y);
+}
+
+showInfo (string s)
+{
+ infotxt.setText(s);
+ info.show();
+ infotxt.show();
+}
+
+checkForWalls (layer l)
+{
+ if ( cheat2 == 7 ) return;
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+
+ if (wall.getValue(x, y) == 255) sammyDies();
+}
+
+checkForLlama (layer l)
+{
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+
+ int lx = llama.getGuiX();
+ int ly = llama.getGuiY();
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
+}
+
+checkForSammy (layer l)
+{
+ if ( cheat == 7 ) return;
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+ int n = sammy_x.getNumItems();
+
+ for ( int i = 0; i < n; i++ )
+ {
+ if (sammy_x.enumItem(i) == x && sammy_y.enumItem(i) == y)
+ {
+ sammyDies ();
+ }
+ }
+}
+
+sammyDies ()
+{
+ llama.hide();
+ move.stop();
+ sammy0.hide();
+ s_lives--;
+ s_score -= 1000;
+ t_lives.setText(translate("Lives: ") + integerToString(s_lives));
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ gamestate = "New Try";
+ if (s_lives == 0) {
+ gamestate = "Game Over";
+ }
+ showInfo ("Sammy Dies! Push Space!");
+}
+
+gotLlama ()
+{
+ currentllama++;
+ s_score += 100 * currentllama;
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ if (currentllama >= MAX_LLAMAS && cheat3 != 8)
+ {
+ move.stop();
+ s_level++;
+ llama.hide();
+ gamestate = "Next Level";
+ showInfo (translate("Level: ") + integerToString(s_level) + translate(", Push Space"));
+ }
+ else
+ {
+ expn_sammy += 12;
+ setLlama();
+ }
+}
+
+showInfo2 ()
+{
+ if (evercheat == 0)
+ {
+ if (s_score > getPrivateInt("Nibbles", "Personal Best", 0))
+ {
+ setPrivateInt("Nibbles", "Personal Best", s_score);
+ infotxt2d.setText("Congrats, New Highscore!");
+ }
+ else infotxt2d.setText(translate("Highscore") +": " + integerToString(getPrivateInt("Nibbles", " ", 0)));
+ }
+ else
+ {
+ infotxt2d.setTExt("You have cheated!");
+ }
+ if (cheat == 0 && cheat2 == 0 && cheat3 ==0) evercheat = 0;
+ gamestate = "Once Again";
+ infotxt2b.setText(translate("Your Score") + ": " + integerToString(s_score));
+ info2.show();
+ infotxt2a.show();
+ infotxt2d.show();
+ infotxt2b.show();
+ infotxt2c.show();
+}
+
+hideInfo2 ()
+{
+ info2.hide();
+ infotxt2a.hide();
+ infotxt2b.hide();
+ infotxt2c.hide();
+ infotxt2d.hide();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml b/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml
new file mode 100644
index 00000000..9e0d8d5a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml
@@ -0,0 +1,52 @@
+<elements>
+ <bitmap id="sammy" file="../Big Bento/about/nibbles/sammy.png" />
+ <bitmap id="level1" file="../Big Bento/about/nibbles/level1.png" />
+ <bitmap id="level2" file="../Big Bento/about/nibbles/level2.png" />
+ <bitmap id="level3" file="../Big Bento/about/nibbles/level3.png" />
+ <bitmap id="level4" file="../Big Bento/about/nibbles/level4.png" />
+ <bitmap id="level5" file="../Big Bento/about/nibbles/level5.png" />
+ <bitmap id="level6" file="../Big Bento/about/nibbles/level6.png" />
+ <bitmap id="level7" file="../Big Bento/about/nibbles/level7.png" />
+ <bitmap id="level8" file="../Big Bento/about/nibbles/level8.png" />
+ <bitmap id="level9" file="../Big Bento/about/nibbles/level9.png" />
+ <bitmap id="level10" file="../Big Bento/about/nibbles/level10.png" />
+ <bitmap id="llama" file="../Big Bento/about/nibbles/llama.png" />
+ <bitmap id="info" file="../Big Bento/about/nibbles/info.png" />
+ <bitmap id="info2" file="../Big Bento/about/nibbles/info2.png" />
+ <bitmapfont id="font" file="../Big Bento/about/nibbles/fixedsys.png" charwidth="8" charheight="14" hspacing="0" vspacing="0"/>
+
+</elements>
+
+<groupdef id="sammys">
+
+</groupdef>
+
+<groupdef id="nibbles">
+
+ <rect filled="1" fitparent="1" color="0,0,128" />
+ <layer x="0" y="0" h="321" w="371" id="bg" image="level1" move="0" />
+ <layer x="0" y="0" id="llama" image="llama" visible="0"/>
+ <text id="c1" x="4" y="20" w="370" h="14" text="" font="font" align="left" visible="1" alpha="100"/>
+ <text id="c2" x="4" y="20" w="360" h="14" text="" font="font" align="right" visible="1" alpha="100"/>
+ <text id="c3" x="4" y="20" w="360" h="14" text="" font="font" align="center" visible="1" alpha="100"/>
+
+ <layer x="0" y="0" h="5" w="5" id="sammy0" image="sammy" visible="0"/>
+
+ <group x="0" y="0" h="321" w="371" id="sammys" move="0" />
+
+ <layer id="info" x="0" y="0" h="321" w="371" image="info" />
+ <text id="infotxt" x="0" y="156" w="371" h="14" text="Level 1, Push Space" font="font" align="center"/>
+
+ <layer id="info2" x="0" y="0" h="321" w="371" image="info2" visible="0" />
+ <text id="infotxt2a" x="0" y="120" w="371" h="14" text="G A M E O V E R" font="font" align="center" visible="0"/>
+ <text id="infotxt2b" x="0" y="150" w="371" h="14" text="Your Score:" font="font" align="center" visible="0"/>
+ <text id="infotxt2c" x="0" y="192" w="371" h="14" text="To Play Again, Push Space" font="font" align="center" visible="0"/>
+ <text id="infotxt2d" x="0" y="168" w="371" h="14" text="Personal Best:" font="font" align="center" visible="0"/>
+
+ <text id="score" x="0" y="1" w="371" h="14" text="0" font="font" align="right"/>
+ <text id="lives" x="0" y="0" w="371" h="14" text="Lives: 5" font="font" align="center"/>
+ <text id="level" x="0" y="0" w="371" h="14" text="Level 1" font="font" align="left" />
+
+ <text id="txt" y="130" x="5"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/nibbles/sammy.png b/Src/resources/skins/Big Bento/about/nibbles/sammy.png
new file mode 100644
index 00000000..1a00a1a5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/sammy.png
Binary files differ