test#5
Merged
UzuCore merged 46 commits intoUzuCore:devfrom Dec 22, 2023
Merged
Conversation
Create playlists automatically from multidisk roms New script m3u_gen.sh (easy to adapt to GLO if necessary) Available from `Tweaks` -> `Tools` section. Additional folders added to cue generator. By default the script is systematically applied to `PS, SEGACD, NEOCD, PCE, PCFX, AMIGA` rom folders. The supported multidisc file names are numerous (not key sensitive and support "disc" or "disk"), for example : `MyGame (Disc 1).chd` or `MyGame (disc 1).chd` or `MyGame (DISC 1).chd` or `MyGame (Disk 1).chd` `MyGame (USA) (Disc 1).bin` + `MyGame (USA) (Disc 1).cue` `MyGame (USA) (Disc 1) (Rev 1).chd` `MyGame (Disc 1 of .2).chd` ...
## Overview Update to scummvm 2.9.0 to include all updates & fixes to the scrollbars in: scummvm/scummvm#5472 <img src="https://github.com/OnionUI/Onion/assets/47260768/89080ee6-124e-445a-a14d-b818e277e991" width="400" alt="Run ScummVM_000"><img src="https://github.com/OnionUI/Onion/assets/47260768/86848e29-a304-4c9e-ae1f-1c4d491d044a" width="400" alt="Run ScummVM_001"> ## To test Testing GUI -> 640 x 480: - [x] GUI can be freely scaled to its smallest size Testing scrollbars: - [x] Open global options -> Keymaps & observe a scrollbar is still present Downscaler can be tested by running BSword2.5. Audio has been handled differently so in this PR will also change the launch scripts to preload libpadsp.so ## Build details <details> ```markdown Backend... miyoo (SDL 1.2.15), 16bit color, high resolution, TinyGL, savegame timestamp, HQ and Edge scalers, aspect ratio correction, Lua, virtual keyboard, ENet WARNING: Disabling engine Hpl1 because the following dependencies are unmet: OpenGL with shaders WARNING: Disabling engine Tetraedge because the following dependencies are unmet: libtheoradec WARNING: Disabling engine The Watchmaker because the following dependencies are unmet: OpenGL (classic) Engines (builtin): SCUMM [all games] Access ADL AGI AGOS [all games] Adventure Game Studio Sanitarium Lord Avalot d'Argent Beavis and Butthead in Virtual Stupidity Blade Runner The Journeyman Project 2: Buried in Time CGE CGE2 Chamber Chewy: Esc from F5 Cinematique evo 1 Magic Composer Crab Cinematique evo 2 Lost Eden Cryo Omni3D games [all games] Macromedia Director Dungeon Master Dragon History Blazing Dragons Drascula: The Vampire Strikes Back Dreamweb Escape From Hell Freescape Glk Interactive Fiction games UFOs Gobli*ns The Griffon Legend Grim [all games] Groovie [all games] Hades Challenge Hyperspace Delivery Boy! Hopkins FBI Hugo Trilogy Hypnotix Inc. In Cold Blood Illusions Engine The Immortal Kingdom: The Far Reaches Kyra [all games] Labyrinth of Time The Last Express Lilliput Lure of the Temptress MacVenture MADE MADS [all games] Might and Magic [all games] Mohawk [all games] Mortevielle mTropolis Mutation of JB Myst 3 Nancy Drew Neverhood Nikita Game Interface Parallaction The Journeyman Project: Pegasus Prime Red Comrades Pink Panther Playground 3d: the testing and playground environment for 3d renderers Plumbers Don't Wear Ties The Prince and The Coward Private Eye Flight of the Amazon Queen SAGA [all games] SAGA2 SCI [all games] The Lost Files of Sherlock Holmes Beneath a Steel Sky Sludge The Longest Journey Star Trek 25th Anniversary/Judgment Rites Mission Supernova Broken Sword Broken Sword II Broken Sword 2.5 Teen Agent TestBed: the Testing framework Tinsel Starship Titanic 3 Skulls of the Toltecs Tony Tough and the Night of Roasted Moths Toonstruck Touche: The Adventures of the Fifth Musketeer Trecision Adventure Module TsAGE Bud Tucker in Double Trouble Little Big Adventure Ultima [all games] V-Cruise Voyeur WAGE Wintermute [all games] Z-Vision Engines Skipped: Hpl1 Tetraedge The Watchmaker WARNING: This ScummVM build contains the following UNSTABLE engines: Lord Avalot d'Argent Chamber Crab Lost Eden Dungeon Master Grim [Escape from Monkey Island] In Cold Blood The Immortal The Last Express Lilliput MacVenture MADS [MADS V2] Might and Magic Mohawk [Where in Time is Carmen Sandiego?] Mutation of JB Playground 3d: the testing and playground environment for 3d renderers Sludge Star Trek 25th Anniversary/Judgment Rites TestBed: the Testing framework Ultima [Ultima I - The First Age of Darkness] WAGE Wintermute [Wintermute3D] Creating engines/engines.mk Creating engines/detection_table.h Creating engines/plugins_table.h Creating config.h Creating config.mk ``` </details>
## Needs to be merged after Mainui sig handling #1193 as it uses -2, and #1299 unless rebased after this merges (as the NUM_TOOLS needs to be updated) - Tested on MM+ FW 0628, MM 1027, MM 0611 - Tested with Sandisk Ultra cards ## Adds a tool to sort the Apps list A-Z or Z-A based on their config.json LABEL. - Will add 2 tools to the Tweaks -> Tools menu
…be profile-specific. (#1270) The current theme is stored in /mnt/SDCARD/Saves/CurrentProfile/theme/currentTheme
## Changes - Added detection of rom presence for each emulator - Added a cartridge icon to emulators with roms present - Added a 3rd state to the X toggle (none, auto, all) - When making a fresh install, users will have emulators with roms selected by default - Changed the "changed" indicator to a dot on the left of the items (instead of an asterisk behind the name) ## Preview  --------- Co-authored-by: XK <47260768+XK9274@users.noreply.github.com>
China or some country can not use google. can not ping google for checking network. Just use worldtimeapi.org is OK.
# Fix from user [edmunek](https://github.com/edmunek) ## Updating the binary for filebrowser to version 2.26 from version 2.23. Release information available here: https://github.com/filebrowser/filebrowser/releases/tag/v2.26.0 Addressed by upstream: filebrowser/filebrowser#2582 Addresses local: #1306 ## Testing process Copy the new filebrowser binary into `/mnt/SDCARD/.tmp_update/bin` and restart the MMP or restart Filebrowser through tweaks. If filebrowser is running you will need to stop it first which can be done by turning it off in tweaks -> network Co-authored-by: edmunek <10533120+edmunek@users.noreply.github.com>
## Overview | Menu | Options | |---------|---------| | <img src="https://github.com/OnionUI/Onion/assets/47260768/7e7862c9-7a49-4194-987e-df73427c046d" width="100%"> | <img src="https://github.com/OnionUI/Onion/assets/47260768/8571065d-9900-490e-8941-6c7c12eb38c2" width="100%"> | ## Features - Blue light function to change the colortemp of the screen - Fades in/out - Time scheduling - Selection of strengths/presets ## Adds Menu item to Tweaks -> Appearance -> Blue light filter cmdline control over BLF through tweaks but should be used with the `blue_light.sh` script rather than direct control. blue_light.sh accepts the following: ```Usage: $0 {enable|disable|check}``` script guards against running too often with: ```/tmp/blue_light_script.lock``` script will quickly complete depending on the action, will not enable BLF if it's already enabled, etc ## Considerations - Added to 15 second loop area of keymon, there will be +/- 15 seconds after making a change to the time profiles before it actually changes. - Changes will be live immediately after the time is changed (even if you're still in tweaks) - ## Options Colour will gradually change, has 5 preset options: - Subtle - Moderate - Balanced - Strong - Intense --------- Co-authored-by: XK9274 <XK9274@users.noreply.github.com> Co-authored-by: Schmurtz <schmurtz@gmail.com>
Adds the option to control the backlights PWM frequency. This can improve the constant buzzing of the device by making it a less annoying frequency. From my testing, at 200 Hz the buzzing is much less noticeable and there does not seem to be a negative impact on the image quality. At 100 Hz the flicker might be visible to sensitive eyes. I would have preferred to go above the audible hearing range, but everything above 1000 Hz makes the brightness control unstable/unusable. MainUI has been patched to not set the PWM value every time it is launched. --------- Co-authored-by: tGecko <tGecko@users.noreply.github.com> Co-authored-by: Schmurtz <Schmurtz@gmail.com> Co-authored-by: schmurtzm <schmurtzm@users.noreply.github.com>
Video demonstration with pauses can be found at this link: https://www.youtube.com/watch?v=LN0TsBMzrZU. This tool enables to track and monitor historical battery charge while also providing an estimate of the remaining gaming time. Key points to note: - It remains device-independent, even if you switch SD cards to another device. It also continue to monitor if the user switch profile. - The log database only adds/update a new entry only when a significant battery increment is detected. It employs a "duration" integer to record the time spent in a specific battery state. It performs a final update upon detecting a SIGTERM or a change in the charging state. - The log database follows a FILO (First-In, Last-Out) management strategy to limit its size. - It has been tested to ensure there are no memory leaks. Limitations: - Due to the battery-friendly nature of batmon, there may be up to a 5-minute delay in the graph compared to the real battery state. It is not really noticeable. Important considerations: - The blueprint background is likely under a license. - A full distro compilation is yet to be done is order to check if the automatic compilation/placement is done right. Ideas for future enhancements: - Batmon could now easily detect the number of battery cycles. - By adding the removed elements values by the FILO logic, batmon could also record the total device runtime. - Including the rom_id in the database could enable tracking and comparing core consumption, resulting also in a cool graph. - The graph engine could be modified to display a straight or curved line instead of stairs. The code already contains a working line drawing function for this purpose. Additionally, a fully transparent background could enhance the graph, although it may slow down rendering. Testing files available: - For viewing the same graph as shown in the video (recommended for immediate UI testing): [View_test.zip](https://github.com/OnionUI/Onion/files/12576311/View_test.zip) Usage: Copy the contents of the zip file to the SD card and place the deviceSN file in the /tmp/ folder just before launching the app. - Fully functional feature: [Fully_functional_test.zip](https://github.com/OnionUI/Onion/files/12576312/Fully_functional_test.zip) Usage: Copy these files to your SD card. Please note that there won't be any graph to view yet, be patient :) In the .h files, several parameters can be adjusted, such as: - The threshold to trigger an update. - The maximum size of the FILO list. - The maximum duration before an update (not typically used but may be relevant if the device stays at 0% before shutting down for a long time). In the battery monitor UI app, here are the parameters worth mentioning : - GRAPH_LINE_WIDTH: Set the line width for the graph. - GRAPH_BACKGROUND_OPACITY: Adjust the opacity of the graph background. - GRAPH_MAX_FULL_PAGES: Specify the size of the canvas. - GRAPH_DISPLAY_DURATION: Define the duration of the visible graph area. - GRAPH_PAGE_SCROLL_SMOOTHNESS: Control the page increments during graph scrolling. - GRAPH_MIN_SESSION_FOR_ESTIMATION: Specify the minimum duration of unplugged sessions required for initial estimations (20 minutes). - GRAPH_MAX_PLAUSIBLE_ESTIMATION: Set the maximum plausible estimation duration. --------- Co-authored-by: Sichroteph <Sichroteph@users.noreply.github.com> Co-authored-by: tGecko <tGecko@proton.me> Co-authored-by: Schmurtz <schmurtz@gmail.com>
MainUI patched to react to SIGTERM signal. A sighandler to break out of the main loop was incorrectly implemented, set up to act on SIGKILL (9) which is not possible, as SIGKILL will always kill and leave the process no time to react.  The sighandler simply sets a value which is checked early in the main `while(true)` loop This allows us to shut down MainUI gracefully by sending SIGTERM instead of SIGKILL which can cause all sorts of troubles, notably black screens. This _includes_ the patches from #1179 and thus should be merged after #1179 --------- Co-authored-by: Schmurtz <Schmurtz@gmail.com>
# Adds a keyboard wrapper library
We're now at the point where we need some level of graphical keyboard
within our own bins (for example, tweaks for tGeckos new menus for
about/wifi).
This PR will include the library for allow this, built from Aemii's C++
search filter source (Which means it's separate, PR for that repo to
follow).
The keyboard has to be a library as it's C++ but the wrapper works well,
it's fast and it returns the value cleanly, returning you back to the
tweaks menu stack once complete.
As part of this it also releases the A button in Tweaks event loop, if
you do not release this it stays pressed. When you return out of the
wrapper the button is still pressed, take this into account in your
event loops.
# How to use it in your feature (If it's in tweaks):
1. `#include "components/kbinput_wrapper.h"`
2. Call the wrapper function from `actions.h` that will return the
keyboards output, eg:
```c
const char* action_LaunchKeyboardWrapper(const char *initial_value, const char *title) {
const char* result = launch_keyboard(initial_value, title);
all_changed = true;
return result;
}
```
3. On your menu item you'll need a void function so create a function to
call the wrapper:
```c
void getInputFromKeyboard() {
const char *initial_value = "Enter here"; // The default entry in the textbox
const char *title = "WiFi Key"; // The default title of the window
const char* result = action_LaunchKeyboardWrapper(initial_value, title); // Call the keyboard
printf("RESULT = %s\n", result); //Set result to your variable or whatever
free((void*)result); // Free the result whenever (but don't forget)
}
```
4. Call it at your chosen location, for example on a tweaks menu stack
item:
```c
list_addItem(&_menu_main,
(ListItem){
.label = "Keyboard",
.description = "noice",
.action = getInputFromKeyboard,
.icon_ptr = _get_menu_icon("tweaks_tools")
});
```
# How to use it in your feature (If it's not in tweaks):
1. Link the library in your makefile:

2. Steps 1 -> 3 above but define your own functions. When calling the
keyboard, the function is:

# Example of keyboard called from menu item and output printed to
terminal:


https://github.com/OnionUI/Onion/assets/47260768/d6f44e12-0fe8-49c0-a9b1-dae19629d6b2
---------
Co-authored-by: XK9274 <XK9274@users.noreply.github.com>
Co-authored-by: Schmurtz <schmurtz@gmail.com>
### Integration of Drastic: _- The Game Switcher and Keymon now utilize Miyoo's recentlist.json instead of Retroarch's content_history.lpl._ _- The system converts the old Game Switcher list to the new one._ _- Keymon has been modified to account for Drastic._ _- Scraper now supports NDS games._ **Game Switcher:** - Retroarch games and those launched from the Emu folder (Type = 5) are displayed. - The old logic involved parsing the Retroarch game path + core and reconstructing cmd_to_run.sh. The new logic calls the appropriate launch.sh for each console. - The code adapts to recentlist.json or recentlist-hidden.json, whether the user chooses to hide the recent panel or not. - The code rearranges the recentlist itself when launching a game from the list, a task previously handled by Retroarch. - Since the new list can contain apps, not just games, a new integer is assigned to the game structure to track the corresponding line number in the list. **Migration:** - A file named "listMigration.h" is generated to restore the Game Switcher game list to its previous state. This function parses the Retroarch list to reconstruct the correct commands in the Miyoo recent list. - This file operates independently, facilitating easy removal after some time. - It was chosen to fully respect the mainUI logic, even by called the absolute paths like this : "/mnt/SDCARD/Emu/GB/../../Roms/GB/Metroid 2 - Return of Samus.gb" - The migration function also renames old screenshots to adhere to the new hashes. - After migration, a flag file is created in /mnt/SDCARD/Saves/CurrentProfile/config/.recentListMigrated, ensuring the process occurs only once per profile. **Keymon :** A DRASTIC profile is added, configuring the menu button actions and the proper termination method. (A button combo is chosen to end Drastic, as SIGTERM was corrupting the savestates.) **Runtime :** The audioserver is initiated, if needed, before launching the Game Switcher in case the user is coming from a standalone incompatible with. It now allow to boot on standalones. **Possibilities :** Before, games launched by the Game Switcher did not adhere to the specifics outlined in launch.sh. It is possible to adjust the CPU frequency for each Retroarch console, with a suggestion to lower it for Gameboy games to increase gameplay time significantly.  --------- Co-authored-by: Schmurtz <Schmurtz@gmail.com> Co-authored-by: Aemiii91 <44569252+Aemiii91@users.noreply.github.com> Co-authored-by: Sichroteph <Sichroteph@users.noreply.github.com> Co-authored-by: schmurtzm <schmurtzm@users.noreply.github.com>
Supports savestates screenshots Supports background images customization on both DraStic and customized menu.
Target 4.3
## Adds VNC server
- Will add a VNC server menu option to tweaks.
- Submenu with FPS control, modifying FPS will disable the VNC server
(it has to be restarted to set the new FPS)
- Simple on/off functionality
- Could benefit from overclocking, is quite sluggish without - recommend
FPS at 15-20
- Default (can't be changed with this build) port is 5900.
<table>
<tr>
<td>
<img
src="https://github.com/OnionUI/Onion/assets/47260768/7e0a96ad-45f3-4e91-8386-8fe83f91bc1c"
alt="MENU">
</td>
<td>
<img
src="https://github.com/OnionUI/Onion/assets/47260768/9da53d74-f9bd-4982-952d-d1315dfd90f7"
alt="FPS">
</td>
</tr>
<tr>
<td colspan="2">
<img
src="https://github.com/OnionUI/Onion/assets/47260768/dce6abba-3c8c-4968-ad26-77159643bedb"
alt="REALVNC">
</td>
</tr>
</table>
---------
Co-authored-by: XK9274 <XK9274@users.noreply.github.com>
Co-authored-by: tGecko <tGecko@proton.me>
Target 4.3 [#1165] ## Adds screen record ability for demoing apps/content/features/bugs ### Not really suitable for games in current build as it's CPU encoding. There is a mi_venc module that I'm currently unable to work out. - Will add a screen recorder tool to the Tweaks -> Tools -> Screen recorder control - Submenu with the following options: - Toggle indicator icon - Flashes/shows an icon (depending on which app you're in) to remind you you're recording - Toggle countdown pulse - Pulses the screen white 3 times as a count in to starting recording (3 - 2 - 1 - go), also does the same when stopping to signify it's stopped. - Toggle hotkey - Enables or disables the hotkey to start/stop recording (Hold MENU+A for 2 seconds) - Reset screen recorder - Hardkills ffmpeg, removes all flags and stops any recording - Delete all recordings - Probably not needed, but it's a quick way to delete all recordings in the directory - Could benefit from overclocking - Stripped/basic version of ffmpeg with "just enough" (but has neon support) compiled in for this function. I can recompile with more as and when required. <table> <tr> <td> <img src="https://github.com/OnionUI/Onion/assets/47260768/57818b25-ed58-4ce2-bc3f-e170b3508ee3" alt="MENU"> </td> <td> <img src="https://github.com/OnionUI/Onion/assets/47260768/ecbad100-1b0d-4f23-b837-5e2cd8da3010" alt="MENU"> </td> </tr> <tr> <td colspan="2" align="center"> <br> <a href="https://github.com/OnionUI/Onion/assets/47260768/af670b76-8abc-4eb8-a166-ad9d94d8b4a9">VIDEO LINK</a> </td> </tr> </table> --------- Co-authored-by: XK9274 <XK9274@users.noreply.github.com> Co-authored-by: Schmurtz <Schmurtz@gmail.com> Co-authored-by: schmurtzm <schmurtzm@users.noreply.github.com>
Hungarian language files Co-authored-by: Schmurtz <schmurtz@gmail.com>
Co-authored-by: Schmurtz <schmurtz@gmail.com>
- Track and delete duplicates from the recentlist
spelling only
- toggle is now a toggle menu icon - menu item for toggle and intensity are disabled while script is working to keep the sync (lock file in tmp) - intensity now changes in realtime & smooth fade - add hotkey of Menu + B for 2 seconds to enable BLF - some UI/fading improvements - tidy up - persistent across boots if manually enabled in tweaks via "Toggle now" - Ignore the schedule for the current session if a manual toggle is done with the hotkey (saves going into tweaks when it's bouncing) The logic behind this is: - If the user disables the BLF for some reason while schedule is enabled we'll skip the schedule for this session, the user can remove this flag (/tmp/.blfIgnoreSchedule) by flipping the schedule on/off. - I chose this method of wiping the schedule flag so if the user takes no action, when they restart the schedule is still on for the next session. --------- Co-authored-by: XK9274 <XK9274@users.noreply.github.com> Co-authored-by: Schmurtz <schmurtz@gmail.com>
**Add DuckStation Xtreme Amped - Retroarch Core** Slower than PCSX Rearmed but an interesting alternative. A core from KMFD. **Add GnGeo - standalone emulator (Credits: bankbank)** The GnGeo is an AES/MVS Neo Geo emulator (without NG-CD support) based of MAME ROMsets. This emulator natively supported GNO files. The reason why this release of gngeo is useful is because of loading times. Tested a few big games like kof2000 and found that it took just a few seconds instead of 45 seconds. The framerate is also very good Modifications : - Created an dedicated icon for Expert section - Moved saves states to "/mnt/SDCARD/Saves/CurrentProfile/states/.gngeo" - Bios folder in command line to "/mnt/SDCARD/BIOS" Interesting information about GnGeo here (with compatibility list) : TriForceX/MiyooCFW#369 **Add superbroswar core (credits KMFD)** Source : https://github.com/libretro/superbroswar-libretro Official website (with many maps and skins) : http://smwstuff.net/ Will be probably added as a port due to the requirement of free assets. **Add LowRes NX in PacMan Expert section - Retroarch Core** LowRes NX is a virtual Game Console : "Program retro games in BASIC!" (Game Engine like Pico8) "Imagine LowRes NX as a handheld game console with a d-pad, two action buttons and a little rubber keyboard below a slidable touchscreen. LowRes NX was inspired by real 8- and 16-bit systems and simulates chips for graphics, sound and I/O, which actually work like classic hardware. It supports hardware sprites as well as hardware parallax scrolling, and even offers vertical blank and raster interrupts to create authentic retro effects." Game list : https://lowresnx.inutilis.com/programs.php?category=release **Add PuzzleScript core (71f0346) - Retroarch Core** Add PuzzleScript core in RA, + adding it in Package Manager with new icon. PuzzleScript is an open-source HTML5 puzzle game engine. All games are free an open source. Game lists : - https://www.puzzlescript.net/Gallery/index.html - https://philschatz.com/puzzlescript/ Repo and instructions to download games : https://github.com/nwhitehead/pzretro **Add PUAE Xtreme Amped - Retroarch Core** A core from KMFD, alternative to our current PUAE 2021, could be helpful for demanding games (require testers) It supports frameskip (You can use frameskip with AMPED, but not Xtreme) AGA games are pretty much playable with it. 25 fps limit forced on this core. **Updating CrocoDS (CPC) to f1b4b91 (+keyboard fix) - Retroarch Core** The core has two modifications for Onion : - [Fix keyboard to QWERTY](libretro/libretro-crocods#18) - [Change default internal config path to BIOS folder instead of Retroarch folder.](https://github.com/libretro/libretro-crocods/blob/f1b4b91291ba1e8e7c0be02269cd0d75c7fa71b9/crocods-core/platform.c#L1399) **Add Caprice32 (CPC) - Retroarch Core** Caprice32 is probably better than the current default CrocoDS for CPC games (require testers) A remap file allows to use the keypad to display the virtual keyboard (Select + Start) **Add Gong to the Onion default Ports pack - Retroarch Core** Gong is a Pong port, this Retroarch core doesn't requires any additional asset like Bomberman (mr.boom) and 2048. **Add Frodo (C64) to Expert Section - Retroarch Core** Frodo is an alternative core for Commodore 64. **Add Beetle PCE core in PacMan** "Beetle PCE" slower than "Beetle PCE Fast" but more accurate, full speed at 1900mhz, so more reserved to MMP. **Fix vice x64 loading time** The default core config wasn't good anymore : from xtreme vice x64 to vice x64 (standard version). So our vice x64didn't have default configuration anymore -> long loading time. **Update chailove core (69000df)** Chailove is a Löve game engine emulator, however the compatibility is concerns to a short list of Löve games : https://buildbot.libretro.com/assets/cores/ChaiLove/ **Update Lutro core (09a134e)** Lutro is a Löve game engine emulator, however the compatibility is concerning to a short list of Löve games : https://buildbot.libretro.com/assets/cores/Lutro/ This update fix the compatibility with Tetris. 1600mhz cpu clock applied (still not full speed however)
# PICO-8 Wrapper for Miyoo Mini/Miyoo Mini Plus Adding the Native PICO-8 wrapper to Expert, most integration has been done by @schmurtzm With this addition the keybinds will change (for Onion only): - Menu = quit (previously select+menu) ## You still need the correct pico8_dyn and pico8.dat files otherwise you'll receive a warning - These will need to be added to: `/mnt/SDCARD/RApp/PICO-8/bin` - Any saves and config will go to: `/mnt/SDCARD/Saves/CurrentProfile/saves/PICO-8` - Carts will follow the default Onion path:`/mnt/SDCARD/Roms/PICO` - Splore carts will be stored in `/mnt/SDCARD/Roms/PICO/splore` There are config changes in this version that differ to the standalone release, don't re-use files from standalone in place of this version (carts of course are fine) - don't copy over your SDL libraries or config.txt **_Considerations:_** This version currently does not have GS or save state support. Only MMP will get full bbs support due to the requirement for internet access --- More information and history available here: https://github.com/XK9274/pico-8-wrapper-miyoo <a name=""></a> ## <a name=""></a> ## | Full screen | Aspect scaled | Integer scaled | |:-----------:|:-------------:|:--------------:| |  |  |  | --------- Co-authored-by: Schmurtz <Schmurtz@gmail.com>
I've been using the translation that's currently in the main branch for a little bit and noticed some small typos and inconsistencies that I have corrected. I also made the change of renaming the FC and SFC systems to NES and SNES as these are the names the systems were released under in Norway but I'm not married to that particular change. Co-authored-by: Schmurtz <schmurtz@gmail.com>
As the discussion in #1273 I use FontForge to add Thai glyphs. Steps: - Exo-2-Bold-Italic_Universal.ttf 1. Adjust style for Thai font (Noto Sans Thai - Bold) to Bold Italic (Italic Angle = -8) 2. Merge the Thai font into Exo-2-Bold-Italic_Universal 3. Done! - wqy-microhei.ttc 1. Make entire original glyphs in wqy-microhei.ttc as bold. 2. Set Thai font (Noto Sans Thai - Bold) Em Size from 1000 to 2048 3. Merge scaled Thai font into WenQuanYiMicroHei and WenQuanYiMicroHeiMono 4. Set "weight class" and "style map" as Bold 5. Generate TCC font by disabling "Merge tables across fonts", which requires the space about 9-10 MB 6. Done! Co-authored-by: Schmurtz <schmurtz@gmail.com>
All the save states and saves are moved to Saves/CurrentProfile/states/Drastic. Background theme added for menu.
Manage the copy of saves and save states of previous Drastic builds to "/mnt/SDCARD/Saves/CurrentProfile/states/Drastic"
This is for the 5 people who are crazy and/or skilled enough to do the RTC mod. Normally, Onion saves the system time at shutdown and restores it on bootup. This disables the restore part. Since it would be a useless/confusing option for 99.9% of users it has to be enabled by manually creating the file `SD:/.tmp_update/config/.noTimeRestore` Motivated to finally include this by #1334
This commit adds the ability to mute music, independently of the volume set. This is done so users can mute bgm while still having menuing sounds play. The toggle will live in tweaks, in "Appearance --> Theme Overrides... --> Mute background music"  --------- Co-authored-by: patrickhurtado <patrick@pop-os.localdomain> Co-authored-by: Schmurtz <schmurtz@gmail.com>
Support for 752x560 resolution.
On startup, runtime checks the physical screen resolution and stores it
to `/tmp/screen_resolution`
If the firmware is 202310271401 and the physical resolution is 752x560,
it also creates the flag `/tmp/new_res_available`
If this flag is set on game launch, the resolution is changed and keymon
and batmon are informed of this via signal so they can update their
stored resolutions.
Keymon was updated to respect the render resolution when drawing the
brightness bar, batmon was updated to respect the render resolution when
drawing the "battery empty" icon.
TODO:
- [x] implement either a blacklist for anything hardcoded to 640x480 or
a whitelist for anything that supports 752x560?
so far only drastic is added as exception.
- [x] testing, finding edge cases, other resolution dependent things?
- [ ] overlays
---------
Co-authored-by: Schmurtz <schmurtz@gmail.com>
Co-authored-by: schmurtzm <schmurtzm@users.noreply.github.com>
If you get segfaults with this PR, run this in terminal before (The max value is no longer 5): ```rm -rf /mnt/SDCARD/.tmp_update/config/display/blueLightLevel``` - Remove "None" - it's redundant and causes issues - Fix menu lockup when scrolling, check if BLF is actually on before setting "blf_changing = true;" to negate needlessly locking the menu items. The artificial lockup on menu items is only needed when BLF is actually changing to avoid race conditions and pulling the display settings out of sync (causes flickering/bad previous state of RGB values, etc) Fixes: ddc9a9a#commitcomment-135316788 This is only a fix for when in the tweaks menu. The artificial delay is required. Setting display values into the screen gives no easy way to read them besides saving to file (this feature runs inside and outside tweaks so it's a settings value that's bitshifted). Ideally this feature should run on a command queue/buffer and be processed as they come in so we don't have to try and keep sync... It would also be great to get a "spinner" as discussed in discord, for when we don't need a full dialog, but need to show the user that something is happening in the background.. Something to look at in tweaks for the future i think. --------- Co-authored-by: XK9274 <XK9274@users.noreply.github.com> Co-authored-by: Schmurtz <schmurtz@gmail.com>
if some save states were present, we keep the existing bios for compatibility
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
test