-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core; package material is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type enumeration is ( 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 ); ------------------------------------------------------------------------------------------ type definition is record name : core.unstring; cost : natural; end record; type points is array (enumeration) of core.point; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; description : constant array (enumeration) of definition := ( sulphur => (core.unbound ("Sulphur"), 7), mercury => (core.unbound ("Mercury"), 13), mint => (core.unbound ("Mint"), 3), cinnamon => (core.unbound ("Cinnamon"), 5), apple => (core.unbound ("Apple"), 2), peach => (core.unbound ("Peach"), 2), pear => (core.unbound ("Pear"), 2), banana => (core.unbound ("Banana"), 3), orange => (core.unbound ("Orange"), 3), plum => (core.unbound ("Plum"), 3), cherry => (core.unbound ("Cherry"), 3), lemon => (core.unbound ("Lemon"), 2), potato => (core.unbound ("Potato"), 1), wheat => (core.unbound ("Wheat"), 1), carrot => (core.unbound ("Carrot"), 2), cucumber => (core.unbound ("Cucumber"), 3), onion => (core.unbound ("Onion"), 2), garlic => (core.unbound ("Garlic"), 2), eggplant => (core.unbound ("Eggplant"), 3), tomato => (core.unbound ("Tomato"), 2), meat => (core.unbound ("Meat"), 3), fish_meat => (core.unbound ("Fish Meat"), 2), skull => (core.unbound ("Skull"), 1), animal_skull => (core.unbound ("Animal Skull"), 1), bone => (core.unbound ("Bone"), 1), rib_cage => (core.unbound ("Rib Cage"), 1), animal_skin => (core.unbound ("Animal Skin"), 5), animal_fur => (core.unbound ("Animal Fur"), 7) ); default : points := (others => (1, 12)); icon : array (enumeration) of core.sprite; ------------------------------------------------------------------------------------------ procedure configure; 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); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end material;