aboutsummaryrefslogtreecommitdiff
path: root/src/data.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.ads')
-rw-r--r--src/data.ads82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/data.ads b/src/data.ads
new file mode 100644
index 0000000..8ab5a4b
--- /dev/null
+++ b/src/data.ads
@@ -0,0 +1,82 @@
+
+
+-- Programmed by Jedidiah Barber
+-- Licensed under the Sunset License v1.0
+
+-- See license.txt for further details
+
+
+with
+
+ FLTK.Images.RGB.PNG;
+
+private with
+
+ Ada.Directories,
+ Here_I_Am;
+
+
+package Data is
+
+
+ Origin, Image_Path, Level_Path : constant String;
+
+
+ Man_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+ Treasure_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+
+
+ Wall_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+ Space_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+ Empty_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+ Goal_Image : constant access FLTK.Images.RGB.PNG.PNG_Image;
+
+
+private
+
+
+ package ADir renames Ada.Directories;
+
+
+ Origin : constant String := ADir.Containing_Directory (Here_I_Am.Executable);
+
+ Image_Path : constant String :=
+ ADir.Compose
+ (ADir.Compose
+ (ADir.Compose
+ (ADir.Compose (Origin, ".."), "share"), "sokoban"), "img");
+
+ Level_Path : constant String :=
+ ADir.Compose
+ (ADir.Compose
+ (ADir.Compose
+ (ADir.Compose (Origin, ".."), "share"), "sokoban"), "level");
+
+
+ Man_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "man.png"));
+ Treasure_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "treasure.png"));
+
+ Man_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Man_Actual'Access;
+ Treasure_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Treasure_Actual'Access;
+
+
+ Wall_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "wall.png"));
+ Space_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "space.png"));
+ Empty_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "empty.png"));
+ Goal_Actual : aliased FLTK.Images.RGB.PNG.PNG_Image :=
+ FLTK.Images.RGB.PNG.Forge.Create (ADir.Compose (Image_Path, "goal.png"));
+
+ Wall_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Wall_Actual'Access;
+ Space_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Space_Actual'Access;
+ Empty_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Empty_Actual'Access;
+ Goal_Image : constant access FLTK.Images.RGB.PNG.PNG_Image := Goal_Actual'Access;
+
+
+end Data;
+
+