From 93eb97c83e7be09dcc423be308cbe5d9f9357f46 Mon Sep 17 00:00:00 2001 From: sillysagiri Date: Wed, 30 Oct 2024 20:56:07 +0700 Subject: [PATCH] initial options scene --- src/dothack/DotHack.java | 3 +- src/sillysagiri/scene/MainMenu.java | 1 + src/sillysagiri/scene/Options.java | 117 ++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 src/sillysagiri/scene/Options.java diff --git a/src/dothack/DotHack.java b/src/dothack/DotHack.java index 4a856f8..46abf9a 100644 --- a/src/dothack/DotHack.java +++ b/src/dothack/DotHack.java @@ -9,6 +9,7 @@ import sillysagiri.scene.Instruction; import sillysagiri.scene.Intro; import sillysagiri.scene.Leaderboard; import sillysagiri.scene.MainMenu; +import sillysagiri.scene.Options; public class DotHack extends MIDlet implements Runnable { public DotHackC game; @@ -28,7 +29,7 @@ public class DotHack extends MIDlet implements Runnable { thread.setPriority(Thread.MAX_PRIORITY); thread.start(); - sagiri.Set_Scene(new Leaderboard()); + sagiri.Set_Scene(new Options()); } public void pauseApp() {} diff --git a/src/sillysagiri/scene/MainMenu.java b/src/sillysagiri/scene/MainMenu.java index 79d686e..3263321 100644 --- a/src/sillysagiri/scene/MainMenu.java +++ b/src/sillysagiri/scene/MainMenu.java @@ -194,6 +194,7 @@ public class MainMenu extends Scene { case STATE_MENU_OPTIONS: { + sagiri.Set_Scene(new Options()); } break; diff --git a/src/sillysagiri/scene/Options.java b/src/sillysagiri/scene/Options.java new file mode 100644 index 0000000..e9c7808 --- /dev/null +++ b/src/sillysagiri/scene/Options.java @@ -0,0 +1,117 @@ +package sillysagiri.scene; + +import javax.microedition.lcdui.Graphics; +import javax.microedition.lcdui.Image; +import javax.microedition.lcdui.game.Sprite; + +import sillysagiri.BMF; +import sillysagiri.Sagiri; +import sillysagiri.Scene; +import sillysagiri.Utils; + +public class Options extends Scene { + + private BMF bmf_white; + private BMF bmf_blue; + private BMF bmf_lime; + + private Image img_loop; + private Image img_out; + private Image img_head; + private Image img_arrow; + + private int counter = 0; + private int volume = 4; + private boolean vibrate = true; + + public void Preload() { + try { + bmf_white = BMF.Create("/silly/bmf/nds12_0.silly.gz", "/silly/bmf/nds12.fnt", 0xffffffff); + bmf_blue = BMF.Create("/silly/bmf/onds12_0.silly.gz", "/silly/bmf/onds12.fnt", 0xff00dbff); + bmf_lime = BMF.Create("/silly/bmf/nds12_0.silly.gz", "/silly/bmf/nds12.fnt", 0xffB6FF00); + + img_loop = Image.createImage("/m_2.png"); + img_out = Image.createImage("/out.png"); + img_head = Image.createImage("/s_1.png"); + img_arrow = Image.createImage("/i_0.png"); + } + catch(Exception e) + { + sagiri.Set_Scene(new DeathError(e)); + } + } + + public void Destroy() { + } + + public void Update(long dt, Graphics g) { + Utils.Clear_Screen(g, 255, 108, 0); + + int loopCount = (int)Math.ceil((float)Utils.GetScreenHeight()/img_loop.getHeight()); + for (int i = 0; i