├── RetroEDv2 ├── utils │ ├── shaders.cpp │ ├── retroedutils.hpp │ ├── workingdirmanager.hpp │ └── workingdirmanager.cpp ├── dependencies │ ├── QtGifImage │ │ ├── qtgifimage.pro │ │ ├── tests │ │ │ ├── tests.pro │ │ │ └── auto │ │ │ │ ├── auto.pro │ │ │ │ └── qgifimage │ │ │ │ ├── test.gif │ │ │ │ ├── qgifimage.pro │ │ │ │ └── tst_qgifimagetest.cpp │ │ ├── src │ │ │ ├── src.pro │ │ │ ├── gifimage │ │ │ │ ├── doc │ │ │ │ │ ├── snippets │ │ │ │ │ │ ├── doc_src_qtgifimage.pro │ │ │ │ │ │ └── doc_src_qtgifimage.cpp │ │ │ │ │ └── src │ │ │ │ │ │ ├── examples.qdoc │ │ │ │ │ │ ├── usage.qdoc │ │ │ │ │ │ └── qtgifimage.qdoc │ │ │ │ ├── qtgifimage.pri │ │ │ │ └── gifimage.pro │ │ │ └── 3rdParty │ │ │ │ ├── giflib.pri │ │ │ │ └── giflib │ │ │ │ ├── README │ │ │ │ ├── AUTHORS │ │ │ │ ├── COPYING │ │ │ │ └── gif_hash.h │ │ ├── .qmake.conf │ │ ├── examples │ │ │ ├── examples.pro │ │ │ └── gifimage │ │ │ │ ├── gifimage.pro │ │ │ │ ├── extractFrames │ │ │ │ ├── test.gif │ │ │ │ ├── extractFrames.pro │ │ │ │ ├── doc │ │ │ │ │ └── src │ │ │ │ │ │ └── extractframes.qdoc │ │ │ │ └── main.cpp │ │ │ │ └── creategif │ │ │ │ ├── doc │ │ │ │ ├── images │ │ │ │ │ └── demo1.gif │ │ │ │ └── src │ │ │ │ │ └── creategif.qdoc │ │ │ │ ├── creategif.pro │ │ │ │ └── main.cpp │ │ ├── sync.profile │ │ ├── .gitignore │ │ ├── README.md │ │ └── qtgifimage.qdoc │ ├── qtcolorwidgets │ │ ├── .gitignore │ │ ├── HueSlider │ │ ├── ColorDialog │ │ ├── ColorPreview │ │ ├── ColorWheel │ │ ├── ColorDelegate │ │ ├── ColorSelector │ │ ├── GradientEditor │ │ ├── GradientSlider │ │ ├── ColorListWidget │ │ ├── AbstractWidgetList │ │ ├── BoundColorSelector │ │ ├── resources │ │ │ └── QtColorWidgets │ │ │ │ ├── alphaback.png │ │ │ │ ├── color_widgets.qrc │ │ │ │ └── CMakeLists.txt │ │ ├── QtColorWidgets.pc.in │ │ ├── colorwidgets_global.hpp │ │ ├── .gitlab-ci.yml │ │ ├── CMakeLists.txt │ │ ├── LICENSE-EXCEPTION │ │ ├── bound_color_selector.cpp │ │ ├── bound_color_selector.hpp │ │ └── color_widgets.pro │ ├── QtPropertyBrowser │ │ ├── src │ │ │ ├── QtBrowserItem │ │ │ ├── QtProperty │ │ │ ├── QtSliderFactory │ │ │ ├── QtCharEditorFactory │ │ │ ├── QtCheckBoxFactory │ │ │ ├── QtColorEditorFactory │ │ │ ├── QtDateEditFactory │ │ │ ├── QtEnumEditorFactory │ │ │ ├── QtFontEditorFactory │ │ │ ├── QtLineEditFactory │ │ │ ├── QtScrollBarFactory │ │ │ ├── QtSpinBoxFactory │ │ │ ├── QtTimeEditFactory │ │ │ ├── QtVariantProperty │ │ │ ├── QtBoolPropertyManager │ │ │ ├── QtCharPropertyManager │ │ │ ├── QtColorPropertyManager │ │ │ ├── QtCursorEditorFactory │ │ │ ├── QtCursorPropertyManager │ │ │ ├── QtDatePropertyManager │ │ │ ├── QtDateTimeEditFactory │ │ │ ├── QtDoublePropertyManager │ │ │ ├── QtDoubleSpinBoxFactory │ │ │ ├── QtEnumPropertyManager │ │ │ ├── QtFlagPropertyManager │ │ │ ├── QtFontPropertyManager │ │ │ ├── QtGroupPropertyManager │ │ │ ├── QtIntPropertyManager │ │ │ ├── QtLocalePropertyManager │ │ │ ├── QtPointFPropertyManager │ │ │ ├── QtPointPropertyManager │ │ │ ├── QtRectFPropertyManager │ │ │ ├── QtRectPropertyManager │ │ │ ├── QtSizeFPropertyManager │ │ │ ├── QtSizePropertyManager │ │ │ ├── QtStringPropertyManager │ │ │ ├── QtTimePropertyManager │ │ │ ├── QtVariantEditorFactory │ │ │ ├── QtAbstractEditorFactoryBase │ │ │ ├── QtAbstractPropertyBrowser │ │ │ ├── QtAbstractPropertyManager │ │ │ ├── QtDateTimePropertyManager │ │ │ ├── QtKeySequenceEditorFactory │ │ │ ├── QtKeySequencePropertyManager │ │ │ ├── QtSizePolicyPropertyManager │ │ │ ├── QtTreePropertyBrowser │ │ │ ├── QtVariantPropertyManager │ │ │ ├── QtButtonPropertyBrowser │ │ │ ├── QtGroupBoxPropertyBrowser │ │ │ ├── images │ │ │ │ ├── cursor-arrow.png │ │ │ │ ├── cursor-busy.png │ │ │ │ ├── cursor-cross.png │ │ │ │ ├── cursor-hand.png │ │ │ │ ├── cursor-hsplit.png │ │ │ │ ├── cursor-ibeam.png │ │ │ │ ├── cursor-sizeb.png │ │ │ │ ├── cursor-sizef.png │ │ │ │ ├── cursor-sizeh.png │ │ │ │ ├── cursor-sizev.png │ │ │ │ ├── cursor-vsplit.png │ │ │ │ ├── cursor-wait.png │ │ │ │ ├── cursor-openhand.png │ │ │ │ ├── cursor-sizeall.png │ │ │ │ ├── cursor-uparrow.png │ │ │ │ ├── cursor-closedhand.png │ │ │ │ ├── cursor-forbidden.png │ │ │ │ └── cursor-whatsthis.png │ │ │ ├── qtpropertybrowser.qrc │ │ │ └── qtpropertybrowser.pri │ │ ├── doc │ │ │ ├── images │ │ │ │ ├── demo.png │ │ │ │ ├── qt-logo.png │ │ │ │ ├── simple.png │ │ │ │ ├── decoration.png │ │ │ │ ├── extension.png │ │ │ │ ├── canvas_typed.png │ │ │ │ ├── canvas_variant.png │ │ │ │ ├── object_controller.png │ │ │ │ ├── qtpropertybrowser.png │ │ │ │ ├── qtbuttonpropertybrowser.png │ │ │ │ ├── qttreepropertybrowser.png │ │ │ │ ├── qtgroupboxpropertybrowser.png │ │ │ │ └── qtpropertybrowser-duplicate.png │ │ │ └── html │ │ │ │ ├── images │ │ │ │ ├── demo.png │ │ │ │ ├── qt-logo.png │ │ │ │ ├── simple.png │ │ │ │ ├── decoration.png │ │ │ │ ├── extension.png │ │ │ │ ├── canvas_typed.png │ │ │ │ ├── canvas_variant.png │ │ │ │ ├── object_controller.png │ │ │ │ ├── qtpropertybrowser.png │ │ │ │ ├── qtbuttonpropertybrowser.png │ │ │ │ ├── qttreepropertybrowser.png │ │ │ │ ├── qtgroupboxpropertybrowser.png │ │ │ │ └── qtpropertybrowser-duplicate.png │ │ │ │ ├── qtpropertybrowser-example-simple.html │ │ │ │ └── qtpropertybrowser-example-extension.html │ │ ├── examples │ │ │ ├── demo │ │ │ │ ├── images │ │ │ │ │ ├── up.png │ │ │ │ │ ├── down.png │ │ │ │ │ ├── left.png │ │ │ │ │ └── right.png │ │ │ │ ├── demo.pro │ │ │ │ └── demo.qrc │ │ │ ├── simple │ │ │ │ └── simple.pro │ │ │ ├── decoration │ │ │ │ └── decoration.pro │ │ │ ├── extension │ │ │ │ └── extension.pro │ │ │ ├── canvas_typed │ │ │ │ └── canvas_typed.pro │ │ │ ├── object_controller │ │ │ │ └── object_controller.pro │ │ │ ├── canvas_variant │ │ │ │ └── canvas_variant.pro │ │ │ └── examples.pro │ │ ├── qtpropertybrowser.pro │ │ ├── common.pri │ │ ├── buildlib │ │ │ └── buildlib.pro │ │ └── configure │ ├── .gitignore │ ├── libRSDK │ │ ├── RSDKLegacy.hpp │ │ ├── utils │ │ │ ├── palette.hpp │ │ │ ├── palette.cpp │ │ │ ├── formathelpers │ │ │ │ ├── chunks.hpp │ │ │ │ ├── stageconfig.hpp │ │ │ │ └── scene.hpp │ │ │ └── colour.hpp │ │ ├── RSDKv2.hpp │ │ ├── RSDKv4.hpp │ │ ├── RSDKv1.hpp │ │ ├── RSDKv3.hpp │ │ ├── RSDKv5.hpp │ │ ├── io │ │ │ ├── writer.cpp │ │ │ └── reader.cpp │ │ ├── formats │ │ │ ├── RSDKv2 │ │ │ │ ├── videov2.hpp │ │ │ │ ├── stageconfigv2.hpp │ │ │ │ ├── gfxv2.hpp │ │ │ │ ├── stageconfigv2.cpp │ │ │ │ ├── videov2.cpp │ │ │ │ └── datapackv2.hpp │ │ │ ├── RSDKv3 │ │ │ │ ├── videov3.hpp │ │ │ │ ├── gfxv3.hpp │ │ │ │ ├── animationv3.cpp │ │ │ │ ├── stageconfigv3.hpp │ │ │ │ ├── arccontainerv3.hpp │ │ │ │ ├── savefilev3.hpp │ │ │ │ ├── bytecodev3.hpp │ │ │ │ ├── configv3.hpp │ │ │ │ ├── videov3.cpp │ │ │ │ └── stageconfigv3.cpp │ │ │ ├── RSDKv5 │ │ │ │ ├── savefilev5.hpp │ │ │ │ ├── stageconfigv5.cpp │ │ │ │ ├── stamps.hpp │ │ │ │ ├── stamps.cpp │ │ │ │ ├── staticobjectv5.hpp │ │ │ │ └── animationv5.cpp │ │ │ ├── RSDKv1 │ │ │ │ ├── stageconfigv1.hpp │ │ │ │ ├── gfxv1.hpp │ │ │ │ └── datapackv1.hpp │ │ │ └── RSDKv4 │ │ │ │ ├── savefilev4.hpp │ │ │ │ ├── animationv4.cpp │ │ │ │ ├── bytecodev4.hpp │ │ │ │ └── stageconfigv4.hpp │ │ └── libRSDK.hpp │ ├── imageviewer │ │ ├── src │ │ │ ├── icons │ │ │ │ ├── image-selection.png │ │ │ │ ├── zoom-fit-best.png │ │ │ │ └── zoom-original.png │ │ │ ├── image-viewer.qrc │ │ │ ├── CMakeLists.txt │ │ │ └── image-viewer-global.h │ │ ├── imageviewer.pri │ │ └── LICENSE │ ├── phantom │ │ ├── phantom.pri │ │ └── phantomtweak.h │ └── README.md ├── icons │ ├── mac.icns │ ├── win.ico │ ├── missing.png │ ├── missing2.png │ ├── missingV5.png │ ├── player_v1.png │ ├── ic_arrow_left_48px.svg │ ├── ic_arrow_right_48px.svg │ ├── ic_stop_48px.svg │ ├── ic_play_arrow_48px.svg │ ├── ic_skip_previous_48px.svg │ ├── ic_skip_next_48px.svg │ ├── ic_horizontal_split_48px.svg │ ├── ic_navigate_before_48px.svg │ ├── ic_navigate_next_48px.svg │ ├── ic_arrow_upward_48px.svg │ ├── ic_first_page_48px.svg │ ├── ic_last_page_48px.svg │ ├── ic_add_circle_48px.svg │ ├── ic_arrow_downward_48px.svg │ ├── ic_category_48px.svg │ ├── ic_import_48px.svg │ ├── ic_export_48px.svg │ ├── ic_info_48px.svg │ ├── ic_image_48px.svg │ ├── ic_apps_48px.svg │ ├── ic_copy_48px.svg │ ├── ic_redo_48px.svg │ ├── ic_save_48px.svg │ ├── ic_undo_48px.svg │ ├── ic_cancel_48px.svg │ ├── ic_mode_edit_48px.svg │ ├── ic_approval_48px.svg │ ├── ic_paste_48px.svg │ ├── ic_grid_48px.svg │ ├── ic_help_48px.svg │ ├── ic_highlight_alt_48px.svg │ ├── ic_pan_tool_48px.svg │ ├── ic_preview_48px.svg │ ├── ic_view_in_ar_48px.svg │ └── ic_eraser_48px.svg ├── fonts │ ├── CONSOLA.TTF │ ├── CONSOLAB.TTF │ ├── Consolas.ttf │ └── consolaz.ttf ├── resources │ └── splash.png ├── shaders │ ├── fb │ │ ├── final.frag │ │ ├── passthrough.vert │ │ └── passthrough.frag │ ├── pre │ │ ├── tile.frag │ │ ├── circle.frag │ │ ├── place.frag │ │ └── default.vert │ └── 3d │ │ ├── default.frag │ │ └── default.vert ├── tools │ ├── animationeditor │ │ ├── focuslabel.h │ │ └── animsheetselector.hpp │ ├── sceneproperties │ │ ├── confirmgamelink.hpp │ │ ├── copyplane.hpp │ │ ├── syncgcdetails.hpp │ │ ├── gotopos.hpp │ │ ├── createscene.hpp │ │ ├── scenelayerproperties.hpp │ │ ├── scenescrollproperties.hpp │ │ ├── scenescrollpropertiesv5.hpp │ │ ├── scenelayerpropertiesv5.hpp │ │ ├── objectselector.hpp │ │ ├── scenelayershift.hpp │ │ ├── syncgcdetails.cpp │ │ ├── sceneobjectproperties.ui │ │ ├── scenestamppropertiesv5.hpp │ │ ├── sceneobjectpropertiesv5.ui │ │ ├── confirmgamelink.cpp │ │ ├── copyplane.cpp │ │ ├── sceneobjectpropertiesv5.hpp │ │ ├── stageconfigeditorv1.hpp │ │ ├── gotopos.cpp │ │ ├── objectselector.ui │ │ ├── sceneobjectproperties.hpp │ │ ├── stageconfigeditorv2.hpp │ │ ├── stageconfigeditorv3.hpp │ │ ├── stageconfigeditorv4.hpp │ │ ├── tilereplaceoptions.hpp │ │ ├── stageconfigeditorv5.hpp │ │ ├── sceneproperties.hpp │ │ └── chunkreplaceoptions.hpp │ ├── rsvtool.hpp │ ├── gfxtool.hpp │ ├── userdbmanager.hpp │ ├── scriptcompiler.hpp │ ├── gamelink │ │ ├── gamematrix.hpp │ │ └── gamestorage.hpp │ ├── paletteeditor │ │ ├── colourdialog.hpp │ │ └── paletteimport.hpp │ ├── rsdkunpacker.hpp │ ├── userdbmanager.ui │ ├── gameconfigeditorv2.hpp │ ├── gameconfigeditorv3.hpp │ ├── gameconfigeditorv4.hpp │ └── compiler │ │ └── compilerv1.hpp ├── aboutwindow.hpp ├── gamemanager.hpp ├── splashscreen.hpp ├── aboutwindow.cpp ├── splashscreen.cpp ├── versiongen.py └── .clang-format ├── header.png ├── .gitignore └── .github ├── ISSUE_TEMPLATE ├── config.yml └── feature_request.yml └── workflows └── build.yml /RetroEDv2/utils/shaders.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/qtgifimage.pro: -------------------------------------------------------------------------------- 1 | load(qt_parts) 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | *.pro.user 3 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/HueSlider: -------------------------------------------------------------------------------- 1 | #include "hue_slider.hpp" 2 | -------------------------------------------------------------------------------- /header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/header.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorDialog: -------------------------------------------------------------------------------- 1 | #include "color_dialog.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorPreview: -------------------------------------------------------------------------------- 1 | #include "color_preview.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorWheel: -------------------------------------------------------------------------------- 1 | #include "color_wheel.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorDelegate: -------------------------------------------------------------------------------- 1 | #include "color_delegate.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorSelector: -------------------------------------------------------------------------------- 1 | #include "color_selector.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/GradientEditor: -------------------------------------------------------------------------------- 1 | #include "gradient_editor.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/GradientSlider: -------------------------------------------------------------------------------- 1 | #include "gradient_slider.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/tests/tests.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += auto 3 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtBrowserItem: -------------------------------------------------------------------------------- 1 | #include "qtpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtProperty: -------------------------------------------------------------------------------- 1 | #include "qtpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtSliderFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/ColorListWidget: -------------------------------------------------------------------------------- 1 | #include "color_list_widget.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/src.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | 3 | SUBDIRS = gifimage 4 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtCharEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtCheckBoxFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtColorEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDateEditFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtEnumEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtFontEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtLineEditFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtScrollBarFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtSpinBoxFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtTimeEditFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtVariantProperty: -------------------------------------------------------------------------------- 1 | #include "qtvariantproperty.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/AbstractWidgetList: -------------------------------------------------------------------------------- 1 | #include "abstract_widget_list.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/BoundColorSelector: -------------------------------------------------------------------------------- 1 | #include "bound_color_selector.hpp" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/.qmake.conf: -------------------------------------------------------------------------------- 1 | load(qt_build_config) 2 | 3 | MODULE_VERSION = 0.1.0 4 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtBoolPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtCharPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtColorPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtCursorEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtCursorPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDatePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDateTimeEditFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDoublePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDoubleSpinBoxFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtEnumPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtFlagPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtFontPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtGroupPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtIntPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtLocalePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtPointFPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtPointPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtRectFPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtRectPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtSizeFPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtSizePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtStringPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtTimePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtVariantEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qtvariantproperty.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/icons/mac.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/mac.icns -------------------------------------------------------------------------------- /RetroEDv2/icons/win.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/win.ico -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/examples.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = gifimage 3 | 4 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/tests/auto/auto.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE=subdirs 2 | SUBDIRS= \ 3 | qgifimage 4 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtAbstractEditorFactoryBase: -------------------------------------------------------------------------------- 1 | #include "qtpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtAbstractPropertyBrowser: -------------------------------------------------------------------------------- 1 | #include "qtpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtAbstractPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtDateTimePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtKeySequenceEditorFactory: -------------------------------------------------------------------------------- 1 | #include "qteditorfactory.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtKeySequencePropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtSizePolicyPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtpropertymanager.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtTreePropertyBrowser: -------------------------------------------------------------------------------- 1 | #include "qttreepropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtVariantPropertyManager: -------------------------------------------------------------------------------- 1 | #include "qtvariantproperty.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtButtonPropertyBrowser: -------------------------------------------------------------------------------- 1 | #include "qtbuttonpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/QtGroupBoxPropertyBrowser: -------------------------------------------------------------------------------- 1 | #include "qtgroupboxpropertybrowser.h" 2 | -------------------------------------------------------------------------------- /RetroEDv2/fonts/CONSOLA.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/fonts/CONSOLA.TTF -------------------------------------------------------------------------------- /RetroEDv2/fonts/CONSOLAB.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/fonts/CONSOLAB.TTF -------------------------------------------------------------------------------- /RetroEDv2/fonts/Consolas.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/fonts/Consolas.ttf -------------------------------------------------------------------------------- /RetroEDv2/fonts/consolaz.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/fonts/consolaz.ttf -------------------------------------------------------------------------------- /RetroEDv2/icons/missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/missing.png -------------------------------------------------------------------------------- /RetroEDv2/icons/missing2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/missing2.png -------------------------------------------------------------------------------- /RetroEDv2/icons/missingV5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/missingV5.png -------------------------------------------------------------------------------- /RetroEDv2/icons/player_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/icons/player_v1.png -------------------------------------------------------------------------------- /RetroEDv2/resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/resources/splash.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/doc/snippets/doc_src_qtgifimage.pro: -------------------------------------------------------------------------------- 1 | #! [1] 2 | QT += gifimage 3 | #! [1] 4 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/.gitignore: -------------------------------------------------------------------------------- 1 | !* 2 | !.gitignore 3 | !README.md 4 | 5 | !libRSDK/* 6 | !imageviewer/* 7 | !phantom/* 8 | !qtcolorwidgets/* -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/gifimage.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = \ 3 | extractFrames \ 4 | creategif 5 | 6 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKLegacy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "RSDKv1.hpp" 4 | #include "RSDKv2.hpp" 5 | #include "RSDKv3.hpp" 6 | #include "RSDKv4.hpp" -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/demo.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/sync.profile: -------------------------------------------------------------------------------- 1 | %modules = ( 2 | "QtGifImage" => "$basedir/src/gifimage", 3 | ); 4 | 5 | %dependencies = ( 6 | "qtbase" => "", 7 | ); 8 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/tests/auto/qgifimage/test.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtGifImage/tests/auto/qgifimage/test.gif -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qt-logo.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/simple.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/icons/image-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/imageviewer/src/icons/image-selection.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/icons/zoom-fit-best.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/imageviewer/src/icons/zoom-fit-best.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/icons/zoom-original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/imageviewer/src/icons/zoom-original.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/demo.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/decoration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/decoration.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/extension.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/doc/snippets/doc_src_qtgifimage.cpp: -------------------------------------------------------------------------------- 1 | 2 | //! [0] 3 | #include 4 | //! [0] 5 | 6 | //! [1] 7 | #include 8 | //! [1] 9 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qt-logo.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/simple.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/canvas_typed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/canvas_typed.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/up.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-arrow.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-busy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-busy.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-cross.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-hand.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-hsplit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-hsplit.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-ibeam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-ibeam.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeb.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizef.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeh.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizev.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-vsplit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-vsplit.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-wait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-wait.png -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_arrow_left_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/decoration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/decoration.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/extension.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/canvas_variant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/canvas_variant.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/down.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/left.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/images/right.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/qtpropertybrowser.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE=subdirs 2 | CONFIG += ordered 3 | include(common.pri) 4 | qtpropertybrowser-uselib:SUBDIRS=buildlib 5 | SUBDIRS+=examples 6 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-openhand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-openhand.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-sizeall.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-uparrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-uparrow.png -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_arrow_right_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/extractFrames/test.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtGifImage/examples/gifimage/extractFrames/test.gif -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/canvas_typed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/canvas_typed.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/object_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/object_controller.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-closedhand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-closedhand.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-forbidden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-forbidden.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-whatsthis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/src/images/cursor-whatsthis.png -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_stop_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/canvas_variant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/canvas_variant.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/resources/QtColorWidgets/alphaback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/qtcolorwidgets/resources/QtColorWidgets/alphaback.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/resources/QtColorWidgets/color_widgets.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | alphaback.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_play_arrow_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/fb/final.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | in vec2 ex_UV; 3 | out vec4 out_color; 4 | 5 | uniform sampler2D tex; 6 | 7 | void main() { 8 | out_color = vec4(texture(tex, ex_UV).rgb, 1.0); 9 | } -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/object_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/object_controller.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtbuttonpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtbuttonpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qttreepropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qttreepropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtgroupboxpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtgroupboxpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/simple/simple.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | SOURCES += main.cpp 8 | 9 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/creategif/doc/images/demo1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtGifImage/examples/gifimage/creategif/doc/images/demo1.gif -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtbuttonpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtbuttonpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qttreepropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qttreepropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtpropertybrowser-duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/images/qtpropertybrowser-duplicate.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtgroupboxpropertybrowser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtgroupboxpropertybrowser.png -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/decoration/decoration.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | SOURCES += main.cpp 8 | 9 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/extension/extension.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | SOURCES += main.cpp 8 | 9 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_skip_previous_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtpropertybrowser-duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSDKModding/RetroED/HEAD/RetroEDv2/dependencies/QtPropertyBrowser/doc/html/images/qtpropertybrowser-duplicate.png -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_skip_next_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/demo.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | SOURCES += main.cpp 8 | RESOURCES += demo.qrc 9 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_horizontal_split_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_navigate_before_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_navigate_next_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Bb]uild*/ 2 | .vscode 3 | version*.hpp 4 | 5 | #OSX files 6 | *.DS_Store 7 | .DS_Store 8 | *.xactivitylog 9 | *.dia 10 | *.xbuild 11 | *.db 12 | *.plist 13 | *.idx 14 | *.pcm 15 | *.timestamp 16 | *.xcbkptlist 17 | *.pro.user 18 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_arrow_upward_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_first_page_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_last_page_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_add_circle_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_arrow_downward_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Retro Engine Modding Server 4 | url: https://dc.railgun.works/retroengine 5 | about: If you have any questions about RetroED or want help with modding, ask here. 6 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_category_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_import_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/image-viewer.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/zoom-fit-best.png 4 | icons/zoom-original.png 5 | icons/image-selection.png 6 | 7 | 8 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/phantom/phantom.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | HEADERS += \ 4 | $$PWD/phantomcolor.h \ 5 | $$PWD/phantomstyle.h \ 6 | $$PWD/phantomtweak.h 7 | 8 | SOURCES += \ 9 | $$PWD/phantomcolor.cpp \ 10 | $$PWD/phantomstyle.cpp 11 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_export_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_info_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/extractFrames/extractFrames.pro: -------------------------------------------------------------------------------- 1 | QT += gifimage 2 | 3 | TARGET = extractFrames 4 | CONFIG += console 5 | CONFIG -= app_bundle 6 | 7 | TEMPLATE = app 8 | 9 | SOURCES += main.cpp 10 | 11 | DEFINES += SRCDIR=\\\"$$PWD/\\\" 12 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/doc/src/examples.qdoc: -------------------------------------------------------------------------------- 1 | /*! 2 | \group qtgifimage-examples 3 | \title Qt GifImage Examples 4 | \brief Examples for the Qt GifImage module 5 | \ingroup all-examples 6 | 7 | Qt GifImage comes with the following examples: 8 | */ 9 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/imageviewer.pri: -------------------------------------------------------------------------------- 1 | QT += core widgets gui 2 | 3 | INCLUDEPATH += $$PWD 4 | 5 | HEADERS += \ 6 | $$PWD/src/image-viewer.h 7 | 8 | SOURCES += \ 9 | $$PWD/src/image-viewer.cpp 10 | 11 | RESOURCES += \ 12 | $$PWD/src/image-viewer.qrc 13 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/canvas_typed/canvas_typed.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | HEADERS += qtcanvas.h mainwindow.h 8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp 9 | 10 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/object_controller/object_controller.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | HEADERS += objectcontroller.h 8 | SOURCES += objectcontroller.cpp main.cpp 9 | 10 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/canvas_variant/canvas_variant.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | DEPENDPATH += . 3 | INCLUDEPATH += . 4 | 5 | include(../../src/qtpropertybrowser.pri) 6 | # Input 7 | HEADERS += qtcanvas.h mainwindow.h 8 | SOURCES += qtcanvas.cpp mainwindow.cpp main.cpp 9 | 10 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_image_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/demo/demo.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | images/up.png 4 | images/down.png 5 | images/right.png 6 | images/left.png 7 | 8 | 9 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_apps_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/utils/retroedutils.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void PrintLog(QString msg); 4 | 5 | namespace Utils 6 | { 7 | 8 | void setAttrRecur(QDomElement &&elem, QString strtagname, QString strattr, QString strattrval); 9 | QIcon getColoredIcon(QString filename); 10 | 11 | } // namespace Utils 12 | 13 | 14 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_copy_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_redo_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_save_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_undo_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/tests/auto/qgifimage/qgifimage.pro: -------------------------------------------------------------------------------- 1 | QT += testlib gifimage 2 | 3 | TARGET = tst_qgifimagetest 4 | CONFIG += console 5 | CONFIG -= app_bundle 6 | CONFIG += testcase 7 | 8 | TEMPLATE = app 9 | 10 | 11 | SOURCES += tst_qgifimagetest.cpp 12 | DEFINES += SRCDIR=\\\"$$PWD/\\\" 13 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_cancel_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_mode_edit_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/3rdParty/giflib.pri: -------------------------------------------------------------------------------- 1 | 2 | INCLUDEPATH += $$PWD/giflib 3 | 4 | SOURCES += $$PWD/giflib/dgif_lib.c \ 5 | $$PWD/giflib/egif_lib.c \ 6 | $$PWD/giflib/gif_err.c \ 7 | $$PWD/giflib/gif_hash.c \ 8 | $$PWD/giflib/gifalloc.c \ 9 | $$PWD/giflib/quantize.c 10 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_approval_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/fb/passthrough.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | layout(location = 0) in vec2 in_pos; 3 | layout(location = 1) in vec2 in_UV; 4 | out vec2 ex_UV; 5 | 6 | uniform mat4 view; 7 | uniform mat4 projection; 8 | 9 | void main() 10 | { 11 | gl_Position = view * projection * vec4(in_pos, 0.0, 1.0); 12 | ex_UV = in_UV; 13 | } -------------------------------------------------------------------------------- /RetroEDv2/utils/workingdirmanager.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class WorkingDirManager 4 | { 5 | public: 6 | WorkingDirManager() {} 7 | 8 | static bool FileExists(QString dataPath, QString fullPath); 9 | static QString GetPath(QString dataPath, QString fullPath); 10 | 11 | static QString workingDir; 12 | }; 13 | 14 | 15 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/palette.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Palette 4 | { 5 | public: 6 | Palette() {} 7 | Palette(Reader &reader, int clrCnt = -1) { read(reader, clrCnt); } 8 | 9 | void read(Reader &reader, int clrCnt = -1); 10 | void write(Writer &writer); 11 | 12 | QList colors; 13 | }; 14 | 15 | 16 | -------------------------------------------------------------------------------- /RetroEDv2/tools/animationeditor/focuslabel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | //ughh 7 | 8 | class FocusLabel : public QLabel 9 | { 10 | using QLabel::QLabel; 11 | signals: 12 | void mousePressEvent(QMouseEvent* e) { 13 | setFocus(); 14 | QLabel::mousePressEvent(e); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /RetroEDv2/aboutwindow.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui { 6 | class AboutWindow; 7 | } 8 | 9 | class AboutWindow : public QDialog 10 | { 11 | Q_OBJECT 12 | 13 | public: 14 | explicit AboutWindow(QWidget *parent = nullptr); 15 | ~AboutWindow(); 16 | 17 | private: 18 | Ui::AboutWindow *ui; 19 | }; 20 | 21 | 22 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/extractFrames/doc/src/extractframes.qdoc: -------------------------------------------------------------------------------- 1 | /*! 2 | \example extractframes 3 | \title Extract Frames Example 4 | \brief This is a simplest example. 5 | \ingroup qtgifimage-examples 6 | 7 | This example demonstrates how to extract QImage from .gif file. 8 | So lets see how this is achieved. 9 | */ 10 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_paste_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_grid_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/qtgifimage.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | QT += core gui 5 | !build_gifimage_lib:DEFINES += GIFIMAGE_NO_LIB 6 | 7 | include($$PWD/../3rdParty/giflib.pri) 8 | 9 | HEADERS += \ 10 | $$PWD/qgifglobal.h \ 11 | $$PWD/qgifimage.h \ 12 | $$PWD/qgifimage_p.h 13 | 14 | SOURCES += \ 15 | $$PWD/qgifimage.cpp 16 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/examples/examples.pro: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # Automatically generated by qmake (2.00a) Wed Jun 15 15:53:34 2005 3 | ###################################################################### 4 | 5 | TEMPLATE = subdirs 6 | SUBDIRS = simple canvas_variant canvas_typed demo decoration extension object_controller 7 | 8 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/confirmgamelink.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class ConfirmGameLink; 8 | } 9 | 10 | class ConfirmGameLink : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit ConfirmGameLink(QWidget *parent = nullptr); 16 | ~ConfirmGameLink(); 17 | 18 | private: 19 | Ui::ConfirmGameLink *ui; 20 | }; 21 | 22 | 23 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/common.pri: -------------------------------------------------------------------------------- 1 | exists(config.pri):infile(config.pri, SOLUTIONS_LIBRARY, yes): CONFIG += qtpropertybrowser-uselib 2 | TEMPLATE += fakelib 3 | QTPROPERTYBROWSER_LIBNAME = $$qtLibraryTarget(QtSolutions_PropertyBrowser-head) 4 | TEMPLATE -= fakelib 5 | QTPROPERTYBROWSER_LIBDIR = $$PWD/lib 6 | unix:qtpropertybrowser-uselib:!qtpropertybrowser-buildlib:QMAKE_RPATHDIR += $$QTPROPERTYBROWSER_LIBDIR 7 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/palette.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | 3 | void Palette::read(Reader &reader, int clrCnt) 4 | { 5 | if (clrCnt < 0) 6 | clrCnt = reader.filesize / 3; 7 | 8 | colors.clear(); 9 | for (int c = 0; c < clrCnt; ++c) colors.append(Color(reader)); 10 | } 11 | 12 | void Palette::write(Writer &writer) 13 | { 14 | for (Color &c : colors) c.write(writer); 15 | } 16 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/gifimage.pro: -------------------------------------------------------------------------------- 1 | TARGET = QtGifImage 2 | 3 | QMAKE_DOCS = $$PWD/doc/qtgifimage.qdocconf 4 | 5 | load(qt_module) 6 | 7 | CONFIG += build_gifimage_lib 8 | include(qtgifimage.pri) 9 | 10 | QMAKE_TARGET_COMPANY = "Debao Zhang" 11 | QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2013 Debao Zhang " 12 | QMAKE_TARGET_DESCRIPTION = ".gif file reader and wirter for Qt" 13 | 14 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/pre/tile.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | in vec2 ex_UV; 3 | in vec4 ex_color; 4 | out vec4 out_color; 5 | 6 | uniform sampler2DRect tiles; 7 | 8 | void main() 9 | { 10 | ivec3 placed = ivec3(texture(tiles, ex_UV).rgb * 255); 11 | int index = (placed.b >> 3) | ((placed.g >> 2) << 5) | ((placed.r >> 3) << 11); 12 | if (index == 0) 13 | discard; 14 | out_color = vec4(placed, 1.0); 15 | } -------------------------------------------------------------------------------- /RetroEDv2/tools/rsvtool.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class RSVTool; 8 | } 9 | 10 | class RSVTool : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit RSVTool(QWidget *parent = nullptr); 16 | ~RSVTool(); 17 | 18 | private: 19 | Ui::RSVTool *ui; 20 | 21 | QString rsvPath = ""; 22 | QString framesPath = ""; 23 | }; 24 | 25 | 26 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/QtColorWidgets.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} 3 | libdir=@CMAKE_INSTALL_LIBDIR@ 4 | includedir=${prefix}/include 5 | 6 | Name: QtColorWidgets 7 | Description: Color wheel widget and dialog for Qt 8 | Version: @QtColorWidgets_VERSION@ 9 | Libs: -L${libdir} -l@i_target_name@@i_target_output_suffix@ 10 | Cflags: -I${includedir}/@i_project_name@ -I${includedir} 11 | -------------------------------------------------------------------------------- /RetroEDv2/gamemanager.hpp: -------------------------------------------------------------------------------- 1 | #ifndef GAMEMANAGER_HPP 2 | #define GAMEMANAGER_HPP 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class GameManager; 8 | } 9 | 10 | class GameManager : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit GameManager(QWidget *parent = nullptr); 16 | ~GameManager(); 17 | 18 | private: 19 | Ui::GameManager *ui; 20 | }; 21 | 22 | #endif // GAMEMANAGER_HPP 23 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/pre/circle.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | in vec2 ex_UV; 3 | in vec4 ex_color; 4 | out vec4 out_color; 5 | 6 | uniform float innerRadius; 7 | uniform float outerRadius; 8 | 9 | void main() { 10 | float dist = sqrt(dot(ex_UV, ex_UV)); 11 | //out_color = vec4(dist, dot(pos, pos), 1.0, 1.0); 12 | if (dist >= outerRadius || dist <= innerRadius) discard; 13 | out_color = vec4(ex_color.rgb, 1.0); 14 | } -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_help_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/colorwidgets_global.hpp: -------------------------------------------------------------------------------- 1 | #ifndef QT_COLOR_WIDGETS_GLOBAL_H 2 | #define QT_COLOR_WIDGETS_GLOBAL_H 3 | 4 | #include 5 | 6 | #if defined(QTCOLORWIDGETS_STATICALLY_LINKED) 7 | # define QCP_EXPORT 8 | #elif defined(QTCOLORWIDGETS_LIBRARY) 9 | # define QCP_EXPORT Q_DECL_EXPORT 10 | #else 11 | # define QCP_EXPORT Q_DECL_IMPORT 12 | #endif 13 | 14 | #endif // QT_COLOR_WIDGETS_GLOBAL_H 15 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/pre/place.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | in vec2 ex_UV; 3 | in vec4 ex_color; 4 | out vec4 out_color; 5 | 6 | uniform sampler2D sprite; 7 | uniform vec3 transColor; 8 | 9 | uniform bool useColor; 10 | 11 | void main() 12 | { 13 | if (useColor) out_color = vec4(ex_color.rgb, 1.0); 14 | else if (transColor != texture(sprite, ex_UV).rgb) 15 | out_color = vec4(texture(sprite, ex_UV).rgb, 1.0); 16 | else discard; 17 | } -------------------------------------------------------------------------------- /RetroEDv2/tools/gfxtool.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class GFXTool; 8 | } 9 | 10 | class GFXTool : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit GFXTool(QWidget *parent = nullptr); 16 | ~GFXTool(); 17 | 18 | QString gfxPath = ""; 19 | QString imgPath = ""; 20 | 21 | byte type = 0; 22 | 23 | private: 24 | Ui::GFXTool *ui; 25 | }; 26 | 27 | 28 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/resources/QtColorWidgets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set (SOURCES 2 | alphaback.png 3 | color_widgets.qrc 4 | ) 5 | 6 | file(RELATIVE_PATH 7 | PREFIX 8 | ${PROJECT_SOURCE_DIR} 9 | ${CMAKE_CURRENT_LIST_DIR}) 10 | 11 | 12 | foreach (SOURCE IN LISTS SOURCES) 13 | target_sources (${TARGET_NAME} 14 | PRIVATE 15 | $) 16 | endforeach (SOURCE IN SOURCES) 17 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_highlight_alt_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/creategif/creategif.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2013-11-07T16:42:27 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += gifimage 8 | 9 | TARGET = creategif 10 | CONFIG += console 11 | CONFIG -= app_bundle 12 | 13 | TEMPLATE = app 14 | 15 | 16 | SOURCES += main.cpp 17 | DEFINES += SRCDIR=\\\"$$PWD/\\\" 18 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/copyplane.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class CopyPlane; 8 | } 9 | 10 | class CopyPlane : public QDialog 11 | { 12 | Q_OBJECT 13 | public: 14 | explicit CopyPlane(QWidget *parent = nullptr); 15 | ~CopyPlane(); 16 | 17 | void setupUI(); 18 | bool copyChunkPlane = false; 19 | bool copyTilePlanes = false; 20 | 21 | private: 22 | Ui::CopyPlane *ui; 23 | }; 24 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/syncgcdetails.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class SyncGCDetails; 8 | } 9 | 10 | class SyncGCDetails : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit SyncGCDetails(int scnObjCount = 0, QWidget *parent = nullptr); 16 | ~SyncGCDetails(); 17 | 18 | QSpinBox *oldObjCount = nullptr; 19 | 20 | private: 21 | Ui::SyncGCDetails *ui; 22 | }; 23 | 24 | 25 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/pre/default.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | layout(location = 0) in vec2 in_pos; 3 | layout(location = 1) in vec2 in_UV; 4 | layout(location = 2) in vec4 in_color; 5 | out vec2 ex_UV; 6 | out vec4 ex_color; 7 | 8 | uniform mat4 view; //set to identity for screen based 9 | uniform mat4 projection; 10 | 11 | void main() 12 | { 13 | gl_Position = view * projection * vec4(in_pos, 0.0, 1.0); 14 | ex_UV = in_UV; 15 | ex_color = in_color; 16 | } -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/gotopos.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class GoToPos; 8 | } 9 | 10 | class GoToPos : public QDialog 11 | { 12 | Q_OBJECT 13 | public: 14 | explicit GoToPos(int scnMaxX = 0, int scnMaxY = 0, QString selLayer = "None", QWidget *parent = nullptr); 15 | ~GoToPos(); 16 | 17 | void setupUI(); 18 | int posX = 0; 19 | int posY = 0; 20 | 21 | private: 22 | Ui::GoToPos *ui; 23 | }; 24 | -------------------------------------------------------------------------------- /RetroEDv2/splashscreen.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SPLASHSCREEN_H 2 | #define SPLASHSCREEN_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class SplashScreen : public QSplashScreen 10 | { 11 | Q_OBJECT 12 | public: 13 | SplashScreen(); 14 | void finish(QWidget* main); 15 | 16 | protected: 17 | void drawContents(QPainter* painter) override; 18 | 19 | private: 20 | QPixmap svg; 21 | }; 22 | 23 | #endif // SPLASHSCREEN_H 24 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(pal-image-viewer 2 | image-viewer.cpp 3 | image-viewer.h 4 | image-viewer.qrc 5 | ) 6 | 7 | target_include_directories(pal-image-viewer 8 | PUBLIC $ 9 | $ 10 | ) 11 | 12 | pal_set_lib_properties(pal-image-viewer) 13 | 14 | target_link_libraries(pal-image-viewer 15 | PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets 16 | ) 17 | 18 | add_library(Pal::ImageViewer ALIAS pal-image-viewer) 19 | 20 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/src/image-viewer-global.h: -------------------------------------------------------------------------------- 1 | #ifndef IMAGE_VIEWER_GLOBAL_H 2 | #define IMAGE_VIEWER_GLOBAL_H 3 | 4 | #include 5 | 6 | #ifdef IMAGE_VIEWER_SHARED_LIBRARY 7 | # ifdef IMAGE_VIEWER_BUILD_LIBRARY 8 | # define IMAGE_VIEWER_PUBLIC Q_DECL_EXPORT 9 | # else 10 | # define IMAGE_VIEWER_PUBLIC Q_DECL_IMPORT 11 | # endif 12 | # define IMAGE_VIEWER_LOCAL Q_DECL_HIDDEN 13 | #else 14 | # define IMAGE_VIEWER_PUBLIC 15 | # define IMAGE_VIEWER_LOCAL 16 | #endif 17 | 18 | #endif // IMAGE_VIEWER_GLOBAL_H 19 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/createscene.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class CreateScene; 8 | } 9 | 10 | class CreateScene : public QDialog 11 | { 12 | Q_OBJECT 13 | public: 14 | explicit CreateScene(QWidget *parent = nullptr); 15 | ~CreateScene(); 16 | 17 | void LoadSceneVer(QList list); 18 | 19 | int sceneVer = 0; 20 | bool loadGC = false; 21 | QString scenePath = ""; 22 | QString gcPath = ""; 23 | 24 | private: 25 | Ui::CreateScene *ui; 26 | }; 27 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenelayerproperties.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class SceneViewer; 6 | 7 | namespace Ui 8 | { 9 | class SceneLayerProperties; 10 | } 11 | 12 | class SceneLayerProperties : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit SceneLayerProperties(QWidget *parent = nullptr); 18 | ~SceneLayerProperties(); 19 | 20 | void setupUI(SceneViewer *viewer, byte layerID); 21 | void unsetUI(); 22 | 23 | private: 24 | Ui::SceneLayerProperties *ui; 25 | }; 26 | 27 | 28 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/buildlib/buildlib.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE=lib 2 | CONFIG += qt dll qtpropertybrowser-buildlib 3 | mac:CONFIG += absolute_library_soname 4 | win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all 5 | include(../src/qtpropertybrowser.pri) 6 | TARGET = $$QTPROPERTYBROWSER_LIBNAME 7 | DESTDIR = $$QTPROPERTYBROWSER_LIBDIR 8 | win32 { 9 | DLLDESTDIR = $$[QT_INSTALL_BINS] 10 | QMAKE_DISTCLEAN += $$[QT_INSTALL_BINS]\\$${QTPROPERTYBROWSER_LIBNAME}.dll 11 | } 12 | target.path = $$DESTDIR 13 | INSTALLS += target 14 | -------------------------------------------------------------------------------- /RetroEDv2/tools/userdbmanager.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class UserDBManager; 8 | } 9 | 10 | class UserDBManager : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit UserDBManager(QWidget *parent = nullptr); 16 | ~UserDBManager(); 17 | 18 | private: 19 | char *strptime(const char *s, const char *f, struct tm *tm); 20 | 21 | void ConvertDBToCSV(QString dbPath, QString csvPath); 22 | void ConvertCSVToDB(QString dbPath, QString csvPath); 23 | 24 | Ui::UserDBManager *ui; 25 | }; 26 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "libRSDK.hpp" 4 | 5 | #include "formats/RSDKv2/animationv2.hpp" 6 | #include "formats/RSDKv2/backgroundv2.hpp" 7 | #include "formats/RSDKv2/bytecodev2.hpp" 8 | #include "formats/RSDKv2/chunksv2.hpp" 9 | #include "formats/RSDKv2/datapackv2.hpp" 10 | #include "formats/RSDKv2/gameconfigv2.hpp" 11 | #include "formats/RSDKv2/gfxv2.hpp" 12 | #include "formats/RSDKv2/scenev2.hpp" 13 | #include "formats/RSDKv2/stageconfigv2.hpp" 14 | #include "formats/RSDKv2/tileconfigv2.hpp" 15 | #include "formats/RSDKv2/videov2.hpp" -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKv4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "libRSDK.hpp" 4 | 5 | #include "formats/RSDKv4/animationv4.hpp" 6 | #include "formats/RSDKv4/backgroundv4.hpp" 7 | #include "formats/RSDKv4/bytecodev4.hpp" 8 | #include "formats/RSDKv4/chunksv4.hpp" 9 | #include "formats/RSDKv4/datapackv4.hpp" 10 | #include "formats/RSDKv4/gameconfigv4.hpp" 11 | #include "formats/RSDKv4/modelv4.hpp" 12 | #include "formats/RSDKv4/savefilev4.hpp" 13 | #include "formats/RSDKv4/scenev4.hpp" 14 | #include "formats/RSDKv4/stageconfigv4.hpp" 15 | #include "formats/RSDKv4/tileconfigv4.hpp" 16 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenescrollproperties.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "sceneincludesv5.hpp" 6 | 7 | namespace Ui 8 | { 9 | class SceneScrollProperties; 10 | } 11 | 12 | class SceneScrollProperties : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit SceneScrollProperties(QWidget *parent = nullptr); 18 | ~SceneScrollProperties(); 19 | 20 | void setupUI(SceneHelpers::TileLayer::ScrollIndexInfo *info); 21 | void unsetUI(); 22 | 23 | private: 24 | Ui::SceneScrollProperties *ui; 25 | }; 26 | 27 | 28 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_pan_tool_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenescrollpropertiesv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "sceneincludesv5.hpp" 6 | 7 | namespace Ui 8 | { 9 | class SceneScrollPropertiesv5; 10 | } 11 | 12 | class SceneScrollPropertiesv5 : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit SceneScrollPropertiesv5(QWidget *parent = nullptr); 18 | ~SceneScrollPropertiesv5(); 19 | 20 | void setupUI(SceneHelpers::TileLayer::ScrollIndexInfo *info); 21 | void unsetUI(); 22 | 23 | private: 24 | Ui::SceneScrollPropertiesv5 *ui; 25 | }; 26 | 27 | 28 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/extractFrames/main.cpp: -------------------------------------------------------------------------------- 1 | #include "qgifimage.h" 2 | #include 3 | 4 | int main() 5 | { 6 | QGifImage gif(SRCDIR"test.gif"); 7 | 8 | for (int i=0; isetupUi(this); 8 | 9 | // remove question mark from the title bar & disable resizing 10 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 11 | setFixedSize(QSize(width(), height())); 12 | 13 | ui->versionLabel->setText(RE_VERSION); 14 | #if RE_BUILD_TYPE != (2) 15 | ui->autobuildLabel->hide(); 16 | #endif 17 | } 18 | 19 | AboutWindow::~AboutWindow() { delete ui; } 20 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_preview_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "libRSDK.hpp" 4 | 5 | #include "formats/RSDKv1/animationv1.hpp" 6 | #include "formats/RSDKv1/backgroundv1.hpp" 7 | #include "formats/RSDKv1/characterlistv1.hpp" 8 | #include "formats/RSDKv1/chunksv1.hpp" 9 | #include "formats/RSDKv1/datapackv1.hpp" 10 | #include "formats/RSDKv1/gfxv1.hpp" 11 | #include "formats/RSDKv1/savefilev1.hpp" 12 | #include "formats/RSDKv1/scenev1.hpp" 13 | #include "formats/RSDKv1/scriptv1.hpp" 14 | #include "formats/RSDKv1/stageconfigv1.hpp" 15 | #include "formats/RSDKv1/tileconfigv1.hpp" 16 | #include "formats/RSDKv1/zonelistv1.hpp" -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_view_in_ar_48px.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /RetroEDv2/utils/workingdirmanager.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | 3 | QString WorkingDirManager::workingDir = ""; 4 | 5 | bool WorkingDirManager::FileExists(QString dataPath, QString fullPath) 6 | { 7 | if (QFile::exists(fullPath)) 8 | return true; 9 | else if (QFile::exists(workingDir + dataPath)) 10 | return true; 11 | return false; 12 | } 13 | 14 | QString WorkingDirManager::GetPath(QString dataPath, QString fullPath) 15 | { 16 | if (QFile::exists(fullPath)) 17 | return fullPath; 18 | else if (QFile::exists(workingDir + dataPath)) 19 | return workingDir + dataPath; 20 | return fullPath; 21 | } 22 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "libRSDK.hpp" 4 | 5 | #include "formats/RSDKv3/animationv3.hpp" 6 | #include "formats/RSDKv3/arccontainerv3.hpp" 7 | #include "formats/RSDKv3/backgroundv3.hpp" 8 | #include "formats/RSDKv3/bytecodev3.hpp" 9 | #include "formats/RSDKv3/chunksv3.hpp" 10 | #include "formats/RSDKv3/datapackv3.hpp" 11 | #include "formats/RSDKv3/gameconfigv3.hpp" 12 | #include "formats/RSDKv3/gfxv3.hpp" 13 | #include "formats/RSDKv3/savefilev3.hpp" 14 | #include "formats/RSDKv3/scenev3.hpp" 15 | #include "formats/RSDKv3/stageconfigv3.hpp" 16 | #include "formats/RSDKv3/tileconfigv3.hpp" 17 | #include "formats/RSDKv3/videov3.hpp" -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenelayerpropertiesv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | class SceneViewer; 8 | 9 | namespace Ui 10 | { 11 | class SceneLayerPropertiesv5; 12 | } 13 | 14 | class SceneLayerPropertiesv5 : public QWidget 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | explicit SceneLayerPropertiesv5(QWidget *parent = nullptr); 20 | ~SceneLayerPropertiesv5(); 21 | 22 | void setupUI(SceneViewer *viewer, byte lID); 23 | void unsetUI(); 24 | 25 | signals: 26 | void updateEditorLayer(QString name); 27 | 28 | private: 29 | Ui::SceneLayerPropertiesv5 *ui; 30 | }; 31 | 32 | 33 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/objectselector.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class ObjectSelectorv5; 8 | } 9 | 10 | class ObjectSelectorv5 : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit ObjectSelectorv5(QList list, QList objList, bool replace = false, 16 | QWidget *parent = nullptr); 17 | ~ObjectSelectorv5(); 18 | 19 | QList objIDList; 20 | QList objAddList; 21 | QString replacedObj = ""; 22 | 23 | private: 24 | Ui::ObjectSelectorv5 *ui; 25 | 26 | void filterObjectList(QString filter); 27 | }; 28 | 29 | 30 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/3d/default.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | in vec3 ex_norm; 4 | in vec4 ex_color; 5 | in vec2 ex_UV; 6 | in vec3 ex_fragP; 7 | out vec4 out_color; 8 | 9 | uniform bool useColor; 10 | uniform bool useNormals; 11 | uniform bool useTextures; 12 | 13 | uniform vec4 default_color; 14 | 15 | uniform sampler2D tex; 16 | 17 | void main() 18 | { 19 | vec3 color; 20 | if (useTextures) 21 | color = texture(tex, ex_UV).rgb; 22 | else if (useColor) 23 | color = ex_color.rgb; 24 | else 25 | color = default_color.xyz; 26 | 27 | // vec3 result = (ambient + diffuse) * color; 28 | vec3 result = color; 29 | out_color = vec4(result, 1.0); 30 | } -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenelayershift.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "includes.hpp" 5 | #include "sceneincludesv5.hpp" 6 | 7 | namespace Ui 8 | { 9 | class SceneLayerShift; 10 | } 11 | 12 | class SceneLayerShift : public QDialog 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit SceneLayerShift(SceneHelpers::TileLayer layer, byte shiftSize = 0, QWidget *parent = nullptr); 18 | ~SceneLayerShift(); 19 | 20 | void SetupUI(); 21 | int shiftX = 0; 22 | int shiftY = 0; 23 | int size = 0; 24 | 25 | bool keepDimensions = false; 26 | bool shiftEnt = false; 27 | 28 | private: 29 | Ui::SceneLayerShift *ui; 30 | }; 31 | 32 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/syncgcdetails.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | #include "ui_syncgcdetails.h" 3 | 4 | #include "syncgcdetails.hpp" 5 | 6 | SyncGCDetails::SyncGCDetails(int scnObjCount, QWidget *parent) 7 | : QDialog(parent), ui(new Ui::SyncGCDetails) 8 | { 9 | ui->setupUi(this); 10 | 11 | // remove question mark from the title bar & disable resizing 12 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 13 | setFixedSize(QSize(width(), height())); 14 | 15 | ui->oldObjCount->setValue(scnObjCount); 16 | 17 | oldObjCount = ui->oldObjCount; 18 | } 19 | 20 | SyncGCDetails::~SyncGCDetails() { delete ui; } 21 | 22 | #include "moc_syncgcdetails.cpp" 23 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/RSDKv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "libRSDK.hpp" 4 | 5 | #include "formats/RSDKv5/palettev5.hpp" 6 | #include "formats/RSDKv5/animationv5.hpp" 7 | #include "formats/RSDKv5/datapackv5.hpp" 8 | #include "formats/RSDKv5/gameconfigv5.hpp" 9 | #include "formats/RSDKv5/modelv5.hpp" 10 | #include "formats/RSDKv5/replayv5.hpp" 11 | #include "formats/RSDKv5/rsdkconfigv5.hpp" 12 | #include "formats/RSDKv5/savefilev5.hpp" 13 | #include "formats/RSDKv5/scenev5.hpp" 14 | #include "formats/RSDKv5/stageconfigv5.hpp" 15 | #include "formats/RSDKv5/stamps.hpp" 16 | #include "formats/RSDKv5/staticobjectv5.hpp" 17 | #include "formats/RSDKv5/tileconfigv5.hpp" 18 | #include "formats/RSDKv5/userdbv5.hpp" -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/io/writer.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | Writer::Writer(QString filename) 4 | : file(new QSaveFile(filename)), stream(new QDataStream(file.data())) 5 | { 6 | filePath = filename; 7 | initialised = file->open(QIODevice::WriteOnly); 8 | } 9 | 10 | Writer::Writer(QDataStream *customDataStream) : stream(customDataStream) 11 | { 12 | initialised = true; 13 | filePath = "Memory"; 14 | } 15 | 16 | Writer::Writer(QByteArray *byteArray, QIODevice::OpenModeFlag mode) 17 | { 18 | filePath = "Memory"; 19 | QBuffer *buffer = new QBuffer(byteArray); 20 | initialised = buffer->open(mode); 21 | stream.reset(new QDataStream(buffer)); 22 | } 23 | -------------------------------------------------------------------------------- /RetroEDv2/icons/ic_eraser_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 17 | 18 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/sceneobjectproperties.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | SceneObjectProperties 4 | 5 | 6 | 7 | 0 8 | 0 9 | 290 10 | 330 11 | 12 | 13 | 14 | 15 | 290 16 | 16777215 17 | 18 | 19 | 20 | Form 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/scenestamppropertiesv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #include 7 | 8 | class SceneViewer; 9 | 10 | namespace Ui 11 | { 12 | class SceneStampPropertiesv5; 13 | } 14 | 15 | class SceneStampPropertiesv5 : public QWidget 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | explicit SceneStampPropertiesv5(QWidget *parent = nullptr); 21 | ~SceneStampPropertiesv5(); 22 | 23 | void setupUI(RSDKv5::Stamps *stamps, int id); 24 | void unsetUI(); 25 | 26 | signals: 27 | void stampNameChanged(QString name); 28 | 29 | private: 30 | Ui::SceneStampPropertiesv5 *ui; 31 | 32 | RSDKv5::Stamps *stampsPtr = nullptr; 33 | }; 34 | 35 | 36 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/sceneobjectpropertiesv5.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | SceneObjectPropertiesv5 4 | 5 | 6 | 7 | 0 8 | 0 9 | 290 10 | 329 11 | 12 | 13 | 14 | 15 | 290 16 | 16777215 17 | 18 | 19 | 20 | Form 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /RetroEDv2/tools/scriptcompiler.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "tools/compiler/compilerv1.hpp" 6 | #include "tools/compiler/compilerv2.hpp" 7 | #include "tools/compiler/compilerv3.hpp" 8 | #include "tools/compiler/compilerv4.hpp" 9 | 10 | namespace Ui 11 | { 12 | class ScriptCompiler; 13 | } 14 | 15 | class ScriptCompiler : public QWidget 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | explicit ScriptCompiler(QWidget *parent = nullptr); 21 | ~ScriptCompiler(); 22 | 23 | private: 24 | Ui::ScriptCompiler *ui; 25 | 26 | Compilerv1 compilerv1; 27 | Compilerv2 compilerv2; 28 | Compilerv3 compilerv3; 29 | Compilerv4 compilerv4; 30 | 31 | byte engineType = ENGINE_v3; 32 | }; 33 | 34 | 35 | -------------------------------------------------------------------------------- /RetroEDv2/tools/gamelink/gamematrix.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace FunctionTable 4 | { 5 | void SetIdentityMatrix(Matrix *matrix); 6 | void MatrixMultiply(Matrix *dest, Matrix *matrixA, Matrix *matrixB); 7 | void MatrixTranslateXYZ(Matrix *Matrix, int x, int y, int z, bool32 setIdentity); 8 | void MatrixScaleXYZ(Matrix *matrix, int scaleX, int scaleY, int scaleZ); 9 | void MatrixRotateX(Matrix *matrix, short angle); 10 | void MatrixRotateY(Matrix *matrix, short angle); 11 | void MatrixRotateZ(Matrix *matrix, short angle); 12 | void MatrixRotateXYZ(Matrix *matrix, short rotationX, short rotationY, short rotationZ); 13 | void MatrixInverse(Matrix *dest, Matrix *matrix); 14 | void MatrixCopy(Matrix *matDst, Matrix *matSrc); 15 | } // namespace FunctionTable 16 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/confirmgamelink.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | #include "ui_confirmgamelink.h" 3 | 4 | #include "confirmgamelink.hpp" 5 | 6 | ConfirmGameLink::ConfirmGameLink(QWidget *parent) : QDialog(parent), ui(new Ui::ConfirmGameLink) 7 | { 8 | ui->setupUi(this); 9 | 10 | // remove question mark from the title bar & disable resizing 11 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 12 | setFixedSize(QSize(width(), height())); 13 | 14 | connect(ui->buttonBox, &QDialogButtonBox::accepted, [this] { this->accept(); }); 15 | connect(ui->buttonBox, &QDialogButtonBox::rejected, [this] { this->reject(); }); 16 | } 17 | 18 | ConfirmGameLink::~ConfirmGameLink() { delete ui; } 19 | 20 | #include "moc_confirmgamelink.cpp" 21 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/README.md: -------------------------------------------------------------------------------- 1 | # DEPENDENCIES SETUP 2 | 3 | ## Dependencies: 4 | 5 | * imageviewer: 6 | * Originally from [here](https://github.com/palacaze/image-viewer/), but custom-edited to allow for bounding box selection 7 | 8 | * phantom: 9 | * Originally from [here](https://github.com/randrew/phantomstyle/), but custom-edited to work with Qt5 10 | 11 | * QtColorWidgets: 12 | * Originally from [here](https://gitlab.com/mattbas/Qt-Color-Widgets/), but custom-edited to work with the workflow 13 | 14 | * QtGifImage: 15 | * Download it from [here](https://github.com/dbzhang800/QtGifImage/) and unzip it in "./QtGifImage/" 16 | 17 | * QtPropertyBrowser: 18 | * Download it from [here](https://github.com/qtproject/qt-solutions/tree/master/qtpropertybrowser/) and unzip it in "./QtPropertyBrowser/" -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/configure: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x$1" != "x" -a "x$1" != "x-library" ]; then 4 | echo "Usage: $0 [-library]" 5 | echo 6 | echo "-library: Build the component as a dynamic library (DLL). Default is to" 7 | echo " include the component source code directly in the application." 8 | echo 9 | exit 0 10 | fi 11 | 12 | rm -f config.pri 13 | if [ "x$1" = "x-library" ]; then 14 | echo "Configuring to build this component as a dynamic library." 15 | echo "SOLUTIONS_LIBRARY = yes" > config.pri 16 | fi 17 | 18 | echo 19 | echo "This component is now configured." 20 | echo 21 | echo "To build the component library (if requested) and example(s)," 22 | echo "run qmake and your make command." 23 | echo 24 | echo "To remove or reconfigure, run make distclean." 25 | echo 26 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/copyplane.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | #include "ui_copyplane.h" 3 | #include "copyplane.hpp" 4 | 5 | CopyPlane::CopyPlane(QWidget *parent) : QDialog(parent), ui(new Ui::CopyPlane) 6 | { 7 | ui->setupUi(this); 8 | 9 | this->setWindowTitle("Copy Plane..."); 10 | // remove question mark from the title bar 11 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 12 | connect(ui->confirmButton, &QDialogButtonBox::accepted, this, &QDialog::accept); 13 | connect(ui->confirmButton, &QDialogButtonBox::rejected, this, &QDialog::reject); 14 | connect(ui->copyTileCol, &QCheckBox::toggled, [this](bool v){ copyTilePlanes = v;}); 15 | connect(ui->copyChunkPlane, &QCheckBox::toggled, [this](bool v){ copyChunkPlane = v;}); 16 | } 17 | 18 | CopyPlane::~CopyPlane() { delete ui; } 19 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/sceneobjectpropertiesv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "sceneincludesv5.hpp" 6 | 7 | namespace Ui 8 | { 9 | class SceneObjectPropertiesv5; 10 | } 11 | 12 | class SceneObjectPropertiesv5 : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit SceneObjectPropertiesv5(QWidget *parent = nullptr); 18 | ~SceneObjectPropertiesv5(); 19 | 20 | void setupUI(SceneEntity *entity); 21 | void unsetUI(); 22 | 23 | void updateUI(); 24 | 25 | PropertyBrowser *properties = nullptr; 26 | 27 | signals: 28 | void typeChanged(SceneEntity *entity, byte type, bool keepVals = false); 29 | 30 | private: 31 | Ui::SceneObjectPropertiesv5 *ui; 32 | 33 | SceneEntity *entityPtr = nullptr; 34 | 35 | QMessageBox *msgBox = nullptr; 36 | }; 37 | 38 | 39 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/formathelpers/chunks.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace FormatHelpers 4 | { 5 | 6 | class Chunks 7 | { 8 | public: 9 | class Tile 10 | { 11 | public: 12 | Tile() {} 13 | 14 | byte visualPlane = 0; 15 | byte direction = 0; 16 | ushort tileIndex = 0; 17 | byte solidityA = 0; 18 | byte solidityB = 0; 19 | }; 20 | 21 | class Chunk 22 | { 23 | public: 24 | Chunk() {} 25 | 26 | QImage getImage(QList tiles); 27 | 28 | Tile tiles[8][8]; 29 | }; 30 | 31 | Chunks() {} 32 | Chunks(byte ver, QString filepath) { read(ver, filepath); } 33 | 34 | void read(byte ver, QString filename); 35 | void write(byte ver, QString filename); 36 | 37 | Chunk chunks[0x200]; 38 | 39 | QString filePath = ""; 40 | }; 41 | 42 | } // namespace FormatHelpers 43 | 44 | 45 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | default: 2 | before_script: 3 | - apt-get update -qq 4 | - apt-get install -y cmake qtbase5-dev g++ 5 | 6 | variables: 7 | DEBIAN_FRONTEND: noninteractive 8 | 9 | 10 | pages: 11 | image: ubuntu:latest 12 | stage: deploy 13 | script: 14 | - apt-get install -y doxygen graphviz g++ 15 | - mkdir -p build 16 | - cd build 17 | - cmake .. 18 | - make QtColorWidgets_docs 19 | after_script: 20 | - mv build/doxygen/html public 21 | artifacts: 22 | paths: 23 | - public 24 | when: always 25 | only: 26 | - master 27 | needs: ["linux:build"] 28 | 29 | 30 | linux:build: 31 | image: ubuntu:latest 32 | stage: build 33 | script: 34 | - mkdir build 35 | - cd build 36 | - cmake .. 37 | - make 38 | when: always 39 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set (HEADERS 2 | abstract_widget_list.hpp 3 | bound_color_selector.hpp 4 | color_2d_slider.hpp 5 | color_delegate.hpp 6 | color_dialog.hpp 7 | color_line_edit.hpp 8 | color_list_widget.hpp 9 | color_names.hpp 10 | color_palette.hpp 11 | color_palette_model.hpp 12 | color_palette_widget.hpp 13 | color_preview.hpp 14 | color_selector.hpp 15 | color_wheel.hpp 16 | colorwidgets_global.hpp 17 | gradient_slider.hpp 18 | hue_slider.hpp 19 | swatch.hpp 20 | gradient_editor.hpp 21 | ) 22 | 23 | file(RELATIVE_PATH 24 | PREFIX 25 | ${PROJECT_SOURCE_DIR} 26 | ${CMAKE_CURRENT_LIST_DIR}) 27 | 28 | 29 | foreach (HEADER IN LISTS HEADERS) 30 | target_sources (${TARGET_NAME} 31 | PRIVATE 32 | $ 33 | $) 34 | endforeach (HEADER IN HEADERS) 35 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/videov2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv2 4 | { 5 | 6 | class Video 7 | { 8 | public: 9 | Video() {} 10 | Video(QString filename) { read(filename); } 11 | Video(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader); 19 | 20 | inline void write(QString filename) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer); 28 | } 29 | void write(Writer &writer); 30 | 31 | QList frames; 32 | 33 | ushort width = 0x100; 34 | ushort height = 0x100; 35 | 36 | QString filePath = ""; 37 | }; 38 | 39 | } // namespace RSDKv2 40 | 41 | 42 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/videov3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class Video 7 | { 8 | public: 9 | Video() {} 10 | Video(QString filename) { read(filename); } 11 | Video(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader); 19 | 20 | inline void write(QString filename) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer); 28 | } 29 | void write(Writer &writer); 30 | 31 | QList frames; 32 | 33 | ushort width = 0x100; 34 | ushort height = 0x100; 35 | 36 | QString filePath = ""; 37 | }; 38 | 39 | } // namespace RSDKv3 40 | 41 | 42 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/creategif/doc/src/creategif.qdoc: -------------------------------------------------------------------------------- 1 | /*! 2 | \example creategif 3 | \title Create .gif Example 4 | \brief This is a simplest example. 5 | \ingroup qtgifimage-examples 6 | 7 | This example demonstrates how to create a new 8 | .gif file from a list of QImage. 9 | So lets see how this is achieved. 10 | \image demo1.gif 11 | 12 | This creates a new instance of the all important QGifImage class. 13 | \snippet creategif/main.cpp 0 14 | 15 | Let's start by setting the global color table, background color and 16 | the default transparent color. 17 | \snippet creategif/main.cpp 1 18 | 19 | Now we create a QImage object, draw something on it. Then add it to 20 | the gif canvas ten times with defferent offset. 21 | \snippet creategif/main.cpp 2 22 | 23 | Now save the file and all its components. 24 | \snippet creategif/main.cpp 3 25 | */ 26 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/3rdParty/giflib/README: -------------------------------------------------------------------------------- 1 | = GIFLIB = 2 | 3 | This is the README file of GIFLIB, a library for manipulating GIF files. 4 | 5 | Latest versions of GIFLIB are currently hosted at: 6 | http://sourceforge.net/projects/giflib 7 | 8 | == Overview == 9 | 10 | GIF is a legacy format; we recommend against generating new images in 11 | it. For a cleaner, more extensible design with better color support 12 | and compression, look up PNG. 13 | 14 | giflib provides code for reading GIF files and transforming them into 15 | RGB bitmaps, and for writing RGB bitmaps as GIF files. 16 | 17 | The (permissive) open-source license is in the file COPYING. 18 | 19 | You will find build instructions in build.asc 20 | 21 | You will find full documentation of the API in doc/ and on the 22 | project website. 23 | 24 | The project has a long and confusing history, described in history.asc 25 | 26 | The project to-do list is in TODO. 27 | 28 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/stageconfigv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv2 4 | { 5 | 6 | class StageConfig 7 | { 8 | public: 9 | StageConfig() {} 10 | StageConfig(QString filename) { read(filename); } 11 | StageConfig(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader); 19 | 20 | inline void write(QString filename) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer); 28 | } 29 | void write(Writer &writer); 30 | 31 | Palette palette; 32 | QList soundFX; 33 | QList objects; 34 | bool loadGlobalScripts = true; 35 | 36 | QString filePath = ""; 37 | }; 38 | 39 | } // namespace RSDKv2 40 | 41 | 42 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/tests/auto/qgifimage/tst_qgifimagetest.cpp: -------------------------------------------------------------------------------- 1 | #include "qgifimage.h" 2 | #include 3 | #include 4 | 5 | class QGifimageTest : public QObject 6 | { 7 | Q_OBJECT 8 | 9 | public: 10 | QGifimageTest(); 11 | 12 | private Q_SLOTS: 13 | void testGifFileLoad(); 14 | 15 | private: 16 | QImage rgbImage; 17 | QImage indexed8Image; 18 | QGifImage gifImage; 19 | }; 20 | 21 | QGifimageTest::QGifimageTest() 22 | { 23 | QImage image(100, 100, QImage::Format_RGB32); 24 | image.fill(QColor(Qt::red)); 25 | QPainter p(&image); 26 | p.setPen(Qt::blue); 27 | p.drawRect(20, 20, 60, 60); 28 | 29 | rgbImage = image; 30 | indexed8Image = image.convertToFormat(QImage::Format_Indexed8); 31 | 32 | gifImage.load(SRCDIR"test.gif"); 33 | } 34 | 35 | void QGifimageTest::testGifFileLoad() 36 | { 37 | QVERIFY2(true, "Failure"); 38 | } 39 | 40 | QTEST_MAIN(QGifimageTest) 41 | 42 | #include "tst_qgifimagetest.moc" 43 | -------------------------------------------------------------------------------- /RetroEDv2/splashscreen.cpp: -------------------------------------------------------------------------------- 1 | #include "splashscreen.hpp" 2 | #include "version.hpp" 3 | 4 | #include 5 | #include 6 | 7 | SplashScreen::SplashScreen() 8 | : QSplashScreen(QPixmap(":/resources/splash.png"), Qt::WindowStaysOnTopHint), svg(QPixmap(":/resources/splash.svg")) 9 | { 10 | } 11 | 12 | void SplashScreen::finish(QWidget* main) { 13 | QSplashScreen::finish(main); 14 | main->activateWindow(); 15 | } 16 | 17 | void SplashScreen::drawContents(QPainter *painter) { 18 | painter->drawPixmap(0, 0, width(), height(), svg); 19 | 20 | QFont font = QApplication::font(); 21 | font.setPointSize(11); 22 | painter->setFont(font); 23 | painter->setPen(Qt::white); 24 | painter->drawText(5, 5, width() - 10, height() - 10, Qt::AlignBottom | Qt::AlignRight, RE_VERSION); 25 | 26 | font.setPointSize(10); 27 | font.setItalic(true); 28 | painter->setFont(font); 29 | painter->drawText(5, 5, width() - 10, height() - 10, Qt::AlignBottom | Qt::AlignLeft, message()); 30 | } 31 | -------------------------------------------------------------------------------- /RetroEDv2/tools/paletteeditor/colourdialog.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace Ui 4 | { 5 | class RSDKColorDialog; 6 | } 7 | 8 | class RSDKColorDialog : public QDialog 9 | { 10 | Q_OBJECT 11 | 12 | public: 13 | explicit RSDKColorDialog(PaletteColor color, QWidget *parent = nullptr); 14 | ~RSDKColorDialog(); 15 | static PaletteColor getColor(PaletteColor color, bool *ok, QWidget *parent = nullptr); 16 | 17 | inline PaletteColor color() { return m_color; } 18 | QColor grabScreenColor(const QPoint &p); 19 | 20 | protected: 21 | bool event(QEvent *event); 22 | bool mouseMoveColorEvent(QMouseEvent *e); 23 | bool mouseReleaseColorEvent(QMouseEvent *e); 24 | bool keyPressColorEvent(QKeyEvent *e); 25 | 26 | private slots: 27 | void setColor(QColor col); 28 | void setHsv(); 29 | void setRGB(); 30 | void pickScreenColor(); 31 | 32 | private: 33 | Ui::RSDKColorDialog *ui; 34 | PaletteColor m_color; 35 | PaletteColor PrevCol; 36 | bool colorPickMode = false; 37 | }; 38 | 39 | 40 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/LICENSE-EXCEPTION: -------------------------------------------------------------------------------- 1 | Linking this library statically or dynamically with other modules is making a 2 | combined work based on this library. Thus, the terms and conditions of the 3 | GNU Lesser General Public License version 3 cover the whole combination. 4 | 5 | As a special exception, the copyright holders of this library give you 6 | permission to combine this library with independent 7 | modules to produce an executable, and to copy and distribute the resulting 8 | executable under terms of any of the GNU General Public licenses, as published 9 | by the Free Software Foundation, provided that you also meet, 10 | for each linked independent module, the terms and conditions of the license of 11 | that module. An independent module is a module which is not derived from or 12 | based on this library. If you modify this library, you may extend this 13 | exception to your version of the library, but you are not obliged to do so. 14 | If you do not wish to do so, delete this exception statement from your version. 15 | -------------------------------------------------------------------------------- /RetroEDv2/tools/animationeditor/animsheetselector.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class AnimSheetSelector; 8 | } 9 | 10 | class AnimSheetSelector : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit AnimSheetSelector(QString sheetPath, QImage *sheet, bool toggle = false, QColor storeColor = QColor(0xFFFFFFFF), QWidget *parent = nullptr); 16 | ~AnimSheetSelector(); 17 | 18 | Rect returnRect = Rect(-1, -1, -1, -1); 19 | bool pivotToggle = false; 20 | QColor storedColor = QColor(0xFFFFFFFF); 21 | 22 | protected: 23 | void changeEvent(QEvent *e); 24 | 25 | private: 26 | QString sheetPath = ""; 27 | QImage *sheet; 28 | 29 | Vector2 mousePos; 30 | Vector2 reference; 31 | 32 | bool selecting = false; 33 | 34 | bool mouseDownL = false; 35 | bool mouseDownM = false; 36 | bool mouseDownR = false; 37 | 38 | QColor bgColor = QColor(0xFFFFFFFF); 39 | 40 | Ui::AnimSheetSelector *ui; 41 | }; 42 | 43 | 44 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/phantom/phantomtweak.h: -------------------------------------------------------------------------------- 1 | #ifndef PHANTOMTWEAK_H 2 | #define PHANTOMTWEAK_H 3 | 4 | // Phantom-specific tweaks that can be applied to QWidgets. These should not 5 | // impact the functionality of the software, but may provide minor visual 6 | // improvements in the case that Phantom is being used as the QStyle. 7 | 8 | namespace Phantom 9 | { 10 | namespace Tweak 11 | { 12 | 13 | // "_phantom_menubar_no_ruler" 14 | // 15 | // myMenuBar->setProperty(Phantom::Tweak::menubar_no_ruler, true); 16 | // 17 | // Causes a QMenuBar to not have the horizontal divider line to be drawn 18 | // beneath it. Useful for windows where the main content widget spans the full 19 | // width of the window, and it is already visually apparent where the menu bar 20 | // ends on the Y axis and the widgets begin. 21 | // 22 | // The constant C string is provided for convenience, but you may also just use 23 | // a string literal in your own code, if you prefer. 24 | extern const char *const menubar_no_ruler; 25 | 26 | } // namespace Tweak 27 | } // namespace Phantom 28 | #endif 29 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/formathelpers/stageconfig.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace FormatHelpers 4 | { 5 | 6 | class StageConfig 7 | { 8 | public: 9 | class ObjectInfo 10 | { 11 | public: 12 | ObjectInfo() {} 13 | 14 | QString name = "Object"; 15 | QString script = "Folder/Script.txt"; 16 | byte sheetID = 0; 17 | }; 18 | 19 | class SoundInfo 20 | { 21 | public: 22 | SoundInfo() {} 23 | 24 | QString name = "Sound"; 25 | QString path = "Folder/Sound.wav"; 26 | }; 27 | 28 | StageConfig() {} 29 | StageConfig(byte ver, QString filepath) { read(ver, filepath); } 30 | 31 | void read(byte ver, QString filename); 32 | void write(byte ver, QString filename); 33 | 34 | Palette palette; 35 | QList soundFX; 36 | QList objects; 37 | bool loadGlobalScripts = true; 38 | QList spriteSheets; 39 | QList music; 40 | 41 | QString filePath = ""; 42 | }; 43 | 44 | } // namespace FormatHelpers 45 | 46 | 47 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/qtpropertybrowser.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | images/cursor-arrow.png 4 | images/cursor-busy.png 5 | images/cursor-closedhand.png 6 | images/cursor-cross.png 7 | images/cursor-forbidden.png 8 | images/cursor-hand.png 9 | images/cursor-hsplit.png 10 | images/cursor-ibeam.png 11 | images/cursor-openhand.png 12 | images/cursor-sizeall.png 13 | images/cursor-sizeb.png 14 | images/cursor-sizef.png 15 | images/cursor-sizeh.png 16 | images/cursor-sizev.png 17 | images/cursor-uparrow.png 18 | images/cursor-vsplit.png 19 | images/cursor-wait.png 20 | images/cursor-whatsthis.png 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/3d/default.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | layout(location = 0) in vec3 in_pos; 3 | layout(location = 1) in vec3 in_norm; 4 | in vec4 in_color; 5 | in vec2 in_UV; 6 | 7 | out vec3 ex_norm; 8 | out vec4 ex_color; 9 | out vec2 ex_UV; 10 | out vec3 ex_fragP; 11 | 12 | uniform mat4 model; 13 | uniform mat4 view; 14 | uniform mat4 projection; 15 | 16 | uniform vec3 light = vec3(1.0, 1.0, 1.0); 17 | uniform float ambient_strength = 0.1; 18 | uniform vec3 light_pos = vec3(0.0, 32.0, -32.0); 19 | 20 | void main() 21 | { 22 | gl_Position = projection * view * model * vec4(in_pos, 1.0); 23 | ex_fragP = vec3(model * vec4(in_pos, 1.0)); 24 | ex_norm = in_norm; 25 | ex_color = in_color; 26 | ex_UV = in_UV; 27 | 28 | vec3 ambient = ambient_strength * light; 29 | 30 | vec3 norm = normalize(ex_norm); 31 | vec3 lightDir = normalize(light_pos - ex_fragP); 32 | 33 | float diff = max(dot(norm, lightDir), 0.0); 34 | vec3 diffuse = diff * light; 35 | vec3 result = (ambient + diffuse) * in_color.rgb; 36 | //ex_color = vec4(result, in_color.w); 37 | } -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/stageconfigeditorv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class StageConfigEditorv1; 8 | } 9 | 10 | class StageConfigEditorv1 : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | class ActionState 16 | { 17 | public: 18 | QString name = "Action"; 19 | 20 | FormatHelpers::StageConfig stageConfig; 21 | }; 22 | 23 | explicit StageConfigEditorv1(FormatHelpers::StageConfig *scf, QWidget *parent = nullptr); 24 | ~StageConfigEditorv1(); 25 | 26 | void setupUI(bool allowRowChange = true); 27 | 28 | protected: 29 | bool event(QEvent *event); 30 | 31 | private: 32 | void UndoAction(); 33 | void RedoAction(); 34 | void ResetAction(); 35 | void DoAction(QString name = "Action", bool setModified = true); 36 | void ClearActions(); 37 | 38 | void copyConfig(ActionState *stateDst, ActionState *stateSrc); 39 | 40 | QList actions; 41 | int actionIndex = 0; 42 | 43 | Ui::StageConfigEditorv1 *ui; 44 | 45 | FormatHelpers::StageConfig *stageConfig; 46 | }; 47 | 48 | 49 | -------------------------------------------------------------------------------- /RetroEDv2/versiongen.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | import pytz 3 | import os 4 | import sys 5 | import re 6 | 7 | buildadd = "dev" 8 | buildtype = 0 9 | 10 | try: 11 | buildadd = sys.argv[1] 12 | except: 13 | pass 14 | 15 | if len(buildadd) >= 7: # autobuild commit hash 16 | buildtype = 2 17 | buildadd = "-" + buildadd[:7] 18 | elif buildadd != "dev": 19 | buildtype = 1 20 | else: 21 | buildadd = "-dev" 22 | 23 | 24 | 25 | time = datetime.now(pytz.timezone("US/Eastern")) 26 | s = time.strftime("v%Y.%m.%d") + buildadd 27 | n = time.strftime("%Y%m%d%H%M") 28 | 29 | if os.path.exists("version.hpp"): 30 | for line in open("version.hpp", "r").readlines(): 31 | match = re.match(r"#define\s+RE_VERSION\s+\(\"(.*)\"\)", line) 32 | if match and match.groups()[0] == s: 33 | print("version matches; nothing to be done") 34 | exit() 35 | 36 | open("version.hpp", "w").write( 37 | "#pragma once\n\n" 38 | f"#define RE_VERSIONNUM ({n}ULL)\n" 39 | f"#define RE_VERSION (\"{s}\")\n" 40 | f"#define RE_BUILD_TYPE ({buildtype})\n" 41 | ) 42 | print(f"wrote version {s}") -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/gfxv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv2 4 | { 5 | 6 | class GFX 7 | { 8 | public: 9 | GFX() {} 10 | GFX(QString filename) { read(filename); } 11 | GFX(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader, bool dcGFX = false); 19 | 20 | inline void write(QString filename) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer); 28 | } 29 | void write(Writer &writer, bool dcGFX = false); 30 | 31 | void importImage(QImage image); 32 | void importImage(FormatHelpers::Gif image); 33 | 34 | QImage exportImage(); 35 | FormatHelpers::Gif exportGif(); 36 | 37 | Color palette[255]; 38 | ushort width = 16; 39 | ushort height = 16; 40 | QByteArray pixels; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv2 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/gfxv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class GFX 7 | { 8 | public: 9 | GFX() {} 10 | GFX(QString filename) { read(filename); } 11 | GFX(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader, bool dcGFX = false); 19 | 20 | inline void write(QString filename) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer); 28 | } 29 | void write(Writer &writer, bool dcGFX = false); 30 | 31 | void importImage(QImage image); 32 | void importImage(FormatHelpers::Gif image); 33 | 34 | QImage exportImage(); 35 | FormatHelpers::Gif exportGif(); 36 | 37 | Color palette[255]; 38 | ushort width = 16; 39 | ushort height = 16; 40 | QByteArray pixels; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv3 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/animationv3.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "animationv3.hpp" 4 | 5 | void RSDKv3::Animation::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | int sheetCount = reader.read(); 10 | for (int s = 0; s < sheetCount; ++s) sheets.append(reader.readString()); 11 | 12 | int animCount = reader.read(); 13 | for (int a = 0; a < animCount; ++a) animations.append(AnimationEntry(reader)); 14 | 15 | int collisionBoxCount = reader.read(); 16 | for (int h = 0; h < collisionBoxCount; ++h) hitboxes.append(Hitbox(reader)); 17 | } 18 | 19 | void RSDKv3::Animation::write(Writer &writer) 20 | { 21 | filePath = writer.filePath; 22 | 23 | writer.write((byte)sheets.count()); 24 | for (int s = 0; s < sheets.count(); ++s) writer.write(sheets[s]); 25 | 26 | writer.write((byte)animations.count()); 27 | for (int a = 0; a < animations.count(); ++a) animations[a].write(writer); 28 | 29 | writer.write((byte)hitboxes.count()); 30 | for (int h = 0; h < hitboxes.count(); ++h) hitboxes[h].write(writer); 31 | 32 | writer.flush(); 33 | } 34 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/savefilev5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv5 4 | { 5 | 6 | class SaveFile 7 | { 8 | public: 9 | SaveFile() {} 10 | SaveFile(QString filename) { read(filename); } 11 | SaveFile(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | void read(Reader &reader) 19 | { 20 | filePath = reader.filePath; 21 | for (int i = 0; i < 0x8000; ++i) saveRAM[i] = reader.read(); 22 | } 23 | 24 | inline void write(QString filename) 25 | { 26 | if (filename == "") 27 | filename = filePath; 28 | if (filename == "") 29 | return; 30 | Writer writer(filename); 31 | write(writer); 32 | } 33 | void write(Writer &writer) 34 | { 35 | filePath = writer.filePath; 36 | for (int i = 0; i < 0x8000; ++i) writer.write(saveRAM[i]); 37 | writer.flush(); 38 | } 39 | 40 | int saveRAM[0x8000]; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv5 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/gotopos.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.hpp" 2 | #include "ui_gotopos.h" 3 | #include "gotopos.hpp" 4 | 5 | 6 | GoToPos::GoToPos(int scnMaxX, int scnMaxY, QString selLayer, QWidget *parent) : 7 | QDialog(parent), ui(new Ui::GoToPos) 8 | { 9 | ui->setupUi(this); 10 | 11 | this->setWindowTitle("Go To..."); 12 | // remove question mark from the title bar 13 | setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 14 | 15 | ui->selLayer->setText(QString("Selected Layer: %1").arg(selLayer)); 16 | ui->maxX->setText(QString("/ %1").arg(scnMaxX)); 17 | ui->maxY->setText(QString("/ %1").arg(scnMaxY)); 18 | ui->goToX->setMaximum(scnMaxX); 19 | ui->goToY->setMaximum(scnMaxY); 20 | 21 | connect(ui->goToButton, &QDialogButtonBox::accepted, this, &QDialog::accept); 22 | connect(ui->goToButton, &QDialogButtonBox::rejected, this, &QDialog::reject); 23 | 24 | connect(ui->goToX, QOverload::of(&QSpinBox::valueChanged), [this](int x){ posX = x;}); 25 | connect(ui->goToY, QOverload::of(&QSpinBox::valueChanged), [this](int y){ posY = y;}); 26 | }; 27 | 28 | GoToPos::~GoToPos() { delete ui; } 29 | -------------------------------------------------------------------------------- /RetroEDv2/.clang-format: -------------------------------------------------------------------------------- 1 | IndentWidth: 4 2 | Language: Cpp 3 | AlignAfterOpenBracket: Align 4 | SortIncludes: false 5 | ColumnLimit: 104 6 | PointerAlignment: Right 7 | AccessModifierOffset: -4 8 | AllowShortFunctionsOnASingleLine: All 9 | AllowShortCaseLabelsOnASingleLine: true 10 | #AllowShortLambdasOnASingleLine: All 11 | AllowShortLoopsOnASingleLine: true 12 | BinPackArguments: true 13 | BinPackParameters: true 14 | SpaceAfterCStyleCast: false 15 | BreakBeforeTernaryOperators: true 16 | BreakBeforeBinaryOperators: NonAssignment 17 | Cpp11BracedListStyle: false 18 | IndentCaseLabels: true 19 | AlignTrailingComments: true 20 | AlignOperands: true 21 | AlignConsecutiveAssignments: true 22 | AlignConsecutiveDeclarations: false 23 | AlignConsecutiveMacros: true 24 | UseTab: Never 25 | BreakBeforeBraces: Custom 26 | BraceWrapping: 27 | AfterClass: true 28 | AfterControlStatement: false 29 | AfterEnum: false 30 | AfterFunction: true 31 | AfterNamespace: true 32 | AfterObjCDeclaration: false 33 | AfterStruct: false 34 | AfterUnion: false 35 | BeforeCatch: false 36 | BeforeElse: true 37 | IndentBraces: false 38 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/stageconfigv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class StageConfig 7 | { 8 | public: 9 | class ObjectInfo 10 | { 11 | public: 12 | ObjectInfo() {} 13 | 14 | QString name = "Object"; 15 | QString script = "Folder/Script.txt"; 16 | }; 17 | 18 | StageConfig() {} 19 | StageConfig(QString filename) { read(filename); } 20 | StageConfig(Reader &reader) { read(reader); } 21 | 22 | inline void read(QString filename) 23 | { 24 | Reader reader(filename); 25 | read(reader); 26 | } 27 | void read(Reader &reader); 28 | 29 | inline void write(QString filename) 30 | { 31 | if (filename == "") 32 | filename = filePath; 33 | if (filename == "") 34 | return; 35 | Writer writer(filename); 36 | write(writer); 37 | } 38 | void write(Writer &writer); 39 | 40 | Palette palette; 41 | QList soundFX; 42 | QList objects; 43 | bool loadGlobalScripts = true; 44 | 45 | QString filePath = ""; 46 | }; 47 | 48 | } // namespace RSDKv3 49 | 50 | 51 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/imageviewer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Pierre-Antoine Lacaze 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/3rdParty/giflib/AUTHORS: -------------------------------------------------------------------------------- 1 | Michael Brown 2 | callbacks to write data via user defined function 3 | 4 | Daniel Eisenbud 5 | Fixes for crashes with invalid gif files and double freeing of 6 | colormaps 7 | 8 | Gershon Elber 9 | original giflib code 10 | 11 | Marc Ewing 12 | spec file (for rpms) updates 13 | 14 | Toshio Kuratomi 15 | uncompressed gif writing code 16 | autoconf/automake process 17 | former maintainer 18 | 19 | marek 20 | Gif initialization fix 21 | windows build code 22 | 23 | Peter Mehlitz 24 | callbacks to read data from arbitrary sources (like libjpeg/libpng) 25 | 26 | Dick Porter 27 | int/pointer fixes for Alpha 28 | 29 | Eric Raymond 30 | current as well as long time former maintainer of giflib code 31 | 32 | Petter Reinholdtsen 33 | Tru64 build fixs 34 | 35 | Georg Schwarz 36 | IRIX fixes 37 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv1/stageconfigv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv1 4 | { 5 | 6 | class StageConfig 7 | { 8 | public: 9 | class ObjectInfo 10 | { 11 | public: 12 | ObjectInfo() {} 13 | 14 | byte sheetID = 0; 15 | QString script = "Folder/Script.txt"; 16 | }; 17 | 18 | StageConfig() {} 19 | StageConfig(QString filename) { read(filename); } 20 | StageConfig(Reader &reader) { read(reader); } 21 | 22 | inline void read(QString filename) 23 | { 24 | Reader reader(filename); 25 | read(reader); 26 | } 27 | void read(Reader &reader); 28 | 29 | inline void write(QString filename) 30 | { 31 | if (filename == "") 32 | filename = filePath; 33 | if (filename == "") 34 | return; 35 | Writer writer(filename); 36 | write(writer); 37 | } 38 | void write(Writer &writer); 39 | 40 | Palette palette; 41 | QList spriteSheets; 42 | QList objects; 43 | QList music; 44 | QList soundFX; 45 | 46 | QString filePath = ""; 47 | }; 48 | 49 | } // namespace RSDKv1 50 | 51 | 52 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/arccontainerv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class ArcContainer 7 | { 8 | public: 9 | class FileInfo 10 | { 11 | public: 12 | FileInfo() {} 13 | 14 | QString fileName = ""; 15 | int fileSize = 0; 16 | int offset = 0; 17 | QByteArray fileData; 18 | }; 19 | ArcContainer() {} 20 | ArcContainer(QString filename) { read(filename); } 21 | ArcContainer(Reader &reader) { read(reader); } 22 | 23 | inline void read(QString filename) 24 | { 25 | Reader reader(filename); 26 | read(reader); 27 | } 28 | void read(Reader &reader); 29 | 30 | inline void write(QString filename) 31 | { 32 | if (filename == "") 33 | filename = filePath; 34 | if (filename == "") 35 | return; 36 | Writer writer(filename); 37 | write(writer); 38 | } 39 | void write(Writer &writer); 40 | 41 | byte signature[4] = { 'A', 'R', 'C', 'L' }; 42 | 43 | int key = 0; 44 | QList files; 45 | 46 | QString filePath = ""; 47 | }; 48 | 49 | } // namespace RSDKv3 50 | 51 | 52 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/3rdParty/giflib/COPYING: -------------------------------------------------------------------------------- 1 | The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv1/gfxv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv1 4 | { 5 | 6 | class GFX 7 | { 8 | public: 9 | GFX() {} 10 | GFX(QString filename, bool dcGFX) { read(filename, dcGFX); } 11 | GFX(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename, bool dcGFX = false) 14 | { 15 | Reader reader(filename); 16 | read(reader, dcGFX); 17 | } 18 | void read(Reader &reader, bool dcGFX = false); 19 | 20 | inline void write(QString filename, bool dcGFX = false) 21 | { 22 | if (filename == "") 23 | filename = filePath; 24 | if (filename == "") 25 | return; 26 | Writer writer(filename); 27 | write(writer, dcGFX); 28 | } 29 | void write(Writer &writer, bool dcGFX = false); 30 | 31 | void importImage(QImage image); 32 | void importImage(FormatHelpers::Gif image); 33 | 34 | QImage exportImage(); 35 | FormatHelpers::Gif exportGif(); 36 | 37 | Color palette[255]; 38 | ushort width = 16; 39 | ushort height = 16; 40 | QByteArray pixels; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv1 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/libRSDK.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // QT 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | typedef signed char sbyte; 15 | typedef unsigned char byte; 16 | typedef unsigned short ushort; 17 | typedef unsigned int uint; 18 | typedef unsigned long ulong; 19 | typedef long long int64; 20 | typedef unsigned long long uint64; 21 | 22 | // IO 23 | #include "io/reader.hpp" 24 | #include "io/writer.hpp" 25 | 26 | // Misc/Utils 27 | #include "utils/utils.hpp" 28 | #include "utils/vectors.hpp" 29 | #include "utils/colour.hpp" 30 | #include "utils/palette.hpp" 31 | 32 | enum EngineVersion { ENGINE_v5, ENGINE_v4, ENGINE_v3, ENGINE_v2, ENGINE_v1, ENGINE_NONE = 0xFF }; 33 | 34 | // Helpers 35 | #include "utils/formathelpers/gif.hpp" 36 | 37 | #include "utils/formathelpers/gameconfig.hpp" 38 | #include "utils/formathelpers/animation.hpp" 39 | #include "utils/formathelpers/background.hpp" 40 | #include "utils/formathelpers/chunks.hpp" 41 | #include "utils/formathelpers/scene.hpp" 42 | #include "utils/formathelpers/stageconfig.hpp" -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/savefilev3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class SaveFile 7 | { 8 | public: 9 | SaveFile() { memset(saveRAM, 0, 0x2000 * sizeof(int)); } 10 | SaveFile(QString filename) { read(filename); } 11 | SaveFile(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | inline void read(Reader &reader) 19 | { 20 | filePath = reader.filePath; 21 | for (int i = 0; i < 0x2000; ++i) saveRAM[i] = reader.read(); 22 | } 23 | 24 | inline void write(QString filename) 25 | { 26 | if (filePath == "") 27 | filePath = filename; 28 | if (filePath == "") 29 | return; 30 | Writer writer(filePath); 31 | write(writer); 32 | } 33 | inline void write(Writer &writer) 34 | { 35 | filePath = writer.filePath; 36 | for (int i = 0; i < 0x2000; ++i) writer.write(saveRAM[i]); 37 | writer.flush(); 38 | } 39 | 40 | int saveRAM[0x2000]; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv3 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv4/savefilev4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv4 4 | { 5 | 6 | class SaveFile 7 | { 8 | public: 9 | SaveFile() { memset(saveRAM, 0, 0x2000 * sizeof(int)); } 10 | SaveFile(QString filename) { read(filename); } 11 | SaveFile(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | inline void read(Reader &reader) 19 | { 20 | filePath = reader.filePath; 21 | for (int i = 0; i < 0x2000; ++i) saveRAM[i] = reader.read(); 22 | } 23 | 24 | inline void write(QString filename) 25 | { 26 | if (filename == "") 27 | filename = filePath; 28 | if (filename == "") 29 | return; 30 | Writer writer(filename); 31 | write(writer); 32 | } 33 | inline void write(Writer &writer) 34 | { 35 | filePath = writer.filePath; 36 | for (int i = 0; i < 0x2000; ++i) writer.write(saveRAM[i]); 37 | writer.flush(); 38 | } 39 | 40 | int saveRAM[0x2000]; 41 | 42 | QString filePath = ""; 43 | }; 44 | 45 | } // namespace RSDKv4 46 | 47 | 48 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv4/animationv4.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "animationv4.hpp" 4 | 5 | void RSDKv4::Animation::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | int sheetCount = reader.read(); 10 | for (int s = 0; s < sheetCount; ++s) sheets.append(reader.readString()); 11 | 12 | int animCount = reader.read(); 13 | for (int a = 0; a < animCount; ++a) animations.append(AnimationEntry(reader)); 14 | 15 | int collisionBoxCount = reader.read(); 16 | for (int h = 0; h < collisionBoxCount; ++h) hitboxes.append(Hitbox(reader)); 17 | } 18 | 19 | void RSDKv4::Animation::write(Writer &writer) 20 | { 21 | filePath = writer.filePath; 22 | 23 | writer.write((byte)sheets.count()); 24 | for (int s = 0; s < sheets.count(); ++s) { 25 | writer.write(sheets[s]); 26 | } 27 | 28 | writer.write((byte)animations.count()); 29 | for (int a = 0; a < animations.count(); ++a) { 30 | animations[a].write(writer); 31 | } 32 | 33 | writer.write((byte)hitboxes.count()); 34 | for (int h = 0; h < hitboxes.count(); ++h) { 35 | hitboxes[h].write(writer); 36 | } 37 | 38 | writer.flush(); 39 | } 40 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/objectselector.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ObjectSelectorv5 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 300 11 | 12 | 13 | 14 | Select Objects to add... 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Find objects... 24 | 25 | 26 | 27 | 28 | 29 | 30 | Qt::Horizontal 31 | 32 | 33 | QDialogButtonBox::Cancel|QDialogButtonBox::Ok 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/sceneobjectproperties.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "tools/compiler/compilerv2.hpp" 6 | #include "tools/compiler/compilerv3.hpp" 7 | #include "tools/compiler/compilerv4.hpp" 8 | 9 | class SceneEntity; 10 | 11 | namespace Ui 12 | { 13 | class SceneObjectProperties; 14 | } 15 | 16 | class SceneObjectProperties : public QWidget 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | explicit SceneObjectProperties(QWidget *parent = nullptr); 22 | ~SceneObjectProperties(); 23 | 24 | void setupUI(SceneEntity *entity, int entityID, Compilerv2::Entity *entityv2, 25 | Compilerv3::Entity *entityv3, Compilerv4::Entity *entityv4, byte ver); 26 | void unsetUI(); 27 | 28 | void updateUI(); 29 | 30 | int callRSDKEdit(void *e, bool shouldReturnVal, int entityID, int variableID, int variableValue, 31 | bool *called = nullptr); 32 | 33 | PropertyBrowser *properties = nullptr; 34 | 35 | signals: 36 | void typeChanged(SceneEntity *entity, byte type, bool keepVals = false); 37 | 38 | private: 39 | Ui::SceneObjectProperties *ui; 40 | 41 | SceneEntity *entityPtr = nullptr; 42 | 43 | QMessageBox *msgBox = nullptr; 44 | }; 45 | 46 | 47 | -------------------------------------------------------------------------------- /RetroEDv2/tools/rsdkunpacker.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class RSDKUnpacker; 8 | } 9 | 10 | class RSDKUnpacker : public QWidget 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit RSDKUnpacker(QWidget *parent = nullptr); 16 | ~RSDKUnpacker(); 17 | 18 | private: 19 | void LoadPack(QString filepath, byte ver, QString fileList = ""); 20 | void SavePack(QString filepath, byte ver); 21 | void CreateList(QList &list, QString absPath, float progressTotal); 22 | 23 | Ui::RSDKUnpacker *ui; 24 | 25 | class FileInfo 26 | { 27 | public: 28 | FileInfo() {} 29 | 30 | QString filename = "File.ext"; 31 | byte hash[0x10]; 32 | uint fileSize = 0; 33 | bool encrypted = false; 34 | QByteArray fileData; 35 | }; 36 | 37 | enum RSDK_SIGNATURES{ 38 | V5U_SIGNATURE = 0x3576, 39 | V4U_SIGNATURE = 0x3476, // in theory that's the value, in reality is the same as v5U 40 | V3U_SIGNATURE = 0x3376, 41 | V5_SIGNATURE = 0x0076, 42 | V4_SIGNATURE = 0x4276 43 | }; 44 | 45 | QList files; 46 | 47 | QList fileList; 48 | 49 | int sig = 0x4B445352; 50 | 51 | char gameVer = -1; 52 | }; 53 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/stageconfigeditorv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class StageConfigEditorv2; 8 | } 9 | 10 | class StageConfigEditorv2 : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | class ActionState 16 | { 17 | public: 18 | QString name = "Action"; 19 | 20 | FormatHelpers::StageConfig stageConfig; 21 | }; 22 | 23 | explicit StageConfigEditorv2(FormatHelpers::StageConfig *scf, int globalObjCount, 24 | int globalSfxCount, QWidget *parent = nullptr); 25 | ~StageConfigEditorv2(); 26 | 27 | void setupUI(bool allowRowChange = true); 28 | 29 | protected: 30 | bool event(QEvent *event); 31 | 32 | private: 33 | void UndoAction(); 34 | void RedoAction(); 35 | void ResetAction(); 36 | void DoAction(QString name = "Action", bool setModified = true); 37 | void ClearActions(); 38 | 39 | void copyConfig(ActionState *stateDst, ActionState *stateSrc); 40 | 41 | QList actions; 42 | int actionIndex = 0; 43 | 44 | Ui::StageConfigEditorv2 *ui; 45 | 46 | FormatHelpers::StageConfig *stageConfig; 47 | 48 | int globalObjectCount = 0; 49 | int globalSFXCount = 0; 50 | }; 51 | 52 | 53 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/stageconfigeditorv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class StageConfigEditorv3; 8 | } 9 | 10 | class StageConfigEditorv3 : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | class ActionState 16 | { 17 | public: 18 | QString name = "Action"; 19 | 20 | FormatHelpers::StageConfig stageConfig; 21 | }; 22 | 23 | explicit StageConfigEditorv3(FormatHelpers::StageConfig *scf, int globalObjCount, 24 | int globalSfxCount, QWidget *parent = nullptr); 25 | ~StageConfigEditorv3(); 26 | 27 | void setupUI(bool allowRowChange = true); 28 | 29 | protected: 30 | bool event(QEvent *event); 31 | 32 | private: 33 | void UndoAction(); 34 | void RedoAction(); 35 | void ResetAction(); 36 | void DoAction(QString name = "Action", bool setModified = true); 37 | void ClearActions(); 38 | 39 | void copyConfig(ActionState *stateDst, ActionState *stateSrc); 40 | 41 | QList actions; 42 | int actionIndex = 0; 43 | 44 | Ui::StageConfigEditorv3 *ui; 45 | 46 | FormatHelpers::StageConfig *stageConfig; 47 | 48 | int globalObjectCount = 0; 49 | int globalSFXCount = 0; 50 | }; 51 | 52 | 53 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/stageconfigeditorv4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class StageConfigEditorv4; 8 | } 9 | 10 | class StageConfigEditorv4 : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | class ActionState 16 | { 17 | public: 18 | QString name = "Action"; 19 | 20 | FormatHelpers::StageConfig stageConfig; 21 | }; 22 | 23 | explicit StageConfigEditorv4(FormatHelpers::StageConfig *scf, int globalObjCount, 24 | int globalSfxCount, QWidget *parent = nullptr); 25 | ~StageConfigEditorv4(); 26 | 27 | void setupUI(bool allowRowChange = true); 28 | 29 | protected: 30 | bool event(QEvent *event); 31 | 32 | private: 33 | void UndoAction(); 34 | void RedoAction(); 35 | void ResetAction(); 36 | void DoAction(QString name = "Action", bool setModified = true); 37 | void ClearActions(); 38 | 39 | void copyConfig(ActionState *stateDst, ActionState *stateSrc); 40 | 41 | QList actions; 42 | int actionIndex = 0; 43 | 44 | Ui::StageConfigEditorv4 *ui; 45 | 46 | FormatHelpers::StageConfig *stageConfig; 47 | 48 | int globalObjectCount = 0; 49 | int globalSFXCount = 0; 50 | }; 51 | 52 | 53 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/stageconfigv5.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "stageconfigv5.hpp" 4 | 5 | void RSDKv5::StageConfig::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | if (!reader.matchesSignature(signature, 4)) 10 | return; 11 | 12 | loadGlobalObjects = reader.read(); 13 | 14 | byte objCnt = reader.read(); 15 | objects.clear(); 16 | for (int i = 0; i < objCnt; ++i) objects.append(reader.readString()); 17 | 18 | for (int i = 0; i < 8; ++i) palettes[i].read(reader); 19 | 20 | byte sfxCnt = reader.read(); 21 | soundFX.clear(); 22 | for (int i = 0; i < sfxCnt; ++i) soundFX.append(WAVConfiguration(reader)); 23 | } 24 | 25 | void RSDKv5::StageConfig::write(Writer &writer) 26 | { 27 | filePath = writer.filePath; 28 | writer.write(signature, 4); 29 | 30 | writer.write(loadGlobalObjects); 31 | 32 | writer.write((byte)objects.count()); 33 | for (int i = 0; i < (byte)objects.count(); ++i) writer.write(objects[i]); 34 | 35 | for (int i = 0; i < 8; ++i) palettes[i].write(writer, true); 36 | 37 | writer.write((byte)soundFX.count()); 38 | for (int i = 0; i < (byte)soundFX.count(); ++i) soundFX[i].write(writer); 39 | 40 | writer.flush(); 41 | } 42 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/examples/gifimage/creategif/main.cpp: -------------------------------------------------------------------------------- 1 | #include "qgifimage.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | int main(int argc, char **argv) 8 | { 9 | QGuiApplication app(argc, argv); 10 | 11 | //![0] 12 | QGifImage gif(QSize(300, 300)); 13 | //![0] 14 | //![1] 15 | QVector ctable; 16 | ctable << qRgb(255, 255, 255) 17 | << qRgb(0, 0, 0) 18 | << qRgb(255, 0, 0) 19 | << qRgb(0, 255, 0) 20 | << qRgb(0, 0, 255) 21 | << qRgb(255, 255, 0) 22 | << qRgb(0, 255, 255) 23 | << qRgb(255, 0, 255); 24 | 25 | gif.setGlobalColorTable(ctable, Qt::black); 26 | gif.setDefaultTransparentColor(Qt::black); 27 | gif.setDefaultDelay(100); 28 | //![1] 29 | //![2] 30 | QImage image(100, 100, QImage::Format_RGB32); 31 | image.fill(QColor(Qt::black)); 32 | QPainter p(&image); 33 | p.setPen(Qt::red); 34 | p.drawText(15, 15, "Qt"); 35 | p.drawRect(20, 20, 60, 60); 36 | 37 | for (int i=0; i<10; ++i) { 38 | gif.addFrame(image, QPoint(i*20, i*20)); 39 | } 40 | //![2] 41 | //![3] 42 | gif.save(SRCDIR"demo1.gif"); 43 | //![3] 44 | 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/tilereplaceoptions.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class TileReplaceOptions; 8 | } 9 | 10 | class TileReplaceOptions : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit TileReplaceOptions(QWidget *parent = nullptr); 16 | ~TileReplaceOptions(); 17 | 18 | QSpinBox *dstTile = nullptr; 19 | QSpinBox *srcTile = nullptr; 20 | 21 | QCheckBox *replaceTileIndex = nullptr; 22 | QCheckBox *replaceVisualPlane = nullptr; 23 | 24 | QCheckBox *replaceFlipX = nullptr; 25 | QCheckBox *replaceFlipY = nullptr; 26 | 27 | QCheckBox *replaceSolidATop = nullptr; 28 | QCheckBox *replaceSolidALRB = nullptr; 29 | 30 | QCheckBox *replaceSolidBTop = nullptr; 31 | QCheckBox *replaceSolidBLRB = nullptr; 32 | 33 | QCheckBox *replaceCollision = nullptr; 34 | QCheckBox *replaceGraphics = nullptr; 35 | 36 | QCheckBox *hasVisualPlane = nullptr; 37 | 38 | QCheckBox *hasFlipX = nullptr; 39 | QCheckBox *hasFlipY = nullptr; 40 | 41 | QCheckBox *hasSolidATop = nullptr; 42 | QCheckBox *hasSolidALRB = nullptr; 43 | 44 | QCheckBox *hasSolidBTop = nullptr; 45 | QCheckBox *hasSolidBLRB = nullptr; 46 | 47 | private: 48 | Ui::TileReplaceOptions *ui; 49 | }; 50 | 51 | 52 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/stamps.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv5 4 | { 5 | 6 | class Stamps 7 | { 8 | public: 9 | class StampEntry 10 | { 11 | public: 12 | StampEntry() {} 13 | StampEntry(Reader &reader) { read(reader); } 14 | 15 | QString name = "Stamp"; 16 | Vector2 pos = Vector2(0, 0); 17 | Vector2 size = Vector2(0, 0); 18 | 19 | void read(Reader &reader); 20 | void write(Writer &writer); 21 | }; 22 | 23 | Stamps() {} 24 | Stamps(QString filename) { read(filename); } 25 | Stamps(Reader &reader) { read(reader); } 26 | 27 | inline void read(QString filename) 28 | { 29 | Reader reader(filename); 30 | read(reader); 31 | } 32 | void read(Reader &reader); 33 | 34 | inline void write(QString filename) 35 | { 36 | if (filename == "") 37 | filename = filePath; 38 | if (filename == "") 39 | return; 40 | Writer writer(filename); 41 | write(writer); 42 | } 43 | void write(Writer &writer); 44 | 45 | QList stampList; 46 | 47 | byte signature[4] = { 'S', 'C', 'N', 0 }; 48 | 49 | QString filePath = ""; 50 | }; 51 | 52 | }; // namespace RSDKv5 53 | 54 | 55 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build RetroED 2 | 3 | on: 4 | push: 5 | paths: 6 | - RetroED/** 7 | - .github/workflows/build.yml 8 | branches: 9 | - master 10 | 11 | jobs: 12 | win-build: 13 | runs-on: windows-latest 14 | 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v4 18 | - name: Setup MSVC 19 | uses: ilammy/msvc-dev-cmd@v1 20 | 21 | - name: Install Qt 22 | uses: jurplel/install-qt-action@v4 23 | with: 24 | version: '5.15.2' 25 | cache: true 26 | - name: Download Jom 27 | run: | 28 | Invoke-WebRequest http://download.qt.io/official_releases/jom/jom.zip -OutFile "jom.zip" 29 | mkdir build 30 | Expand-Archive -Path jom.zip -DestinationPath build 31 | - name: Run versiongen 32 | working-directory: RetroEDv2 33 | run: | 34 | py -m pip install pytz 35 | py versiongen.py $Env:GITHUB_SHA 36 | - name: Build RetroED 37 | working-directory: build 38 | run: | 39 | qmake ../RetroEDv2/RetroEDv2.pro -spec win32-msvc -config release "CONFIG+=qtquickcompiler" "ENV+=GITHUB_ACTION" 40 | ./jom -j4 41 | - name: Upload artifacts 42 | uses: actions/upload-artifact@v4 43 | with: 44 | name: RetroED-win 45 | path: build/release/RetroED 46 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv4/bytecodev4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv4 4 | { 5 | 6 | class Bytecode 7 | { 8 | public: 9 | struct FunctionInfo { 10 | public: 11 | FunctionInfo() {} 12 | 13 | int scriptCodePos = 0; 14 | int jumpTablePos = 0; 15 | }; 16 | 17 | struct ScriptInfo { 18 | public: 19 | ScriptInfo() {} 20 | 21 | FunctionInfo update; 22 | FunctionInfo draw; 23 | FunctionInfo startup; 24 | }; 25 | 26 | Bytecode() {} 27 | Bytecode(QString filename) { read(filename); } 28 | Bytecode(Reader &reader) { read(reader); } 29 | 30 | inline void read(QString filename) 31 | { 32 | Reader reader(filename); 33 | read(reader); 34 | } 35 | void read(Reader &reader); 36 | 37 | inline void write(QString filename) 38 | { 39 | if (filename == "") 40 | filename = filePath; 41 | if (filename == "") 42 | return; 43 | Writer writer(filename); 44 | write(writer); 45 | } 46 | void write(Writer &writer); 47 | 48 | QList scriptCode; 49 | QList jumpTable; 50 | QList scriptList; 51 | QList functionList; 52 | 53 | QString filePath = ""; 54 | }; 55 | 56 | } // namespace RSDKv4 57 | 58 | 59 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/stageconfigeditorv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "sceneincludesv5.hpp" 6 | 7 | namespace Ui 8 | { 9 | class StageConfigEditorv5; 10 | } 11 | 12 | class StageConfigEditorv5 : public QDialog 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | class ActionState 18 | { 19 | public: 20 | QString name = "Action"; 21 | 22 | RSDKv5::StageConfig stageConfig; 23 | }; 24 | 25 | explicit StageConfigEditorv5(RSDKv5::StageConfig *scf, QList &objList, QList gamelinkObjs, bool linkState, QWidget *parent = nullptr); 26 | ~StageConfigEditorv5(); 27 | QString oldObj = ""; 28 | QString replaceObj = ""; 29 | void setupUI(bool allowRowChange = true); 30 | 31 | protected: 32 | bool event(QEvent *event); 33 | 34 | private: 35 | void UndoAction(); 36 | void RedoAction(); 37 | void ResetAction(); 38 | void DoAction(QString name = "Action", bool setModified = true); 39 | void ClearActions(); 40 | 41 | void copyConfig(ActionState *stateDst, ActionState *stateSrc); 42 | 43 | QList actions; 44 | int actionIndex = 0; 45 | bool linkLoaded = false; 46 | 47 | Ui::StageConfigEditorv5 *ui; 48 | 49 | RSDKv5::StageConfig *stageConfig; 50 | }; 51 | 52 | 53 | -------------------------------------------------------------------------------- /RetroEDv2/tools/userdbmanager.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | UserDBManager 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 89 11 | 12 | 13 | 14 | UserDB Manager 15 | 16 | 17 | 18 | 19 | 20 | Import a UserDB from a CSV file 21 | 22 | 23 | Import UserDB from CSV 24 | 25 | 26 | 27 | 28 | 29 | 30 | Export a UserDB to a CSV file 31 | 32 | 33 | Export UserDB to CSV 34 | 35 | 36 | 37 | 38 | 39 | 40 | exportCSV 41 | importDB 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv4/stageconfigv4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv4 4 | { 5 | 6 | class StageConfig 7 | { 8 | public: 9 | class ObjectInfo 10 | { 11 | public: 12 | ObjectInfo() {} 13 | 14 | QString name = "Object"; 15 | QString script = "Folder/Script.txt"; 16 | }; 17 | 18 | class SoundInfo 19 | { 20 | public: 21 | SoundInfo() {} 22 | 23 | QString name = "Sound"; 24 | QString path = "Folder/Sound.wav"; 25 | }; 26 | 27 | StageConfig() {} 28 | StageConfig(QString filename) { read(filename); } 29 | StageConfig(Reader &reader) { read(reader); } 30 | 31 | inline void read(QString filename) 32 | { 33 | Reader reader(filename); 34 | read(reader); 35 | } 36 | void read(Reader &reader); 37 | 38 | inline void write(QString filename) 39 | { 40 | if (filename == "") 41 | filename = filePath; 42 | if (filename == "") 43 | return; 44 | Writer writer(filename); 45 | write(writer); 46 | } 47 | void write(Writer &writer); 48 | 49 | Palette palette; 50 | QList soundFX; 51 | QList objects; 52 | bool loadGlobalScripts = true; 53 | 54 | QString filePath = ""; 55 | }; 56 | 57 | } // namespace RSDKv4 58 | 59 | 60 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/bound_color_selector.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * \file 3 | * 4 | * \author Mattia Basaglia 5 | * 6 | * \copyright Copyright (C) 2013-2019 Mattia Basaglia 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU Lesser General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | #include "bound_color_selector.hpp" 23 | 24 | namespace color_widgets 25 | { 26 | 27 | BoundColorSelector::BoundColorSelector(QColor *reference, QWidget *parent) 28 | : ColorSelector(parent), ref(reference) 29 | { 30 | setColor(*reference); 31 | connect(this, &ColorPreview::colorChanged, this, &BoundColorSelector::update_reference); 32 | } 33 | 34 | void BoundColorSelector::update_reference(QColor c) { *ref = c; } 35 | 36 | } // namespace color_widgets 37 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/bytecodev3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class Bytecode 7 | { 8 | public: 9 | struct FunctionInfo { 10 | public: 11 | FunctionInfo() {} 12 | 13 | int scriptCodePos = 0; 14 | int jumpTablePos = 0; 15 | }; 16 | 17 | struct ScriptInfo { 18 | public: 19 | ScriptInfo() {} 20 | 21 | FunctionInfo main; 22 | FunctionInfo playerInteraction; 23 | FunctionInfo draw; 24 | FunctionInfo startup; 25 | }; 26 | 27 | Bytecode() {} 28 | Bytecode(QString filename) { read(filename); } 29 | Bytecode(Reader &reader) { read(reader); } 30 | 31 | inline void read(QString filename) 32 | { 33 | Reader reader(filename); 34 | read(reader); 35 | } 36 | void read(Reader &reader); 37 | 38 | inline void write(QString filename) 39 | { 40 | if (filename == "") 41 | filename = filePath; 42 | if (filename == "") 43 | return; 44 | Writer writer(filename); 45 | write(writer); 46 | } 47 | void write(Writer &writer); 48 | 49 | QList scriptCode; 50 | QList jumpTable; 51 | QList scriptList; 52 | QList functionList; 53 | 54 | QString filePath = ""; 55 | }; 56 | 57 | } // namespace RSDKv3 58 | 59 | 60 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/sceneproperties.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui 6 | { 7 | class SceneProperties; 8 | } 9 | 10 | class SceneProperties : public QWidget 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit SceneProperties(QWidget *parent = nullptr); 16 | ~SceneProperties(); 17 | 18 | void setupUI(FormatHelpers::Scene *scn, byte ver); 19 | void unsetUI(); 20 | 21 | QComboBox *musBox = nullptr; 22 | 23 | QCheckBox *loadGlobalCB = nullptr; 24 | 25 | QPushButton *editCHK = nullptr; 26 | QPushButton *editSCF = nullptr; 27 | QPushButton *editPAL = nullptr; 28 | QPushButton *editTSet = nullptr; 29 | QPushButton *copyPlane = nullptr; 30 | QLabel *objCnt = nullptr; 31 | QLabel *entCntTot = nullptr; 32 | 33 | QSpinBox *gridX = nullptr; 34 | QSpinBox *gridY = nullptr; 35 | 36 | QPushButton *syncGC = nullptr; 37 | QPushButton *syncSC = nullptr; 38 | QPushButton *reloadLink = nullptr; 39 | 40 | QPushButton *replaceChunk = nullptr; 41 | 42 | color_widgets::ColorPreview *bgSel = nullptr; 43 | color_widgets::ColorPreview *altBGSel = nullptr; 44 | 45 | QGroupBox *v1PropertiesBox = nullptr; 46 | QWidget *layers = nullptr; 47 | 48 | private: 49 | Ui::SceneProperties *ui; 50 | 51 | void *sceneEditor = nullptr; 52 | }; 53 | 54 | 55 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/stageconfigv2.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "stageconfigv2.hpp" 4 | 5 | void RSDKv2::StageConfig::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | // Global Objects Flag 10 | loadGlobalScripts = reader.read(); 11 | 12 | // Stage Palette 13 | palette.read(reader, 2 * 16); 14 | 15 | // Stage Scripts 16 | byte scrCount = reader.read(); 17 | objects.clear(); 18 | 19 | for (int s = 0; s < scrCount; ++s) { 20 | objects.append(reader.readString()); 21 | } 22 | 23 | // Stage SoundFX 24 | byte sfxCount = reader.read(); 25 | soundFX.clear(); 26 | 27 | for (int s = 0; s < sfxCount; ++s) { 28 | soundFX.append(reader.readString()); 29 | } 30 | } 31 | 32 | void RSDKv2::StageConfig::write(Writer &writer) 33 | { 34 | filePath = writer.filePath; 35 | 36 | // Global Objects Flag 37 | writer.write(loadGlobalScripts); 38 | 39 | // Stage Palette 40 | palette.write(writer); 41 | 42 | // Stage Scripts 43 | writer.write((byte)objects.count()); 44 | for (QString &scr : objects) { 45 | writer.write(scr); 46 | } 47 | 48 | // Stage SoundFX 49 | writer.write((byte)soundFX.count()); 50 | for (QString &sfx : soundFX) { 51 | writer.write(sfx); 52 | } 53 | 54 | writer.flush(); 55 | } 56 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/src/qtpropertybrowser.pri: -------------------------------------------------------------------------------- 1 | include(../common.pri) 2 | greaterThan(QT_MAJOR_VERSION, 4): QT *= widgets 3 | INCLUDEPATH += $$PWD 4 | DEPENDPATH += $$PWD 5 | 6 | qtpropertybrowser-uselib:!qtpropertybrowser-buildlib { 7 | LIBS += -L$$QTPROPERTYBROWSER_LIBDIR -l$$QTPROPERTYBROWSER_LIBNAME 8 | } else { 9 | DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 10 | SOURCES += $$PWD/qtpropertybrowser.cpp \ 11 | $$PWD/qtpropertymanager.cpp \ 12 | $$PWD/qteditorfactory.cpp \ 13 | $$PWD/qtvariantproperty.cpp \ 14 | $$PWD/qttreepropertybrowser.cpp \ 15 | $$PWD/qtbuttonpropertybrowser.cpp \ 16 | $$PWD/qtgroupboxpropertybrowser.cpp \ 17 | $$PWD/qtpropertybrowserutils.cpp 18 | HEADERS += $$PWD/qtpropertybrowser.h \ 19 | $$PWD/qtpropertymanager.h \ 20 | $$PWD/qteditorfactory.h \ 21 | $$PWD/qtvariantproperty.h \ 22 | $$PWD/qttreepropertybrowser.h \ 23 | $$PWD/qtbuttonpropertybrowser.h \ 24 | $$PWD/qtgroupboxpropertybrowser.h \ 25 | $$PWD/qtpropertybrowserutils_p.h 26 | RESOURCES += $$PWD/qtpropertybrowser.qrc 27 | } 28 | 29 | win32 { 30 | contains(TEMPLATE, lib):contains(CONFIG, shared):DEFINES += QT_QTPROPERTYBROWSER_EXPORT 31 | else:qtpropertybrowser-uselib:DEFINES += QT_QTPROPERTYBROWSER_IMPORT 32 | } 33 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/configv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv3 4 | { 5 | 6 | class Config 7 | { 8 | public: 9 | Config() {} 10 | Config(QString filename) { read(filename); } 11 | Config(Reader &reader) { read(reader); } 12 | 13 | inline void read(QString filename) 14 | { 15 | Reader reader(filename); 16 | read(reader); 17 | } 18 | inline void read(Reader &reader) 19 | { 20 | filePath = reader.m_filepath; 21 | 22 | width = reader.read(); 23 | height = reader.read(); 24 | fps = reader.read(); 25 | windowed = reader.read(); 26 | } 27 | 28 | inline void write(QString filename) 29 | { 30 | if (filename == "") 31 | filename = filePath; 32 | if (filename == "") 33 | return; 34 | Writer writer(filename); 35 | write(writer); 36 | } 37 | inline void write(Writer &writer) 38 | { 39 | filePath = writer.filePath; 40 | writer.write(width); 41 | writer.write(height); 42 | writer.write(fps); 43 | writer.write(windowed); 44 | 45 | writer.flush(); 46 | } 47 | 48 | int width = 400; 49 | int height = 240; 50 | int fps = 60; 51 | bool windowed = true; 52 | 53 | QString filePath = ""; 54 | }; 55 | 56 | } // namespace RSDKv3 57 | 58 | 59 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/stamps.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "stamps.hpp" 4 | 5 | void RSDKv5::Stamps::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | if (!reader.matchesSignature(signature, 4)) 9 | return; 10 | 11 | ushort stampCount = reader.read(); 12 | for (int i = 0; i < stampCount; ++i) { 13 | stampList.append(StampEntry(reader)); 14 | } 15 | } 16 | 17 | void RSDKv5::Stamps::write(Writer &writer) 18 | { 19 | filePath = writer.filePath; 20 | writer.write(signature, 4); 21 | 22 | writer.write((ushort)stampList.count()); 23 | for (int i = 0; i < stampList.count(); ++i) { 24 | stampList[i].write(writer); 25 | } 26 | 27 | writer.flush(); 28 | } 29 | 30 | void RSDKv5::Stamps::StampEntry::read(Reader &reader) 31 | { 32 | name = reader.readString(); 33 | pos.x = Utils::fixedToFloat(reader.read()); 34 | pos.y = Utils::fixedToFloat(reader.read()); 35 | size.x = Utils::fixedToFloat(reader.read()); 36 | size.y = Utils::fixedToFloat(reader.read()); 37 | } 38 | 39 | void RSDKv5::Stamps::StampEntry::write(Writer &writer) 40 | { 41 | writer.write(name); 42 | writer.write(Utils::floatToFixed(pos.x)); 43 | writer.write(Utils::floatToFixed(pos.y)); 44 | writer.write(Utils::floatToFixed(size.x)); 45 | writer.write(Utils::floatToFixed(size.y)); 46 | } 47 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/README.md: -------------------------------------------------------------------------------- 1 | Documentation: http://qtgifimage.debao.me 2 | 3 | Qt Gif Image is a Qt library that can read and write Gif files. 4 | 5 | ## Getting Started 6 | 7 | ### Usage(1): Use Qt Gif Image as Qt5's addon module 8 | 9 | * Download the source code. 10 | 11 | * Put the source code in any directory you like. At the toplevel directory run 12 | 13 | **Note**: Perl is needed. 14 | 15 | ``` 16 | qmake 17 | make 18 | make install 19 | ``` 20 | 21 | The library, the header files, and others will be installed to your system. 22 | 23 | * Add following line to your qmake's project file: 24 | 25 | ``` 26 | QT += gifimage 27 | ``` 28 | 29 | * Then, using Qt Gif Image in your code 30 | 31 | ### Usage(2): Use source code directly 32 | 33 | The package contains a **qtgifimage.pri** file that allows you to integrate the component into applications that use qmake for the build step. 34 | 35 | * Download the source code. 36 | 37 | * Put the source code in any directory you like. For example, 3rdparty: 38 | 39 | ``` 40 | |-- project.pro 41 | |-- .... 42 | |-- 3rdparty\ 43 | | |-- qtgifimage\ 44 | | | 45 | ``` 46 | 47 | * Add following line to your qmake project file: 48 | 49 | ``` 50 | include(3rdparty/qtgifimage/src/gifimage/qtgifimage.pri) 51 | ``` 52 | 53 | * Then, using Qt Gif Image in your code 54 | 55 | ## References 56 | 57 | * http://giflib.sourceforge.net/intro.html 58 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/colour.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Color 4 | { 5 | public: 6 | Color() {} 7 | Color(byte r, byte g, byte b) : r(r), g(g), b(b) {} 8 | Color(Reader &reader) { read(reader); } 9 | 10 | void read(Reader &reader) 11 | { 12 | r = reader.read(); 13 | g = reader.read(); 14 | b = reader.read(); 15 | } 16 | 17 | void write(Writer &writer) 18 | { 19 | writer.write(r); 20 | writer.write(g); 21 | writer.write(b); 22 | } 23 | 24 | byte r = 0xFF; 25 | byte g = 0x00; 26 | byte b = 0xFF; 27 | }; 28 | 29 | struct PaletteColor { 30 | PaletteColor() {} 31 | PaletteColor(byte r, byte g, byte b) 32 | { 33 | this->r = r; 34 | this->g = g; 35 | this->b = b; 36 | } 37 | PaletteColor(QColor c) 38 | { 39 | this->r = c.red(); 40 | this->g = c.green(); 41 | this->b = c.blue(); 42 | } 43 | 44 | void read(Reader &reader) 45 | { 46 | r = reader.read(); 47 | g = reader.read(); 48 | b = reader.read(); 49 | } 50 | 51 | void write(Writer &writer) 52 | { 53 | writer.write(r); 54 | writer.write(g); 55 | writer.write(b); 56 | } 57 | 58 | inline QColor toQColor() { return QColor(r, g, b); } 59 | 60 | byte r = 0xFF; 61 | byte g = 0x00; 62 | byte b = 0xFF; 63 | }; 64 | 65 | 66 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/io/reader.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | Reader::Reader(QString filepath) : file(new QFile(filepath)), stream(new QDataStream(file.data())) 4 | { 5 | initialised = file->open(QIODevice::ReadOnly); 6 | 7 | this->filePath = filepath; 8 | this->filesize = file->size(); 9 | } 10 | 11 | Reader::Reader(QDataStream *stream) : stream(stream) 12 | { 13 | filePath = "Memory"; 14 | initialised = true; 15 | } 16 | 17 | QByteArray Reader::readZLib(bool raw) 18 | { 19 | if (raw) { 20 | uint decompressed = filesize; 21 | 22 | QByteArray compressed = readByteArray(filesize); 23 | QByteArray intBytes; 24 | for (short i = 3; i > -1; i--) intBytes.append((byte)((decompressed >> (i * 8)) & 0xFF)); 25 | 26 | compressed.insert(0, intBytes); 27 | return qUncompress(compressed); 28 | } 29 | else { 30 | uint complen = read(); 31 | uint decompLE = read(); 32 | uint decompressed = (uint)((decompLE << 24) | ((decompLE << 8) & 0x00FF0000) 33 | | ((decompLE >> 8) & 0x0000FF00) | (decompLE >> 24)); 34 | 35 | QByteArray compressed = readByteArray(complen - 4); 36 | QByteArray intBytes; 37 | for (short i = 3; i > -1; i--) intBytes.append((byte)((decompressed >> (i * 8)) & 0xFF)); 38 | 39 | compressed.insert(0, intBytes); 40 | return qUncompress(compressed); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RetroEDv2/tools/gamelink/gamestorage.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define STORAGE_ENTRY_COUNT (0x1000) 4 | #define STORAGE_HEADER_SIZE (sizeof(DataStorageHeader) / sizeof(int)) 5 | 6 | enum StorageDataSets { 7 | DATASET_STG, 8 | DATASET_STR, 9 | DATASET_TMP, 10 | DATASET_MAX, // used to signify limits 11 | }; 12 | 13 | struct DataStorage { 14 | int *memoryTable; 15 | uint usedStorage; 16 | uint storageLimit; 17 | int **dataEntries[STORAGE_ENTRY_COUNT]; // pointer to the actual variable 18 | int *storageEntries[STORAGE_ENTRY_COUNT]; // pointer to the storage in "memoryTable" 19 | uint entryCount; 20 | uint clearCount; 21 | }; 22 | 23 | struct DataStorageHeader { 24 | bool32 active; 25 | int setID; 26 | int dataOffset; 27 | int dataSize; 28 | // there are "dataSize" int's following this header, but they are omitted from the struct cuz they 29 | // don't need to be here 30 | }; 31 | 32 | void initStorage(DataStorage *dataStorage); 33 | void releaseStorage(DataStorage *dataStorage); 34 | 35 | void allocateStorage(DataStorage *dataStorage, uint size, void **dataPtr, StorageDataSets dataSet, 36 | bool32 clear); 37 | void clearUnusedStorage(DataStorage *dataStorage, StorageDataSets set); 38 | void removeStorageEntry(DataStorage *dataStorage, void **dataPtr); 39 | void copyStorage(DataStorage *dataStorage, int **src, int **dst); 40 | void cleanEmptyStorage(DataStorage *dataStorage, StorageDataSets dataSet); 41 | 42 | 43 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/videov2.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "videov2.hpp" 4 | 5 | void RSDKv2::Video::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | ushort frameCount = reader.read(); 10 | width = reader.read(); 11 | height = reader.read(); 12 | 13 | int videoFilePos = (int)reader.tell(); 14 | frames.clear(); 15 | for (int f = 0; f < frameCount; ++f) { 16 | uint frameSize = reader.read(); 17 | 18 | FormatHelpers::Gif frame; 19 | frame.width = width; 20 | frame.height = height; 21 | frame.read(reader, true, 0x80); 22 | 23 | frames.append(frame); 24 | 25 | videoFilePos += frameSize; 26 | reader.seek(videoFilePos); 27 | } 28 | } 29 | 30 | void RSDKv2::Video::write(Writer &writer) 31 | { 32 | filePath = writer.filePath; 33 | 34 | writer.write(frames.count()); 35 | writer.write(width); 36 | writer.write(height); 37 | 38 | for (FormatHelpers::Gif frame : frames) { 39 | 40 | QByteArray gifData; 41 | QBuffer sbuffer(&gifData); 42 | sbuffer.open(QIODevice::Append); 43 | QDataStream *smem = new QDataStream(&sbuffer); 44 | Writer swriter(smem); 45 | 46 | frame.write(swriter, true, true); 47 | swriter.flush(); 48 | 49 | writer.write(gifData.count() + 4); 50 | writer.write(gifData); 51 | } 52 | writer.flush(); 53 | } 54 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/videov3.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "videov3.hpp" 4 | 5 | void RSDKv3::Video::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | ushort frameCount = reader.read(); 10 | width = reader.read(); 11 | height = reader.read(); 12 | 13 | int videoFilePos = (int)reader.tell(); 14 | frames.clear(); 15 | for (int f = 0; f < frameCount; ++f) { 16 | uint frameSize = reader.read(); 17 | 18 | FormatHelpers::Gif frame; 19 | frame.width = width; 20 | frame.height = height; 21 | frame.read(reader, true, 0x80); 22 | 23 | frames.append(frame); 24 | 25 | videoFilePos += frameSize; 26 | reader.seek(videoFilePos); 27 | } 28 | } 29 | 30 | void RSDKv3::Video::write(Writer &writer) 31 | { 32 | filePath = writer.filePath; 33 | 34 | writer.write(frames.count()); 35 | writer.write(width); 36 | writer.write(height); 37 | 38 | for (FormatHelpers::Gif frame : frames) { 39 | 40 | QByteArray gifData; 41 | QBuffer sbuffer(&gifData); 42 | sbuffer.open(QIODevice::Append); 43 | QDataStream *smem = new QDataStream(&sbuffer); 44 | Writer swriter(smem); 45 | 46 | frame.write(swriter, true, true); 47 | swriter.flush(); 48 | 49 | writer.write(gifData.count() + 4); 50 | writer.write(gifData); 51 | } 52 | writer.flush(); 53 | } 54 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/bound_color_selector.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * \file 3 | * 4 | * \author Mattia Basaglia 5 | * 6 | * \copyright Copyright (C) 2013-2019 Mattia Basaglia 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU Lesser General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public License 19 | * along with this program. If not, see . 20 | * 21 | */ 22 | #ifndef BOUND_COLOR_SELECTOR_HPP 23 | #define BOUND_COLOR_SELECTOR_HPP 24 | 25 | #include 26 | 27 | #include "color_selector.hpp" 28 | 29 | namespace color_widgets { 30 | /** 31 | * \brief A color selector bound to a color reference 32 | * \todo Maybe this can be removed 33 | */ 34 | class BoundColorSelector : public ColorSelector 35 | { 36 | Q_OBJECT 37 | private: 38 | QColor* ref; 39 | public: 40 | explicit BoundColorSelector(QColor* reference, QWidget *parent = 0); 41 | 42 | private Q_SLOTS: 43 | void update_reference(QColor); 44 | }; 45 | } // namespace color_widgets 46 | #endif // BOUND_COLOR_SELECTOR_HPP 47 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/staticobjectv5.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv5 4 | { 5 | 6 | class StaticObject 7 | { 8 | public: 9 | enum StaticObjectTypes { 10 | SVAR_UINT8, 11 | SVAR_UINT16, 12 | SVAR_UINT32, 13 | SVAR_INT8, 14 | SVAR_INT16, 15 | SVAR_INT32, 16 | SVAR_BOOL, 17 | SVAR_PTR, 18 | SVAR_VEC2, 19 | SVAR_TEXT, 20 | SVAR_ANIMATOR, 21 | SVAR_HITBOX, 22 | SVAR_UNKNOWN, 23 | }; 24 | 25 | struct ArrayInfo { 26 | byte type = 0; 27 | int size = 0; 28 | int dataSize = 0; 29 | QList entries; 30 | }; 31 | StaticObject() {} 32 | StaticObject(QString filename) { read(filename); } 33 | StaticObject(Reader &reader) { read(reader); } 34 | 35 | inline void read(QString filename) 36 | { 37 | Reader reader(filename); 38 | read(reader); 39 | } 40 | void read(Reader &reader); 41 | 42 | inline void write(QString filename) 43 | { 44 | if (filename == "") 45 | filename = filePath; 46 | if (filename == "") 47 | return; 48 | Writer writer(filename); 49 | write(writer); 50 | } 51 | void write(Writer &writer); 52 | 53 | uint getOffset(int arrayID); 54 | 55 | int getDataSize(int type); 56 | 57 | byte signature[4] = { 'O', 'B', 'J', 0 }; 58 | 59 | QList values; 60 | 61 | QString filePath = ""; 62 | }; 63 | 64 | } // namespace RSDKv5 65 | 66 | 67 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv5/animationv5.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "animationv5.hpp" 4 | 5 | void RSDKv5::Animation::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | if (!reader.matchesSignature(signature, 4)) { 10 | return; 11 | } 12 | 13 | uint totalFrameCount = reader.read(); 14 | Q_UNUSED(totalFrameCount); 15 | 16 | byte sheetCount = reader.read(); 17 | for (int s = 0; s < sheetCount; ++s) sheets.append(reader.readStringV5()); 18 | 19 | byte hitboxCount = reader.read(); 20 | for (int h = 0; h < hitboxCount; ++h) hitboxTypes.append(reader.readStringV5()); 21 | 22 | ushort animCount = reader.read(); 23 | for (int a = 0; a < animCount; ++a) animations.append(AnimationEntry(reader, this)); 24 | } 25 | 26 | void RSDKv5::Animation::write(Writer &writer) 27 | { 28 | filePath = writer.filePath; 29 | 30 | writer.write(signature, 4); 31 | 32 | uint totalFrameCount = 0; 33 | for (auto &a : animations) totalFrameCount += a.frames.count(); 34 | writer.write(totalFrameCount); 35 | 36 | writer.write((byte)sheets.count()); 37 | for (int s = 0; s < sheets.count(); ++s) writer.writeStringV5(sheets[s]); 38 | 39 | writer.write((byte)hitboxTypes.count()); 40 | for (int h = 0; h < hitboxTypes.count(); ++h) writer.writeStringV5(hitboxTypes[h]); 41 | 42 | writer.write((ushort)animations.count()); 43 | for (int a = 0; a < animations.count(); ++a) animations[a].write(writer, this); 44 | 45 | writer.flush(); 46 | } 47 | -------------------------------------------------------------------------------- /RetroEDv2/shaders/fb/passthrough.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | in vec2 ex_UV; 3 | out vec4 out_color; 4 | 5 | uniform int inkEffect; 6 | uniform int maskColor; 7 | uniform int alpha; 8 | 9 | uniform sampler2D source; 10 | uniform sampler2D dest; 11 | 12 | const int INK_NONE = 0; 13 | const int INK_BLEND = 1; 14 | const int INK_ALPHA = 2; 15 | const int INK_ADD = 3; 16 | const int INK_SUB = 4; 17 | //const int INK_LOOKUP = 5; 18 | const int INK_MASKED = 6; 19 | const int INK_UNMASK = 7; 20 | 21 | void main() 22 | { 23 | out_color = texture(source, ex_UV); 24 | if (out_color.a == 0 || (alpha == 0 && inkEffect < INK_MASKED && inkEffect > INK_BLEND)) 25 | discard; 26 | float alph = alpha / 255.0; 27 | ivec3 placed = ivec3(texture(dest, ex_UV).rgb * 255); 28 | int truncated = (placed.b >> 3) | ((placed.g >> 2) << 5) | ((placed.r >> 3) << 11); 29 | 30 | switch (inkEffect) { 31 | case INK_NONE: out_color = vec4(out_color.rgb, 1.0); break; 32 | case INK_BLEND: alph = .5; 33 | case INK_ALPHA: 34 | case INK_ADD: out_color = vec4(out_color.rgb, alph); break; 35 | case INK_SUB: out_color = vec4((texture(dest, ex_UV) - out_color * (alph)).rgb, 1.0); break; 36 | case INK_MASKED: 37 | if (truncated != maskColor) 38 | discard; 39 | out_color = vec4(out_color.rgb, 1.0); 40 | break; 41 | case INK_UNMASK: 42 | if (truncated == maskColor) 43 | discard; 44 | out_color = vec4(out_color.rgb, 1.0); 45 | break; 46 | } 47 | } -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/doc/src/usage.qdoc: -------------------------------------------------------------------------------- 1 | /*! 2 | \page building 3 | \title Qt GifImage Build 4 | 5 | \section1 Usage(1): Use Qt GifImage as Qt5's addon module 6 | 7 | 1. Download the source code from \l {https://github.com/dbzhang800/QtGifImage/archive/master.zip} {github.com}. 8 | 9 | 2. Put the source code in any directory you like. At the toplevel directory run 10 | 11 | \note Perl is needed in this step. 12 | 13 | \code 14 | qmake 15 | make 16 | make install 17 | \endcode 18 | 19 | The library, the header files, and others will be installed to your system. 20 | 21 | 3. Add following line to your qmake's project file: 22 | 23 | \code 24 | QT += gifimage 25 | \endcode 26 | 27 | 4. Then, using Qt Qt GifImage in your code 28 | 29 | \section1 Usage(2): Use source code directly 30 | 31 | The package contains a qtgifimage.pri file that allows you to integrate 32 | the component into applications that use qmake for the build step. 33 | 34 | 1. Download the source code from \l {https://github.com/dbzhang800/QtGifImage/archive/master.zip} {github.com} 35 | 36 | 2. Put the source code in any directory you like. For example, 3rdparty: 37 | 38 | \code 39 | |-- project.pro 40 | |-- .... 41 | |-- 3rdparty\ 42 | | |-- qtgifimage\ 43 | | | 44 | \endcode 45 | 46 | 3. Add following line to your qmake project file: 47 | 48 | \code 49 | include(3rdparty/qtgifimage/src/gifimage/qtgifimage.pri) 50 | \endcode 51 | 52 | 4. Then, using Qt GifImage in your code 53 | */ 54 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/3rdParty/giflib/gif_hash.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | 3 | gif_hash.h - magfic constants and declarations for GIF LZW 4 | 5 | ******************************************************************************/ 6 | 7 | #ifndef _GIF_HASH_H_ 8 | #define _GIF_HASH_H_ 9 | 10 | #ifndef _WIN32 11 | #include 12 | #endif 13 | #include 14 | 15 | #define HT_SIZE 8192 /* 12bits = 4096 or twice as big! */ 16 | #define HT_KEY_MASK 0x1FFF /* 13bits keys */ 17 | #define HT_KEY_NUM_BITS 13 /* 13bits keys */ 18 | #define HT_MAX_KEY 8191 /* 13bits - 1, maximal code possible */ 19 | #define HT_MAX_CODE 4095 /* Biggest code possible in 12 bits. */ 20 | 21 | /* The 32 bits of the long are divided into two parts for the key & code: */ 22 | /* 1. The code is 12 bits as our compression algorithm is limited to 12bits */ 23 | /* 2. The key is 12 bits Prefix code + 8 bit new char or 20 bits. */ 24 | /* The key is the upper 20 bits. The code is the lower 12. */ 25 | #define HT_GET_KEY(l) (l >> 12) 26 | #define HT_GET_CODE(l) (l & 0x0FFF) 27 | #define HT_PUT_KEY(l) (l << 12) 28 | #define HT_PUT_CODE(l) (l & 0x0FFF) 29 | 30 | typedef struct GifHashTableType { 31 | uint32_t HTable[HT_SIZE]; 32 | } GifHashTableType; 33 | 34 | GifHashTableType *_InitHashTable(void); 35 | void _ClearHashTable(GifHashTableType *HashTable); 36 | void _InsertHashTable(GifHashTableType *HashTable, uint32_t Key, int Code); 37 | int _ExistsHashTable(GifHashTableType *HashTable, uint32_t Key); 38 | 39 | #endif /* _GIF_HASH_H_ */ 40 | 41 | /* end */ 42 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/qtgifimage.qdoc: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Copyright (c) 2013 Debao Zhang 3 | ** All right reserved. 4 | ** 5 | ** Permission is hereby granted, free of charge, to any person obtaining 6 | ** a copy of this software and associated documentation files (the 7 | ** "Software"), to deal in the Software without restriction, including 8 | ** without limitation the rights to use, copy, modify, merge, publish, 9 | ** distribute, sublicense, and/or sell copies of the Software, and to 10 | ** permit persons to whom the Software is furnished to do so, subject to 11 | ** the following conditions: 12 | ** 13 | ** The above copyright notice and this permission notice shall be 14 | ** included in all copies or substantial portions of the Software. 15 | ** 16 | ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | ** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | ** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | ** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ** 24 | ****************************************************************************/ 25 | 26 | /*! 27 | \module QtGifImage 28 | \title Qt GifImage C++ Classes 29 | \ingroup modules 30 | 31 | \brief The Qt Gif Image module provides functionality for handling .gif files. 32 | */ 33 | 34 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv2/datapackv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv2 4 | { 5 | 6 | class Datapack 7 | { 8 | public: 9 | class DirInfo 10 | { 11 | public: 12 | DirInfo() {} 13 | DirInfo(Reader &reader) { read(reader); } 14 | 15 | void read(Reader &reader); 16 | void write(Writer &writer); 17 | 18 | QString directory = "dir/"; 19 | int startOffset = 0; 20 | }; 21 | 22 | class FileInfo 23 | { 24 | public: 25 | FileInfo() {} 26 | FileInfo(Reader &reader) { read(reader); } 27 | 28 | void read(Reader &reader); 29 | void write(Writer &writer); 30 | 31 | QString fileName = "File.ext"; 32 | QString fullFileName = "Folder/File.ext"; 33 | uint fileSize = 0; 34 | QByteArray fileData; 35 | ushort dirID = 0; 36 | }; 37 | 38 | Datapack() {} 39 | Datapack(QString filename) { read(filename); } 40 | Datapack(Reader &reader) { read(reader); } 41 | 42 | inline void read(QString filename) 43 | { 44 | Reader reader(filename); 45 | read(reader); 46 | } 47 | void read(Reader &reader); 48 | 49 | inline void write(QString filename) 50 | { 51 | if (filename == "") 52 | filename = filePath; 53 | if (filename == "") 54 | return; 55 | Writer writer(filename); 56 | write(writer); 57 | } 58 | void write(Writer &writer); 59 | 60 | QList directories; 61 | QList files; 62 | 63 | QString filePath = ""; 64 | }; 65 | 66 | } // namespace RSDKv2 67 | 68 | 69 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv1/datapackv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace RSDKv1 4 | { 5 | 6 | class Datapack 7 | { 8 | public: 9 | class DirInfo 10 | { 11 | public: 12 | DirInfo() {} 13 | DirInfo(Reader &reader) { read(reader); } 14 | 15 | void read(Reader &reader); 16 | void write(Writer &writer); 17 | 18 | QString directory = "dir/"; 19 | int startOffset = 0; 20 | }; 21 | 22 | class FileInfo 23 | { 24 | public: 25 | FileInfo() {} 26 | FileInfo(Reader &reader) { read(reader); } 27 | 28 | void read(Reader &reader); 29 | void write(Writer &writer); 30 | 31 | QString fileName = "File.ext"; 32 | QString fullFileName = "Folder/File.ext"; 33 | uint fileSize = 0; 34 | ushort dirID = 0; 35 | QByteArray fileData; 36 | }; 37 | 38 | Datapack() {} 39 | Datapack(QString filename) { read(filename); } 40 | Datapack(Reader &reader) { read(reader); } 41 | 42 | inline void read(QString filename) 43 | { 44 | Reader reader(filename); 45 | read(reader); 46 | } 47 | void read(Reader &reader); 48 | 49 | inline void write(QString filename) 50 | { 51 | if (filename == "") 52 | filename = filePath; 53 | if (filename == "") 54 | return; 55 | Writer writer(filename); 56 | write(writer); 57 | } 58 | void write(Writer &writer); 59 | 60 | QList directories; 61 | QList files; 62 | 63 | QString filePath = ""; 64 | }; 65 | 66 | } // namespace RSDKv1 67 | 68 | 69 | -------------------------------------------------------------------------------- /RetroEDv2/tools/sceneproperties/chunkreplaceoptions.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Ui { 6 | class ChunkReplaceOptions; 7 | } 8 | 9 | class ChunkReplaceViewer : public QLabel 10 | { 11 | Q_OBJECT 12 | public: 13 | ChunkReplaceViewer(short *cSel, FormatHelpers::Chunks *chk, QList tiles, 14 | QWidget *parent = nullptr) 15 | : QLabel(parent), cSel(cSel), tiles(tiles), chunks(chk){} 16 | 17 | Vector2 offset = Vector2(0, 0); 18 | bool flipX = false; 19 | bool flipY = false; 20 | 21 | protected: 22 | void paintEvent(QPaintEvent *event) override; 23 | 24 | private: 25 | short *cSel = nullptr; 26 | float zoom = 2.0f; 27 | 28 | QList tiles; 29 | FormatHelpers::Chunks *chunks = nullptr; 30 | }; 31 | 32 | class ChunkReplaceOptions : public QDialog 33 | { 34 | Q_OBJECT 35 | 36 | public: 37 | explicit ChunkReplaceOptions(byte gameVer, FormatHelpers::Chunks *chk, QList &chunks, QList &tiles, QWidget *parent = nullptr); 38 | ~ChunkReplaceOptions(); 39 | 40 | short selectedChunk = 0; 41 | short replacedChunk = 0; 42 | 43 | bool ctrlSelect = false; 44 | bool shiftSelect = false; 45 | bool modified = false; 46 | 47 | void setupUI(); 48 | 49 | protected: 50 | bool event(QEvent *e) override; 51 | 52 | private: 53 | Ui::ChunkReplaceOptions *ui; 54 | 55 | ChunkReplaceViewer *chkView = nullptr; 56 | FormatHelpers::Chunks *chunks = nullptr; 57 | FormatHelpers::Chunks::Chunk tempChunk; 58 | 59 | QList &tileList; 60 | QList &chunkImgList; 61 | }; 62 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/formats/RSDKv3/stageconfigv3.cpp: -------------------------------------------------------------------------------- 1 | #include "libRSDK.hpp" 2 | 3 | #include "stageconfigv3.hpp" 4 | 5 | void RSDKv3::StageConfig::read(Reader &reader) 6 | { 7 | filePath = reader.filePath; 8 | 9 | // Global Objects Flag 10 | loadGlobalScripts = reader.read(); 11 | 12 | // Stage Palette 13 | palette.read(reader, 2 * 16); 14 | 15 | // Stage Objects 16 | byte objectCount = reader.read(); 17 | objects.clear(); 18 | 19 | for (int o = 0; o < objectCount; ++o) { 20 | ObjectInfo obj; 21 | obj.name = reader.readString(); 22 | objects.append(obj); 23 | } 24 | 25 | for (ObjectInfo &obj : objects) { 26 | obj.script = reader.readString(); 27 | } 28 | 29 | // Stage SoundFX 30 | byte sfxCount = reader.read(); 31 | soundFX.clear(); 32 | 33 | for (int s = 0; s < sfxCount; ++s) { 34 | soundFX.append(reader.readString()); 35 | } 36 | } 37 | 38 | void RSDKv3::StageConfig::write(Writer &writer) 39 | { 40 | filePath = writer.filePath; 41 | 42 | // Global Objects Flag 43 | writer.write(loadGlobalScripts); 44 | 45 | // Stage Palette 46 | palette.write(writer); 47 | 48 | // Stage Objects 49 | writer.write((byte)objects.count()); 50 | for (ObjectInfo &obj : objects) { 51 | writer.write(obj.name); 52 | } 53 | 54 | for (ObjectInfo &obj : objects) { 55 | writer.write(obj.script); 56 | } 57 | 58 | // Stage SoundFX 59 | writer.write((byte)soundFX.count()); 60 | for (QString &sfx : soundFX) { 61 | writer.write(sfx); 62 | } 63 | 64 | writer.flush(); 65 | } 66 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/libRSDK/utils/formathelpers/scene.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace FormatHelpers 4 | { 5 | 6 | class Scene 7 | { 8 | public: 9 | class Object 10 | { 11 | public: 12 | class VariableInfo 13 | { 14 | public: 15 | VariableInfo() {} 16 | 17 | int value = 0; 18 | bool active = false; 19 | }; 20 | 21 | Object() {} 22 | 23 | inline float getX() { return pos.x / 65536.0f; } 24 | inline float getY() { return pos.y / 65536.0f; } 25 | 26 | inline void setX(float x) { pos.x = x * (1 << 0x10); } 27 | inline void setY(float y) { pos.y = y * (1 << 0x10); } 28 | 29 | byte type = 0; 30 | byte propertyValue = 0; 31 | Vector2 pos = Vector2(0 << 0x10, 0 << 0x10); 32 | VariableInfo variables[0x0F]; 33 | 34 | short slotID = 0; 35 | }; 36 | 37 | Scene() {} 38 | Scene(byte ver, QString filepath) { read(ver, filepath); } 39 | 40 | void read(byte ver, QString filename); 41 | void write(byte ver, QString filename); 42 | 43 | QString title = "ACT"; 44 | 45 | byte activeLayer[4]; 46 | byte midpoint = 3; 47 | 48 | byte musicID = 0; 49 | byte backgroundID = 0; 50 | 51 | short playerX = 0; 52 | short playerY = 0; 53 | 54 | QList> layout; 55 | 56 | QList objects; 57 | QList objectTypeNames; 58 | 59 | ushort width = 0; 60 | ushort height = 0; 61 | 62 | QString filepath = ""; 63 | 64 | static const int entityLimit = 0x400; 65 | }; 66 | 67 | } // namespace FormatHelpers 68 | 69 | 70 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtGifImage/src/gifimage/doc/src/qtgifimage.qdoc: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Copyright (c) 2013 Debao Zhang 3 | ** All right reserved. 4 | ** 5 | ** Permission is hereby granted, free of charge, to any person obtaining 6 | ** a copy of this software and associated documentation files (the 7 | ** "Software"), to deal in the Software without restriction, including 8 | ** without limitation the rights to use, copy, modify, merge, publish, 9 | ** distribute, sublicense, and/or sell copies of the Software, and to 10 | ** permit persons to whom the Software is furnished to do so, subject to 11 | ** the following conditions: 12 | ** 13 | ** The above copyright notice and this permission notice shall be 14 | ** included in all copies or substantial portions of the Software. 15 | ** 16 | ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | ** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | ** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | ** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ** 24 | ****************************************************************************/ 25 | 26 | /*! 27 | \module QtGifImage 28 | \title Qt GifImage C++ Classes 29 | \ingroup modules 30 | 31 | \brief The Qt GifImage module provides functionality for handling .gif files. 32 | 33 | */ 34 | 35 | -------------------------------------------------------------------------------- /RetroEDv2/tools/gameconfigeditorv2.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace Ui 8 | { 9 | class GameConfigEditorv2; 10 | } 11 | 12 | class GameConfigEditorv2 : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | class ActionState 18 | { 19 | public: 20 | QString name = "Action"; 21 | 22 | RSDKv2::GameConfig gameConfig; 23 | }; 24 | 25 | explicit GameConfigEditorv2(QString path = "", QWidget *parent = nullptr); 26 | ~GameConfigEditorv2(); 27 | 28 | void load(QString filename); 29 | 30 | void setupUI(bool allowRowChange = true); 31 | 32 | inline void UpdateTitle(bool modified) 33 | { 34 | this->modified = modified; 35 | if (modified) 36 | emit TitleChanged(tabTitle + " *", tabPath); 37 | else 38 | emit TitleChanged(tabTitle, tabPath); 39 | } 40 | 41 | signals: 42 | void TitleChanged(QString title, QString tabFullPath); 43 | 44 | protected: 45 | bool event(QEvent *event); 46 | 47 | private: 48 | void UndoAction(); 49 | void RedoAction(); 50 | void ResetAction(); 51 | void DoAction(QString name = "Action", bool setModified = true); 52 | void ClearActions(); 53 | 54 | void copyConfig(ActionState *stateDst, ActionState *stateSr); 55 | 56 | Ui::GameConfigEditorv2 *ui; 57 | 58 | RSDKv2::GameConfig gameConfig; 59 | 60 | QStandardItemModel *sceneModel = nullptr; 61 | 62 | QList actions; 63 | int actionIndex = 0; 64 | 65 | bool modified = false; 66 | QString tabTitle = "GameConfig Editor"; 67 | QString tabPath = ""; 68 | }; 69 | 70 | 71 | -------------------------------------------------------------------------------- /RetroEDv2/tools/gameconfigeditorv3.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace Ui 8 | { 9 | class GameConfigEditorv3; 10 | } 11 | 12 | class GameConfigEditorv3 : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | class ActionState 18 | { 19 | public: 20 | QString name = "Action"; 21 | 22 | RSDKv3::GameConfig gameConfig; 23 | }; 24 | 25 | explicit GameConfigEditorv3(QString path = "", QWidget *parent = nullptr); 26 | ~GameConfigEditorv3(); 27 | 28 | void load(QString filename); 29 | 30 | void setupUI(bool allowRowChange = true); 31 | 32 | inline void UpdateTitle(bool modified) 33 | { 34 | this->modified = modified; 35 | if (modified) 36 | emit TitleChanged(tabTitle + " *", tabPath); 37 | else 38 | emit TitleChanged(tabTitle, tabPath); 39 | } 40 | 41 | signals: 42 | void TitleChanged(QString title, QString tabFullPath); 43 | 44 | protected: 45 | bool event(QEvent *event); 46 | 47 | private: 48 | void UndoAction(); 49 | void RedoAction(); 50 | void ResetAction(); 51 | void DoAction(QString name = "Action", bool setModified = true); 52 | void ClearActions(); 53 | 54 | void copyConfig(ActionState *stateDst, ActionState *stateSr); 55 | 56 | Ui::GameConfigEditorv3 *ui; 57 | 58 | RSDKv3::GameConfig gameConfig; 59 | 60 | QStandardItemModel *sceneModel = nullptr; 61 | 62 | QList actions; 63 | int actionIndex = 0; 64 | 65 | bool modified = false; 66 | QString tabTitle = "GameConfig Editor"; 67 | QString tabPath = ""; 68 | }; 69 | 70 | 71 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/qtpropertybrowser-example-simple.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | Simple Tree Property Browser Example 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
  Home

Simple Tree Property Browser Example
16 |

17 |

This example shows how to present various properties using a simple tree property browser, i.e. an implementation of the QtTreePropertyBrowser class.

18 |

The source files can be found in examples/simple directory of the package.

19 |


20 | 21 | 22 | 23 | 24 |
Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies)Trademarks
Qt Solutions
25 | 26 | -------------------------------------------------------------------------------- /RetroEDv2/tools/paletteeditor/paletteimport.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace Ui { 9 | class PaletteImport; 10 | } 11 | 12 | class ViewerWidget : public QLabel 13 | { 14 | Q_OBJECT 15 | public: 16 | explicit ViewerWidget(QWidget *parent = nullptr) : QLabel(parent) { setMouseTracking(true); } 17 | QColor color = 0xFF00FF; 18 | QList importPalette; 19 | QList *palette; 20 | int palSize = 0; 21 | 22 | signals: 23 | void pastePalette(byte x, byte y); 24 | protected: 25 | bool event(QEvent *e) override; 26 | void paintEvent(QPaintEvent *) override; 27 | void mouseReleaseEvent(QMouseEvent *) override; 28 | void mouseMoveEvent(QMouseEvent *) override; 29 | void mouseDoubleClickEvent(QMouseEvent *) override; 30 | void mousePressEvent(QMouseEvent *) override; 31 | void leaveEvent(QEvent *) override; 32 | 33 | private: 34 | short row = -1; 35 | short col = -1; 36 | short selection = -1; 37 | bool enabling; 38 | 39 | // bool m_dragging = false; 40 | bool pressed = false; 41 | }; 42 | 43 | class PaletteImport : public QDialog 44 | { 45 | Q_OBJECT 46 | 47 | public: 48 | explicit PaletteImport(QList import, QList &base, bool enableBanks = false, QWidget *parent = nullptr); 49 | ~PaletteImport(); 50 | RSDKv5::Palette banks[8]; 51 | int activeBank = 0; 52 | 53 | 54 | private: 55 | Ui::PaletteImport *ui; 56 | ViewerWidget *importPalWidget = nullptr; 57 | ViewerWidget *curPalwidget = nullptr; 58 | QList storedPal; 59 | 60 | }; 61 | 62 | -------------------------------------------------------------------------------- /RetroEDv2/tools/gameconfigeditorv4.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace Ui 8 | { 9 | class GameConfigEditorv4; 10 | } 11 | 12 | class GameConfigEditorv4 : public QWidget 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | class ActionState 18 | { 19 | public: 20 | QString name = "Action"; 21 | 22 | RSDKv4::GameConfig gameConfig; 23 | }; 24 | 25 | explicit GameConfigEditorv4(QString path = "", QWidget *parent = nullptr); 26 | ~GameConfigEditorv4(); 27 | 28 | void load(QString filename); 29 | bool saveGameConfig(bool forceSaveAs = false); 30 | 31 | void setupUI(bool allowRowChange = true); 32 | 33 | inline void UpdateTitle(bool modified) 34 | { 35 | this->modified = modified; 36 | if (modified) 37 | emit TitleChanged(tabTitle + " *", tabPath); 38 | else 39 | emit TitleChanged(tabTitle, tabPath); 40 | } 41 | 42 | signals: 43 | void TitleChanged(QString title, QString tabFullPath); 44 | 45 | protected: 46 | bool event(QEvent *event); 47 | 48 | private: 49 | void UndoAction(); 50 | void RedoAction(); 51 | void ResetAction(); 52 | void DoAction(QString name = "Action", bool setModified = true); 53 | void ClearActions(); 54 | 55 | void copyConfig(ActionState *stateDst, ActionState *stateSr); 56 | 57 | Ui::GameConfigEditorv4 *ui; 58 | 59 | RSDKv4::GameConfig gameConfig; 60 | 61 | QStandardItemModel *sceneModel = nullptr; 62 | 63 | QList actions; 64 | int actionIndex = 0; 65 | 66 | bool modified = false; 67 | QString tabTitle = "GameConfig Editor"; 68 | QString tabPath = ""; 69 | }; 70 | 71 | 72 | -------------------------------------------------------------------------------- /RetroEDv2/tools/compiler/compilerv1.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define COMMONALIAS_COUNT_v1 (75) 4 | #define ALIAS_COUNT_v1 (COMMONALIAS_COUNT_v1 + 0x80) 5 | 6 | #define SCRIPTDATA_COUNT_v1 (0xFFF) 7 | #define LABEL_COUNT_v1 (0xFFF) 8 | #define JUMPTABLE_COUNT_v1 (0xFFF) 9 | 10 | #define JUMPSTACK_COUNT_v1 (0x40) 11 | 12 | #define SPRITEFRAME_COUNT_v1 (0x100) 13 | 14 | #include 15 | 16 | class Compilerv1 17 | { 18 | public: 19 | QString scriptText = ""; 20 | 21 | int scriptCodePos = 0; 22 | int jumpTableDataPos = 0; 23 | 24 | int aliasCount = 0; 25 | int scriptLineID = 0; 26 | int subLineID = 0; 27 | 28 | bool scriptError = false; 29 | QString errorMsg = ""; 30 | QString errorPos = ""; 31 | QString errorScr = ""; 32 | int errorLine = 0; 33 | 34 | enum ScriptSubs { SUB_MAIN, SUB_PLAYERINTERACTION, SUB_DRAW, SUB_STARTUP, SUB_RSDK }; 35 | 36 | void ParseScriptFile(QString scriptName); 37 | 38 | void ClearScriptData(); 39 | 40 | RSDKv1::Script script; 41 | 42 | Compilerv1() {} 43 | 44 | private: 45 | int FindStringToken(QString &string, QString token, char stopID); 46 | 47 | void CheckAliasText(QString &text); 48 | void ConvertArithmaticSyntax(QString &text); 49 | bool ConvertSwitchStatement(QString &text); 50 | void ConvertFunctionText(QString &text); 51 | bool ReadLabel(QString &text); 52 | bool ReadSwitchCase(QString &text); 53 | void AppendIntegerToString(QString &text, int value); 54 | bool ConvertStringToInteger(QString &text, int *value); 55 | void CopyAliasStr(QString &dest, QString text, bool arrayIndex); 56 | 57 | int scriptSub = 0; 58 | 59 | QList jumpTableStack; 60 | }; 61 | 62 | 63 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature Request 2 | description: New feature suggestion for the editor 3 | type: Feature 4 | body: 5 | - id: validation 6 | type: checkboxes 7 | attributes: 8 | label: Before opening this issue, I ensure that... 9 | options: 10 | - label: I have checked **both open and closed** issues and confirmed this feature has not already been requested. 11 | required: true 12 | - label: I acknowledge the addition of this feature is neither guaranteed nor a priority. 13 | required: true 14 | - label: This request is not related to any unofficial forks of the editor, and any requests related to those should be kept in the appropriate repository. 15 | required: true 16 | - id: editortool 17 | type: dropdown 18 | validations: 19 | required: true 20 | attributes: 21 | label: "Editor Tool" 22 | description: For which tool is this feature request for? 23 | multiple: false 24 | options: 25 | - Scene Editor 26 | - Animation Editor 27 | - GameConfig Editor 28 | - Palette Editor 29 | - RSDK Unpacker 30 | - Model Manager 31 | - Script Compiler 32 | - GFX Manager 33 | - UserDB Manager 34 | - RSV Manager 35 | - Other 36 | - id: feature 37 | type: textarea 38 | validations: 39 | required: true 40 | attributes: 41 | label: Requested Feature 42 | description: What new feature do you want to see on the editor? 43 | - id: comments 44 | type: textarea 45 | validations: 46 | required: false 47 | attributes: 48 | label: Additional Comments 49 | description: Provide any additional information if needed. 50 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/QtPropertyBrowser/doc/html/qtpropertybrowser-example-extension.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | Extension Example 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
  Home

Extension Example
16 |

17 |

This example demonstrates how to extend the QtVariantPropertyManager class to handle additional property types.

18 |

The variant manager is extended to handle the QPointF type.

19 |

The source files can be found in examples/extension directory of the package.

20 |


21 | 22 | 23 | 24 | 25 |
Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies)Trademarks
Qt Solutions
26 | 27 | -------------------------------------------------------------------------------- /RetroEDv2/dependencies/qtcolorwidgets/color_widgets.pro: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2013-2020 Mattia Basaglia 3 | # 4 | # This program is free software: you can redistribute it and/or modify 5 | # it under the terms of the GNU Lesser General Public License as published by 6 | # the Free Software Foundation, either version 3 of the License, or 7 | # (at your option) any later version. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public License 15 | # along with this program. If not, see . 16 | # 17 | TEMPLATE=lib 18 | #CONFIG += dll 19 | QT += core gui widgets 20 | DEFINES += QTCOLORWIDGETS_LIBRARY 21 | 22 | INCLUDEPATH += $$PWD/include 23 | 24 | TARGET=QtColorWidgets 25 | 26 | VERSION=2.2.0 27 | 28 | OBJECTS_DIR = out/obj 29 | MOC_DIR = out/generated 30 | UI_DIR = out/generated 31 | RCC_DIR = out/generated 32 | 33 | include(color_widgets.pri) 34 | 35 | build_all:!build_pass { 36 | CONFIG -= build_all 37 | CONFIG += release 38 | } 39 | 40 | unix { 41 | LIB_TARGET = lib$${TARGET}.so 42 | } 43 | win32 { 44 | LIB_TARGET = $${TARGET}.dll 45 | } 46 | android { 47 | OBJECTS_DIR = $$ANDROID_TARGET_ARCH/out/obj 48 | MOC_DIR = $$ANDROID_TARGET_ARCH/out/generated 49 | UI_DIR = $$ANDROID_TARGET_ARCH/out/generated 50 | RCC_DIR = $$ANDROID_TARGET_ARCH/out/generated 51 | } 52 | isEmpty(PREFIX) { 53 | PREFIX = /usr/local 54 | } 55 | target.path = $$PREFIX/lib 56 | headers.path = $$PREFIX/include/QtColorWidgets 57 | headers.files = $$HEADERS 58 | 59 | INSTALLS += target headers 60 | 61 | --------------------------------------------------------------------------------