From b16912a96c714458a0d8f404b3b75c997b057702 Mon Sep 17 00:00:00 2001 From: NPO <77460082+NPO-197@users.noreply.github.com> Date: Sun, 27 Oct 2024 08:33:03 -0400 Subject: [PATCH] Changed MelonPrint to print, Renamed "MelonPrint" to just "print", TIL you can redefine pretty much any lua funct... Also fixed the lua console not re-opening after closing it the first time. --- src/frontend/qt_sdl/LuaMain.cpp | 3 ++- src/frontend/qt_sdl/LuaMain.h | 1 + src/frontend/qt_sdl/Window.cpp | 11 ++++++++--- tools/LuaScripts/LuaScriptTest.lua | 8 ++++---- tools/LuaScripts/Lua_Docs.md | 5 ++--- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/frontend/qt_sdl/LuaMain.cpp b/src/frontend/qt_sdl/LuaMain.cpp index bfebded2..bf447eca 100644 --- a/src/frontend/qt_sdl/LuaMain.cpp +++ b/src/frontend/qt_sdl/LuaMain.cpp @@ -83,6 +83,7 @@ void LuaConsoleDialog::closeEvent(QCloseEvent *event) { onStop(); bundle->overlays->clear(); + flagClosed = true; event->accept(); } @@ -248,7 +249,7 @@ int lua_MelonPrint(lua_State* L) bundle->getEmuThread()->onLuaPrint((QString)string); return 0; } -AddLuaFunction(lua_MelonPrint,MelonPrint); +AddLuaFunction(lua_MelonPrint,print); int lua_MelonClear(lua_State* L) { diff --git a/src/frontend/qt_sdl/LuaMain.h b/src/frontend/qt_sdl/LuaMain.h index 095a5f8b..0be3c5ae 100644 --- a/src/frontend/qt_sdl/LuaMain.h +++ b/src/frontend/qt_sdl/LuaMain.h @@ -30,6 +30,7 @@ public: QPushButton* buttonStartStop; QPushButton* buttonPausePlay; QScrollBar* bar; + bool flagClosed; protected: void closeEvent(QCloseEvent *event) override; LuaBundle* bundle; diff --git a/src/frontend/qt_sdl/Window.cpp b/src/frontend/qt_sdl/Window.cpp index 3256a038..8bc8360b 100644 --- a/src/frontend/qt_sdl/Window.cpp +++ b/src/frontend/qt_sdl/Window.cpp @@ -1680,10 +1680,15 @@ void MainWindow::onOpenPowerManagement() void MainWindow::onOpenLuaScript() { - if (this->luaDialog) + if (luaDialog && luaDialog->flagClosed) + { + delete luaDialog; + luaDialog = nullptr; + } + if (luaDialog) return; - this->luaDialog = new LuaConsoleDialog(this); - this->luaDialog->show(); + luaDialog = new LuaConsoleDialog(this); + luaDialog->show(); connect(emuThread,&EmuThread::signalLuaSaveState,this,&MainWindow::onLuaSaveState); connect(emuThread,&EmuThread::signalLuaLoadState,this,&MainWindow::onLuaLoadState); } diff --git a/tools/LuaScripts/LuaScriptTest.lua b/tools/LuaScripts/LuaScriptTest.lua index 912d57d5..4a0b9ff9 100644 --- a/tools/LuaScripts/LuaScriptTest.lua +++ b/tools/LuaScripts/LuaScriptTest.lua @@ -2,13 +2,13 @@ -- Written by NPO197 MelonClear() -MelonPrint("This text Should be cleared") +print("This text Should be cleared") MelonClear() -MelonPrint("Running Test...") +print("Running Test...") u32Data = Readu32(0x00000000) -MelonPrint(string.format("DataZero: %x",u32Data)) +print(string.format("DataZero: %x",u32Data)) canvas = MakeCanvas(0,0,500,500) SetCanvas(canvas) @@ -109,7 +109,7 @@ function KeysText() if pcall(string.char,i) then str = str..string.char(i) else - MelonPrint("NonAscii:"..i) + print("NonAscii:"..i) typed = "" end end diff --git a/tools/LuaScripts/Lua_Docs.md b/tools/LuaScripts/Lua_Docs.md index ed19cfd3..44b9bff7 100644 --- a/tools/LuaScripts/Lua_Docs.md +++ b/tools/LuaScripts/Lua_Docs.md @@ -30,12 +30,11 @@ end ## Function List -`nil MelonPrint(sPrintText)` +`nil print(sPrintText)` - Print `sPrintText` to the lua consol -- for now use this instead of `print()` `nil MelonClear()` -- Clearse the lua consol +- Clearse the consol in the lua dialog window. `n_u8Value Readu8(nAddress)` - Read Data unisigned one Byte from u32 address `nAddress`