From a2e06b5c48f757d1714d3d94ef077f080526a3cd Mon Sep 17 00:00:00 2001 From: Justin Marshall Date: Wed, 8 Jul 2020 17:30:49 -0700 Subject: [PATCH] Internal Editor: Right click main menu moved to top down main menu. --- code/CMakeLists.txt | 2 +- code/redalert/conquer.cpp | 2 + code/redalert/image.h | 4 + code/redalert/init.cpp | 4 + code/redalert/mapedit.cpp | 135 +++++++++----------------------- code/redalert/mapedit.h | 3 + code/redalert/sidebareditor.cpp | 81 +++++++++++++++++++ code/redalert/sidebareditor.h | 16 ++++ edhi.mix | Bin 0 -> 54601 bytes 9 files changed, 150 insertions(+), 97 deletions(-) create mode 100644 code/redalert/sidebareditor.cpp create mode 100644 code/redalert/sidebareditor.h create mode 100644 edhi.mix diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 3a67b96..e0e62c9 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -629,7 +629,7 @@ set(src_redalert ./redalert/mapscript.cpp ./redalert/txtprnt.cpp ./redalert/tilesetxml.cpp -) + "redalert/sidebareditor.cpp") set(src_external #glew diff --git a/code/redalert/conquer.cpp b/code/redalert/conquer.cpp index f14908c..bf3c4ce 100644 --- a/code/redalert/conquer.cpp +++ b/code/redalert/conquer.cpp @@ -346,6 +346,8 @@ void Main_Game(int argc, char * argv[]) if (Map_Edit_Loop()) { break; } + + Imgui_Dialog_Function = NULL; } } #else diff --git a/code/redalert/image.h b/code/redalert/image.h index 35534ef..e8a509d 100644 --- a/code/redalert/image.h +++ b/code/redalert/image.h @@ -13,6 +13,10 @@ struct Image_t { Image_t(); ~Image_t(); + unsigned int GetImageForHouse(int houseId, int shapeId, int frame = 0) { + return HouseImages[houseId].image[shapeId][frame]; + } + char name[512]; int64_t namehash; HouseImage_t HouseImages[MAX_HOUSE_COLORS]; diff --git a/code/redalert/init.cpp b/code/redalert/init.cpp index 2b6ed99..bae653e 100644 --- a/code/redalert/init.cpp +++ b/code/redalert/init.cpp @@ -3052,6 +3052,10 @@ static void Init_Bootstrap_Mixfiles(void) bool ok = MFCD::Cache("LOCAL.MIX"); assert(ok); + new MFCD("edhi.mix", &FastKey); + ok = MFCD::Cache("edhi.mix"); + assert(ok); + #if 1 new MFCD("HIRES.MIX", &FastKey); ok = MFCD::Cache("HIRES.MIX"); diff --git a/code/redalert/mapedit.cpp b/code/redalert/mapedit.cpp index f4a5974..89b62da 100644 --- a/code/redalert/mapedit.cpp +++ b/code/redalert/mapedit.cpp @@ -137,6 +137,8 @@ void MapEditClass::One_Time(void) { MouseClass::One_Time(); + editorSidebar.init(); + /* ** The map: a single large "button" */ @@ -560,45 +562,43 @@ void MapEditClass::AI(KeyNumType & input, int x, int y) } } + if (editorSidebar.mainmenu_selection != -1) { + /* + ** Turn off placement mode + */ + if (PendingObject) { + if (BaseBuilding) { + Cancel_Base_Building(); + } + else { + Cancel_Placement(); + } + } + + /* + ** Turn off trigger placement mode + */ + if (CurTrigger) { + Stop_Trigger_Placement(); + } + + /* + ** Unselect object & hide popup controls + */ + if (CurrentObject.Count()) { + CurrentObject[0]->Unselect(); + Popup_Controls(); + } + Main_Menu(); + input = KN_NONE; + editorSidebar.mainmenu_selection = -1; + } + /* ** Trap special editing keys; if one is detected, set 'input' to 0 to ** prevent a conflict with parent's AI(). */ switch (input) { - /* - ** F2/RMOUSE = pop up main menu - */ - case KN_RMOUSE: - - /* - ** Turn off placement mode - */ - if (PendingObject) { - if (BaseBuilding) { - Cancel_Base_Building(); - } else { - Cancel_Placement(); - } - } - - /* - ** Turn off trigger placement mode - */ - if (CurTrigger) { - Stop_Trigger_Placement(); - } - - /* - ** Unselect object & hide popup controls - */ - if (CurrentObject.Count()) { - CurrentObject[0]->Unselect(); - Popup_Controls(); - } - Main_Menu(); - input = KN_NONE; - break; - /* ** F6 = toggle passable/impassable display */ @@ -1384,6 +1384,9 @@ void MapEditClass::Draw_It(bool forced) return; } + editorSidebar.draw_it(); + + /* ** Display the total value of all Tiberium on the map. */ @@ -1501,46 +1504,6 @@ bool MapEditClass::Mouse_Moved(void) return(retcode); } -int mainmenu_selection = -1; -int mainmenu_x = -1; -int mainmenu_y = -1; - -void Imgui_MapEdit_MainMenu(void) { - bool toolActive = false; - - ImGuiStyle& style = ImGui::GetStyle(); - style.FramePadding = ImVec2(0, 0); - ImGui::SetNextWindowSize(ImVec2(150, 200)); - ImGui::SetNextWindowPos(ImVec2(mainmenu_x, mainmenu_y)); - ImGui::Begin("MainMenu", &toolActive, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar); - if (ImGui::Button("New Scenario")) { - mainmenu_selection = 0; - } - if(ImGui::Button("Load Scenario")) { - mainmenu_selection = 1; - } - if (ImGui::Button("Save Scenario")) { - mainmenu_selection = 2; - } - if (ImGui::Button("Size Map")) { - mainmenu_selection = 3; - } - if (ImGui::Button("Add Game Object")) { - mainmenu_selection = 4; - } - if (ImGui::Button("Scenario Options")) { - mainmenu_selection = 5; - } - if (ImGui::Button("AI Options")) { - mainmenu_selection = 6; - } - if (ImGui::Button("Play Scenario")) { - mainmenu_selection = 7; - } - ImGui::End(); -} - - /*************************************************************************** * MapEditClass::Main_Menu -- main menu processor for map editor * * * @@ -1562,17 +1525,12 @@ void MapEditClass::Main_Menu(void) bool process; // menu stays up while true int rc; - Imgui_Dialog_Function = Imgui_MapEdit_MainMenu; - mainmenu_selection = -1; - mainmenu_x = UserInput.Mouse.X; - mainmenu_y = UserInput.Mouse.Y; - /* ** Main Menu loop */ Override_Mouse_Shape(MOUSE_NORMAL); // display default mouse cursor process = true; - while (process) { + { /* ** Invoke game callback, to update music @@ -1583,7 +1541,7 @@ void MapEditClass::Main_Menu(void) ** Invoke menu */ Hide_Mouse(); // Do_Menu assumes the mouse is already hidden - selection = mainmenu_selection; + selection = editorSidebar.mainmenu_selection; g_globalKeyNumType = KN_NONE; g_globalKeyFlags = 0; @@ -1593,16 +1551,6 @@ void MapEditClass::Main_Menu(void) Show_Mouse(); - if (UnknownKey==KN_ESC || g_globalKeyNumType == KN_RMOUSE) { -// jmarshall - consume the RMOUSE DOWN so it doesn't bring up the context menu again. - Buttons->Input(); -// jmarshall end - break; - } - - if (selection == -1) - continue; - /* ** Process selection */ @@ -1732,13 +1680,8 @@ void MapEditClass::Main_Menu(void) Start_Scenario(Scen.ScenarioName); return; } - - mainmenu_selection = selection = -1; - break; } - Imgui_Dialog_Function = nullptr; - /* ** Restore the display: ** - Clear HIDPAGE to erase any spurious drawing done by the menu system diff --git a/code/redalert/mapedit.h b/code/redalert/mapedit.h index caa2715..d506f43 100644 --- a/code/redalert/mapedit.h +++ b/code/redalert/mapedit.h @@ -47,6 +47,7 @@ #include "function.h" #include +#include "sidebareditor.h" /* ** This is the maximum # of ObjectTypeClasses the editor has to deal with. @@ -312,6 +313,8 @@ class MapEditClass : public MouseClass static char HealthBuf[20]; GaugeClass *BaseGauge; TextLabelClass *BaseLabel; + + SidebarEditor editorSidebar; public: static MissionType MapEditMissions[]; }; diff --git a/code/redalert/sidebareditor.cpp b/code/redalert/sidebareditor.cpp new file mode 100644 index 0000000..ede4c6d --- /dev/null +++ b/code/redalert/sidebareditor.cpp @@ -0,0 +1,81 @@ +// sidebareditor.cpp +// +#include "imgui.h" +#include "function.h" +#include "image.h" + +void SidebarEditor::init() { + metalplt = LoadEditorImage("metalplt.shp"); + + mainmenu_selection = -1; +} + +Image_t* SidebarEditor::LoadEditorImage(const char* name) { + const void* shapefile = MFCD::Retrieve(name); + if(shapefile == NULL) { + return NULL; + } + + int width = Get_Build_Frame_Width(shapefile); + int height = Get_Build_Frame_Height(shapefile); + unsigned char *shape_pointer = (unsigned char*)Build_Frame(shapefile, 0, _ShapeBuffer); + short frameCount = Get_Build_Frame_Count(shapefile); + + Image_t* shape_image = Image_CreateImageFrom8Bit(name, width, height, shape_pointer); + for(int i = 1; i < frameCount; i++) { + shape_pointer = (unsigned char*)Build_Frame(shapefile, i, _ShapeBuffer); + Image_Add8BitImage(shape_image, 0, i, width, height, shape_pointer, NULL); + } + + return shape_image; +} + +void SidebarEditor::draw_it(void) { + bool toolActive; + + ImGuiStyle& style = ImGui::GetStyle(); + style.FramePadding = ImVec2(0, 0); + + if (ImGui::BeginMainMenuBar()) + { + if (ImGui::BeginMenu("File")) + { + if (ImGui::MenuItem("New Scenario")) { mainmenu_selection = 0; } + if (ImGui::MenuItem("Load Scenario")) { mainmenu_selection = 1; } + if (ImGui::MenuItem("Save Scenario")) { mainmenu_selection = 2; } + + ImGui::EndMenu(); + } + if (ImGui::BeginMenu("Map")) + { + if (ImGui::MenuItem("Size Map")) { mainmenu_selection = 3; } + if (ImGui::MenuItem("Scenario Options")) { mainmenu_selection = 5; } + if (ImGui::MenuItem("AI Options")) { mainmenu_selection = 6; } + ImGui::EndMenu(); + } + if (ImGui::BeginMenu("Objects")) + { + if (ImGui::MenuItem("Add Game Object")) { mainmenu_selection = 4; } + ImGui::EndMenu(); + } + + if (ImGui::BeginMenu("Run")) + { + if (ImGui::MenuItem("Play Scenario")) { mainmenu_selection = 7; } + ImGui::EndMenu(); + } + + ImGui::EndMainMenuBar(); + } + + + //ImGui::SetNextWindowSize(ImVec2(160, ScreenHeight)); + //ImGui::SetNextWindowPos(ImVec2(ScreenWidth-160, 0)); + //ImGui::Begin("EditorSidebar", &toolActive, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar); + // // Map Preview + // //ImGui::Image((ImTextureID)metalplt->GetImageForHouse(0, 2), ImVec2(160, 192)); + // + // + // + //ImGui::End(); +} \ No newline at end of file diff --git a/code/redalert/sidebareditor.h b/code/redalert/sidebareditor.h new file mode 100644 index 0000000..856727b --- /dev/null +++ b/code/redalert/sidebareditor.h @@ -0,0 +1,16 @@ +// sidebareditor.h +// + +struct Image_t; + +class SidebarEditor { +public: + void init(void); + void draw_it(void); + + int mainmenu_selection; +private: + Image_t* LoadEditorImage(const char* name); +private: + Image_t* metalplt; +}; \ No newline at end of file diff --git a/edhi.mix b/edhi.mix new file mode 100644 index 0000000000000000000000000000000000000000..d5cdc00aae1825d49796d1f7e4b1dfc278a6fad8 GIT binary patch literal 54601 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

O=4Ene`n`;3$7%j6D`zqav9jvT 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