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;
|
2024-06-02 07:02:36 -04:00
|
|
|
use core;
|
2024-05-12 20:15:36 -04:00
|
|
|
|
|
|
|
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
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-06-01 11:46:17 -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;
|
|
|
|
|
2024-05-29 10:20:35 -04:00
|
|
|
type points is array (enumeration) of core.point;
|
|
|
|
|
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-02 07:02:36 -04:00
|
|
|
description : constant array (enumeration) of definition := (
|
|
|
|
sulphur => (+("Sulphur"), 11),
|
|
|
|
mercury => (+("Mercury"), 13),
|
|
|
|
mint => (+("Mint"), 3),
|
|
|
|
cinnamon => (+("Cinnamon"), 5),
|
|
|
|
apple => (+("Apple"), 2),
|
|
|
|
peach => (+("Peach"), 2),
|
|
|
|
pear => (+("Pear"), 2),
|
|
|
|
banana => (+("Banana"), 3),
|
|
|
|
orange => (+("Orange"), 3),
|
|
|
|
plum => (+("Plum"), 3),
|
|
|
|
cherry => (+("Cherry"), 3),
|
|
|
|
lemon => (+("Lemon"), 2),
|
|
|
|
potato => (+("Potato"), 1),
|
|
|
|
wheat => (+("Wheat"), 1),
|
|
|
|
carrot => (+("Carrot"), 2),
|
|
|
|
cucumber => (+("Cucumber"), 3),
|
|
|
|
onion => (+("Onion"), 2),
|
|
|
|
garlic => (+("Garlic"), 2),
|
|
|
|
eggplant => (+("Eggplant"), 3),
|
|
|
|
tomato => (+("Tomato"), 2),
|
|
|
|
meat => (+("Meat"), 3),
|
|
|
|
fish_meat => (+("Fish Meat"), 2),
|
|
|
|
skull => (+("Skull"), 1),
|
|
|
|
animal_skull => (+("Animal Skull"), 1),
|
|
|
|
bone => (+("Bone"), 1),
|
|
|
|
rib_cage => (+("Rib Cage"), 1),
|
|
|
|
animal_skin => (+("Animal Skin"), 5),
|
|
|
|
animal_fur => (+("Animal Fur"), 7)
|
|
|
|
);
|
|
|
|
|
|
|
|
icon : array (enumeration) of core.sprite;
|
2024-05-29 10:20:35 -04:00
|
|
|
|
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;
|