├── .gitattributes ├── RavenUI ├── objects │ ├── obj_raven_init │ │ ├── Draw_64.gml │ │ ├── KeyPress_81.gml │ │ ├── obj_raven_init.yy │ │ └── Step_0.gml │ ├── obj_node │ │ ├── Draw_0.gml │ │ ├── KeyPress_37.gml │ │ ├── Create_0.gml │ │ ├── Step_0.gml │ │ └── obj_node.yy │ └── obj_raven_handler │ │ ├── KeyPress_109.gml │ │ ├── KeyPress_107.gml │ │ ├── Mouse_52.gml │ │ ├── Step_1.gml │ │ ├── Step_0.gml │ │ ├── Create_0.gml │ │ └── obj_raven_handler.yy ├── scripts │ ├── open_help_page │ │ ├── open_help_page.gml │ │ └── open_help_page.yy │ ├── RegisterRavenContainer │ │ ├── RegisterRavenContainer.gml │ │ └── RegisterRavenContainer.yy │ ├── DrawCurve │ │ ├── DrawCurve.yy │ │ └── DrawCurve.gml │ ├── RavenItem │ │ ├── RavenItem.yy │ │ └── RavenItem.gml │ ├── RavenMain │ │ ├── RavenMain.yy │ │ └── RavenMain.gml │ ├── RavenMenu │ │ ├── RavenMenu.yy │ │ └── RavenMenu.gml │ ├── CreateRavenGUID │ │ ├── CreateRavenGUID.yy │ │ └── CreateRavenGUID.gml │ ├── RavenNodeItem │ │ └── RavenNodeItem.yy │ ├── RavenTextItem │ │ ├── RavenTextItem.yy │ │ └── RavenTextItem.gml │ ├── StringWordWrap │ │ ├── StringWordWrap.yy │ │ └── StringWordWrap.gml │ ├── RavenContainer │ │ └── RavenContainer.yy │ ├── RavenImageItem │ │ ├── RavenImageItem.yy │ │ └── RavenImageItem.gml │ ├── RavenButtonItem │ │ ├── RavenButtonItem.yy │ │ └── RavenButtonItem.gml │ ├── RavenStatusItem │ │ ├── RavenStatusItem.yy │ │ └── RavenStatusItem.gml │ ├── RavenCheckboxItem │ │ ├── RavenCheckboxItem.yy │ │ └── RavenCheckboxItem.gml │ ├── RavenDropdownItem │ │ └── RavenDropdownItem.yy │ ├── RavenLineBreakItem │ │ ├── RavenLineBreakItem.yy │ │ └── RavenLineBreakItem.gml │ ├── RavenTextInputItem │ │ └── RavenTextInputItem.yy │ ├── GetRavenContainerById │ │ ├── GetRavenContainerById.yy │ │ └── GetRavenContainerById.gml │ ├── KeyboardCheckExtended │ │ ├── KeyboardCheckExtended.yy │ │ └── KeyboardCheckExtended.gml │ ├── RavenImageButtonItem │ │ ├── RavenImageButtonItem.yy │ │ └── RavenImageButtonItem.gml │ ├── RavenMultilineTextItem │ │ ├── RavenMultilineTextItem.yy │ │ └── RavenMultilineTextItem.gml │ ├── DestroyRavenContainerById │ │ ├── DestroyRavenContainerById.yy │ │ └── DestroyRavenContainerById.gml │ ├── GetRavenContainerIndexById │ │ ├── GetRavenContainerIndexById.yy │ │ └── GetRavenContainerIndexById.gml │ └── RavenMultilineTextInputItem │ │ └── RavenMultilineTextInputItem.yy ├── fonts │ ├── fnt_default │ │ ├── fnt_default.png │ │ └── fnt_default.old.png │ ├── fnt_bookshelf │ │ ├── fnt_bookshelf.png │ │ ├── fnt_default.png │ │ └── fnt_bookshelf.old.png │ ├── fnt_dsansmono16 │ │ ├── fnt_default.png │ │ ├── fnt_bookshelf.png │ │ ├── fnt_dsansmono16.png │ │ ├── fnt_bookshelf.old.png │ │ ├── fnt_droidsansmono.png │ │ ├── fnt_droidsansmono.old.png │ │ └── fnt_dsansmono16.old.png │ ├── fnt_dsansmono32 │ │ ├── fnt_default.png │ │ ├── fnt_bookshelf.png │ │ ├── fnt_dsansmono16.png │ │ ├── fnt_dsansmono32.png │ │ ├── fnt_bookshelf.old.png │ │ ├── fnt_droidsansmono.png │ │ ├── fnt_droidsansmono.old.png │ │ ├── fnt_dsansmono16.old.png │ │ └── fnt_dsansmono32.old.png │ └── fnt_droidsansmono │ │ ├── fnt_default.png │ │ ├── fnt_bookshelf.png │ │ ├── fnt_bookshelf.old.png │ │ ├── fnt_droidsansmono.png │ │ └── fnt_droidsansmono.old.png ├── sprites │ ├── spr_lock │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_lock.yy │ ├── spr_node │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node.yy │ ├── spr_node_blue │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_blue.yy │ ├── spr_node_pink │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_pink.yy │ ├── spr_node_red │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_red.yy │ ├── spr_node_yellow │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_yellow.yy │ ├── spr_node_dark_fill │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_dark_fill.yy │ ├── spr_sample_image │ │ ├── b547ddc5-2cbe-4942-bf61-a8efa6b67e8a.png │ │ ├── layers │ │ │ └── b547ddc5-2cbe-4942-bf61-a8efa6b67e8a │ │ │ │ └── 24d19f1f-df24-4bc1-9c7b-b9a8879c03ab.png │ │ └── spr_sample_image.yy │ ├── spr_node_black_fill │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_black_fill.yy │ ├── spr_node_inner_dark │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_inner_dark.yy │ ├── spr_node_white_fill │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_white_fill.yy │ ├── spr_node_dark_transparent │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ ├── 888d97b7-10c9-4564-a612-d27fb02e639a │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_dark_transparent.yy │ ├── spr_node_mask_interaction │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_mask_interaction.yy │ └── spr_node_mask_interaction_upscaled │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png │ │ ├── a1efcd37-db54-485a-9a34-5bb470a02acc.png │ │ ├── layers │ │ ├── 04f12b73-614b-430b-b570-5137ce4584f7 │ │ │ └── dae81c29-8e0e-43df-83db-0181f7aa0bea.png │ │ ├── 4e7b47ce-2dac-4de9-b281-c4dec0817fe9 │ │ │ └── 9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png │ │ └── a1efcd37-db54-485a-9a34-5bb470a02acc │ │ │ └── 6f5fcb8c-bde7-4ef2-853e-253798feaccb.png │ │ └── spr_node_mask_interaction_upscaled.yy ├── options │ ├── main │ │ └── options_main.yy │ ├── linux │ │ └── options_linux.yy │ ├── operagx │ │ └── options_operagx.yy │ ├── html5 │ │ └── options_html5.yy │ ├── mac │ │ └── options_mac.yy │ ├── tvos │ │ └── options_tvos.yy │ ├── windows │ │ └── options_windows.yy │ ├── ios │ │ └── options_ios.yy │ └── android │ │ └── options_android.yy ├── rooms │ ├── Room3 │ │ └── Room3.yy │ └── Room1 │ │ └── Room1.yy └── RavenUI.resource_order └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.yy linguist-language=Game Maker Language -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_init/Draw_64.gml: -------------------------------------------------------------------------------- 1 | raven_gui.Render(); -------------------------------------------------------------------------------- /RavenUI/objects/obj_node/Draw_0.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | -------------------------------------------------------------------------------- /RavenUI/objects/obj_node/KeyPress_37.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor -------------------------------------------------------------------------------- /RavenUI/scripts/open_help_page/open_help_page.gml: -------------------------------------------------------------------------------- 1 | function open_help_page(){ 2 | url_open("http://vincenthendriks.com"); 3 | 4 | } -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_default/fnt_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_default/fnt_default.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_bookshelf/fnt_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_bookshelf/fnt_bookshelf.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_bookshelf/fnt_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_bookshelf/fnt_default.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_default/fnt_default.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_default/fnt_default.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_default.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_default.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_droidsansmono/fnt_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_droidsansmono/fnt_default.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_bookshelf.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_bookshelf.png -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/KeyPress_109.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | 4 | -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_bookshelf/fnt_bookshelf.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_bookshelf/fnt_bookshelf.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_droidsansmono/fnt_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_droidsansmono/fnt_bookshelf.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_dsansmono16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_dsansmono16.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono16.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono32.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_bookshelf.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_bookshelf.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_droidsansmono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_droidsansmono.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_bookshelf.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_bookshelf.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_droidsansmono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_droidsansmono.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_droidsansmono/fnt_bookshelf.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_droidsansmono/fnt_bookshelf.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_droidsansmono/fnt_droidsansmono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_droidsansmono/fnt_droidsansmono.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_droidsansmono.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_droidsansmono.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono16/fnt_dsansmono16.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono16/fnt_dsansmono16.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_droidsansmono.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_droidsansmono.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono16.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono16.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono32.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_dsansmono32/fnt_dsansmono32.old.png -------------------------------------------------------------------------------- /RavenUI/fonts/fnt_droidsansmono/fnt_droidsansmono.old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/fonts/fnt_droidsansmono/fnt_droidsansmono.old.png -------------------------------------------------------------------------------- /RavenUI/objects/obj_node/Create_0.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | node_struct_representation = undefined; -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/KeyPress_107.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RavenUI/objects/obj_node/Step_0.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | //show_debug_message(x); 4 | //show_debug_message(y); -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/888d97b7-10c9-4564-a612-d27fb02e639a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/888d97b7-10c9-4564-a612-d27fb02e639a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/888d97b7-10c9-4564-a612-d27fb02e639a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/888d97b7-10c9-4564-a612-d27fb02e639a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_sample_image/b547ddc5-2cbe-4942-bf61-a8efa6b67e8a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_sample_image/b547ddc5-2cbe-4942-bf61-a8efa6b67e8a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/888d97b7-10c9-4564-a612-d27fb02e639a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/888d97b7-10c9-4564-a612-d27fb02e639a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/888d97b7-10c9-4564-a612-d27fb02e639a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/888d97b7-10c9-4564-a612-d27fb02e639a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/888d97b7-10c9-4564-a612-d27fb02e639a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/888d97b7-10c9-4564-a612-d27fb02e639a.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/04f12b73-614b-430b-b570-5137ce4584f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/04f12b73-614b-430b-b570-5137ce4584f7.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/4e7b47ce-2dac-4de9-b281-c4dec0817fe9.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/a1efcd37-db54-485a-9a34-5bb470a02acc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/a1efcd37-db54-485a-9a34-5bb470a02acc.png -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/Mouse_52.gml: -------------------------------------------------------------------------------- 1 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 2 | var _container = ds_list_find_value(global.raven_containers, _i); 3 | _container.MovePriority(global.mouse_x_diff, global.mouse_y_diff); 4 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_lock/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/scripts/RegisterRavenContainer/RegisterRavenContainer.gml: -------------------------------------------------------------------------------- 1 | /// @Description Registers a container to the list of raven containers 2 | function RegisterRavenContainer(_container_to_register){ 3 | ds_list_add(global.raven_containers, _container_to_register); 4 | 5 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_blue/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_pink/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_red/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_yellow/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_sample_image/layers/b547ddc5-2cbe-4942-bf61-a8efa6b67e8a/24d19f1f-df24-4bc1-9c7b-b9a8879c03ab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_sample_image/layers/b547ddc5-2cbe-4942-bf61-a8efa6b67e8a/24d19f1f-df24-4bc1-9c7b-b9a8879c03ab.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_black_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_inner_dark/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_white_fill/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/layers/888d97b7-10c9-4564-a612-d27fb02e639a/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_dark_transparent/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/04f12b73-614b-430b-b570-5137ce4584f7/dae81c29-8e0e-43df-83db-0181f7aa0bea.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/4e7b47ce-2dac-4de9-b281-c4dec0817fe9/9f8858a4-26e9-474f-97bc-1f6c13b1dc2c.png -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Emperor2000/Raven/HEAD/RavenUI/sprites/spr_node_mask_interaction_upscaled/layers/a1efcd37-db54-485a-9a34-5bb470a02acc/6f5fcb8c-bde7-4ef2-853e-253798feaccb.png -------------------------------------------------------------------------------- /RavenUI/scripts/DrawCurve/DrawCurve.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"DrawCurve", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"DrawCurve", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenItem/RavenItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMain/RavenMain.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenMain", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenMain", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMenu/RavenMenu.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenMenu", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenMenu", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/open_help_page/open_help_page.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"open_help_page", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"open_help_page", 7 | "parent":{ 8 | "name":"Scripts", 9 | "path":"folders/Scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/CreateRavenGUID/CreateRavenGUID.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"CreateRavenGUID", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"CreateRavenGUID", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenNodeItem/RavenNodeItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenNodeItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenNodeItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenTextItem/RavenTextItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenTextItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenTextItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/StringWordWrap/StringWordWrap.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"StringWordWrap", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"StringWordWrap", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenContainer/RavenContainer.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenContainer", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenContainer", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenImageItem/RavenImageItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenImageItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenImageItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenButtonItem/RavenButtonItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenButtonItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenButtonItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenStatusItem/RavenStatusItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenStatusItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenStatusItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenCheckboxItem/RavenCheckboxItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenCheckboxItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenCheckboxItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenDropdownItem/RavenDropdownItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenDropdownItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenDropdownItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenLineBreakItem/RavenLineBreakItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenLineBreakItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenLineBreakItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenTextInputItem/RavenTextInputItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenTextInputItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenTextInputItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/GetRavenContainerById/GetRavenContainerById.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"GetRavenContainerById", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"GetRavenContainerById", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/KeyboardCheckExtended/KeyboardCheckExtended.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"KeyboardCheckExtended", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"KeyboardCheckExtended", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenImageButtonItem/RavenImageButtonItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenImageButtonItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenImageButtonItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RegisterRavenContainer/RegisterRavenContainer.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RegisterRavenContainer", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RegisterRavenContainer", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMultilineTextItem/RavenMultilineTextItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenMultilineTextItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenMultilineTextItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/DestroyRavenContainerById/DestroyRavenContainerById.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"DestroyRavenContainerById", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"DestroyRavenContainerById", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/GetRavenContainerIndexById/GetRavenContainerIndexById.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"GetRavenContainerIndexById", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"GetRavenContainerIndexById", 7 | "parent":{ 8 | "name":"scripts", 9 | "path":"folders/RavenGUI/scripts.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMultilineTextInputItem/RavenMultilineTextInputItem.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMScript":"v1", 3 | "%Name":"RavenMultilineTextInputItem", 4 | "isCompatibility":false, 5 | "isDnD":false, 6 | "name":"RavenMultilineTextInputItem", 7 | "parent":{ 8 | "name":"components", 9 | "path":"folders/RavenGUI/components.yy", 10 | }, 11 | "resourceType":"GMScript", 12 | "resourceVersion":"2.0", 13 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_init/KeyPress_81.gml: -------------------------------------------------------------------------------- 1 | /// @description Change Theme button 2 | // You can write your code in this editor 3 | 4 | 5 | if (THEME == THEME.RAVEN) { 6 | THEME = THEME.DARK; 7 | } else if (THEME == THEME.DARK) { 8 | THEME = THEME.LIGHT; 9 | } else if (THEME == THEME.LIGHT) { 10 | THEME = THEME.APPLE; 11 | } else if (THEME == THEME.APPLE) { 12 | THEME = THEME.COFFEE; 13 | } else if (THEME == THEME.COFFEE) { 14 | THEME = THEME.RAVEN; 15 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/Step_1.gml: -------------------------------------------------------------------------------- 1 | /// @description Insert description here 2 | // You can write your code in this editor 3 | //reset mouse cursor 4 | window_set_cursor(cr_default); 5 | 6 | 7 | if (is_new_interactions_locked) { 8 | new_interactions_locked_duration_in_frames_remaining -= 1; 9 | } 10 | 11 | if (new_interactions_locked_duration_in_frames_remaining <= 0) { 12 | new_interactions_locked_duration_in_frames_remaining = 0; 13 | is_new_interactions_locked = false; 14 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/Step_0.gml: -------------------------------------------------------------------------------- 1 | /// @description RavenGUI Update loop (core) 2 | 3 | 4 | //determine x and y diff from last frame 5 | global.mouse_x_diff = device_mouse_x_to_gui(0) - mouse_x_previous; 6 | global.mouse_y_diff = device_mouse_y_to_gui(0) - mouse_y_previous; 7 | 8 | //debug x and y diff 9 | //show_debug_message(global.mouse_x_diff); 10 | //show_debug_message(global.mouse_y_diff); 11 | 12 | 13 | //store previous x and y 14 | mouse_x_previous = device_mouse_x_to_gui(0); 15 | mouse_y_previous = device_mouse_y_to_gui(0); 16 | 17 | //reset cursor 18 | //window_set_cursor(cr_default); -------------------------------------------------------------------------------- /RavenUI/scripts/CreateRavenGUID/CreateRavenGUID.gml: -------------------------------------------------------------------------------- 1 | /// @Description returns a new Raven GUID/UID 2 | function CreateRavenGUID() { 3 | if (global.raven_debug) show_debug_message("RAVENDEBUG: Generating a GUID"); 4 | var _characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 5 | var _guid = ""; 6 | 7 | repeat(24) 8 | { 9 | var _random_index = irandom_range(1, string_length(_characters)); 10 | _guid += string_char_at(_characters, _random_index); 11 | 12 | if (string_length(_guid) % 8 == 0 && string_length(_guid) != 24) 13 | _guid += "-"; 14 | } 15 | 16 | return string(_guid); 17 | } -------------------------------------------------------------------------------- /RavenUI/scripts/GetRavenContainerIndexById/GetRavenContainerIndexById.gml: -------------------------------------------------------------------------------- 1 | /// @Description returns a container struct instance by id by searching it in the global container list, otherwise returns -1 2 | function GetRavenContainerIndexById(_container_id){ 3 | //if global.raven_containers is not undefined and not noone 4 | if (global.raven_containers != undefined && global.raven_containers != noone) { 5 | //Loop over all container instances, and return the first instance that has a matching id 6 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 7 | //get current 8 | var _container = ds_list_find_value(global.raven_containers, _i) { 9 | if (_container.container_id == _container_id) return _i; 10 | } 11 | } 12 | } 13 | return -1; 14 | } -------------------------------------------------------------------------------- /RavenUI/scripts/GetRavenContainerById/GetRavenContainerById.gml: -------------------------------------------------------------------------------- 1 | /// @Description returns a container struct instance by id by searching it in the global container list, otherwise returns -1 2 | /// @returns Id.Instance Returns a container id or -1 if it could not be found. 3 | function GetRavenContainerById(_container_id){ 4 | //if global.raven_containers is not undefined and not noone 5 | if (global.raven_containers != undefined && global.raven_containers != noone) { 6 | //Loop over all container instances, and return the first instance that has a matching id 7 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 8 | //get current 9 | var _container = ds_list_find_value(global.raven_containers, _i) { 10 | if (_container.container_id == _container_id) return _container; 11 | } 12 | } 13 | } 14 | return -1; 15 | } -------------------------------------------------------------------------------- /RavenUI/options/main/options_main.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMMainOptions":"v1", 3 | "%Name":"Main", 4 | "name":"Main", 5 | "option_author":"", 6 | "option_collision_compatibility":false, 7 | "option_copy_on_write_enabled":false, 8 | "option_draw_colour":4294967295, 9 | "option_gameguid":"90182ce8-f05a-45b0-a520-bae321e3461a", 10 | "option_gameid":"0", 11 | "option_game_speed":60, 12 | "option_mips_for_3d_textures":false, 13 | "option_remove_unused_assets":false, 14 | "option_sci_usesci":false, 15 | "option_spine_licence":false, 16 | "option_steam_app_id":"0", 17 | "option_template_description":null, 18 | "option_template_icon":"${base_options_dir}/main/template_icon.png", 19 | "option_template_image":"${base_options_dir}/main/template_image.png", 20 | "option_window_colour":255, 21 | "resourceType":"GMMainOptions", 22 | "resourceVersion":"2.0", 23 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/Create_0.gml: -------------------------------------------------------------------------------- 1 | /// @description Handler init 2 | 3 | #region mouse coordinate spaces 4 | mouse_x_previous = device_mouse_x_to_gui(0); 5 | mouse_y_previous = mouse_y; 6 | global.mouse_x_diff = 0; 7 | global.mouse_y_diff = 0; 8 | 9 | #endregion 10 | 11 | #region Selection 12 | global.raven_occupied = false; 13 | #endregion 14 | 15 | 16 | #region Keyboard Check limiting. 17 | global.keyboard_check_counters = ds_map_create(); 18 | global.keyboard_lock_duration = 5; 19 | #endregion 20 | 21 | 22 | //node map 23 | global.node_map = ds_map_create(); 24 | 25 | 26 | //Disable multiple actions at the same time. 27 | is_new_interactions_locked = false; 28 | new_interactions_locked_duration_in_frames_remaining = 0; 29 | 30 | function lock_new_interactions(_duration) { 31 | is_new_interactions_locked = true; 32 | new_interactions_locked_duration_in_frames_remaining = 3; 33 | } 34 | -------------------------------------------------------------------------------- /RavenUI/options/linux/options_linux.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMLinuxOptions":"", 3 | "%Name":"Linux", 4 | "name":"Linux", 5 | "option_linux_allow_fullscreen":false, 6 | "option_linux_disable_sandbox":false, 7 | "option_linux_display_cursor":true, 8 | "option_linux_display_name":"Created with GameMaker", 9 | "option_linux_display_splash":false, 10 | "option_linux_enable_steam":false, 11 | "option_linux_homepage":"http://www.yoyogames.com", 12 | "option_linux_icon":"${base_options_dir}/linux/icons/64.png", 13 | "option_linux_interpolate_pixels":true, 14 | "option_linux_long_desc":"", 15 | "option_linux_maintainer_email":"", 16 | "option_linux_resize_window":false, 17 | "option_linux_scale":0, 18 | "option_linux_short_desc":"", 19 | "option_linux_splash_screen":"${base_options_dir}/linux/splash/splash.png", 20 | "option_linux_start_fullscreen":false, 21 | "option_linux_sync":false, 22 | "option_linux_texture_page":"2048x2048", 23 | "option_linux_version":"1.0.0.0", 24 | "resourceType":"GMLinuxOptions", 25 | "resourceVersion":"2.0", 26 | } -------------------------------------------------------------------------------- /RavenUI/options/operagx/options_operagx.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMOperaGXOptions":"", 3 | "%Name":"operagx", 4 | "name":"operagx", 5 | "option_operagx_display_cursor":true, 6 | "option_operagx_editUrl":"", 7 | "option_operagx_game_name":"RavenGUI", 8 | "option_operagx_guid":"", 9 | "option_operagx_internalShareUrl":"", 10 | "option_operagx_interpolate_pixels":true, 11 | "option_operagx_mod_editUrl":"", 12 | "option_operagx_mod_game_name":"RavenGUI", 13 | "option_operagx_mod_guid":"", 14 | "option_operagx_mod_internalShareUrl":"", 15 | "option_operagx_mod_next_version":"1.0.0.0", 16 | "option_operagx_mod_publicShareUrl":"", 17 | "option_operagx_mod_team_id":"", 18 | "option_operagx_mod_team_name":"", 19 | "option_operagx_mod_version":"1.0.0.0", 20 | "option_operagx_next_version":"1.0.0.0", 21 | "option_operagx_publicShareUrl":"", 22 | "option_operagx_scale":0, 23 | "option_operagx_team_id":"", 24 | "option_operagx_team_name":"", 25 | "option_operagx_texture_page":"2048x2048", 26 | "option_operagx_version":"1.0.0.0", 27 | "resourceType":"GMOperaGXOptions", 28 | "resourceVersion":"2.0", 29 | } -------------------------------------------------------------------------------- /RavenUI/scripts/DestroyRavenContainerById/DestroyRavenContainerById.gml: -------------------------------------------------------------------------------- 1 | // Script assets have changed for v2.3.0 see 2 | // https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information 3 | function DestroyRavenContainerById(_container_id){ 4 | if (global.raven_debug) show_debug_message("RAVENDEBUG: Attempting to destroy a container with id: " + string(_container_id)); 5 | var _res = GetRavenContainerIndexById(_container_id); 6 | 7 | //obj_raven_init.raven_gui.DestroyContainer(_res, _container_id); 8 | //for (var i = 0; i < ds_list_size(global.raven_containers); i++) { 9 | // var _container = ds_list_find_value(global.raven_containers, i); 10 | // if (_container.container_id == _container_id) { 11 | // ds_list_delete(global.raven_containers, i); 12 | // } 13 | //} 14 | 15 | if (_res != -1 && _res != noone && _res != undefined) { 16 | //destroy items in container 17 | var _container = GetRavenContainerById(_container_id); 18 | _container.Destroy(); 19 | ds_list_delete(global.raven_containers, _res); 20 | } 21 | 22 | if (_res == -1) { 23 | if (global.raven_debug) show_debug_message("RAVENDEBUG: Container with id: " + string(_container_id) + " Could not be found in global containers"); 24 | } 25 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenLineBreakItem/RavenLineBreakItem.gml: -------------------------------------------------------------------------------- 1 | /// TextItem Constructor 2 | 3 | function RavenLineBreakItem(_margin, _height, _color = undefined) constructor { 4 | container_id = undefined; 5 | is_enabled = true; 6 | margin = _margin; 7 | height = _height; 8 | x0 = 0; 9 | y0 = 0; 10 | x1 = 0; 11 | y1 = 0; 12 | text_x1 = 0; 13 | hover = false; 14 | color = _color; // Color for the text 15 | 16 | function GetContainerId() { 17 | return container_id; 18 | } 19 | 20 | function SetContainerId(_container_id) { 21 | container_id = _container_id; 22 | } 23 | 24 | function IsOutsideContainerBounds(_container_x1) { 25 | return (x1 > _container_x1); 26 | } 27 | 28 | function GetWidth() { 29 | return x1 - x0; 30 | } 31 | 32 | function SetCoords(_x0, _y0, _x1, _y1) { 33 | x0 = _x0; 34 | y0 = _y0; 35 | x1 = _x1; 36 | y1 = _y1; 37 | } 38 | 39 | function GetHeight() { 40 | return height; 41 | } 42 | 43 | function SetHeight(_height) { 44 | height = _height; 45 | } 46 | 47 | function Update() { 48 | 49 | } 50 | 51 | // Render method to draw the text item 52 | function Render() { 53 | if (color != undefined) { 54 | draw_set_color(color); 55 | draw_rectangle(x0,x1,y0,y1,false); 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /RavenUI/scripts/KeyboardCheckExtended/KeyboardCheckExtended.gml: -------------------------------------------------------------------------------- 1 | // Create the _keyboard_check_ext function 2 | /// @function _keyboard_check_ext 3 | /// @description Check _keyboard input once every specified number of _frames 4 | /// @param {Real} _key - The key to check 5 | /// @param {Real} _frames - Number of frames to wait before checking input again 6 | /// @returns {bool} Returns true if the _key is pressed, otherwise false 7 | function keyboard_check_ext(_key, _frames) { 8 | // Check if the frame counter exists for the specified _key 9 | if (!ds_map_exists(global.keyboard_check_counters, string(_key))) 10 | { 11 | // If it doesn't exist, create it and set it to 0 12 | ds_map_add(global.keyboard_check_counters, string(_key), 0); 13 | } 14 | 15 | // Increment the frame counter for the specified _key 16 | global.keyboard_check_counters[? string(_key)]++; 17 | 18 | // Check if the counter has reached the specified number of _frames 19 | if (global.keyboard_check_counters[? string(_key)] >= _frames) 20 | { 21 | // Reset the frame counter for the specified _key 22 | global.keyboard_check_counters[? string(_key)] = 0; 23 | 24 | // Return the state of the _key 25 | return keyboard_check(_key); 26 | } 27 | 28 | // If not enough _frames have passed, return false 29 | return false; 30 | } -------------------------------------------------------------------------------- /RavenUI/options/html5/options_html5.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMHtml5Options":"", 3 | "%Name":"HTML5", 4 | "name":"HTML5", 5 | "option_html5_allow_fullscreen":true, 6 | "option_html5_browser_title":"Created with GameMaker", 7 | "option_html5_centregame":false, 8 | "option_html5_display_cursor":true, 9 | "option_html5_facebook_app_display_name":"", 10 | "option_html5_facebook_id":"", 11 | "option_html5_flurry_enable":false, 12 | "option_html5_flurry_id":"", 13 | "option_html5_foldername":"html5game", 14 | "option_html5_google_analytics_enable":false, 15 | "option_html5_google_tracking_id":"", 16 | "option_html5_icon":"${base_options_dir}/html5/fav.ico", 17 | "option_html5_index":"", 18 | "option_html5_interpolate_pixels":true, 19 | "option_html5_jsprepend":"", 20 | "option_html5_loadingbar":"", 21 | "option_html5_localrunalert":true, 22 | "option_html5_outputdebugtoconsole":true, 23 | "option_html5_outputname":"index.html", 24 | "option_html5_scale":0, 25 | "option_html5_splash_png":"${base_options_dir}/html5/splash.png", 26 | "option_html5_texture_page":"2048x2048", 27 | "option_html5_usebuiltinfont":true, 28 | "option_html5_usebuiltinparticles":true, 29 | "option_html5_usesplash":false, 30 | "option_html5_use_facebook":false, 31 | "option_html5_version":"1.0.0.0", 32 | "option_html5_webgl":2, 33 | "resourceType":"GMHtml5Options", 34 | "resourceVersion":"2.0", 35 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_init/obj_raven_init.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMObject":"", 3 | "%Name":"obj_raven_init", 4 | "eventList":[ 5 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 6 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 7 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 8 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":81,"eventType":9,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 9 | ], 10 | "managed":true, 11 | "name":"obj_raven_init", 12 | "overriddenProperties":[], 13 | "parent":{ 14 | "name":"objects", 15 | "path":"folders/RavenGUI/objects.yy", 16 | }, 17 | "parentObjectId":null, 18 | "persistent":false, 19 | "physicsAngularDamping":0.1, 20 | "physicsDensity":0.5, 21 | "physicsFriction":0.2, 22 | "physicsGroup":1, 23 | "physicsKinematic":false, 24 | "physicsLinearDamping":0.1, 25 | "physicsObject":false, 26 | "physicsRestitution":0.1, 27 | "physicsSensor":false, 28 | "physicsShape":1, 29 | "physicsShapePoints":[], 30 | "physicsStartAwake":true, 31 | "properties":[], 32 | "resourceType":"GMObject", 33 | "resourceVersion":"2.0", 34 | "solid":false, 35 | "spriteId":null, 36 | "spriteMaskId":null, 37 | "visible":true, 38 | } -------------------------------------------------------------------------------- /RavenUI/options/mac/options_mac.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMMacOptions":"", 3 | "%Name":"macOS", 4 | "name":"macOS", 5 | "option_mac_allow_fullscreen":false, 6 | "option_mac_allow_incoming_network":false, 7 | "option_mac_allow_outgoing_network":false, 8 | "option_mac_apple_sign_in":false, 9 | "option_mac_app_category":"Games", 10 | "option_mac_app_id":"com.company.game", 11 | "option_mac_arm64":true, 12 | "option_mac_build_app_store":false, 13 | "option_mac_build_number":0, 14 | "option_mac_copyright":"", 15 | "option_mac_disable_sandbox":false, 16 | "option_mac_display_cursor":true, 17 | "option_mac_display_name":"Created with GameMaker", 18 | "option_mac_enable_retina":false, 19 | "option_mac_enable_steam":false, 20 | "option_mac_icon_png":"${base_options_dir}/mac/icons/1024.png", 21 | "option_mac_installer_background_png":"${base_options_dir}/mac/splash/installer_background.png", 22 | "option_mac_interpolate_pixels":true, 23 | "option_mac_menu_dock":false, 24 | "option_mac_min_version":"10.10", 25 | "option_mac_output_dir":"~/gamemakerstudio2", 26 | "option_mac_resize_window":false, 27 | "option_mac_scale":0, 28 | "option_mac_signing_identity":"Developer ID Application:", 29 | "option_mac_splash_png":"${base_options_dir}/mac/splash/splash.png", 30 | "option_mac_start_fullscreen":false, 31 | "option_mac_team_id":"", 32 | "option_mac_texture_page":"2048x2048", 33 | "option_mac_version":"1.0.0.0", 34 | "option_mac_vsync":false, 35 | "option_mac_x86_64":true, 36 | "resourceType":"GMMacOptions", 37 | "resourceVersion":"2.0", 38 | } -------------------------------------------------------------------------------- /RavenUI/options/tvos/options_tvos.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMtvOSOptions":"v1", 3 | "%Name":"tvOS", 4 | "name":"tvOS", 5 | "option_tvos_build_number":0, 6 | "option_tvos_bundle_name":"com.company.game", 7 | "option_tvos_display_cursor":false, 8 | "option_tvos_display_name":"Made in GameMaker", 9 | "option_tvos_enable_broadcast":false, 10 | "option_tvos_icon_1280":"${base_options_dir}/tvos/icons/1280.png", 11 | "option_tvos_icon_400":"${base_options_dir}/tvos/icons/400.png", 12 | "option_tvos_icon_400_2x":"${base_options_dir}/tvos/icons/400_2x.png", 13 | "option_tvos_interpolate_pixels":true, 14 | "option_tvos_min_version":"10.0", 15 | "option_tvos_output_dir":"~/GameMakerStudio2/tvOS", 16 | "option_tvos_podfile_lock_path":"${options_dir}\\tvos\\Podfile.lock", 17 | "option_tvos_podfile_path":"${options_dir}\\tvos\\Podfile", 18 | "option_tvos_scale":0, 19 | "option_tvos_splashscreen":"${base_options_dir}/tvos/splash/splash.png", 20 | "option_tvos_splashscreen_2x":"${base_options_dir}/tvos/splash/splash_2x.png", 21 | "option_tvos_splash_time":0, 22 | "option_tvos_team_id":"", 23 | "option_tvos_texture_page":"2048x2048", 24 | "option_tvos_topshelf":"${base_options_dir}/tvos/topshelf/topshelf.png", 25 | "option_tvos_topshelf_2x":"${base_options_dir}/tvos/topshelf/topshelf_2x.png", 26 | "option_tvos_topshelf_wide":"${base_options_dir}/tvos/topshelf/topshelf_wide.png", 27 | "option_tvos_topshelf_wide_2x":"${base_options_dir}/tvos/topshelf/topshelf_wide_2x.png", 28 | "option_tvos_version":"1.0.0.0", 29 | "resourceType":"GMtvOSOptions", 30 | "resourceVersion":"2.0", 31 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_node/obj_node.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMObject":"", 3 | "%Name":"obj_node", 4 | "eventList":[ 5 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 6 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 7 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":37,"eventType":9,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 8 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 9 | ], 10 | "managed":true, 11 | "name":"obj_node", 12 | "overriddenProperties":[], 13 | "parent":{ 14 | "name":"objects", 15 | "path":"folders/RavenGUI/objects.yy", 16 | }, 17 | "parentObjectId":null, 18 | "persistent":false, 19 | "physicsAngularDamping":0.1, 20 | "physicsDensity":0.5, 21 | "physicsFriction":0.2, 22 | "physicsGroup":1, 23 | "physicsKinematic":false, 24 | "physicsLinearDamping":0.1, 25 | "physicsObject":false, 26 | "physicsRestitution":0.1, 27 | "physicsSensor":false, 28 | "physicsShape":1, 29 | "physicsShapePoints":[], 30 | "physicsStartAwake":true, 31 | "properties":[], 32 | "resourceType":"GMObject", 33 | "resourceVersion":"2.0", 34 | "solid":false, 35 | "spriteId":{ 36 | "name":"spr_node_mask_interaction_upscaled", 37 | "path":"sprites/spr_node_mask_interaction_upscaled/spr_node_mask_interaction_upscaled.yy", 38 | }, 39 | "spriteMaskId":null, 40 | "visible":true, 41 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenImageItem/RavenImageItem.gml: -------------------------------------------------------------------------------- 1 | //A Raven Item is a page or a function trigger 2 | ///@Description An item, use false or noone for _on_click if not interactable. 3 | /// @param {Asset.GMSprite} _sprite The sprite 4 | /// @param {Real} _margin The margin applied to the top, buttom, left and right of the item. 5 | /// @param {Real} _image_x_scale The x scaling of the image, where 1 is the original scale. 6 | /// @param {Real} _image_y_scale The y scaling of the image, where 1 is the original scale. 7 | function RavenImageItem(_sprite, _margin = 0, _sprite_xscale = 1, _sprite_yscale = 1) constructor { 8 | container_id = undefined; 9 | is_enabled = true; 10 | lock_trigger = false; 11 | subitems = ds_list_create(); 12 | outline = false; 13 | margin = _margin; 14 | x0 = 0; 15 | y0 = 0; 16 | x1 = 0; 17 | y1 = 0; 18 | height = 0; 19 | sprite = _sprite 20 | sprite_xscale = _sprite_xscale; 21 | sprite_yscale = _sprite_yscale; 22 | 23 | function GetContainerId() { 24 | return container_id; 25 | } 26 | 27 | function SetContainerId(_container_id) { 28 | container_id = _container_id; 29 | } 30 | 31 | function SetEnabled(_set) { 32 | is_enabled = _set; 33 | } 34 | 35 | /// @description returns the width of the text in pixels. 36 | function GetWidth() { 37 | return sprite_get_width(sprite)*sprite_xscale; 38 | } 39 | 40 | function SetCoords(_x0, _y0, _x1, _y1) { 41 | x0 = _x0; 42 | y0 = _y0; 43 | x1 = _x1; 44 | y1 = _y1; 45 | } 46 | 47 | function GetHeight() { 48 | return sprite_get_height(sprite)*sprite_yscale; 49 | } 50 | 51 | function Update() { 52 | 53 | } 54 | 55 | function Render() { 56 | draw_sprite_ext(sprite,0,x0,y0,sprite_xscale,sprite_yscale,0,c_white,1); 57 | } 58 | 59 | 60 | 61 | } -------------------------------------------------------------------------------- /RavenUI/options/windows/options_windows.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMWindowsOptions":"", 3 | "%Name":"Windows", 4 | "name":"Windows", 5 | "option_windows_allow_fullscreen_switching":false, 6 | "option_windows_borderless":false, 7 | "option_windows_company_info":"YoYo Games Ltd", 8 | "option_windows_copyright_info":"", 9 | "option_windows_copy_exe_to_dest":false, 10 | "option_windows_description_info":"A GameMaker Game", 11 | "option_windows_disable_sandbox":false, 12 | "option_windows_display_cursor":true, 13 | "option_windows_display_name":"Created with GameMaker", 14 | "option_windows_enable_steam":false, 15 | "option_windows_executable_name":"${project_name}.exe", 16 | "option_windows_icon":"${base_options_dir}/windows/icons/icon.ico", 17 | "option_windows_installer_finished":"${base_options_dir}/windows/installer/finished.bmp", 18 | "option_windows_installer_header":"${base_options_dir}/windows/installer/header.bmp", 19 | "option_windows_interpolate_pixels":false, 20 | "option_windows_license":"${base_options_dir}/windows/installer/license.txt", 21 | "option_windows_nsis_file":"${base_options_dir}/windows/installer/nsis_script.nsi", 22 | "option_windows_product_info":"Created with GameMaker", 23 | "option_windows_resize_window":true, 24 | "option_windows_save_location":0, 25 | "option_windows_scale":0, 26 | "option_windows_sleep_margin":10, 27 | "option_windows_splash_screen":"${base_options_dir}/windows/splash/splash.png", 28 | "option_windows_start_fullscreen":false, 29 | "option_windows_steam_use_alternative_launcher":false, 30 | "option_windows_texture_page":"2048x2048", 31 | "option_windows_use_splash":false, 32 | "option_windows_version":"1.0.0.0", 33 | "option_windows_vsync":false, 34 | "resourceType":"GMWindowsOptions", 35 | "resourceVersion":"2.0", 36 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_handler/obj_raven_handler.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMObject":"", 3 | "%Name":"obj_raven_handler", 4 | "eventList":[ 5 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 6 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 7 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":1,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 8 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":107,"eventType":9,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 9 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":109,"eventType":9,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 10 | {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":52,"eventType":6,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",}, 11 | ], 12 | "managed":true, 13 | "name":"obj_raven_handler", 14 | "overriddenProperties":[], 15 | "parent":{ 16 | "name":"objects", 17 | "path":"folders/RavenGUI/objects.yy", 18 | }, 19 | "parentObjectId":null, 20 | "persistent":false, 21 | "physicsAngularDamping":0.1, 22 | "physicsDensity":0.5, 23 | "physicsFriction":0.2, 24 | "physicsGroup":1, 25 | "physicsKinematic":false, 26 | "physicsLinearDamping":0.1, 27 | "physicsObject":false, 28 | "physicsRestitution":0.1, 29 | "physicsSensor":false, 30 | "physicsShape":1, 31 | "physicsShapePoints":[], 32 | "physicsStartAwake":true, 33 | "properties":[], 34 | "resourceType":"GMObject", 35 | "resourceVersion":"2.0", 36 | "solid":false, 37 | "spriteId":null, 38 | "spriteMaskId":null, 39 | "visible":true, 40 | } -------------------------------------------------------------------------------- /RavenUI/scripts/DrawCurve/DrawCurve.gml: -------------------------------------------------------------------------------- 1 | // Function to calculate distance between two points 2 | function distance_between_points(_x0, _y0, _x1, _y1) { 3 | var _dx = _x1 - _x0; 4 | var _dy = _y1 - _y0; 5 | return sqrt(_dx * _dx + _dy * _dy); 6 | } 7 | 8 | // Function to draw a line between two points 9 | function draw_line(_x0, _y0, _x1, _y1) { 10 | // Your implementation of draw_line function 11 | } 12 | 13 | // Function to draw a curved line between two points 14 | function draw_curve(_x0, _y0, _x1, _y1, _line_color, _line_width) { 15 | // Calculate the number of segments based on desired smoothness and line length 16 | var _num_segments = round(distance_between_points(_x0, _y0, _x1, _y1) / 5); 17 | 18 | // Loop through each segment and draw a short line with slight bend 19 | for (var i = 0; i < _num_segments; i++) { 20 | var _progress = i / (_num_segments - 1); // 0 to 1 for smooth transition 21 | var _bend_factor = _progress * (_progress - 0.5) * 5; // Adjust bend based on _progress (center point has least bend) 22 | 23 | var _x2 = lerp(_x0, _x1, _progress); 24 | var _y2 = lerp(_y0, _y1, _progress); 25 | 26 | var _offset_x = sign(_y1 - _y0) * _bend_factor; // Adjust offset based on direction 27 | var _offset_y = -sign(_x1 - _x0) * _bend_factor; 28 | 29 | draw_line(_x2 + _offset_x, _y2 + _offset_y, _x2 - _offset_x, _y2 - _offset_y); 30 | } 31 | } 32 | 33 | function draw_sinus_curve(start_x, start_y, end_x, end_y, amplitude, frequency, color, thickness) { 34 | var delta_x = end_x - start_x; 35 | var delta_y = end_y - start_y; 36 | var distance = point_distance(start_x, start_y, end_x, end_y); 37 | var num_points = distance; 38 | 39 | for (var i = 0; i < num_points; i++) { 40 | var t = i / num_points; 41 | var _x = start_x + t * delta_x; 42 | var _y = start_y + t * delta_y; 43 | var t_mapped = map(t, 0, 1, 0, frequency * pi); // Smoothly increase frequency along the curve 44 | var sine_offset = amplitude * sin(t_mapped); 45 | draw_circle(_x, _y + sine_offset, thickness, true); 46 | } 47 | } 48 | 49 | // Helper function to map a value from one range to another 50 | function map(value, start1, stop1, start2, stop2) { 51 | return start2 + (stop2 - start2) * ((value - start1) / (stop1 - start1)); 52 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMain/RavenMain.gml: -------------------------------------------------------------------------------- 1 | function RavenMain() constructor { 2 | menu = noone; 3 | active_page = undefined; 4 | pages = ds_list_create(); 5 | items = undefined; 6 | global.raven_containers = ds_list_create(); 7 | 8 | //Binds a menu to RavenMain 9 | function SetMenu(_raven_menu) { 10 | menu = _raven_menu; 11 | } 12 | 13 | //Retrieve all items from Raven Menu 14 | function GetItems() { 15 | if (menu != noone) { 16 | items = menu.GetItems() 17 | } 18 | } 19 | 20 | function PushReferences() { 21 | show_debug_message("RAVENDEBUG: Container count: " + string(ds_list_size(global.raven_containers))); 22 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 23 | var _container = ds_list_find_value(global.raven_containers, _i); 24 | show_debug_message("retrieved container instance"); 25 | show_debug_message("container's data: " + _container.container_id); 26 | _container.UpdateItemContainers(); 27 | show_debug_message("Pushed references for container"); 28 | } 29 | } 30 | 31 | function AddContainer(_raven_container) { 32 | //ds_list_add(containers, _raven_container); 33 | RegisterRavenContainer(_raven_container); 34 | } 35 | 36 | function Update() { 37 | //update menu 38 | GetItems(); 39 | if (menu != noone) menu.Update(); 40 | 41 | //update items 42 | for (var _i = 0; _i < ds_list_size(items); _i++) { 43 | var _item = ds_list_find_value(items, _i).Update(); 44 | } 45 | 46 | //update container 47 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 48 | ds_list_find_value(global.raven_containers, _i).Update(); 49 | } 50 | } 51 | 52 | 53 | function Render() { 54 | //ds_list_find_value(global.raven_containers, 1).Render(); 55 | //show_debug_message("Amount of items"+string(ds_list_size(ds_list_find_value(global.raven_containers, 0).items))); 56 | //show_debug_message("And this is your shit code not working: "); 57 | //ds_list_find_value(global.raven_containers, 0).Render(); 58 | //return; 59 | 60 | //we will first render our containers. 61 | //render container 62 | for (var _i = 0; _i < ds_list_size(global.raven_containers); _i++) { 63 | ds_list_find_value(global.raven_containers, _i).Render(); 64 | } 65 | 66 | //render items 67 | items = GetItems(); 68 | 69 | //render menu 70 | if (menu != noone) menu.Render(); 71 | } 72 | } -------------------------------------------------------------------------------- /RavenUI/options/ios/options_ios.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMiOSOptions":"v1", 3 | "%Name":"iOS", 4 | "name":"iOS", 5 | "option_ios_build_number":0, 6 | "option_ios_bundle_name":"com.company.game", 7 | "option_ios_defer_home_indicator":false, 8 | "option_ios_devices":2, 9 | "option_ios_display_name":"Created with GameMaker", 10 | "option_ios_enable_broadcast":false, 11 | "option_ios_half_ipad1_textures":false, 12 | "option_ios_icon_ipad_app_152":"${base_options_dir}/ios/icons/app/ipad_152.png", 13 | "option_ios_icon_ipad_app_76":"${base_options_dir}/ios/icons/app/ipad_76.png", 14 | "option_ios_icon_ipad_notification_20":"${base_options_dir}/ios/icons/notification/ipad_20.png", 15 | "option_ios_icon_ipad_notification_40":"${base_options_dir}/ios/icons/notification/ipad_40.png", 16 | "option_ios_icon_ipad_pro_app_167":"${base_options_dir}/ios/icons/app/ipad_pro_167.png", 17 | "option_ios_icon_ipad_settings_29":"${base_options_dir}/ios/icons/settings/ipad_29.png", 18 | "option_ios_icon_ipad_settings_58":"${base_options_dir}/ios/icons/settings/ipad_58.png", 19 | "option_ios_icon_ipad_spotlight_40":"${base_options_dir}/ios/icons/spotlight/ipad_40.png", 20 | "option_ios_icon_ipad_spotlight_80":"${base_options_dir}/ios/icons/spotlight/ipad_80.png", 21 | "option_ios_icon_iphone_app_120":"${base_options_dir}/ios/icons/app/iphone_120.png", 22 | "option_ios_icon_iphone_app_180":"${base_options_dir}/ios/icons/app/iphone_180.png", 23 | "option_ios_icon_iphone_notification_40":"${base_options_dir}/ios/icons/notification/iphone_40.png", 24 | "option_ios_icon_iphone_notification_60":"${base_options_dir}/ios/icons/notification/iphone_60.png", 25 | "option_ios_icon_iphone_settings_58":"${base_options_dir}/ios/icons/settings/iphone_58.png", 26 | "option_ios_icon_iphone_settings_87":"${base_options_dir}/ios/icons/settings/iphone_87.png", 27 | "option_ios_icon_iphone_spotlight_120":"${base_options_dir}/ios/icons/spotlight/iphone_120.png", 28 | "option_ios_icon_iphone_spotlight_80":"${base_options_dir}/ios/icons/spotlight/iphone_80.png", 29 | "option_ios_icon_itunes_artwork_1024":"${base_options_dir}/ios/icons/itunes/itunes_1024.png", 30 | "option_ios_interpolate_pixels":false, 31 | "option_ios_launchscreen_fill":0, 32 | "option_ios_launchscreen_image":"${base_options_dir}/ios/splash/launchscreen.png", 33 | "option_ios_launchscreen_image_landscape":"${base_options_dir}/ios/splash/launchscreen-landscape.png", 34 | "option_ios_min_version":"10.0", 35 | "option_ios_orientation_landscape":true, 36 | "option_ios_orientation_landscape_flipped":true, 37 | "option_ios_orientation_portrait":true, 38 | "option_ios_orientation_portrait_flipped":true, 39 | "option_ios_output_dir":"~/gamemakerstudio2", 40 | "option_ios_podfile_lock_path":"${options_dir}/ios/Podfile.lock", 41 | "option_ios_podfile_path":"${options_dir}/ios/Podfile", 42 | "option_ios_scale":0, 43 | "option_ios_splashscreen_background_colour":255, 44 | "option_ios_team_id":"", 45 | "option_ios_texture_page":"2048x2048", 46 | "option_ios_version":"1.0.0.0", 47 | "resourceType":"GMiOSOptions", 48 | "resourceVersion":"2.0", 49 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenItem/RavenItem.gml: -------------------------------------------------------------------------------- 1 | //A Raven Item is a page or a function trigger 2 | ///@Description An item, use false or noone for _on_click if not interactable. 3 | /// @param {String} _text The unique instance ID value of the instance to check. 4 | /// @param {Function} _on_click The object index to be checked against. 5 | /// @param {Real} _margin Not yet implemented! 6 | function RavenItem(_text, _on_click, _margin = 0) constructor { 7 | container_id = undefined; 8 | is_enabled = true; 9 | text = _text; 10 | if (_on_click == noone || !_on_click || !_on_click == undefined) 11 | on_click = _on_click; 12 | else 13 | on_click = method(self, _on_click); //Note that _on_click expects a function! 14 | lock_trigger = false; 15 | clicking = false; 16 | gui_clicking = false; 17 | subitems = ds_list_create(); 18 | outline = false; 19 | margin = _margin; 20 | x0 = 0; 21 | y0 = 0; 22 | x1 = 0; 23 | y1 = 0; 24 | hover = false; 25 | height = 0; 26 | 27 | 28 | function GetContainerId() { 29 | return container_id; 30 | } 31 | 32 | function SetContainerId(_container_id) { 33 | container_id = _container_id; 34 | } 35 | 36 | function SetEnabled(_set) { 37 | is_enabled = _set; 38 | } 39 | 40 | /// @onclick Set the onclick event trigger for the item. 41 | function SetOnClick(_function) { 42 | if (is_enabled) { 43 | on_click = _function; 44 | SetEnabled(true); 45 | } 46 | } 47 | 48 | ///@description Execute the onclick trigger/event 49 | function OnClick() { 50 | if (on_click == noone || !on_click) { 51 | return noone; 52 | } else { 53 | //execute onclick function 54 | on_click(); 55 | } 56 | } 57 | 58 | 59 | /// @description returns the text of the item. 60 | function GetText() { 61 | return text; 62 | } 63 | 64 | function SetText(_text) { 65 | text = _text; 66 | } 67 | 68 | /// @description returns the width of the text in pixels. 69 | function GetWidth() { 70 | if (text != noone) { 71 | return string_width(text); 72 | } 73 | } 74 | 75 | function SetCoords(_x0, _y0, _x1, _y1) { 76 | x0 = _x0; 77 | y0 = _y0; 78 | x1 = _x1; 79 | y1 = _y1; 80 | } 81 | 82 | function GetHeight() { 83 | height = y1 - y0; 84 | return height; 85 | } 86 | 87 | 88 | function Update() { 89 | gui_clicking = false; 90 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), x0, y0, x1, y1)) { 91 | hover = true; 92 | 93 | //use mouse_check_button for gui responsiveness 94 | if (mouse_check_button(mb_left)) { 95 | gui_clicking = true; 96 | } else { 97 | gui_clicking = false; 98 | } 99 | 100 | //mouse check button pressed for click functionality, only triggered once 101 | if (mouse_check_button_pressed(mb_left)) { 102 | clicking = true; 103 | window_set_cursor(cr_handpoint); 104 | OnClick(); 105 | } else { 106 | clicking = false; 107 | } 108 | } else { 109 | hover = false; 110 | } 111 | } 112 | 113 | function Render() { 114 | 115 | } 116 | 117 | 118 | 119 | 120 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node/spr_node.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node/spr_node.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_red/spr_node_red.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_red", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_red", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_red", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_red", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_red/spr_node_red.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_blue/spr_node_blue.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_blue", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_blue", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_blue", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_blue", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_blue/spr_node_blue.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_pink/spr_node_pink.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_pink", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_pink", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_pink", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_pink", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_pink/spr_node_pink.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_yellow/spr_node_yellow.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_yellow", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_yellow", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_yellow", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_yellow", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_yellow/spr_node_yellow.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_sample_image/spr_sample_image.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_sample_image", 4 | "bboxMode":0, 5 | "bbox_bottom":63, 6 | "bbox_left":0, 7 | "bbox_right":63, 8 | "bbox_top":0, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"b547ddc5-2cbe-4942-bf61-a8efa6b67e8a","name":"b547ddc5-2cbe-4942-bf61-a8efa6b67e8a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":64, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"24d19f1f-df24-4bc1-9c7b-b9a8879c03ab","blendMode":0,"displayName":"default","isLocked":false,"name":"24d19f1f-df24-4bc1-9c7b-b9a8879c03ab","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_sample_image", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_sample_image", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_sample_image", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b547ddc5-2cbe-4942-bf61-a8efa6b67e8a","path":"sprites/spr_sample_image/spr_sample_image.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"85666121-7c5d-47d7-a537-7c43d82f3561","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":64, 90 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_white_fill/spr_node_white_fill.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_white_fill", 4 | "bboxMode":0, 5 | "bbox_bottom":13, 6 | "bbox_left":3, 7 | "bbox_right":14, 8 | "bbox_top":2, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":16, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_white_fill", 25 | "nineSlice":null, 26 | "origin":0, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_white_fill", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_white_fill", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_white_fill/spr_node_white_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":0, 79 | "yorigin":0, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":18, 90 | } -------------------------------------------------------------------------------- /RavenUI/rooms/Room3/Room3.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMRoom":"v1", 3 | "%Name":"Room3", 4 | "creationCodeFile":"", 5 | "inheritCode":false, 6 | "inheritCreationOrder":false, 7 | "inheritLayers":false, 8 | "instanceCreationOrder":[], 9 | "isDnd":false, 10 | "layers":[ 11 | {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,}, 12 | {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, 13 | ], 14 | "name":"Room3", 15 | "parent":{ 16 | "name":"Rooms", 17 | "path":"folders/Rooms.yy", 18 | }, 19 | "parentRoom":null, 20 | "physicsSettings":{ 21 | "inheritPhysicsSettings":false, 22 | "PhysicsWorld":false, 23 | "PhysicsWorldGravityX":0.0, 24 | "PhysicsWorldGravityY":10.0, 25 | "PhysicsWorldPixToMetres":0.1, 26 | }, 27 | "resourceType":"GMRoom", 28 | "resourceVersion":"2.0", 29 | "roomSettings":{ 30 | "Height":768, 31 | "inheritRoomSettings":false, 32 | "persistent":false, 33 | "Width":1366, 34 | }, 35 | "sequenceId":null, 36 | "views":[ 37 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 38 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 39 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 40 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 41 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 42 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 43 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 44 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 45 | ], 46 | "viewSettings":{ 47 | "clearDisplayBuffer":true, 48 | "clearViewBackground":false, 49 | "enableViews":false, 50 | "inheritViewSettings":false, 51 | }, 52 | "volume":1.0, 53 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction/spr_node_mask_interaction.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_mask_interaction", 4 | "bboxMode":0, 5 | "bbox_bottom":27, 6 | "bbox_left":4, 7 | "bbox_right":27, 8 | "bbox_top":4, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":32, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_mask_interaction", 25 | "nineSlice":null, 26 | "origin":9, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_mask_interaction", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_mask_interaction", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_mask_interaction/spr_node_mask_interaction.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":4, 79 | "yorigin":4, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":32, 90 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenImageButtonItem/RavenImageButtonItem.gml: -------------------------------------------------------------------------------- 1 | //A Raven Item is a page or a function trigger 2 | ///@Description An item, use false or noone for _on_click if not interactable. 3 | /// @param {Function} on_click The object index to be checked against. 4 | /// @param {Asset.GMSprite} _sprite The sprite 5 | /// @param {Real} _margin The margin applied to the top, buttom, left and right of the item. 6 | /// @param {Real} _image_x_scale The x scaling of the image, where 1 is the original scale. 7 | /// @param {Real} _image_y_scale The y scaling of the image, where 1 is the original scale. 8 | function RavenImageButtonItem(_on_click, _sprite, _margin = 0, _sprite_xscale = 1, _sprite_yscale = 1) constructor { 9 | container_id = undefined; 10 | is_enabled = true; 11 | if (_on_click == noone || !_on_click || !_on_click == undefined) 12 | on_click = _on_click; 13 | else 14 | on_click = method(self, _on_click); //Note that _on_click expects a function! 15 | lock_trigger = false; 16 | clicking = false; 17 | gui_clicking = false; 18 | subitems = ds_list_create(); 19 | outline = false; 20 | margin = _margin; 21 | x0 = 0; 22 | y0 = 0; 23 | x1 = 0; 24 | y1 = 0; 25 | hover = false; 26 | height = 0; 27 | sprite = _sprite 28 | sprite_xscale = _sprite_xscale; 29 | sprite_yscale = _sprite_yscale; 30 | 31 | function GetContainerId() { 32 | return container_id; 33 | } 34 | 35 | function SetContainerId(_container_id) { 36 | container_id = _container_id; 37 | } 38 | 39 | function SetEnabled(_set) { 40 | is_enabled = _set; 41 | } 42 | 43 | /// @onclick Set the onclick event trigger for the item. 44 | function SetOnClick(_function) { 45 | if (is_enabled) { 46 | on_click = _function; 47 | SetEnabled(true); 48 | } 49 | } 50 | 51 | ///@description Execute the onclick trigger/event 52 | function OnClick() { 53 | if (on_click == noone || !on_click) { 54 | return noone; 55 | } else { 56 | //execute onclick function 57 | on_click(); 58 | } 59 | } 60 | 61 | /// @description returns the width of the text in pixels. 62 | function GetWidth() { 63 | return sprite_get_width(sprite)*sprite_xscale; 64 | } 65 | 66 | function SetCoords(_x0, _y0, _x1, _y1) { 67 | x0 = _x0; 68 | y0 = _y0; 69 | x1 = _x1; 70 | y1 = _y1; 71 | } 72 | 73 | function GetHeight() { 74 | return sprite_get_height(sprite)*sprite_yscale; 75 | } 76 | 77 | 78 | function Update() { 79 | gui_clicking = false; 80 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), x0, y0, x0 + sprite_get_width(sprite)*sprite_xscale, y0 + sprite_get_height(sprite)*sprite_yscale)) { 81 | hover = true; 82 | 83 | //use mouse_check_button for gui responsiveness 84 | if (mouse_check_button(mb_left)) { 85 | gui_clicking = true; 86 | } else { 87 | gui_clicking = false; 88 | } 89 | 90 | //mouse check button pressed for click functionality, only triggered once 91 | if (mouse_check_button_pressed(mb_left)) { 92 | clicking = true; 93 | window_set_cursor(cr_handpoint); 94 | OnClick(); 95 | } else { 96 | clicking = false; 97 | } 98 | } else { 99 | hover = false; 100 | } 101 | } 102 | 103 | function Render() { 104 | draw_sprite_ext(sprite,0,x0,y0,sprite_xscale,sprite_yscale,0,c_white,1); 105 | 106 | if (hover) { 107 | draw_sprite_ext(sprite,0,x0,y0,sprite_xscale,sprite_yscale,0,global.gui_menu_hover,0.3); 108 | } 109 | 110 | if (gui_clicking) { 111 | draw_sprite_ext(sprite,0,x0,y0,sprite_xscale,sprite_yscale,0,global.gui_menu_click,0.6); 112 | } 113 | } 114 | 115 | 116 | 117 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_mask_interaction_upscaled/spr_node_mask_interaction_upscaled.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_mask_interaction_upscaled", 4 | "bboxMode":0, 5 | "bbox_bottom":41, 6 | "bbox_left":6, 7 | "bbox_right":41, 8 | "bbox_top":6, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | ], 17 | "gridX":0, 18 | "gridY":0, 19 | "height":48, 20 | "HTile":false, 21 | "layers":[ 22 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 23 | ], 24 | "name":"spr_node_mask_interaction_upscaled", 25 | "nineSlice":null, 26 | "origin":9, 27 | "parent":{ 28 | "name":"sprites", 29 | "path":"folders/RavenGUI/sprites.yy", 30 | }, 31 | "preMultiplyAlpha":false, 32 | "resourceType":"GMSprite", 33 | "resourceVersion":"2.0", 34 | "sequence":{ 35 | "$GMSequence":"", 36 | "%Name":"spr_node_mask_interaction_upscaled", 37 | "autoRecord":true, 38 | "backdropHeight":768, 39 | "backdropImageOpacity":0.5, 40 | "backdropImagePath":"", 41 | "backdropWidth":1366, 42 | "backdropXOffset":0.0, 43 | "backdropYOffset":0.0, 44 | "events":{ 45 | "$KeyframeStore":"", 46 | "Keyframes":[], 47 | "resourceType":"KeyframeStore", 48 | "resourceVersion":"2.0", 49 | }, 50 | "eventStubScript":null, 51 | "eventToFunction":{}, 52 | "length":1.0, 53 | "lockOrigin":false, 54 | "moments":{ 55 | "$KeyframeStore":"", 56 | "Keyframes":[], 57 | "resourceType":"KeyframeStore", 58 | "resourceVersion":"2.0", 59 | }, 60 | "name":"spr_node_mask_interaction_upscaled", 61 | "playback":1, 62 | "playbackSpeed":30.0, 63 | "playbackSpeedType":0, 64 | "resourceType":"GMSequence", 65 | "resourceVersion":"2.0", 66 | "showBackdrop":true, 67 | "showBackdropImage":false, 68 | "timeUnits":1, 69 | "tracks":[ 70 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 71 | {"$Keyframe":"","Channels":{ 72 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_mask_interaction_upscaled/spr_node_mask_interaction_upscaled.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 73 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 74 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 75 | ], 76 | "visibleRange":null, 77 | "volume":1.0, 78 | "xorigin":6, 79 | "yorigin":6, 80 | }, 81 | "swatchColours":null, 82 | "swfPrecision":2.525, 83 | "textureGroupId":{ 84 | "name":"Default", 85 | "path":"texturegroups/Default", 86 | }, 87 | "type":0, 88 | "VTile":false, 89 | "width":48, 90 | } -------------------------------------------------------------------------------- /RavenUI/objects/obj_raven_init/Step_0.gml: -------------------------------------------------------------------------------- 1 | raven_gui.Update(); 2 | 3 | if (global.current_size_x != window_get_width() || global.current_size_y != window_get_height()) { 4 | global.current_size_x = window_get_width(); 5 | global.current_size_y = window_get_height(); 6 | global.current_scale_x = global.current_size_x / global.resolution_base_x; 7 | global.current_scale_y = global.current_size_y / global.resolution_base_y; 8 | global.current_scale_x = 1; 9 | global.current_scale_y = 1; 10 | 11 | // Update the scale factor for UI elements or perform any necessary actions 12 | show_debug_message(global.current_size_x); 13 | show_debug_message(global.current_size_y); 14 | show_debug_message(global.current_scale_x); 15 | show_debug_message(global.current_scale_y); 16 | 17 | 18 | } 19 | 20 | 21 | //global.resolution_base_x and global.resolution_base_y 22 | //constitute the scale factor the app was designed for 23 | //that scale should be 1 for width and height 24 | //todo: remove THEME manager from step event and only update when called. 25 | 26 | //Theme Manager 27 | //generics 28 | global.gui_status_success = $25de23 29 | global.gui_status_warning = $2362de; 30 | global.gui_status_error = $2323de; 31 | global.gui_status_disabled = $242425; 32 | switch(THEME) { 33 | case THEME.RAVEN: 34 | global.gui_background = $2a2a2e; 35 | global.gui_menu = $1b1b1b; 36 | global.gui_text_default = $f0c5d3; 37 | global.gui_text_primary = $dbc4cc; 38 | global.gui_button_border = $382d31; 39 | global.gui_menu_click = $45373c; 40 | global.gui_menu_hover = $34292d; 41 | global.gui_outline = $1b1b1b; 42 | global.gui_checkmark_color = c_lime; 43 | 44 | //overrides generic 45 | global.gui_status_success = $3db360; 46 | break; 47 | case THEME.DARK: 48 | global.gui_background = $2a2a2e; 49 | global.gui_menu = $1b1b1b; 50 | global.gui_text_default = $c6c6d0; 51 | global.gui_text_primary = $bfbfd9; 52 | global.gui_button_border = $39393a; 53 | global.gui_menu_click = $373838; 54 | global.gui_menu_hover = global.gui_menu_click; 55 | global.gui_outline = $1b1b1b; 56 | global.gui_checkmark_color = c_lime; 57 | break; 58 | case THEME.LIGHT: 59 | //global.gui_background = $e3e3e3; 60 | //global.gui_background = $dddbdc; 61 | global.gui_background = $cbcbcb; 62 | //global.gui_menu = $dddbdc; 63 | global.gui_menu = $cbcbcb; 64 | global.gui_text_default = $303030; 65 | global.gui_text_primary = $1f1f1f; 66 | global.gui_button_border = $272727; 67 | global.gui_menu_click = $cacaca; 68 | global.gui_menu_hover = global.gui_menu_click; 69 | global.gui_outline = $171718; 70 | global.gui_checkmark_color = c_lime; 71 | break; 72 | case THEME.DARKMIN: 73 | //not implemented 74 | global.gui_background = GUI_DARK_BACKGROUND; 75 | global.gui_menu = GUI_DARK_MENU; 76 | global.gui_text_default = GUI_DARK_TEXT_DEFAULT; 77 | global.gui_text_primary = GUI_DARK_TEXT_PRIMARY; 78 | global.gui_button_border = GUI_DARK_BUTTON_BORDER; 79 | global.gui_menu_click = GUI_DARK_MENU_CLICK; 80 | global.gui_menu_hover = global.gui_menu_click; 81 | global.gui_checkmark_color = c_lime; 82 | break; 83 | case THEME.APPLE: 84 | global.gui_background = $9494d2; 85 | global.gui_menu = $4c4cc8; 86 | global.gui_text_default = $292954; 87 | global.gui_text_primary = $292954; 88 | global.gui_button_border = $645dc1; 89 | global.gui_menu_click = $5e57bf; 90 | global.gui_menu_hover = global.gui_menu_click; 91 | global.gui_outline = $5f57c8; 92 | global.gui_checkmark_color = c_lime; 93 | break; 94 | case THEME.COFFEE: 95 | global.gui_background = $638aa7; 96 | global.gui_menu = $2a485f; 97 | global.gui_text_default = $75aad2; 98 | global.gui_text_primary = $97cbf2; 99 | global.gui_button_border = $7490a5; 100 | global.gui_menu_click = $7eb8e3; 101 | global.gui_menu_hover = global.gui_menu_click; 102 | global.gui_outline = $2a485f; 103 | global.gui_checkmark_color = c_lime; 104 | break; 105 | } 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /RavenUI/sprites/spr_lock/spr_lock.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_lock", 4 | "bboxMode":0, 5 | "bbox_bottom":14, 6 | "bbox_left":9, 7 | "bbox_right":28, 8 | "bbox_top":1, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | {"$GMSpriteFrame":"","%Name":"888d97b7-10c9-4564-a612-d27fb02e639a","name":"888d97b7-10c9-4564-a612-d27fb02e639a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 17 | ], 18 | "gridX":0, 19 | "gridY":0, 20 | "height":16, 21 | "HTile":false, 22 | "layers":[ 23 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 24 | ], 25 | "name":"spr_lock", 26 | "nineSlice":null, 27 | "origin":4, 28 | "parent":{ 29 | "name":"sprites", 30 | "path":"folders/RavenGUI/sprites.yy", 31 | }, 32 | "preMultiplyAlpha":false, 33 | "resourceType":"GMSprite", 34 | "resourceVersion":"2.0", 35 | "sequence":{ 36 | "$GMSequence":"", 37 | "%Name":"spr_lock", 38 | "autoRecord":true, 39 | "backdropHeight":768, 40 | "backdropImageOpacity":0.5, 41 | "backdropImagePath":"", 42 | "backdropWidth":1366, 43 | "backdropXOffset":0.0, 44 | "backdropYOffset":0.0, 45 | "events":{ 46 | "$KeyframeStore":"", 47 | "Keyframes":[], 48 | "resourceType":"KeyframeStore", 49 | "resourceVersion":"2.0", 50 | }, 51 | "eventStubScript":null, 52 | "eventToFunction":{}, 53 | "length":2.0, 54 | "lockOrigin":false, 55 | "moments":{ 56 | "$KeyframeStore":"", 57 | "Keyframes":[], 58 | "resourceType":"KeyframeStore", 59 | "resourceVersion":"2.0", 60 | }, 61 | "name":"spr_lock", 62 | "playback":1, 63 | "playbackSpeed":30.0, 64 | "playbackSpeedType":0, 65 | "resourceType":"GMSequence", 66 | "resourceVersion":"2.0", 67 | "showBackdrop":true, 68 | "showBackdropImage":false, 69 | "timeUnits":1, 70 | "tracks":[ 71 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 72 | {"$Keyframe":"","Channels":{ 73 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_lock/spr_lock.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 74 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 75 | {"$Keyframe":"","Channels":{ 76 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"888d97b7-10c9-4564-a612-d27fb02e639a","path":"sprites/spr_lock/spr_lock.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 77 | },"Disabled":false,"id":"dca7ca03-09e1-49cc-9973-e85d60185cec","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 78 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 79 | ], 80 | "visibleRange":null, 81 | "volume":1.0, 82 | "xorigin":16, 83 | "yorigin":8, 84 | }, 85 | "swatchColours":null, 86 | "swfPrecision":2.525, 87 | "textureGroupId":{ 88 | "name":"Default", 89 | "path":"texturegroups/Default", 90 | }, 91 | "type":0, 92 | "VTile":false, 93 | "width":32, 94 | } -------------------------------------------------------------------------------- /RavenUI/rooms/Room1/Room1.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMRoom":"v1", 3 | "%Name":"Room1", 4 | "creationCodeFile":"", 5 | "inheritCode":false, 6 | "inheritCreationOrder":false, 7 | "inheritLayers":false, 8 | "instanceCreationOrder":[ 9 | {"name":"inst_4617FBB","path":"rooms/Room1/Room1.yy",}, 10 | ], 11 | "isDnd":false, 12 | "layers":[ 13 | {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[ 14 | {"$GMRInstance":"v1","%Name":"inst_4617FBB","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4617FBB","objectId":{"name":"obj_raven_init","path":"objects/obj_raven_init/obj_raven_init.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":608.0,"y":352.0,}, 15 | ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,}, 16 | {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,}, 17 | ], 18 | "name":"Room1", 19 | "parent":{ 20 | "name":"RavenGUI", 21 | "path":"folders/RavenGUI.yy", 22 | }, 23 | "parentRoom":null, 24 | "physicsSettings":{ 25 | "inheritPhysicsSettings":false, 26 | "PhysicsWorld":false, 27 | "PhysicsWorldGravityX":0.0, 28 | "PhysicsWorldGravityY":10.0, 29 | "PhysicsWorldPixToMetres":0.1, 30 | }, 31 | "resourceType":"GMRoom", 32 | "resourceVersion":"2.0", 33 | "roomSettings":{ 34 | "Height":2160, 35 | "inheritRoomSettings":false, 36 | "persistent":false, 37 | "Width":3840, 38 | }, 39 | "sequenceId":null, 40 | "views":[ 41 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 42 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 43 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 44 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 45 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 46 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 47 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 48 | {"hborder":32,"hport":768,"hspeed":-1,"hview":768,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1366,"wview":1366,"xport":0,"xview":0,"yport":0,"yview":0,}, 49 | ], 50 | "viewSettings":{ 51 | "clearDisplayBuffer":true, 52 | "clearViewBackground":false, 53 | "enableViews":false, 54 | "inheritViewSettings":false, 55 | }, 56 | "volume":1.0, 57 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_fill/spr_node_dark_fill.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_dark_fill", 4 | "bboxMode":0, 5 | "bbox_bottom":14, 6 | "bbox_left":9, 7 | "bbox_right":28, 8 | "bbox_top":1, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | {"$GMSpriteFrame":"","%Name":"888d97b7-10c9-4564-a612-d27fb02e639a","name":"888d97b7-10c9-4564-a612-d27fb02e639a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 17 | ], 18 | "gridX":0, 19 | "gridY":0, 20 | "height":16, 21 | "HTile":false, 22 | "layers":[ 23 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 24 | ], 25 | "name":"spr_node_dark_fill", 26 | "nineSlice":null, 27 | "origin":4, 28 | "parent":{ 29 | "name":"sprites", 30 | "path":"folders/RavenGUI/sprites.yy", 31 | }, 32 | "preMultiplyAlpha":false, 33 | "resourceType":"GMSprite", 34 | "resourceVersion":"2.0", 35 | "sequence":{ 36 | "$GMSequence":"", 37 | "%Name":"spr_node_dark_fill", 38 | "autoRecord":true, 39 | "backdropHeight":768, 40 | "backdropImageOpacity":0.5, 41 | "backdropImagePath":"", 42 | "backdropWidth":1366, 43 | "backdropXOffset":0.0, 44 | "backdropYOffset":0.0, 45 | "events":{ 46 | "$KeyframeStore":"", 47 | "Keyframes":[], 48 | "resourceType":"KeyframeStore", 49 | "resourceVersion":"2.0", 50 | }, 51 | "eventStubScript":null, 52 | "eventToFunction":{}, 53 | "length":2.0, 54 | "lockOrigin":false, 55 | "moments":{ 56 | "$KeyframeStore":"", 57 | "Keyframes":[], 58 | "resourceType":"KeyframeStore", 59 | "resourceVersion":"2.0", 60 | }, 61 | "name":"spr_node_dark_fill", 62 | "playback":1, 63 | "playbackSpeed":30.0, 64 | "playbackSpeedType":0, 65 | "resourceType":"GMSequence", 66 | "resourceVersion":"2.0", 67 | "showBackdrop":true, 68 | "showBackdropImage":false, 69 | "timeUnits":1, 70 | "tracks":[ 71 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 72 | {"$Keyframe":"","Channels":{ 73 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_dark_fill/spr_node_dark_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 74 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 75 | {"$Keyframe":"","Channels":{ 76 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"888d97b7-10c9-4564-a612-d27fb02e639a","path":"sprites/spr_node_dark_fill/spr_node_dark_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 77 | },"Disabled":false,"id":"dca7ca03-09e1-49cc-9973-e85d60185cec","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 78 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 79 | ], 80 | "visibleRange":null, 81 | "volume":1.0, 82 | "xorigin":16, 83 | "yorigin":8, 84 | }, 85 | "swatchColours":null, 86 | "swfPrecision":2.525, 87 | "textureGroupId":{ 88 | "name":"Default", 89 | "path":"texturegroups/Default", 90 | }, 91 | "type":0, 92 | "VTile":false, 93 | "width":32, 94 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_black_fill/spr_node_black_fill.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_black_fill", 4 | "bboxMode":0, 5 | "bbox_bottom":14, 6 | "bbox_left":9, 7 | "bbox_right":28, 8 | "bbox_top":1, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | {"$GMSpriteFrame":"","%Name":"888d97b7-10c9-4564-a612-d27fb02e639a","name":"888d97b7-10c9-4564-a612-d27fb02e639a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 17 | ], 18 | "gridX":0, 19 | "gridY":0, 20 | "height":16, 21 | "HTile":false, 22 | "layers":[ 23 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 24 | ], 25 | "name":"spr_node_black_fill", 26 | "nineSlice":null, 27 | "origin":4, 28 | "parent":{ 29 | "name":"sprites", 30 | "path":"folders/RavenGUI/sprites.yy", 31 | }, 32 | "preMultiplyAlpha":false, 33 | "resourceType":"GMSprite", 34 | "resourceVersion":"2.0", 35 | "sequence":{ 36 | "$GMSequence":"", 37 | "%Name":"spr_node_black_fill", 38 | "autoRecord":true, 39 | "backdropHeight":768, 40 | "backdropImageOpacity":0.5, 41 | "backdropImagePath":"", 42 | "backdropWidth":1366, 43 | "backdropXOffset":0.0, 44 | "backdropYOffset":0.0, 45 | "events":{ 46 | "$KeyframeStore":"", 47 | "Keyframes":[], 48 | "resourceType":"KeyframeStore", 49 | "resourceVersion":"2.0", 50 | }, 51 | "eventStubScript":null, 52 | "eventToFunction":{}, 53 | "length":2.0, 54 | "lockOrigin":false, 55 | "moments":{ 56 | "$KeyframeStore":"", 57 | "Keyframes":[], 58 | "resourceType":"KeyframeStore", 59 | "resourceVersion":"2.0", 60 | }, 61 | "name":"spr_node_black_fill", 62 | "playback":1, 63 | "playbackSpeed":30.0, 64 | "playbackSpeedType":0, 65 | "resourceType":"GMSequence", 66 | "resourceVersion":"2.0", 67 | "showBackdrop":true, 68 | "showBackdropImage":false, 69 | "timeUnits":1, 70 | "tracks":[ 71 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 72 | {"$Keyframe":"","Channels":{ 73 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_black_fill/spr_node_black_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 74 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 75 | {"$Keyframe":"","Channels":{ 76 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"888d97b7-10c9-4564-a612-d27fb02e639a","path":"sprites/spr_node_black_fill/spr_node_black_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 77 | },"Disabled":false,"id":"dca7ca03-09e1-49cc-9973-e85d60185cec","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 78 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 79 | ], 80 | "visibleRange":null, 81 | "volume":1.0, 82 | "xorigin":16, 83 | "yorigin":8, 84 | }, 85 | "swatchColours":null, 86 | "swfPrecision":2.525, 87 | "textureGroupId":{ 88 | "name":"Default", 89 | "path":"texturegroups/Default", 90 | }, 91 | "type":0, 92 | "VTile":false, 93 | "width":32, 94 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_inner_dark/spr_node_inner_dark.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_inner_dark", 4 | "bboxMode":0, 5 | "bbox_bottom":14, 6 | "bbox_left":9, 7 | "bbox_right":28, 8 | "bbox_top":1, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | {"$GMSpriteFrame":"","%Name":"888d97b7-10c9-4564-a612-d27fb02e639a","name":"888d97b7-10c9-4564-a612-d27fb02e639a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 17 | ], 18 | "gridX":0, 19 | "gridY":0, 20 | "height":16, 21 | "HTile":false, 22 | "layers":[ 23 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 24 | ], 25 | "name":"spr_node_inner_dark", 26 | "nineSlice":null, 27 | "origin":4, 28 | "parent":{ 29 | "name":"sprites", 30 | "path":"folders/RavenGUI/sprites.yy", 31 | }, 32 | "preMultiplyAlpha":false, 33 | "resourceType":"GMSprite", 34 | "resourceVersion":"2.0", 35 | "sequence":{ 36 | "$GMSequence":"", 37 | "%Name":"spr_node_inner_dark", 38 | "autoRecord":true, 39 | "backdropHeight":768, 40 | "backdropImageOpacity":0.5, 41 | "backdropImagePath":"", 42 | "backdropWidth":1366, 43 | "backdropXOffset":0.0, 44 | "backdropYOffset":0.0, 45 | "events":{ 46 | "$KeyframeStore":"", 47 | "Keyframes":[], 48 | "resourceType":"KeyframeStore", 49 | "resourceVersion":"2.0", 50 | }, 51 | "eventStubScript":null, 52 | "eventToFunction":{}, 53 | "length":2.0, 54 | "lockOrigin":false, 55 | "moments":{ 56 | "$KeyframeStore":"", 57 | "Keyframes":[], 58 | "resourceType":"KeyframeStore", 59 | "resourceVersion":"2.0", 60 | }, 61 | "name":"spr_node_inner_dark", 62 | "playback":1, 63 | "playbackSpeed":30.0, 64 | "playbackSpeedType":0, 65 | "resourceType":"GMSequence", 66 | "resourceVersion":"2.0", 67 | "showBackdrop":true, 68 | "showBackdropImage":false, 69 | "timeUnits":1, 70 | "tracks":[ 71 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 72 | {"$Keyframe":"","Channels":{ 73 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_inner_dark/spr_node_inner_dark.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 74 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 75 | {"$Keyframe":"","Channels":{ 76 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"888d97b7-10c9-4564-a612-d27fb02e639a","path":"sprites/spr_node_inner_dark/spr_node_inner_dark.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 77 | },"Disabled":false,"id":"dca7ca03-09e1-49cc-9973-e85d60185cec","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 78 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 79 | ], 80 | "visibleRange":null, 81 | "volume":1.0, 82 | "xorigin":16, 83 | "yorigin":8, 84 | }, 85 | "swatchColours":null, 86 | "swfPrecision":2.525, 87 | "textureGroupId":{ 88 | "name":"Default", 89 | "path":"texturegroups/Default", 90 | }, 91 | "type":0, 92 | "VTile":false, 93 | "width":32, 94 | } -------------------------------------------------------------------------------- /RavenUI/sprites/spr_node_dark_transparent/spr_node_dark_transparent.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMSprite":"", 3 | "%Name":"spr_node_dark_transparent", 4 | "bboxMode":0, 5 | "bbox_bottom":14, 6 | "bbox_left":9, 7 | "bbox_right":28, 8 | "bbox_top":1, 9 | "collisionKind":1, 10 | "collisionTolerance":0, 11 | "DynamicTexturePage":false, 12 | "edgeFiltering":false, 13 | "For3D":false, 14 | "frames":[ 15 | {"$GMSpriteFrame":"","%Name":"04f12b73-614b-430b-b570-5137ce4584f7","name":"04f12b73-614b-430b-b570-5137ce4584f7","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 16 | {"$GMSpriteFrame":"","%Name":"888d97b7-10c9-4564-a612-d27fb02e639a","name":"888d97b7-10c9-4564-a612-d27fb02e639a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, 17 | ], 18 | "gridX":0, 19 | "gridY":0, 20 | "height":16, 21 | "HTile":false, 22 | "layers":[ 23 | {"$GMImageLayer":"","%Name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","blendMode":0,"displayName":"default","isLocked":false,"name":"dae81c29-8e0e-43df-83db-0181f7aa0bea","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, 24 | ], 25 | "name":"spr_node_dark_transparent", 26 | "nineSlice":null, 27 | "origin":4, 28 | "parent":{ 29 | "name":"sprites", 30 | "path":"folders/RavenGUI/sprites.yy", 31 | }, 32 | "preMultiplyAlpha":false, 33 | "resourceType":"GMSprite", 34 | "resourceVersion":"2.0", 35 | "sequence":{ 36 | "$GMSequence":"", 37 | "%Name":"spr_node_dark_transparent", 38 | "autoRecord":true, 39 | "backdropHeight":768, 40 | "backdropImageOpacity":0.5, 41 | "backdropImagePath":"", 42 | "backdropWidth":1366, 43 | "backdropXOffset":0.0, 44 | "backdropYOffset":0.0, 45 | "events":{ 46 | "$KeyframeStore":"", 47 | "Keyframes":[], 48 | "resourceType":"KeyframeStore", 49 | "resourceVersion":"2.0", 50 | }, 51 | "eventStubScript":null, 52 | "eventToFunction":{}, 53 | "length":2.0, 54 | "lockOrigin":false, 55 | "moments":{ 56 | "$KeyframeStore":"", 57 | "Keyframes":[], 58 | "resourceType":"KeyframeStore", 59 | "resourceVersion":"2.0", 60 | }, 61 | "name":"spr_node_dark_transparent", 62 | "playback":1, 63 | "playbackSpeed":30.0, 64 | "playbackSpeedType":0, 65 | "resourceType":"GMSequence", 66 | "resourceVersion":"2.0", 67 | "showBackdrop":true, 68 | "showBackdropImage":false, 69 | "timeUnits":1, 70 | "tracks":[ 71 | {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ 72 | {"$Keyframe":"","Channels":{ 73 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"04f12b73-614b-430b-b570-5137ce4584f7","path":"sprites/spr_node_dark_transparent/spr_node_dark_transparent.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 74 | },"Disabled":false,"id":"43894d24-2b13-41b8-b2f6-0c3a777fa1c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 75 | {"$Keyframe":"","Channels":{ 76 | "0":{"$SpriteFrameKeyframe":"","Id":{"name":"888d97b7-10c9-4564-a612-d27fb02e639a","path":"sprites/spr_node_dark_transparent/spr_node_dark_transparent.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, 77 | },"Disabled":false,"id":"dca7ca03-09e1-49cc-9973-e85d60185cec","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, 78 | ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, 79 | ], 80 | "visibleRange":null, 81 | "volume":1.0, 82 | "xorigin":16, 83 | "yorigin":8, 84 | }, 85 | "swatchColours":null, 86 | "swfPrecision":2.525, 87 | "textureGroupId":{ 88 | "name":"Default", 89 | "path":"texturegroups/Default", 90 | }, 91 | "type":0, 92 | "VTile":false, 93 | "width":32, 94 | } -------------------------------------------------------------------------------- /RavenUI/scripts/StringWordWrap/StringWordWrap.gml: -------------------------------------------------------------------------------- 1 | /// string_word_wrap(text, max_width) 2 | // Wraps a given text string to fit within a maximum width 3 | // Returns an array containing the wrapped lines 4 | function string_word_wrap(_text, _max_width) { 5 | var _lines = []; // Array to store wrapped lines 6 | var _current_line = ""; // Current line being built 7 | var _words = string_tokenize(_text); // Tokenize the text into individual words 8 | 9 | // Iterate through each word in the text 10 | for (var _i = 0; _i < array_length_1d(_words); _i++) { 11 | var _word = _words[_i]; 12 | var _word_width = string_width(_word); 13 | 14 | // Check if adding the word exceeds the maximum width 15 | if (string_width(_current_line + " " + _word) <= _max_width || string_length(_current_line) == 0) { 16 | // If adding the word does not exceed the maximum width, add it to the current line 17 | if (string_length(_current_line) == 0) { 18 | _current_line = _word; // If the current line is empty, add the word directly 19 | } else { 20 | _current_line += " " + _word; // Otherwise, add a space before adding the word 21 | } 22 | } else { 23 | // If adding the word exceeds the maximum width, push the current line to the lines array 24 | array_push(_lines, _current_line); 25 | _current_line = _word; // Start a new line with the current word 26 | } 27 | } 28 | 29 | // Push the remaining line (if any) to the lines array 30 | if (string_length(_current_line) > 0) { 31 | array_push(_lines, _current_line); 32 | } 33 | 34 | return _lines; // Return the array of wrapped lines 35 | } 36 | 37 | /// string_tokenize(text) 38 | // Tokenizes a given text string into individual words 39 | // Returns an array containing the words 40 | 41 | function string_tokenize(_text) { 42 | var _words = []; // Array to store individual words 43 | var _current_word = ""; // Current word being built 44 | 45 | // Iterate through each character in the text 46 | for (var _i = 1; _i <= string_length(_text); _i++) { 47 | var _char = string_char_at(_text, _i); 48 | 49 | // Check if the character is a space or newline 50 | if (_char == " " || _char == "\n") { 51 | // If the current word is not empty, push it to the words array 52 | if (string_length(_current_word) > 0) { 53 | array_push(_words, _current_word); 54 | _current_word = ""; // Reset the current word 55 | } 56 | } else { 57 | // If the character is not a space or newline, add it to the current word 58 | _current_word += _char; 59 | } 60 | } 61 | 62 | // Push the last word (if any) to the words array 63 | if (string_length(_current_word) > 0) { 64 | array_push(_words, _current_word); 65 | } 66 | 67 | return _words; // Return the array of words 68 | } 69 | 70 | 71 | /// string_wrap(text, max_width) 72 | // Wraps a given text string to fit within a maximum width 73 | // Returns an array containing the wrapped lines 74 | 75 | function string_wrap(_text, _max_width) { 76 | var _lines = []; // Array to store wrapped lines 77 | var _current_line = ""; // Current line being built 78 | 79 | // Iterate through each character in the text 80 | for (var _i = 1; _i <= string_length(_text); _i++) { 81 | var _char = string_char_at(_text, _i); 82 | 83 | // Check if adding the character exceeds the maximum width 84 | if (string_width(_current_line + _char) <= _max_width || string_length(_current_line) == 0) { 85 | // If adding the character does not exceed the maximum width, add it to the current line 86 | _current_line += _char; 87 | } else { 88 | // If adding the character exceeds the maximum width, push the current line to the lines array 89 | array_push(_lines, _current_line); 90 | _current_line = _char; // Start a new line with the current character 91 | } 92 | } 93 | 94 | // Push the remaining line (if any) to the lines array 95 | if (string_length(_current_line) > 0) { 96 | array_push(_lines, _current_line); 97 | } 98 | 99 | return _lines; // Return the array of wrapped lines 100 | } -------------------------------------------------------------------------------- /RavenUI/options/android/options_android.yy: -------------------------------------------------------------------------------- 1 | { 2 | "$GMAndroidOptions":"", 3 | "%Name":"Android", 4 | "name":"Android", 5 | "option_android_application_tag_inject":"", 6 | "option_android_arch_arm64":true, 7 | "option_android_arch_armv7":false, 8 | "option_android_arch_x86_64":false, 9 | "option_android_attribute_allow_backup":false, 10 | "option_android_build_tools":"", 11 | "option_android_compile_sdk":"", 12 | "option_android_device_support":0, 13 | "option_android_display_name":"Created with GameMaker", 14 | "option_android_facebook_app_display_name":"", 15 | "option_android_facebook_id":"", 16 | "option_android_gamepad_support":true, 17 | "option_android_google_apk_expansion":false, 18 | "option_android_google_cloud_saving":false, 19 | "option_android_google_dynamic_asset_delivery":false, 20 | "option_android_google_licensing_public_key":"", 21 | "option_android_google_services_app_id":"", 22 | "option_android_icon_adaptivebg_hdpi":"${base_options_dir}/android/icons_adaptivebg/hdpi.png", 23 | "option_android_icon_adaptivebg_ldpi":"${base_options_dir}/android/icons_adaptivebg/ldpi.png", 24 | "option_android_icon_adaptivebg_mdpi":"${base_options_dir}/android/icons_adaptivebg/mdpi.png", 25 | "option_android_icon_adaptivebg_xhdpi":"${base_options_dir}/android/icons_adaptivebg/xhdpi.png", 26 | "option_android_icon_adaptivebg_xxhdpi":"${base_options_dir}/android/icons_adaptivebg/xxhdpi.png", 27 | "option_android_icon_adaptivebg_xxxhdpi":"${base_options_dir}/android/icons_adaptivebg/xxxhdpi.png", 28 | "option_android_icon_adaptive_generate":false, 29 | "option_android_icon_adaptive_hdpi":"${base_options_dir}/android/icons_adaptive/hdpi.png", 30 | "option_android_icon_adaptive_ldpi":"${base_options_dir}/android/icons_adaptive/ldpi.png", 31 | "option_android_icon_adaptive_mdpi":"${base_options_dir}/android/icons_adaptive/mdpi.png", 32 | "option_android_icon_adaptive_xhdpi":"${base_options_dir}/android/icons_adaptive/xhdpi.png", 33 | "option_android_icon_adaptive_xxhdpi":"${base_options_dir}/android/icons_adaptive/xxhdpi.png", 34 | "option_android_icon_adaptive_xxxhdpi":"${base_options_dir}/android/icons_adaptive/xxxhdpi.png", 35 | "option_android_icon_hdpi":"${base_options_dir}/android/icons/hdpi.png", 36 | "option_android_icon_ldpi":"${base_options_dir}/android/icons/ldpi.png", 37 | "option_android_icon_mdpi":"${base_options_dir}/android/icons/mdpi.png", 38 | "option_android_icon_xhdpi":"${base_options_dir}/android/icons/xhdpi.png", 39 | "option_android_icon_xxhdpi":"${base_options_dir}/android/icons/xxhdpi.png", 40 | "option_android_icon_xxxhdpi":"${base_options_dir}/android/icons/xxxhdpi.png", 41 | "option_android_install_location":0, 42 | "option_android_interpolate_pixels":false, 43 | "option_android_launchscreen_fill":0, 44 | "option_android_lint":false, 45 | "option_android_logcat":"yoyo:V DEBUG:V AndroidRuntime:V", 46 | "option_android_minimum_sdk":"", 47 | "option_android_orient_landscape":true, 48 | "option_android_orient_landscape_flipped":true, 49 | "option_android_orient_portrait":true, 50 | "option_android_orient_portrait_flipped":true, 51 | "option_android_package_company":"company", 52 | "option_android_package_domain":"com", 53 | "option_android_package_product":"game", 54 | "option_android_permission_bluetooth":true, 55 | "option_android_permission_internet":true, 56 | "option_android_permission_network_state":false, 57 | "option_android_permission_read_phone_state":false, 58 | "option_android_permission_record_audio":false, 59 | "option_android_permission_write_external_storage":false, 60 | "option_android_proguard_minifying":false, 61 | "option_android_proguard_shrinking":false, 62 | "option_android_scale":0, 63 | "option_android_screen_depth":0, 64 | "option_android_sleep_margin":4, 65 | "option_android_splashscreen_background_colour":255, 66 | "option_android_splash_screens_landscape":"${base_options_dir}/android/splash/landscape.png", 67 | "option_android_splash_screens_portrait":"${base_options_dir}/android/splash/portrait.png", 68 | "option_android_splash_time":0, 69 | "option_android_support_lib":"", 70 | "option_android_sync_amazon":false, 71 | "option_android_target_sdk":"", 72 | "option_android_texture_page":"2048x2048", 73 | "option_android_tools_from_version":false, 74 | "option_android_tv_banner":"${base_options_dir}/android/tv_banner.png", 75 | "option_android_tv_isgame":true, 76 | "option_android_tv_supports_leanback":true, 77 | "option_android_use_facebook":false, 78 | "option_android_version":"1.0.0.0", 79 | "resourceType":"GMAndroidOptions", 80 | "resourceVersion":"2.0", 81 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenButtonItem/RavenButtonItem.gml: -------------------------------------------------------------------------------- 1 | /// @function RavenButtonItem(_text, _on_click, _margin, _padding, _border_radius, _draw_outline) 2 | /// @description Creates a clickable area with text in it. 3 | /// @param {String} text The text to display in the button. 4 | /// @param {Function} on_click The function to execute when the button is clicked. 5 | /// @param {Real} _margin The margin around the button. 6 | /// @param {Real} _padding The padding of the button. 7 | /// @param {Real} _border_radius The border radius of the button. 8 | /// @param {Bool} _draw_outline whether or not to draw an outline. 9 | function RavenButtonItem(_text, _on_click, _margin = 0, _padding = 2, _border_radius = 0, _draw_outline = false) constructor { 10 | container_id = undefined; 11 | is_enabled = true; 12 | text = _text; 13 | if (_on_click == noone || !_on_click || _on_click == undefined) 14 | on_click = _on_click; 15 | else 16 | on_click = method(self, _on_click); //Note that _on_click expects a function! 17 | lock_trigger = false; 18 | clicking = false; 19 | gui_clicking = false; 20 | subitems = ds_list_create(); 21 | outline = false; 22 | margin = _margin; 23 | x0 = 0; 24 | y0 = 0; 25 | x1 = 0; 26 | y1 = 0; 27 | hover = false; 28 | height = 0; 29 | draw_outline = _draw_outline; 30 | padding = _padding; 31 | border_radius = _border_radius; 32 | 33 | function GetContainerId() { 34 | return container_id; 35 | } 36 | 37 | function SetContainerId(_container_id) { 38 | container_id = _container_id; 39 | } 40 | 41 | function SetEnabled(_set) { 42 | is_enabled = _set; 43 | } 44 | 45 | /// @onclick Set the onclick event trigger for the item. 46 | function SetOnClick(_function) { 47 | if (is_enabled) { 48 | on_click = _function; 49 | SetEnabled(true); 50 | } 51 | } 52 | 53 | ///@description Execute the onclick trigger/event 54 | function OnClick() { 55 | if (on_click == noone || !on_click) { 56 | return noone; 57 | } else { 58 | //execute onclick function 59 | on_click(); 60 | } 61 | } 62 | 63 | 64 | /// @description returns the text of the item. 65 | function GetText() { 66 | return text; 67 | } 68 | 69 | function SetText(_text) { 70 | text = _text; 71 | } 72 | 73 | /// @description returns the width of the text in pixels. 74 | function GetWidth() { 75 | if (text != noone) { 76 | return string_width(text)+padding+padding; 77 | } 78 | } 79 | 80 | function SetCoords(_x0, _y0, _x1, _y1) { 81 | x0 = _x0; 82 | y0 = _y0; 83 | x1 = _x1; 84 | y1 = _y1; 85 | } 86 | 87 | function GetHeight() { 88 | return string_height(text); 89 | } 90 | 91 | 92 | function Update() { 93 | var _px0 = x0 - padding; 94 | var _px1 = x1 + padding; 95 | var _py0 = y0 - padding; 96 | var _py1 = y1 + padding; 97 | gui_clicking = false; 98 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), _px0, _py0, _px0+GetWidth(), _py0+GetHeight())) { 99 | hover = true; 100 | 101 | //use mouse_check_button for gui responsiveness 102 | if (mouse_check_button(mb_left)) { 103 | gui_clicking = true; 104 | } else { 105 | gui_clicking = false; 106 | } 107 | 108 | //mouse check button pressed for click functionality, only triggered once 109 | if (mouse_check_button_pressed(mb_left)) { 110 | clicking = true; 111 | window_set_cursor(cr_handpoint); 112 | OnClick(); 113 | } else { 114 | clicking = false; 115 | } 116 | } else { 117 | hover = false; 118 | } 119 | } 120 | 121 | function Render() { 122 | var _px0 = x0 - padding; 123 | var _px1 = x1 + padding; 124 | var _py0 = y0 - padding; 125 | var _py1 = y1 + padding; 126 | 127 | draw_set_color(global.gui_menu); 128 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, false); 129 | draw_set_color(global.gui_text_default); 130 | 131 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0),_px0,_py0,_px0+GetWidth(),_py1)) { 132 | draw_set_color(global.gui_menu_hover); 133 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, false); 134 | 135 | if (mouse_check_button_pressed(mb_left)) { 136 | draw_set_color(global.gui_menu_click); 137 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, false); 138 | } 139 | } 140 | if (draw_outline) { 141 | draw_set_color(global.gui_text_default); 142 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, true); 143 | } 144 | draw_set_color(global.gui_text_default); 145 | draw_text(x0, y0, text); 146 | } 147 | 148 | 149 | 150 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenCheckboxItem/RavenCheckboxItem.gml: -------------------------------------------------------------------------------- 1 | /// RavenCheckboxItem Constructor 2 | /// @param {String} _text The text displayed next to the checkbox. 3 | /// @param {Function} _on_click The script to execute when the checkbox is clicked. Default is undefined. 4 | /// @param {Real} _margin The margin around the checkbox item. Default is 16. 5 | /// @param {Asset.GMFont} _font The font used for displaying text. Default is fnt_dsansmono16. 6 | /// @param {Constant.Color} _color The color of the text. Default is global.gui_text_primary. 7 | /// @param {Constant.Color} _checkmark_color The color of the checkmark when the checkbox is checked. Default is global.gui_checkmark_color. 8 | /// @param {bool} _value The initial value of the checkbox (true or false). Default is false. 9 | function RavenCheckboxItem(_text, _on_click = undefined, _margin = 16, _font = fnt_dsansmono16, _color = global.gui_text_primary, _checkmark_color = global.gui_checkmark_color, _value = false) : RavenItem(_text, _on_click, _margin) constructor { 10 | container_id = undefined; 11 | is_enabled = true; 12 | text = _text; 13 | lock_trigger = false; 14 | clicking = false; 15 | gui_clicking = false; 16 | outline = false; 17 | margin = _margin; 18 | x0 = 0; 19 | y0 = 0; 20 | x1 = 0; 21 | y1 = 0; 22 | hover = false; 23 | font = _font; // Font for the text item 24 | color = _color; // Color for the text 25 | value = _value; // Checkbox value (true or false) 26 | checkmark_color = _checkmark_color; 27 | checkbox_scale = 1.5; 28 | rectangle_x0 = 0; 29 | rectangle_y0 = 0; 30 | rectangle_x1 = 0; 31 | rectangle_y1 = 0; 32 | specific_margin = 0; //specific margin is an additional margin that can be applied to rendering an item. It is not delegated to a parent container as the regular margin is. 33 | 34 | function SetCheckboxScale(_checkbox_scale) { 35 | checkbox_scale = _checkbox_scale; 36 | } 37 | 38 | function GetContainerId() { 39 | return container_id; 40 | } 41 | 42 | function SetContainerId(_container_id) { 43 | container_id = _container_id; 44 | } 45 | 46 | function SetEnabled(_set) { 47 | is_enabled = _set; 48 | } 49 | 50 | function ToggleValue() { 51 | value = !value; 52 | } 53 | 54 | function GetValue() { 55 | return value; 56 | } 57 | 58 | function SetCoords(_x0, _y0, _x1, _y1) { 59 | x0 = _x0; 60 | y0 = _y0; 61 | x1 = _x1; 62 | y1 = _y1; 63 | } 64 | 65 | function Update() { 66 | gui_clicking = false; 67 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), rectangle_x0, rectangle_y0, rectangle_x1, rectangle_y1)) { 68 | hover = true; 69 | if (mouse_check_button_pressed(mb_left)) { 70 | clicking = true; 71 | } else { 72 | clicking = false; 73 | } 74 | } else { 75 | hover = false; 76 | } 77 | 78 | if (clicking && point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), rectangle_x0, rectangle_y0, rectangle_x1, rectangle_y1)) { 79 | ToggleValue(); 80 | clicking = false; // Reset clicking state after handling the click 81 | } 82 | } 83 | 84 | function Render() { 85 | 86 | // Draw the text 87 | draw_set_font(font); 88 | draw_set_color(global.gui_text_default); 89 | draw_text(x0 + specific_margin, y0, text); 90 | 91 | 92 | var _checkbox_x = x0 + specific_margin + string_width(text); 93 | var _checkbox_y = y0 - string_height(text)/2 + specific_margin/2; 94 | 95 | if (value) { 96 | draw_set_color(checkmark_color); // Change color to checkmark color 97 | } else { 98 | draw_set_color(global.gui_background); // Change color to match background 99 | } 100 | 101 | // Draw checkbox rectangle 102 | draw_rectangle(_checkbox_x, _checkbox_y, _checkbox_x + GetCheckboxWidth(), _checkbox_y + GetCheckboxHeight(), false); 103 | 104 | draw_set_color(global.gui_text_default); 105 | draw_rectangle(_checkbox_x, _checkbox_y, _checkbox_x + GetCheckboxWidth(), _checkbox_y + GetCheckboxHeight(), true); 106 | 107 | rectangle_x0 = _checkbox_x; 108 | rectangle_y0 = _checkbox_y; 109 | rectangle_x1 = _checkbox_x + GetCheckboxWidth(); 110 | rectangle_y1 = _checkbox_y + GetCheckboxHeight(); 111 | 112 | 113 | 114 | } 115 | 116 | function GetCheckboxWidth() { 117 | return GetTextHeight() * checkbox_scale; 118 | } 119 | 120 | function GetCheckboxHeight() { 121 | return GetTextHeight() * checkbox_scale; 122 | } 123 | 124 | function GetTextHeight() { 125 | return string_height(text); 126 | } 127 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenTextItem/RavenTextItem.gml: -------------------------------------------------------------------------------- 1 | /// @function RavenTextItem(_text, _on_click, _margin, _font, _color) 2 | /// @description Creates a text item/line. 3 | /// @param {String} _text The text to display. 4 | /// @param {Function} _on_click The function to execute when the button is clicked. 5 | /// @param {Real} _margin Not Currently Implemented. 6 | /// @param {Asset.GMFont} _font The font to use. 7 | /// @param {Constant.Color} _color The color to draw the text in, overrides theme color. 8 | function RavenTextItem(_text, _on_click, _margin, _font, _color = undefined) : RavenItem(_text, _on_click, _margin) constructor { 9 | container_id = undefined; 10 | is_enabled = true; 11 | text = _text; 12 | on_click = _on_click; 13 | lock_trigger = false; 14 | clicking = false; 15 | gui_clicking = false; 16 | outline = false; 17 | margin = _margin; 18 | specific_margin = 0; //specific margin is an additional margin that can be applied to rendering an item. It is not delegated to a parent container as the regular margin is but applied inside this struct instance. 19 | x0 = 0; 20 | y0 = 0; 21 | x1 = 0; 22 | y1 = 0; 23 | text_x1 = 0; 24 | hover = false; 25 | font = _font; // Font for the text item 26 | color = _color; // Color for the text 27 | 28 | function GetContainerId() { 29 | return container_id; 30 | } 31 | 32 | function SetContainerId(_container_id) { 33 | container_id = _container_id; 34 | } 35 | 36 | function IsOutsideContainerBounds(_container_x1) { 37 | return (x1 > _container_x1); 38 | } 39 | 40 | function SetEnabled(_set) { 41 | is_enabled = _set; 42 | } 43 | 44 | function SetOnClick(_function) { 45 | if (is_enabled) { 46 | on_click = _function; 47 | SetEnabled(true); 48 | } 49 | } 50 | 51 | function OnClick() { 52 | if (on_click == noone || !on_click) { 53 | return noone; 54 | } else { 55 | on_click(); 56 | } 57 | } 58 | 59 | function GetText() { 60 | return text; 61 | } 62 | 63 | function GetWidth() { 64 | if (text != noone) { 65 | return string_width(text); 66 | } 67 | } 68 | 69 | function SetCoords(_x0, _y0, _x1, _y1) { 70 | x0 = _x0; 71 | y0 = _y0; 72 | x1 = _x1; 73 | y1 = _y1; 74 | } 75 | 76 | function GetHeight() { 77 | return string_height(text); 78 | } 79 | 80 | function Update() { 81 | gui_clicking = false; 82 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), x0, y0, x1, y1)) { 83 | hover = true; 84 | 85 | if (mouse_check_button(mb_left)) { 86 | gui_clicking = true; 87 | } else { 88 | gui_clicking = false; 89 | } 90 | 91 | if (mouse_check_button_pressed(mb_left)) { 92 | clicking = true; 93 | window_set_cursor(cr_handpoint); 94 | OnClick(); 95 | } else { 96 | clicking = false; 97 | } 98 | } else { 99 | hover = false; 100 | } 101 | } 102 | 103 | //check if our text element is outside the bounds of the container 104 | function IsTextOutsideBounds() { 105 | if (text_x1 > x1) { 106 | return true; 107 | } 108 | return false; 109 | } 110 | 111 | // Render method to draw the text item 112 | function Render() { 113 | draw_set_font(font); 114 | if (color == undefined) { 115 | draw_set_color(global.gui_text_default); 116 | } else { 117 | draw_set_color(color); 118 | } 119 | 120 | // Calculate the width of the text 121 | var _text_width = string_width(text); 122 | 123 | // Draw the text up to the x1 position if it fits within the bounds 124 | if (text_x1 <= x1) { 125 | draw_text(x0 + specific_margin, (y0 + y1) / 2, text); 126 | } else { 127 | // Calculate the maximum number of characters that can be drawn within bounds 128 | var _max_chars = 0; 129 | var _current_width = 0; 130 | 131 | for (var _i = 1; _i <= string_length(text); _i++) { 132 | _current_width = string_width(string_copy(text, 1, _i)); 133 | if (x0 + specific_margin + _current_width <= x1) { 134 | _max_chars = _i; 135 | } else { 136 | break; 137 | } 138 | } 139 | 140 | // Draw the portion of the text that fits within the bounds 141 | if (_max_chars > 0) { 142 | var _truncated_text = string_copy(text, 1, _max_chars); 143 | draw_text(x0 + specific_margin, (y0 + y1) / 2, _truncated_text); 144 | } 145 | } 146 | text_x1 = x0 + specific_margin + _text_width; 147 | } 148 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMultilineTextItem/RavenMultilineTextItem.gml: -------------------------------------------------------------------------------- 1 | /// RavenMultiLineTextItem Constructor 2 | function RavenMultilineTextItem(_text, _on_click, _margin = 16, _font = fnt_dsansmono16, _color = undefined) : RavenItem(_text, _on_click, _margin) constructor { 3 | container_id = undefined; 4 | is_enabled = true; 5 | text = _text; 6 | on_click = _on_click; 7 | lock_trigger = false; 8 | clicking = false; 9 | gui_clicking = false; 10 | outline = false; 11 | margin = _margin; 12 | specific_margin = 0; //specific margin is an additional margin that can be applied to rendering an item. It is not delegated to a parent container as the regular margin is but applied inside this struct instance. 13 | x0 = 0; 14 | y0 = 0; 15 | x1 = 0; 16 | y1 = 0; 17 | hover = false; 18 | font = _font; // Font for the text item 19 | color = _color; // Color for the text 20 | container_x0 = undefined; 21 | container_y0 = undefined; 22 | container_x1 = undefined; 23 | container_y1 = undefined; 24 | 25 | function GetContainerId() { 26 | return container_id; 27 | } 28 | 29 | function SetContainerId(_container_id) { 30 | container_id = _container_id; 31 | } 32 | 33 | function SetEnabled(_set) { 34 | is_enabled = _set; 35 | } 36 | 37 | function SetOnClick(_function) { 38 | if (is_enabled) { 39 | on_click = _function; 40 | SetEnabled(true); 41 | } 42 | } 43 | 44 | function OnClick() { 45 | if (on_click == noone || !on_click) { 46 | return noone; 47 | } else { 48 | on_click(); 49 | } 50 | } 51 | 52 | function GetText() { 53 | return text; 54 | } 55 | 56 | function SetCoords(_x0, _y0, _x1, _y1) { 57 | x0 = _x0; 58 | y0 = _y0; 59 | x1 = _x1; 60 | y1 = _y1; 61 | } 62 | 63 | function GetHeight() { 64 | return string_height(text); 65 | } 66 | 67 | function GetContainerBounds() { 68 | var _container_id = GetContainerId(); 69 | if (_container_id != noone && _container_id != undefined) { 70 | var _container_inst = GetRavenContainerById(_container_id); 71 | if (_container_inst != noone && _container_inst != undefined) { 72 | container_x0 = _container_inst.x0_scaling; 73 | container_y0 = _container_inst.y0_scaling; 74 | container_x1 = _container_inst.x1_scaling; 75 | container_y1 = _container_inst.y1_scaling; 76 | } 77 | } 78 | } 79 | 80 | function Update() { 81 | GetContainerBounds(); 82 | gui_clicking = false; 83 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), x0, y0, x1, y1)) { 84 | hover = true; 85 | 86 | if (mouse_check_button(mb_left)) { 87 | gui_clicking = true; 88 | } else { 89 | gui_clicking = false; 90 | } 91 | 92 | if (mouse_check_button_pressed(mb_left)) { 93 | clicking = true; 94 | window_set_cursor(cr_handpoint); 95 | OnClick(); 96 | } else { 97 | clicking = false; 98 | } 99 | } else { 100 | hover = false; 101 | } 102 | } 103 | 104 | function Render() { 105 | draw_set_font(font); 106 | 107 | if (color == undefined) { 108 | draw_set_color(global.gui_text_default); 109 | } else { 110 | draw_set_color(color); 111 | } 112 | 113 | var _x = x0 + specific_margin; 114 | var _y = (y0 + y1) / 2; 115 | var _max_width = x1 - x0 - specific_margin * 2; 116 | var _max_height = container_y1; 117 | 118 | var _words = string_split(text, " "); 119 | var _current_line = ""; 120 | 121 | for (var _i = 0; _i < array_length_1d(_words); _i++) { 122 | var _word = _words[_i]; 123 | var _line_width = string_width(_current_line + " " + _word); 124 | 125 | if (_line_width <= _max_width) { 126 | if (_current_line != "") { 127 | _current_line += " "; 128 | } 129 | _current_line += _word; 130 | } else { 131 | // Draw the current line and move the y-coordinate 132 | if (_y + specific_margin + string_height(_current_line) < container_y1) draw_text(_x, _y, _current_line); 133 | 134 | _y += string_height(_current_line); 135 | _current_line = _word; // Start a new line 136 | } 137 | } 138 | 139 | // Draw the last line 140 | if (_y + specific_margin + string_height(_current_line) < container_y1) draw_text(_x, _y, _current_line); 141 | 142 | // Update the y1 position to _y if it is larger. This way the container will also be aware of the item's height requirements. 143 | if (_y > y1) y1 = _y; 144 | } 145 | } -------------------------------------------------------------------------------- /RavenUI/RavenUI.resource_order: -------------------------------------------------------------------------------- 1 | { 2 | "FolderOrderSettings":[ 3 | {"name":"Animation Curves","order":12,"path":"folders/Animation Curves.yy",}, 4 | {"name":"Extensions","order":14,"path":"folders/Extensions.yy",}, 5 | {"name":"Fonts","order":7,"path":"folders/Fonts.yy",}, 6 | {"name":"Notes","order":13,"path":"folders/Notes.yy",}, 7 | {"name":"Objects","order":9,"path":"folders/Objects.yy",}, 8 | {"name":"Particle Systems","order":15,"path":"folders/Particle Systems.yy",}, 9 | {"name":"Paths","order":4,"path":"folders/Paths.yy",}, 10 | {"name":"RavenGUI","order":16,"path":"folders/RavenGUI.yy",}, 11 | {"name":"components","order":15,"path":"folders/RavenGUI/components.yy",}, 12 | {"name":"fonts","order":14,"path":"folders/RavenGUI/fonts.yy",}, 13 | {"name":"objects","order":13,"path":"folders/RavenGUI/objects.yy",}, 14 | {"name":"sprites","order":11,"path":"folders/RavenGUI/sprites.yy",}, 15 | {"name":"Rooms","order":10,"path":"folders/Rooms.yy",}, 16 | {"name":"Scripts","order":5,"path":"folders/Scripts.yy",}, 17 | {"name":"Sequences","order":11,"path":"folders/Sequences.yy",}, 18 | {"name":"Shaders","order":6,"path":"folders/Shaders.yy",}, 19 | {"name":"Sounds","order":3,"path":"folders/Sounds.yy",}, 20 | {"name":"Sprites","order":1,"path":"folders/Sprites.yy",}, 21 | {"name":"Tile Sets","order":2,"path":"folders/Tile Sets.yy",}, 22 | {"name":"Timelines","order":8,"path":"folders/Timelines.yy",}, 23 | ], 24 | "ResourceOrderSettings":[ 25 | {"name":"fnt_default","order":1,"path":"fonts/fnt_default/fnt_default.yy",}, 26 | {"name":"fnt_droidsansmono","order":2,"path":"fonts/fnt_droidsansmono/fnt_droidsansmono.yy",}, 27 | {"name":"fnt_dsansmono16","order":3,"path":"fonts/fnt_dsansmono16/fnt_dsansmono16.yy",}, 28 | {"name":"fnt_dsansmono32","order":4,"path":"fonts/fnt_dsansmono32/fnt_dsansmono32.yy",}, 29 | {"name":"obj_node","order":2,"path":"objects/obj_node/obj_node.yy",}, 30 | {"name":"obj_raven_init","order":1,"path":"objects/obj_raven_init/obj_raven_init.yy",}, 31 | {"name":"Room1","order":12,"path":"rooms/Room1/Room1.yy",}, 32 | {"name":"Room3","order":1,"path":"rooms/Room3/Room3.yy",}, 33 | {"name":"DestroyRavenContainerById","order":1,"path":"scripts/DestroyRavenContainerById/DestroyRavenContainerById.yy",}, 34 | {"name":"DrawCurve","order":7,"path":"scripts/DrawCurve/DrawCurve.yy",}, 35 | {"name":"GetRavenContainerById","order":2,"path":"scripts/GetRavenContainerById/GetRavenContainerById.yy",}, 36 | {"name":"GetRavenContainerIndexById","order":3,"path":"scripts/GetRavenContainerIndexById/GetRavenContainerIndexById.yy",}, 37 | {"name":"KeyboardCheckExtended","order":6,"path":"scripts/KeyboardCheckExtended/KeyboardCheckExtended.yy",}, 38 | {"name":"RavenButtonItem","order":10,"path":"scripts/RavenButtonItem/RavenButtonItem.yy",}, 39 | {"name":"RavenContainer","order":1,"path":"scripts/RavenContainer/RavenContainer.yy",}, 40 | {"name":"RavenDropdownItem","order":2,"path":"scripts/RavenDropdownItem/RavenDropdownItem.yy",}, 41 | {"name":"RavenImageButtonItem","order":11,"path":"scripts/RavenImageButtonItem/RavenImageButtonItem.yy",}, 42 | {"name":"RavenImageItem","order":12,"path":"scripts/RavenImageItem/RavenImageItem.yy",}, 43 | {"name":"RavenItem","order":3,"path":"scripts/RavenItem/RavenItem.yy",}, 44 | {"name":"RavenLineBreakItem","order":4,"path":"scripts/RavenLineBreakItem/RavenLineBreakItem.yy",}, 45 | {"name":"RavenMain","order":5,"path":"scripts/RavenMain/RavenMain.yy",}, 46 | {"name":"RavenMenu","order":6,"path":"scripts/RavenMenu/RavenMenu.yy",}, 47 | {"name":"RavenMultilineTextInputItem","order":14,"path":"scripts/RavenMultilineTextInputItem/RavenMultilineTextInputItem.yy",}, 48 | {"name":"RavenMultilineTextItem","order":7,"path":"scripts/RavenMultilineTextItem/RavenMultilineTextItem.yy",}, 49 | {"name":"RavenNodeItem","order":15,"path":"scripts/RavenNodeItem/RavenNodeItem.yy",}, 50 | {"name":"RavenStatusItem","order":13,"path":"scripts/RavenStatusItem/RavenStatusItem.yy",}, 51 | {"name":"RavenTextInputItem","order":8,"path":"scripts/RavenTextInputItem/RavenTextInputItem.yy",}, 52 | {"name":"RavenTextItem","order":9,"path":"scripts/RavenTextItem/RavenTextItem.yy",}, 53 | {"name":"RegisterRavenContainer","order":4,"path":"scripts/RegisterRavenContainer/RegisterRavenContainer.yy",}, 54 | {"name":"StringWordWrap","order":5,"path":"scripts/StringWordWrap/StringWordWrap.yy",}, 55 | {"name":"spr_node_black_fill","order":6,"path":"sprites/spr_node_black_fill/spr_node_black_fill.yy",}, 56 | {"name":"spr_node_blue","order":10,"path":"sprites/spr_node_blue/spr_node_blue.yy",}, 57 | {"name":"spr_node_dark_fill","order":5,"path":"sprites/spr_node_dark_fill/spr_node_dark_fill.yy",}, 58 | {"name":"spr_node_dark_transparent","order":4,"path":"sprites/spr_node_dark_transparent/spr_node_dark_transparent.yy",}, 59 | {"name":"spr_node_inner_dark","order":3,"path":"sprites/spr_node_inner_dark/spr_node_inner_dark.yy",}, 60 | {"name":"spr_node_mask_interaction_upscaled","order":12,"path":"sprites/spr_node_mask_interaction_upscaled/spr_node_mask_interaction_upscaled.yy",}, 61 | {"name":"spr_node_mask_interaction","order":14,"path":"sprites/spr_node_mask_interaction/spr_node_mask_interaction.yy",}, 62 | {"name":"spr_node_pink","order":11,"path":"sprites/spr_node_pink/spr_node_pink.yy",}, 63 | {"name":"spr_node_red","order":8,"path":"sprites/spr_node_red/spr_node_red.yy",}, 64 | {"name":"spr_node_white_fill","order":13,"path":"sprites/spr_node_white_fill/spr_node_white_fill.yy",}, 65 | {"name":"spr_node_yellow","order":9,"path":"sprites/spr_node_yellow/spr_node_yellow.yy",}, 66 | {"name":"spr_node","order":2,"path":"sprites/spr_node/spr_node.yy",}, 67 | {"name":"spr_sample_image","order":1,"path":"sprites/spr_sample_image/spr_sample_image.yy",}, 68 | ], 69 | } -------------------------------------------------------------------------------- /RavenUI/scripts/RavenStatusItem/RavenStatusItem.gml: -------------------------------------------------------------------------------- 1 | /// @function RavenStatusItem(_status_map, _initial_status, _text, _margin, _padding, _border_radius, _draw_outline, _display_current_value) 2 | /// @description Creates a clickable area with text in it. 3 | /// @param {Id.DsMap} _status_map A ds map of key - value pairs where the key is the status, and the value is the current_value's expected current_value value for the status to be active. 4 | /// @param {Real} _initial_status The initial status. Enum value from GUI_STATUS defined in obj_raven_init. 5 | /// @param {String} _text Optional text displayed before the status. 6 | /// @param {Real} _margin The margin around the button. 7 | /// @param {Real} _padding The padding of the button. 8 | /// @param {Real} _border_radius The border radius of the button. 9 | /// @param {Bool} _draw_outline whether or not to draw an outline. 10 | /// @param {Bool} _display_current_value whether or not to draw an outline. 11 | function RavenStatusItem(_status_map, _initial_status = undefined, _text= "", _margin = 0, _padding = 2, _border_radius = 0, _draw_outline = false, _display_current_value = false) constructor { 12 | container_id = undefined; 13 | is_enabled = true; 14 | text = _text; 15 | status = _initial_status; 16 | status_map = _status_map; 17 | current_value = undefined; 18 | lock_trigger = false; 19 | clicking = false; 20 | gui_clicking = false; 21 | subitems = ds_list_create(); 22 | outline = false; 23 | margin = _margin; 24 | x0 = 0; 25 | y0 = 0; 26 | x1 = 0; 27 | y1 = 0; 28 | hover = false; 29 | height = 0; 30 | draw_outline = _draw_outline; 31 | padding = _padding; 32 | border_radius = _border_radius; 33 | display_current_value = _display_current_value; 34 | 35 | /// @function GetCurrentValue() 36 | /// @description Returns the value of current_value. This is the actual value of the Status Item 37 | function GetCurrentValue() { 38 | return current_value; 39 | } 40 | 41 | /// @function SetCurrentValue(_current_value) 42 | /// @description Sets the value of current_value. 43 | function SetCurrentValue(_current_value) { 44 | current_value = _current_value; 45 | } 46 | 47 | /// @function GetStatusMap() 48 | /// @descripotion Returns the status_map ds_map. 49 | function GetStatusMap() { 50 | return status_map; 51 | } 52 | 53 | /// @function SetStatusMap(_status_map) 54 | /// @descsription Sets the value of status_map, given that the provided _status_map is of type ds_map, otherwise throws an error. 55 | function SetStatusMap(_status_map) { 56 | //create a mock ds map 57 | mock_map = ds_list_create(); 58 | if (typeof(_status_map) == typeof(mock_map)) { 59 | status_map = _status_map; 60 | } else { 61 | show_error("The provided argument for argument: _status_map in function: SetStatusMap was not of type ds_map in struct: RavenStatusItem", true); 62 | } 63 | ds_list_destroy(mock_map); 64 | 65 | } 66 | 67 | /// @function GetContainerId() 68 | /// @description Returns the id of a bound container (container_id). 69 | function GetContainerId() { 70 | return container_id; 71 | } 72 | 73 | /// @function SetContainerId(_container_id) 74 | /// @description Sets the container_id equal to the provided _container_id. 75 | function SetContainerId(_container_id) { 76 | container_id = _container_id; 77 | } 78 | 79 | /// @function SetEnabled(_set) 80 | /// @description Whether the element is enabled. 81 | function SetEnabled(_set) { 82 | is_enabled = _set; 83 | } 84 | 85 | /// @onclick Set the onclick event trigger for the item. 86 | function SetOnClick(_function) { 87 | if (is_enabled) { 88 | on_click = _function; 89 | SetEnabled(true); 90 | } 91 | } 92 | 93 | ///@description Execute the onclick trigger/event 94 | function OnClick() { 95 | show_error("Function OnClick is not implemented in RavenStatusItem", true); 96 | } 97 | 98 | 99 | /// @description returns the text of the item. 100 | function GetText() { 101 | return text; 102 | } 103 | 104 | function SetText(_text) { 105 | text = _text; 106 | } 107 | 108 | /// @description returns the width of the text in pixels. 109 | function GetWidth() { 110 | if (text != noone) { 111 | return string_width(text)+padding+padding; 112 | } 113 | } 114 | 115 | function SetCoords(_x0, _y0, _x1, _y1) { 116 | x0 = _x0; 117 | y0 = _y0; 118 | x1 = _x1; 119 | y1 = _y1; 120 | } 121 | 122 | function GetHeight() { 123 | return string_height(text); 124 | } 125 | 126 | 127 | /// @function SetStatusWithStatusMap() 128 | /// @description Evaluates if the current_value is equal to any value in the provided ds map, if it is, the key is saved as the status. Returns true if successful 129 | function SetStatusWithStatusMap() { 130 | var _key = ds_map_find_first(status_map); 131 | for (var _i = 0; _i < ds_map_size(status_map); _i++) { 132 | var _value = ds_map_find_value(status_map, _key); 133 | if (_value == current_value) { 134 | status = _key; 135 | return true; 136 | 137 | } else { 138 | _key = ds_map_find_next(status_map, _key); 139 | } 140 | 141 | } 142 | return false; 143 | } 144 | 145 | /// @function CompareCurrentValueWithStatusMap() 146 | /// @description Evaluates if the current value is equal to any value in the provided ds map, if it is, the key and value are returned. 147 | function CompareCurrentValueWithStatusMap() { 148 | var _key = ds_map_find_first(status_map); 149 | for (var _i = 0; _i < ds_map_size(status_map); i++) { 150 | var _value = ds_map_find_value(status_map, _key); 151 | if (_value == current_value) { 152 | return [_key, _value]; 153 | 154 | } else { 155 | _key = ds_map_find_next(status_map, _key); 156 | } 157 | 158 | } 159 | return undefined; 160 | } 161 | 162 | /// @function SetDisplayCurrentValue(_display_current_value) 163 | /// @description Sets whether or not to display the current value in the status rectangle, returns true if successful, otherwise returns false. 164 | /// @param _display_current_value {Bool} Whether or not to display the current_value. 165 | /// @returns {Bool} true if successful, otherwise false. 166 | function SetDisplayCurrentValue(_display_current_value) { 167 | if (is_string(_display_current_value)) { 168 | display_current_value = _display_current_value; 169 | return true; 170 | } else { 171 | return false; 172 | } 173 | } 174 | 175 | 176 | function Update() { 177 | //Update status by comparing status map to current_value 178 | SetStatusWithStatusMap(); 179 | 180 | var _px0 = x0 - padding; 181 | var _px1 = x1 + padding; 182 | var _py0 = y0 - padding; 183 | var _py1 = y1 + padding; 184 | gui_clicking = false; 185 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), _px0, _py0, _px0+GetWidth(), _py0+GetHeight())) { 186 | hover = true; 187 | } 188 | } 189 | 190 | function Render() { 191 | var _px0 = x0 - padding; 192 | var _px1 = x1 + padding; 193 | var _py0 = y0 - padding; 194 | var _py1 = y1 + padding; 195 | 196 | draw_set_color(global.gui_menu); 197 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, false); 198 | draw_set_color(global.gui_text_default); 199 | 200 | if (status == GUI_STATUS.ERROR) draw_set_color(global.gui_status_error); 201 | if (status == GUI_STATUS.WARNING) draw_set_color(global.gui_status_warning); 202 | if (status == GUI_STATUS.SUCCESS) draw_set_color(global.gui_status_success); 203 | if (status == GUI_STATUS.DISABLED) draw_set_color(global.gui_status_disabled); 204 | 205 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, false); 206 | 207 | if (draw_outline) { 208 | draw_set_color(global.gui_text_default); 209 | draw_roundrect_ext(_px0,_py0,_px0+GetWidth(),_py1, border_radius, border_radius, true); 210 | } 211 | draw_set_color(global.gui_text_default); 212 | 213 | if (!display_current_value) draw_text(x0,y0, text) else draw_text(x0,y0, text + " " + current_value); 214 | } 215 | 216 | 217 | 218 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Raven 2 | 3 | ## Introduction 4 | Raven is a UI library for GameMaker designed to simplify the process of creating responsive UIs for your projects. This library aims to provide an intuitive way to create panels and UI elements while maintaining flexibility and customizability. 5 | 6 | 7 | If you're looking for a framework with recursive setup and nesting of components, consider checking out the "Emu" UI framework created by community member DragoniteSpam. Sooo.. Why use Raven? 8 | 9 | # Key Features: 10 | 11 | - Responsive: Raven helps you design responsive UIs that adapt to different screen sizes and orientations. 12 | - Minimal: With Raven, you can create UIs with minimal effort, reducing the complexity of UI design. 13 | - Flexible: Raven's customizable components allow you to create a variety of UI layouts to suit your game's needs. 14 | - Maintainable: The library promotes a structured approach to UI development, making it easier to manage and maintain your UI code. 15 | - Customizable: Customize UI elements to match your game's aesthetic and design. 16 | 17 | 18 | menu1 19 | 20 | 21 | Raven allows you to create UI's at different resolutions and have a responsive UI when scaling containers or the game window. 22 | 23 | 24 | ## Getting Raven 25 | 26 | To get started with Raven, you'll need to download it from the [Raven GitHub Repository](https://github.com/Emperor2000/Raven). Once downloaded, you can import the repository into GameMaker as a project or package. This will make the Raven assets and scripts available for use in your project. 27 | 28 | ### Initializing the UI 29 | 30 | After setting up Raven in your project, navigate to the `obj_raven_init` object. In the `Create Event` of this object, you'll find a "//GET STARTED HERE" section. This is where you'll initialize the UI components and start building your interface. 31 | 32 | ### Creating the Core Struct 33 | 34 | The cornerstone of Raven is the core struct instance, which manages the UI elements and interactions. You can create the main/core struct using the following code: 35 | 36 | ```javascript 37 | raven = new RavenMain(); 38 | ``` 39 | The above code instantiates a new RavenMain struct, which will be our main/core object, this can be seen as the controller to any raven-driven UI. 40 | 41 | ```javascript 42 | menu = new RavenMenu(0, 0, 64, 32, 32); 43 | overview_button = new RavenItem("Overview", noone); 44 | new_button = new RavenItem("New", noone); 45 | 46 | menu.AddItem(overview_button); 47 | menu.AddItem(new_button); 48 | ``` 49 | The above code results in a menu with several items in it. 50 | While we are working on this menu we are also able to customize it, let's add an outline! 51 | ```javascript 52 | menu.SetOutline(true); 53 | ``` 54 | now that we have our menu, we just need to add it to our main struct. 55 | 56 | ```javascript 57 | raven.SetMenu(menu); 58 | ``` 59 | We now establish this menu to be updated and rendered during runtime. 60 | 61 | Now that we have established a menu and main struct for our project we might want to add a panel/tab somewhere. In order to do this we can make a container. 62 | ```javascript 63 | container = new RavenContainer(0, 0, global.resolution_x, global.resolution_y, true, false); 64 | container.SetLock(true); 65 | ``` 66 | We have created a container and locked it. This means the container can not be resized, dragged, etc. We have not yet added our container to the main struct, let's do that! 67 | ```javascript 68 | raven.AddContainer(container); 69 | ``` 70 | We can also create a smaller panel, for example in order to display tooltips or serve as a sidebar or overlay: 71 | ```javascript 72 | var tooltip_container = new RavenContainer(200, 200, 600, 600, false, true, gui_render_mode.VLIST, 3); 73 | var container_menu = new RavenMenu(0, 0, 64, 32, 32); 74 | tooltip_container.SetMenu(container_menu); 75 | ``` 76 | As you can see in the above code, each container can also have it's own menu. All that we are missing now is some text to display in our tooltipcontainer! 77 | ```javascript 78 | tooltipcontainer.AddItem(new RavenTextItem("This is a TextField", 0, 16, fnt_dsansmono16)); 79 | tooltipcontainer.AddItem(new RavenTextItem("Let's write a paragraph! The quick brown fox jumps over the lazy dog.", 0, 16, fnt_dsansmono16)); 80 | ``` 81 | And we finalize by adding our tooltipcontainer to our main struct. 82 | ```javascript 83 | raven.AddContainer(tooltip_container); 84 | ``` 85 | That's it for getting started! 86 | 87 | 88 | Here are a few examples to what you could simply create with Raven: 89 | 90 | 91 | scaling1 92 | 93 | 94 | As you can see we are also able to scale our UI, and text, buttons and elements will adapt to the new layout. 95 | 96 | 97 | theme2 98 | 99 | 100 | You can select a few different themes, or easily make your own! 101 | 102 | 103 | 104 | ## Components 105 | Raven provides a set of components for creating dynamic and responsive GUI's in GameMaker. Components include containers (panels), menuss, checkboxes, text input fields, dropdowns, text fields and much more. 106 | 107 | ### [V0.9.0] 108 | - RavenStatusItem: An element used to track the status of an action/result. 109 | - RavenNodeItem: A connectable element that can interact with another node (receive/transmit data). 110 | - RavenMultiLineTextInputItem: Similar to the text input item, but allows adding input to a multiline field. 111 | - The RavenTextInputItem is no longer considered experimental; it should work reliably and support several common keyboard operations such as: cut text, copy text, paste text, delete character in front of text and delete backwards. 112 | 113 | Features: 114 | - Added word wrap seperation. 115 | - Added panning. 116 | - Fixed multilinetextItem rendering outside of container bounds. 117 | - Fixed a number of colours to match and align with global theme. 118 | - Updated Destroy function to call container's destroy method. 119 | - Implemented clamping on input item when overflowing over container width. 120 | - MultilineTextInput now respects the container's bounds. 121 | - Improved input navigation. 122 | - Type hinting and format improvements to support Feather type inference. 123 | - More explanatory function descriptions. 124 | - Improved error and exception handling. 125 | 126 | ### [V0.8.0] 127 | - Internal test build, not published. 128 | 129 | ### [V0.7.0] 130 | - Internal test build, not published. 131 | 132 | ### [V0.6.0] 133 | - RavenImageItem: An image/sprite with optional scaling parameters for width and height that can be displayed in a container (no interaction supported). 134 | 135 | ### [V0.5.0] 136 | - RavenButtonItem : A button with optional padding and rounded corners that can be displayed in a container. 137 | - RavenImageButtonItem : A clickable image/sprite with optional scaling parameters for width and height that can be displayed in a container. 138 | 139 | ### [V0.4.0] 140 | - RavenMain : Main component which controls and updates all components in the framework. 141 | - RavenMenu : A component that you can insert into containers, to give them a menu bar and make them controllable. 142 | - RavenContainer : A central building block of the framework. Use this to create the layout for your application. You can use several variants of this RavenContainer to automatically render in lists or grids, or position everything yourself. 143 | - RavenTextItem : A single line of text, any text outside of the container is hidden. This element is responsive to altering container dimensions. 144 | - RavenMultilineTextItem : A multiline text, any text outside of the container is shifted to the next line, again and again. This element is responsive to altering container dimensions. 145 | - RavenItem : The main button used for menu items. This also is a parent to many other items. This element should shift and move to the next line if it does not fit in your container anymore. 146 | - RavenLineBreakItem : An empty space to separate content, defined by a margin when rendered by a container, or a height in the item itself. 147 | - RavenCheckboxItem: A simple checkbox item. Shows a string with a checkbox (true or false) value behind it. 148 | - RavenTextInputItem : An experimental element that allows you to type text into a field. Please note that this item is a work in progress, and may have some unexpected behavior. 149 | - RavenDropdownItem : An experimental element that allows you to show options in a dropdown, and select an item. Please note that this element may have some unexpected behavior. 150 | 151 | 152 | 153 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /RavenUI/scripts/RavenMenu/RavenMenu.gml: -------------------------------------------------------------------------------- 1 | function RavenMenu(_x, _y, _item_width, _height, _margin, _font = fnt_bookshelf) constructor { 2 | container_id = undefined; 3 | x = _x * global.interface_scale; 4 | y = _y * global.interface_scale; 5 | item_width = _item_width * global.interface_scale; 6 | height = _height * global.interface_scale; 7 | margin = _margin * global.interface_scale; 8 | outline = false; 9 | item_outline = false; 10 | x0 = 0; 11 | y0 = y; 12 | x1 = display_get_gui_width(); 13 | ///x1 = 0; 14 | y1 = y + height; 15 | container_width = noone; 16 | container_height = noone; 17 | is_bound_by_container = false; 18 | is_dragging = false; 19 | select_margin = 8; 20 | font = _font; 21 | 22 | lock_icon_x0 = 0; 23 | lock_icon_x1 = 0; 24 | lock_icon_y0 = 0; 25 | lock_icon_y1 = 0; 26 | 27 | //this container specs are used in case the menu is part of a container. 28 | //The menu and items should transform along with the container. 29 | container_x0 = x0; 30 | container_y0 = y0; 31 | container_x1 = x1; 32 | container_y1 = y1; 33 | container_lock = true; 34 | 35 | items = ds_list_create(); 36 | 37 | function GetContainerId() { 38 | return container_id; 39 | } 40 | 41 | function SetContainerId(_container_id) { 42 | show_debug_message("SetContainerId: "); 43 | show_debug_message(_container_id); 44 | container_id = _container_id; 45 | return container_id; 46 | } 47 | 48 | function AddItem(_raven_item) { 49 | ds_list_add(items, _raven_item); 50 | // ds_list_find_value(items, _raven_item).SetContainerReference(container_reference) 51 | 52 | } 53 | 54 | //Sewt the container reference in the menu items 55 | function UpdateItemContainers() { 56 | show_debug_message("Updating item containers..."); 57 | //show_debug_message(container_id); 58 | for (var _i = 0; _i < ds_list_size(items); _i++) { 59 | var _item = ds_list_find_value(items, _i); 60 | _item.SetContainerId(container_id); 61 | } 62 | } 63 | 64 | function DeleteItem(_raven_item) { 65 | ds_list_delete(items, _raven_item); 66 | } 67 | 68 | function SetOutline(_outline) { 69 | outline = _outline; 70 | } 71 | function GetContainer() { 72 | return container; 73 | } 74 | 75 | //Container menu size 76 | function SetContainerSize(_container_width, _container_height) { 77 | container_width = _container_width; 78 | container_height = _container_height; 79 | } 80 | 81 | function SetContainerCoords(_container_x0, _container_y0, _container_x1, _container_y1) { 82 | container_x0 = _container_x0; 83 | container_y0 = _container_y0; 84 | container_x1 = _container_x1; 85 | container_y1 = _container_y1; 86 | } 87 | 88 | //Container bounds 89 | function SetIsBoundByContainer(_is_bound_by_container) { 90 | is_bound_by_container = _is_bound_by_container; 91 | } 92 | 93 | function GetIsBoundByContainer() { 94 | return is_bound_by_container; 95 | } 96 | 97 | 98 | function GetItems() { 99 | return items; 100 | } 101 | 102 | function SetItemOutline(_item_outline) { 103 | item_outline = _item_outline; 104 | } 105 | 106 | function Update() { 107 | x1 = display_get_gui_width(); 108 | if (is_dragging) { 109 | if (!mouse_check_button(mb_left)) { 110 | is_dragging = false; 111 | } 112 | } 113 | 114 | if (point_in_rectangle(device_mouse_x_to_gui(0), device_mouse_y_to_gui(0), container_x0, container_y0, container_x1, y1)) { 115 | //show_debug_message("mouse x: " + string(device_mouse_x_to_gui(0))); 116 | //show_debug_message("mouse y: " + string(device_mouse_y_to_gui(0))); 117 | //show_debug_message("x0: " + string(x0)); 118 | //show_debug_message("x1: " + string(x1)); 119 | //show_debug_message("y0: " + string(y0)); 120 | //show_debug_message("x1: " + string(x1)); 121 | //show_debug_message("can drag"); 122 | // Hover in menu 123 | if (mouse_check_button(mb_left)) { 124 | is_dragging = true; 125 | 126 | } 127 | } 128 | } 129 | 130 | 131 | function Destroy() { 132 | ds_list_destroy(items); 133 | } 134 | 135 | 136 | function Render() { 137 | var _window_width = display_get_gui_width(); 138 | 139 | //override if bound to a container 140 | //applied x and y used for container alignment. 141 | var _x0_applied = x0; 142 | var _y0_applied = y0; 143 | var _x1_applied = x1; 144 | var _y1_applied = y1; 145 | 146 | if (is_bound_by_container) { 147 | _window_width = container_x1 - container_x0; 148 | _x0_applied = container_x0; 149 | _y0_applied = container_y0; 150 | _x1_applied = container_x1; 151 | _y1_applied = container_y1; 152 | 153 | 154 | x = _x0_applied; 155 | y = _y0_applied; 156 | } 157 | 158 | lock_icon_x0 = _x1_applied-margin - sprite_get_width(spr_lock)/4; 159 | lock_icon_x1 = _x1_applied-margin + sprite_get_width(spr_lock)/4; 160 | lock_icon_y0 = (y+height/2) - sprite_get_height(spr_lock)/2; 161 | lock_icon_y1 = (y+height/2) + sprite_get_height(spr_lock)/2; 162 | 163 | var _draw_pos = x + margin; 164 | var _row_count = 1; 165 | var _items_in_row = 0; 166 | var _row_start_index = 0; 167 | 168 | draw_set_color(global.gui_menu); 169 | //draw_rectangle(200,200,1200,1200,false); 170 | draw_rectangle(_x0_applied, _y0_applied, _x1_applied, _y0_applied + height, false); 171 | draw_rectangle(_x0_applied, _y0_applied, _x1_applied, _y0_applied + height, true); 172 | 173 | for (var _i = 0; _i < ds_list_size(items); _i++) { 174 | var _raven_item_reference = ds_list_find_value(items, _i); 175 | draw_set_valign(fa_center); 176 | 177 | if (_draw_pos + _raven_item_reference.GetWidth() > _window_width && _items_in_row > 0) { 178 | _row_count++; 179 | _draw_pos = x + margin; 180 | _items_in_row = 0; 181 | _row_start_index = _i; 182 | 183 | } 184 | 185 | //if the item is bound by a container we should override the draw position 186 | if (is_bound_by_container) { 187 | //draw_pos = _x0_applied + margin; 188 | } 189 | 190 | draw_set_color(global.gui_menu_hover); 191 | if (_raven_item_reference.hover) { 192 | draw_rectangle(_raven_item_reference.x0, _raven_item_reference.y0, _raven_item_reference.x1, _raven_item_reference.y1, false); 193 | } 194 | 195 | 196 | draw_set_color(global.gui_menu_click); 197 | if (_raven_item_reference.gui_clicking) { 198 | draw_rectangle(_raven_item_reference.x0, _raven_item_reference.y0, _raven_item_reference.x1, _raven_item_reference.y1, false); 199 | } 200 | 201 | draw_set_color(global.gui_text_default); 202 | var _draw_pos_start = _draw_pos; 203 | var _draw_pos_y = y + ((_row_count - 1) * height) + (height / 2); 204 | 205 | //If the item is bound by a container should override the draw_y position 206 | //if (is_bound_by_container) { 207 | // draw_pos_y = _y0_applied + height/2; 208 | //} 209 | 210 | //draw_text(draw_pos, draw_pos_y, _raven_item_reference.Gettext()); 211 | draw_set_font(font); 212 | draw_text_ext_transformed(_draw_pos,_draw_pos_y,_raven_item_reference.GetText(),8, 300,global.interface_scale, global.interface_scale, 0) 213 | var _draw_pos_move_amount = (_raven_item_reference.GetWidth() + margin) * global.interface_scale; 214 | _draw_pos += _draw_pos_move_amount; 215 | _items_in_row++; 216 | 217 | var _button_padding = margin / 2; 218 | var _button_start_x = _draw_pos_start - _button_padding; 219 | var _button_start_y = _draw_pos_y - (height / 2); // Adjust button position based on text position 220 | var _button_end_x = _draw_pos - _button_padding; 221 | var _button_end_y = _button_start_y + height; 222 | 223 | 224 | _raven_item_reference.SetCoords(_button_start_x, _button_start_y, _button_end_x, _button_end_y); 225 | 226 | if (item_outline) { 227 | draw_set_color(global.gui_outline); 228 | draw_rectangle(_button_start_x, _button_start_y, _button_end_x, _button_end_y, item_outline); 229 | } 230 | draw_set_valign(fa_top); 231 | } 232 | 233 | // Adjust the overall height of the menu to match the last row 234 | y1 = y + _row_count * height; 235 | 236 | //if container_lock is enabled 237 | if (container_lock) { 238 | //render lock icon 239 | draw_sprite_ext(spr_lock,0,_x1_applied-margin,1+y+height/2, global.interface_scale, global.interface_scale, 0,c_white,1); 240 | } 241 | 242 | if (!container_lock) { 243 | draw_sprite_ext(spr_lock,1,_x1_applied-margin,1+y+height/2,global.interface_scale,global.interface_scale,0,c_white,1); 244 | } 245 | draw_set_color(c_red); 246 | //draw_rectangle(lock_icon_x0,lock_icon_y0,lock_icon_x1,lock_icon_y1, false); 247 | } 248 | } --------------------------------------------------------------------------------