xhads/source/material.ads

54 lines
2.3 KiB
Ada
Raw Normal View History

2024-05-12 20:15:36 -04:00
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core;
package material is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
2024-05-28 04:25:34 -04:00
sulphur, mercury, mint, cinnamon, apple, peach,
pear, banana, orange, plum, cherry, lemon,
potato, wheat, carrot, cucumber, onion, garlic,
eggplant, tomato, meat, fish_meat, skull, animal_skull,
bone, rib_cage, animal_skin, animal_fur
2024-05-12 20:15:36 -04:00
);
------------------------------------------------------------------------------------------
type definition is record
2024-05-31 07:14:00 -04:00
name : core.unstring;
2024-05-12 20:15:36 -04:00
cost : natural;
end record;
type points is array (enumeration) of core.point;
2024-06-01 18:59:37 -04:00
type description_array is array (enumeration range <>) of definition;
type icon_array is array (enumeration range <>) of core.sprite;
2024-05-12 20:15:36 -04:00
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
2024-06-01 18:59:37 -04:00
default : constant points := (others => (1, 12));
2024-05-28 06:08:45 -04:00
2024-06-01 18:59:37 -04:00
description : access description_array;
icon : access icon_array;
2024-05-12 20:15:36 -04:00
------------------------------------------------------------------------------------------
procedure configure;
2024-05-28 06:08:45 -04:00
procedure draw_points (data : in points := (others => (0, 0));
x : in integer := 0;
y : in integer := 0);
procedure save_points (here : in core.io.file_type; data : in points);
procedure load_points (here : in core.io.file_type; data : out points);
2024-05-12 20:15:36 -04:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end material;