diff --git a/nwjs/dwnwjs.sh b/nwjs/dwnwjs.sh index 71394b7..7493d06 100644 --- a/nwjs/dwnwjs.sh +++ b/nwjs/dwnwjs.sh @@ -24,26 +24,30 @@ nwjslist=$(echo "$nwjslist" | grep "sdk") else nwjslist=$(echo "$nwjslist" | grep -v "sdk") fi +if [ -z "$DWNWJSNODEBUG" ]; then echo "$SDKNWJS" +fi versioninstalledlist=$(ls "$defp") arch=$(uname -m | sed -e 's@i686@ia32@g' -e 's@x86_64@x64@g' -e 's@armv7l@armhf@g' -e 's@armhf@arm@g' -e 's@aarch64@arm64@g') + + downloadversion() { if [ -n "$SDKNWJS" ]; then -# rm "$defp/nwjs-$version-linux-$arch.tar.gz" - -wget -c -P "$defp" https://dl.nwjs.io/$version/nwjs-sdk-$version-linux-$arch.tar.gz - -tar -xf "$defp/nwjs-sdk-$version-linux-$arch.tar.gz" -C "$defp/nwjs" -rm "$defp/nwjs-sdk-$version-linux-$arch.tar.gz" +file="nwjs-sdk-$version-linux-$arch.tar.gz" else -# rm "$defp/nwjs-$version-linux-$arch.tar.gz" -wget -c -P "$defp" https://dl.nwjs.io/$version/nwjs-$version-linux-$arch.tar.gz +file="nwjs-$version-linux-$arch.tar.gz" +fi +link="https://dl.nwjs.io/$version/$file" +if wget -q --spider "$link"; then +wget -c -P "$defp" "$link" -tar -xf "$defp/nwjs-$version-linux-$arch.tar.gz" -C "$defp/nwjs" -rm "$defp/nwjs-$version-linux-$arch.tar.gz" +tar -xf "$defp/$file" -C "$defp/nwjs" +rm "$defp/$file" +else +echo "Can't find such version " fi } @@ -69,7 +73,7 @@ nwjslinktar="https://github.com/bakustarver/rpgmakermlinux-cicpoffs/releases/dow downloadandextract elif [ "$arch" = "arm64" ]; then if [ -n "$SDKNWJS" ]; then -echo "No sdk version for your architecture $arch +echo "There is no sdk version for your architecture $arch Use $ rpgmaker-linux --usestandart"; exit; fi @@ -109,6 +113,7 @@ else rm -rf "$defp/nwjs/nwjs-$version-linux-x64/" fi echo Reinstalling "$latestlocal"; +# fi else exit; fi @@ -121,8 +126,11 @@ fi if [ "$skipdownloadifexist" = "true" ]; then # if "$nwjslist" if [ -n "$nwjslist" ] && echo "$nwjslist" | grep -q "$version" ; then + # version +if [ -z "$DWNWJSNODEBUG" ]; then echo skiping +fi else downloadversion fi @@ -134,4 +142,3 @@ echo Finished fi # fi -sleep 1; diff --git a/nwjs/packagefiles/nwjsstart-cicpoffs.sh b/nwjs/packagefiles/nwjsstart-cicpoffs.sh index 1955fab..e4e4abe 100644 --- a/nwjs/packagefiles/nwjsstart-cicpoffs.sh +++ b/nwjs/packagefiles/nwjsstart-cicpoffs.sh @@ -6,16 +6,18 @@ export LD_LIBRARY_PATH="$HOME/desktopapps/nwjs/nwjs/packagefiles/:$LD_LIBRARY_PA # curdesktop=$(echo "$XDG_CURRENT_DESKTOP") # defp="$HOME/deskappbin/nwjs/nwjs/" -version='1.0.7' +version='1.0.8' nwjsfm="$HOME/desktopapps/nwjs/nwjs" yadp="$nwjsfm/packagefiles/yad" +evbunpack="$nwjsfm/packagefiles/evbunpack" + defp="$nwjsfm/nwjs" export defpn="$nwjsfm" - +export DWNWJSNODEBUG=true nwjslist=$(ls -p "$defp" | grep /) @@ -90,14 +92,17 @@ geticonpath=$(sed -n 's/.*"icon": "//p' "$nwjstestpath/package.json" | sed -e 's if [ "$engine" = "mz" ] && [ -z "$PACKAGEJSONPATH" ]; then geticonpath=$(echo "$geticonpath" | sed -e 's@www/@@g'); fi -bmountpath=$(basename "$mountpath") -if [ "$engine" = "mv" ]; then -ndirname=$(dirname "$mountpath") -# echo 1 -else -ndirname="$mountpath" -# echo 2 -fi +# bmountpath=$(basename "$mountpath") +# if [ "$engine" = "mv" ]; then +# ndirname=$(dirname "$mountpath") +# # echo 1 +# else +# ndirname="$mountpath" +# # echo 2 +# fi +ndirname="$npath" + + ndrbasen=$(basename "$ndirname") iconpath="$ndirname/$geticonpath" # kdialog --msgbox "$mountpath-$bmountpath\n$ndirname\n$iconpath" @@ -153,18 +158,20 @@ fi #pixi func } -texthookerplugininstall() { -echo "Installing the text hooker plugin" -texthookerpligin="$nwjsfm/packagefiles/plugins/Clipboard_llule.js" -pluginsfile="$mountpath/js/plugins.js" -if grep -q 'Clipboard_llule","status":true,' "$pluginsfile"; then -echo "The texthooker plugin is already installed" +plugininstallfunc() { +# echo "Installing the text hooker plugin" +yourplugin="$1" +bnpl=$(basename "$1" | sed -e 's@.js@@g') +pluginslistfile="$mountpath/js/plugins.js" + +if grep -q "$bnpl\",\"status\":true," "$pluginslistfile"; then +echo "The $bnpl plugin is already installed" else -cp "$pluginsfile" "$pluginsfile.bk" -sed -e 's@^\[$@[\n{"name":"Clipboard_llule","status":true,"description":"","parameters":{}},@g' -i "$pluginsfile" -cp "$texthookerpligin" "$mountpath/js/plugins/"; +cp "$pluginslistfile" "$pluginslistfile.bk" +sed -e "s@^\[@[\n$pluginset@g" -i "$pluginslistfile" +cp "$yourplugin" "$mountpath/js/plugins/"; fi } @@ -182,6 +189,19 @@ fi } +fivehundredslotsplugininstall() { +pluginset='{"name":"CustomizeMaxSaveFile","status":true,"description":"Customize max save file number","parameters":{"SaveFileNumber":"500"}},' +plugininstallfunc "$nwjsfm/packagefiles/plugins/CustomizeMaxSaveFile.js" + +} + +texthookerplugininstall() { +pluginset='{"name":"Clipboard_llule","status":true,"description":"","parameters":{}},' +plugininstallfunc "$nwjsfm/packagefiles/plugins/Clipboard_llule.js" + +} + + sourcelinks() { @@ -243,10 +263,11 @@ fi } checkgamefilesfd() { -if echo "$1" | grep ".exe"; then -npath=$(dirname "$1" | sed -e "s@^'@@g"); +npath=$(echo "$1" | sed -e 's@rpgmakermp:///@@g') +if echo "$npath" | grep ".exe"; then +npath=$(dirname "$npath" | sed -e "s@^'@@g"); else -npath="$1" +npath="$npath" fi # zenity --title "$gamef" --warning --text="$npath" if [ -d "$npath/www" ] && [ -e "$npath/package.json" ] && [ -e "$npath/www/js/plugins.js" ]; then @@ -255,12 +276,12 @@ found=true gamepath=true engine=mv elif [ -d "$npath/data" ] && [ -e "$npath/package.json" ] && [ -e "$npath/js/plugins.js" ]; then -mountpath="$1" +mountpath="$npath" gamepath=true found=true engine=mz else -echo "Can't find game with $1" +echo "Can't find game with $npath" exit 1 fi } @@ -285,14 +306,17 @@ if [ -d ./www ] && [ -f ./package.json ]; then mountpath="$PWD/www" found=true engine=mv +npath="$PWD" elif [ -d ./js ] && [ -f ./package.json ] && [ -d ./data ]; then mountpath="$PWD" found=true engine=mz +npath="$PWD" fi fi # if [ -z "$found" ] && [ -n "$gamef" ] ; then +# kdialog --msgbox "$gamef" checkgamefilesfd "$gamef" fi @@ -577,13 +601,13 @@ updatenwjsvar=$(echo "$@" | awk '{print $1}') pixiupdatevar=$(echo "$@" | awk '{print $2}') localshortcutvar=$(echo "$@" | awk '{print $3}') nwjsguivar=$(echo "$@" | awk '{print $4}') -jpnlocalevar=$(echo "$@" | awk '{print $5}') +fivehundredsaveslotspluginvar=$(echo "$@" | awk '{print $5}') texthookerset=$(echo "$@" | awk '{print $6}') desktopshortcut=$(echo "$@" | awk '{print $7}') addtomenuvar=$(echo "$@" | awk '{print $8}') sdkvar=$(echo "$@" | awk '{print $9}') -# kdialog --msgbox "$updatenwjsvar $pixiupdate $localshortcut $texthookerset dc $desktopshortcut $addtomenuvar $sdkvar $nwjsguivar" +# kdialog --msgbox "$updatenwjsvar $pixiupdate $localshortcut $texthookerset dc $desktopshortcut $addtomenuvar $sdkvar $nwjsguivar hh $fivehundredsaveslotspluginvar" } if [ "$GUIMENU" = "true" ]; then @@ -596,9 +620,9 @@ if [ -z "$newversionlist" ]; then newversionlist="$allversionsnwjs" fi # kdialog --msgbox "$nwjsguivar\n--$newversionlist" -guim=$("$yadp" --title "RPG Maker MV/MZ Options" --text="Please choose your options:" --image="$HOME/desktopapps/nwjs/nwjs/packagefiles/nwjs128.png" --columns=5 --field "Update NWJS":chk $updatenwjsvar --form --field "Pixi5 Update":chk "$pixiupdatevar" --field="Shorcut Options::LBL" false --field "Local Shortcut":chk "$localshortcutvar" --form --separator=" " --item-separator="\n" --field="Versions::"CBE "$newversionlist" --field "Japanese Locale":chk "$jpnlocalevar" --field "Texthooker Plugin":chk "$texthookerset" --field=" :LBL" false --field "Desktop Shortcut":chk "$desktopshortcut" --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field "Show in the Menu":chk "$addtomenuvar" --field "Use SDK version":chk "$sdkvar" --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false) +guim=$("$yadp" --title "RPG Maker MV/MZ Options" --text="Please choose your options:" --image="$HOME/desktopapps/nwjs/nwjs/packagefiles/nwjs128.png" --columns=5 --field "Update NWJS":chk $updatenwjsvar --form --field "Pixi5 Update":chk "$pixiupdatevar" --field="Shorcut Options::LBL" false --field "Local Shortcut":chk "$localshortcutvar" --form --separator=" " --item-separator="\n" --field="Versions::"CBE "$newversionlist" --field "500 Save Slots Plugin":chk "$fivehundredsaveslotspluginvar" --field "Texthooker Plugin":chk "$texthookerset" --field=" :LBL" false --field "Desktop Shortcut":chk "$desktopshortcut" --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field "Show in the Menu":chk "$addtomenuvar" --field "Use SDK version":chk "$sdkvar" --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false) else -guim=$("$yadp" --title "RPG Maker MV/MZ Options" --text="Please choose your options:" --image="$HOME/desktopapps/nwjs/nwjs/packagefiles/nwjs128.png" --columns=5 --field "Update NWJS":chk true --form --field "Pixi5 Update":chk false --field="Shorcut Options::LBL" false --field "Local Shortcut":chk true --form --separator=" " --item-separator="\n" --field="Versions::"CBE "$allversionsnwjs" --field "Japanese Locale":chk false --field "Texthooker Plugin":chk false --field=" :LBL" false --field "Desktop Shortcut":chk false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field "Show in the Menu":chk false --field "Use SDK version":chk false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false) +guim=$("$yadp" --title "RPG Maker MV/MZ Options" --text="Please choose your options:" --image="$HOME/desktopapps/nwjs/nwjs/packagefiles/nwjs128.png" --columns=5 --field "Update NWJS":chk true --form --field "Pixi5 Update":chk false --field="Shorcut Options::LBL" false --field "Local Shortcut":chk true --form --separator=" " --item-separator="\n" --field="Versions::"CBE "$allversionsnwjs" --field "500 Save Slots PSlugin":chk false --field "Texthooker Plugin":chk false --field=" :LBL" false --field "Desktop Shortcut":chk false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field "Show in the Menu":chk false --field "Use SDK version":chk false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false --field=" :LBL" false) fi if [ -n "$guim" ] ; then @@ -610,8 +634,9 @@ yaddata "$guim" echo "$guim" # exit; -if [ "$jpnlocalevar" = "TRUE" ]; then -export LANG="ja_JP.utf8" +if [ "$fivehundredsaveslotspluginvar" = "TRUE" ]; then +# export LANG="ja_JP.utf8" +export FIVEHUNDREDSAVESLOTSPLUGIN=true fi if [ "$updatenwjsvar" = "TRUE" ]; then @@ -626,6 +651,10 @@ elif [ "$texthookerset" = "FALSE" ]; then INSTALLTHPL=false fi +if [ "$pixiupdatevar" = "TRUE" ]; then +INSTALLPIXI5=true +fi + if [ "$sdkvar" = "TRUE" ]; then if ! [ -f "$nwjsfm/packagefiles/usesdk.txt" ]; then touch "$nwjsfm/packagefiles/usesdk.txt" @@ -725,7 +754,7 @@ fi if [ "$latestnwjs" = "true" ]; then nwjsf="$latestinstallednwjsfd" else -nwjsf=$(ls -tp "$defp" | grep / | head -n 1) +nwjsf=$(ls -tp "$defp" | grep / | head -n 1 | sed -e 's@/$@@g') fi if [ -n "$NWJSPATH" ]; then nwjstestpath="$NWJSPATH" @@ -746,11 +775,52 @@ nwjstestpath="$defp/$nwjsf" fi fi - +nwjstestpath=$(echo "$nwjstestpath" | sed -e 's@/$@@g') # wwwsavesymlink.sh "$@" # echo "$nwjstestpath" +unpackexe() { +gameexe="$1" +gameexefd="$1-extracted" +originalexe=$(echo "$1" | sed -e 's@\.exe@@g' -e 's@$@_original.exe-extracted@g') +"$evbunpack" "$gameexe" "$gameexefd" +# find "$gameexefd" -type f \( -name "*.exe" \) -delete +cp -r "$gameexefd"/* "$npath" +mkdir "$originalexe" +} + +searchforpackedexe() { +gfexe=$(ls "$1" | grep "\.exe$") +while IFS= read -r line; do +# check=$() +if ! [ -d "$npath/$line-extracted" ]; then + +if strings "$npath/$line" | grep -q "\.enigma"; then +$yadp --image="dialog-question" \ + --title "RPG Maker linux: $line" \ + --text "Detected game files in $line!\nWould you like to unpack it?" \ + --button="Yes:0" \ + --button="No:1" +ret=$? +# ret=1; +# fi +name=$(echo "$line") + + +if [[ $ret -eq 1 ]]; then +mkdir "$npath/$line-extracted"; +elif [[ $ret -eq 0 ]]; then +unpackexe "$npath/$line" +fi +fi +# echo "$name" +# echo "$check" +fi +done <<< "$gfexe" +} + + startnw() { if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then @@ -808,6 +878,10 @@ if [ "$INSTALLPIXI5" = "true" ]; then pixi5install; fi +if [ "$FIVEHUNDREDSAVESLOTSPLUGIN" = "true" ]; then +fivehundredslotsplugininstall; +fi + if [ "$INSTALLTHPL" = "true" ]; then texthookerplugininstall; elif [ "$INSTALLTHPL" = "false" ]; then @@ -825,6 +899,7 @@ checkthebinaryarch "$nwjstestpath/nw" if [ "$found" = "true" ]; then # rmsymlinks +searchforpackedexe "$npath" mountwww if [ -n "$MAKELOCALSHORTCUT" ]; then makelocalshortcut @@ -836,5 +911,6 @@ if [ -n "$ADDTOTHEMENU" ]; then makethemenushortcut fi startnw +# sleep 60; checkandunmount fi diff --git a/nwjs/packagefiles/package.json b/nwjs/packagefiles/package.json index 192c26f..f57e3aa 100644 --- a/nwjs/packagefiles/package.json +++ b/nwjs/packagefiles/package.json @@ -2,7 +2,7 @@ "name": "RPG Maker MV/MZ (cicpoffs mount)", "main": "www/index.html", "js-flags": "--expose-gc", - "chromium-args": "--disable-setuid-sandbox-enable --force-gpu-rasterization --enable-gpu-memory-buffer-video-frames --enable-native-gpu-memory-buffers --enable-zero-copy --enable-gpu-async-worker-context", + "chromium-args": "--enable-webgl --ignore-gpu-blacklist --disable-setuid-sandbox-enable --force-gpu-rasterization --enable-gpu-memory-buffer-video-frames --enable-native-gpu-memory-buffers --enable-zero-copy --enable-gpu-async-worker-context --disable-password-generation", "window": { "title": "RPG Maker MV/MZ (cicpoffs mount)", "toolbar": false, diff --git a/nwjs/packagefiles/plugins/Clipboard_llule.js b/nwjs/packagefiles/plugins/Clipboard_llule.js new file mode 100644 index 0000000..0bd4a8c --- /dev/null +++ b/nwjs/packagefiles/plugins/Clipboard_llule.js @@ -0,0 +1,258 @@ +//============================================================================= + +// Libellule Text extractor to clipboard plugin + +// Clipboard_llule.js + +//============================================================================= + +/* + + * Install and configure with the patcher here : + + * https://www.dropbox.com/sh/p83yxde8e8nrz35/AADkJzbz7VuM7HqwiwhhfhHTa?dl=0 + + * Help : http://www.ulmf.org/bbs/showthread.php?t=29359 + + */ + +//============================================================================= +TimerMil = 200; +WantCmdItemSeparator = true; +CmdItemSeparator = "。\r\n"; +ShowCodeColor = false; +ForceNameSeparator = false; +TextSeparatorLeft = String.fromCharCode(12300); +TextSeparatorRight = String.fromCharCode(12301); +NameCodeColor = ["#ffffa0", "#40c0f0", "#ff80ff", "#80ff80", "#66cc40"]; + +IgnoreRepeatableItem = true; +BloctextSeparator = true; +IgnoreRepeatablebloc = true; +var IgnoreRegExtextbloc = [/^\d\d:\d\d($|.$|。$)/, /(^([,.\d]+)([,.]\d+)?)(\uFF27($|。$)|G($|。$)|$|。$)/, /^(\uFF27($|。$)|G($|。$))/]; +ClipLogerOnStart = true; +WantChoiceSeparator = true; +ChoiceSeparator = "。\r\n"; +TextWaitingTimeOFF = true; +var ClipLoger = ""; +LastItem = ""; +ColorEnCour = ""; +ActualThis = ""; +StarTextNamefound = false; +EndTextNamefound = false; +BlocSeparatorLeft = String.fromCharCode(12300); +BlocSeparatorRight = String.fromCharCode(12301); +LastColor = ""; +MemText = ""; +LastMemTextSend = ""; +ClipTimerOn = false; +SaveOrgDrawText = Bitmap.prototype.drawText; +var gui = require('nw.gui'); +var clipboard = gui.Clipboard.get(); +var win = gui.Window.get(); +var SaveoldInput_onKeyDown = Input._onKeyDown; +var Savewindowonload = window.onload; +var choices_encour = []; +Bitmap.prototype.drawText = function(text, x, y, maxWidth, lineHeight, align) { + OptionalText = ""; + pass = true; + if (text) { + + if (text.length == 1 && y >= this.height) { + pass = false; + } + + if (IgnoreRepeatableItem && text.length > 1) { + if (text == LastItem) { + pass = false; + } + LastItem = text; + } + if (pass) { + if (ShowCodeColor) { + if (this.textColor != LastColor) { + OptionalText = "<" + this.textColor + ">"; + LastColor = this.textColor; + } + } + if (ForceNameSeparator && text.length == 1) { + if (!ClipTimerOn && (NameCodeColor.indexOf(this.textColor) > -1)) { + LastColor = this.textColor; + StarTextNamefound = true; + ColorNameEnCour = this.textColor; + } + if (ClipTimerOn && StarTextNamefound && (this.textColor != ColorNameEnCour)) { + OptionalText = OptionalText + TextSeparatorLeft; + StarTextNamefound = false; + EndTextNamefound = true; + } + } + if (BloctextSeparator) { + if (ActualThis == "") { + ActualThis = this; + OptionalText = OptionalText + BlocSeparatorLeft; + } else { + if (ActualThis != this) { + OptionalText = OptionalText + BlocSeparatorRight + "\r\n" + BlocSeparatorLeft; + ActualThis = this; + } + } + if ($gameMessage != null) { + if ($gameMessage.isChoice() && !choices_encour.length) { + choices_encour = $gameMessage._choices; + } + } + } + if (ClipTimerOn) { + if (text.length > 1 && WantCmdItemSeparator) { + MemText = MemText + OptionalText + text + CmdItemSeparator; + } else { + MemText = MemText + OptionalText + text; + } + } else { + if (text.length > 1 && WantCmdItemSeparator) { + MemText = OptionalText + text + CmdItemSeparator; + } else { + MemText = OptionalText + text; + } + ClipTimerOn = true; + ClipTimer = setTimeout(ClipTimerSend, TimerMil); + } + } + } + SaveOrgDrawText.call(this, text, x, y, maxWidth, lineHeight, align); +}; + +function ClipTimerSend() { + if (BloctextSeparator) { + MemText = MemText + BlocSeparatorRight; + KickOutDuplicateBloc(); + } + if (EndTextNamefound) { + MemText = MemText + TextSeparatorRight; + StarTextNamefound = false; + EndTextNamefound = false; + if (BloctextSeparator) { + KickOutDuplicateBloc(); + } + } + if (MemText != "") { + clipboard.set(MemText, 'text'); + LastMemTextSend = MemText; + } + ClipTimerOn = false; + ActualThis = ""; + LastColor = ""; + ColorNameEnCour = ""; +}; +var LibWindow_Message_prototype_clearFlags = Window_Message.prototype.clearFlags; +Window_Message.prototype.clearFlags = function() { + LibWindow_Message_prototype_clearFlags.call(this); + this._showFast = true; + this._lineShowFast = true; + this._pauseSkip = false; +}; + +function LaunchCliploger() { + /*Path = process.cwd() + "\\www\\js\\plugins"; + var execFile = require('child_process').execFile; + ClipLoger = execFile(Path + "\\ClipLoger.exe", function(error, stdout, stderr) { + ClipLoger = ""; + }); + if (!ClipLoger.pid) { + alert(Msg1); + return; + } + setTimeout(Focus, 500);*/ +}; + +function Focus() { + if (ClipLoger.pid) { + win.focus(); + } else { + setTimeout(Focus, 500); + } +}; +Input._onKeyDown = function(event) { + if (event.keyCode == 118) { + clipboard.set(LastMemTextSend, 'text'); + } + if (event.keyCode == 117) { + if (ClipLoger.pid) { + ClipLoger.kill(); + } else { + LaunchCliploger(); + } + } + if (event.keyCode == 116) { + if (ClipLoger.pid) { + ClipLoger.kill(); + } + } + SaveoldInput_onKeyDown.call(this, event); +}; +window.onload = function() { + if (ClipLogerOnStart) { + LaunchCliploger(); + } + Savewindowonload.call(this); +}; + +function KickOutDuplicateBloc() { + var Bloc = MemText.split("\r\n"); + var output = []; + var Deleteone = ""; + if (choices_encour.length && WantChoiceSeparator) { + var temps = choices_encour[0].replace(/\\C\[\d+\]/gi, ""); + var With = BlocSeparatorLeft + temps; + var Deleteone = With; + for (i = 1; i < choices_encour.length; i++) { + temps = choices_encour[i].replace(/\\C\[\d+\]/gi, ""); + With = With + ChoiceSeparator + temps; + Deleteone = Deleteone + temps; + } + With += BlocSeparatorRight; + output.push(With); + Deleteone += BlocSeparatorRight; + choices_encour = []; + } + for (var i = 0; i < Bloc.length; i++) { + if (output.indexOf(Bloc[i]) < 0) { + if (RegEXspeIgnore(Bloc[i]) && Deleteone != Bloc[i]) { + output.push(EraseDoubleSeparator(Bloc[i])); + } + } + } + MemText = output.join("\r\n"); +}; + +function RegEXspeIgnore(Bloc) { + BlocS = Bloc.slice(1, Bloc.length - 1); + if (IgnoreRegExtextbloc.length != 0) { + for (var i = 0; i < IgnoreRegExtextbloc.length; i++) { + if (BlocS.search(IgnoreRegExtextbloc[i]) != -1) { + return false; + } + } + return true; + } else { + return true; + } +}; + +function EraseDoubleSeparator(Bloc) { + if ((Bloc.split(BlocSeparatorLeft).length) == 3) { + if ((Bloc.split(BlocSeparatorRight).length) == 3) { + return Bloc.slice(1, Bloc.length - 1); + } + } + return Bloc; +}; +Msg1 = "ClipLoger.exe not found\r\nReinstal the plugin from the patcher\r\n"; +var Save_Window_Message_prototype_updateWait = Window_Message.prototype.updateWait; +Window_Message.prototype.updateWait = function() { + if (ClipTimerOn && TextWaitingTimeOFF) { + this._waitCount = 0; + } + return Save_Window_Message_prototype_updateWait.call(this); +}; \ No newline at end of file diff --git a/nwjs/packagefiles/plugins/CustomizeMaxSaveFile.js b/nwjs/packagefiles/plugins/CustomizeMaxSaveFile.js new file mode 100644 index 0000000..87b98dd --- /dev/null +++ b/nwjs/packagefiles/plugins/CustomizeMaxSaveFile.js @@ -0,0 +1,103 @@ +//============================================================================= +// CustomizeMaxSaveFile.js +// ---------------------------------------------------------------------------- +// Copyright (c) 2015 Triacontane +// This software is released under the MIT License. +// http://opensource.org/licenses/mit-license.php +// ---------------------------------------------------------------------------- +// Version +// 1.1.1 2017/02/25 セーブファイル数により大きな値を設定できるよう上限を開放 +// 1.1.0 2016/11/03 オートセーブなど最大数以上のIDに対してセーブするプラグインとの競合に対応 +// 1.0.0 2016/03/19 初版 +// ---------------------------------------------------------------------------- +// [Blog] : http://triacontane.blogspot.jp/ +// [Twitter]: https://twitter.com/triacontane/ +// [GitHub] : https://github.com/triacontane/ +//============================================================================= + +/*: + * @plugindesc Customize max save file number + * @author triacontane + * + * @param SaveFileNumber + * @desc max save file number(1...100) + * @default 20 + * + * @help Customize max save file number + * + * No plugin command + * + * This plugin is released under the MIT License. + */ +/*:ja + * @plugindesc 最大セーブファイル数変更プラグイン + * @author トリアコンタン + * + * @param セーブファイル数 + * @desc 最大セーブファイル数です。 + * @default 20 + * + * @help 最大セーブファイル数をパラメータで指定した値に変更します。 + * + * このプラグインにはプラグインコマンドはありません。 + * + * 利用規約: + * 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等) + * についても制限はありません。 + * このプラグインはもうあなたのものです。 + */ + +(function () { + 'use strict'; + var pluginName = 'CustomizeMaxSaveFile'; + + var getParamNumber = function(paramNames, min, max) { + var value = getParamOther(paramNames); + if (arguments.length < 2) min = -Infinity; + if (arguments.length < 3) max = Infinity; + return (parseInt(value, 10) || 0).clamp(min, max); + }; + + var getParamOther = function(paramNames) { + if (!Array.isArray(paramNames)) paramNames = [paramNames]; + for (var i = 0; i < paramNames.length; i++) { + var name = PluginManager.parameters(pluginName)[paramNames[i]]; + if (name) return name; + } + return null; + }; + var paramSaveFileNumber = getParamNumber(['SaveFileNumber', 'セーブファイル数'], 0); + + //============================================================================= + // DataManager + // セーブファイルの数をカスタマイズします。 + //============================================================================= + var _DataManager_loadGlobalInfo = DataManager.loadGlobalInfo; + DataManager.loadGlobalInfo = function() { + if (!this._globalInfo) { + this._globalInfo = _DataManager_loadGlobalInfo.apply(this, arguments); + } + return this._globalInfo; + }; + + var _DataManager_saveGlobalInfo = DataManager.saveGlobalInfo; + DataManager.saveGlobalInfo = function(info) { + _DataManager_saveGlobalInfo.apply(this, arguments); + this._globalInfo = null; + }; + + var _DataManager_maxSavefiles = DataManager.maxSavefiles; + DataManager.maxSavefiles = function() { + return paramSaveFileNumber ? paramSaveFileNumber : _DataManager_maxSavefiles.apply(this, arguments); + }; + + var _DataManager_isThisGameFile = DataManager.isThisGameFile; + DataManager.isThisGameFile = function(savefileId) { + if (savefileId > this.maxSavefiles()) { + return false; + } else { + return _DataManager_isThisGameFile.apply(this, arguments); + } + }; +})(); + diff --git a/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/compatibilitytool.vdf b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/compatibilitytool.vdf new file mode 100644 index 0000000..67dcc5b --- /dev/null +++ b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/compatibilitytool.vdf @@ -0,0 +1,13 @@ +"compatibilitytools" +{ + "compat_tools" + { + "rpgmaker-linux-cicpoffs" // Internal name of this tool + { + "install_path" "." + "display_name" "RPG Maker MV/MZ (cicpoffs mount) Tool" + "from_oslist" "windows" + "to_oslist" "linux" + } + } +} diff --git a/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/rpgmaker-linux-cicpoffs-wrapper.sh b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/rpgmaker-linux-cicpoffs-wrapper.sh new file mode 100644 index 0000000..c4488de --- /dev/null +++ b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/rpgmaker-linux-cicpoffs-wrapper.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +if [[ ! -z "${LD_PRELOAD}" ]]; then + echo "LD_PRELOAD found with $LD_PRELOAD" + export ORIGINAL_LD_PRELOAD="$LD_PRELOAD" + export LD_PRELOAD="" +# export PATH="" +fi +# +# DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +if [[ $2 == *"iscriptevaluator.exe"* ]]; then + echo "ignoring iscriptevaluator.exe" + exit 0 +fi + +export LC_ALL="" +startset=$(echo "$@" | sed -e 's@waitforexitandrun @@g' -e 's@ --in-process-gpu@@g') +export gamef=$(dirname "$startset") + +xdg-open "rpgmakermp:///$gamef" diff --git a/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/toolmanifest.vdf b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/toolmanifest.vdf new file mode 100644 index 0000000..4af91c8 --- /dev/null +++ b/nwjs/packagefiles/rpgmaker-linux-steam-wrapper/toolmanifest.vdf @@ -0,0 +1,6 @@ +"manifest" +{ + "version" "2" + "commandline" "/rpgmaker-linux-cicpoffs-wrapper.sh %verb%" + "use_sessions" "1" +}