-- 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;