-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core; use 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; default : constant points := (others => (1, 12)); 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; ------------------------------------------------------------------------------------------ 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;