diff options
Diffstat (limited to 'src/data.ads')
-rw-r--r-- | src/data.ads | 82 |
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; + + |