Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Emscripten: Sanitize (Sound)fonts Disable feature when not available. * FluidSynth: Change SF when the MIDI changes Live SF change is too much complexity, not working properly. * FtFont: Improve error handling - Game will not terminate anymore when a glyph fails to render - Fix crash when a font fails to load * Settings: Add Spanish pangram * Maniac Patch: Added separate Width/Height Values for pictures Added: - Separate Width and Height value as per .scale2 parameter in ManiacPatch 211010 - Set Height to Width when using picture effects (as per ManiacPatch) - Set both Width and Height to Magnify when using .scale parameter Bugfix: - Fix ManiacPatch picture rotation not fully working * Maniac Patch: Fix String Vars with ShowPicture Added the following: - Check if we're using a string variable with com.parameters[17] - Set the name parameter to the String Variable Fixed the following: - When using a String Var with ShowPicture, it no longers crash the game with picture ID -1 * Maniac Patch: Added Var and Var Index support for Picture Tint While testing, I found out the following things: - You cannot mix multiple Variable types for each parameters - When using Variables for Picture Tint, parameter 17 is set to 4096 (0x100), - When using Var Indexes for Picture Tint, parameter 17 is set to 8192 (0x200), - Before, parameters for red, green, blue and saturation were always constants. - Surprisingly this feature doesn't work with ShowStringPicture Added: - Variable and VarIndex support for Tinting using ShowPicture and MovePicture using bitfields * New Command: 2002 - Activate Event At [x,y] `@raw 2002, "", UseVarX,x UseVarY,y` Activate an event in map remotely, based on its x and y coordinates. Command made by @MackValentine, I only refactored it to fit the player specifications. * 3DS: properly support 3dslink * NX: fix copy/paste error in custom logging func * Simple implementation for AntiLagSwitch * Implemented experimental "map event caches" to drastically increase performance when doing a lot of operations with game_switches & game_variables * Fix crash when MovePicture is used on an erased picture with a non-default origin. Fix #3189 * Settings: Only show "Open folder" on Windows, Linux, macOS * Settings: Support ".soundfont" WiiU: Disable Pause when focus lost * Emscripten: Do not lowercase the --game argument (regression fix) * Title scene: Allow accessing the load scene for file upload in emscripten with Shift * Emscripten: Fix canvas focus when embedded * Change Sprite Association: Fix incorrect offset for String Picture * Use individual cli options for patches. Useful for the anti lag switch and further patches that require an argument. Update documentation. * Improve MapEventCache data structure. Get rid of the unnecessary pointer. * Ignore invalid skills when leveling up. They are caused by stale database data and are harmless. Fix #2977 * Enable animated RPG2k3e spritesheets when using RM2k engine with 'RPG2k3Commands=1' * Update Gradle * Update Android SDL to 2.30.1 Minimize diff * CMake: Add WiiU preset * CMake Presets: Remove windows-x86 and windows-x64 and replace it with windows. Ninja does not support setting of the machine type. Instead the appropriate VS setup script must be executed beforehand. VS2022 targets are kept as they support this. * CMake Presets: The Prefix path is now appended, not overwritten * Resolve flathub linter warnings * Add former unsupported URL types * Update flatpak manifest from flathub package Build liblcf out-of-tree * 3DS: Fix crash by increasing linear heap memory * 3DS: Make rendering more robust - Should work with any resolution now (e.g. wide mode or double) - Fix bug where the LCD toggles endlessly when keeping button touched - Draw bottom screen UI in proper layers, not first to last * Party: Change the startup sanity checks from Warning to Debug Fix #3008 * metainfo: add 0.8 release * Rename ActivateEventAt to TriggerEventAt as discussed * Add "Wait For Single Movement" Event command by @jetrotal * Redo the X/Y shifting (Sprite clones) on looping maps. The change doubles the amount of sprites on looping maps but this fixes all the rendering issues, especially with big charsets ($). Most of the sprites are culled because they are out of bounds on larger maps, so the performance implications are small. Fix #3149 * Sprite_Character/AirshipShadow: Move functions that are only used by Sprite from Update to Draw. This is similiar how Pictures do it since years. Avoids some unnecessary function calls when Player is frame-skipping as less draw related code is processed. * Image API: Refactor. Return original bit depth of the image. * Add EasyRPG Patch Flag and lock some extensions behind it. Is mostly for features that can break games by accident. Currently behind it is: - Our custom event commands - Large charset - 32 bit image support. Reporting 32 bit images is useful because this prevents that games tested with EasyRPG do not run in RPG_RT by accident. 32 bit is also enabled when: A translation is active or Maniac Patch is used. * Fix Finger (Touch) Input on Windows On some devices the ID is not 0-4 but counts upwards. Introduced a new finger ID field to resolve this. * Remove __WINRT__ (OS is not developed anymore by Microsoft) * Windows 11: Disable Window rounding This looses pixels in the edges of the game. No error check. Will silently fail when unsupported. * Fix: Add inih to workflow (liblcf dep) * New Command 2056 - Spawn Map Event Command that clones Events from any map inside the current map. Co-Authored-By: Primekick <thetrueaxer@gmail.com> * Spawn Map Event - Handling cases where it clones events from its current map * Spawn Map Event - Overwrite paramater Updates on DestroyMapEvent You can also replace an older event with a new one with this optional parameter * Maniac Patch: Add flag "2" to disable the annoying/game-breaking variable range adjustment. * String Variable's ToFile - Relax File extension and path When saving a file, maniacs forces the File in Text/ folder with .txt extension. Through this PR, if '*' is at the end of filename, the file extension is relaxed. It also better handles the creation of nested directories. * Guard more extensions behind the flag * Generalize ToHero functions to be ToCharacter instead. Based on work of @jetrotal * WaitForSingleMovement: Similiar to other waiting commands preserve the state. Is required to prevent that the variable changes across waits and causes issues. * Flatpak: add libinih Fix git revision, in "detached head" state is no prefix * New Commands: 2053 SetInterpreterFlag Usages: 2053, "flag Name", on_off_Value_IsVariable, on_off_Value 2053, "dynrpg", 0, 1 // dynrpg patch * Implemented DirectMenuPatch * Scene/Window refactor: Instead of actor_id most scenes accept now an instance of Game_Actor Scenes that can handle multiple actors expect now an vector of actors. Makes it more flexible. * Scene_Debug; Minor menueing inconsistency: Play Cursor SE when moving between tabs of the range window * Scene_Debug: Implemented new debug view for viewing Maniac strings * Scene_Debug: Implemented new debug view for displaying current interpreter stack states * Window_StringView: Fixed line numbering for Auto-Linebreak * Updated Makefile.am * Use the pixel-based Game_Message::WordWrap function for the new stringview debug window (code assumes monospace font) * Scene_Debug: Minor refactoring + UX improvement * Made Game_Interpreter::GetState() return a const reference and moved the actual logic for retrieving the save data to a new method "GetSaveState()" * Scene_Debug: Fix a small copypaste error * Introduce "Choices" window for Scene_Debug & refactor a bit to remain compatible with ScopedVars branch * Interpreter window fix: window would become unselectable due to wrong index. just always set it to 0 on PushUiInterpreterView; no need to remember the index here. * EasyRpg Flag: Move bmp.reset call to the correct location * Add nlohmann_json to the buildsystem (required for Emscripten) Is enabled for all platforms because this will be used by a JSON event command. (also dropped rang from the license screen, we forgot to delete it earlier) * Emscripten: Migrate from picojson to nlohmann_json * Android App: Chinese (Simplified) translation updated Currently translated at 100.0% (119 of 119 strings) * New translation (Portuguese) added Android App: Portuguese (Brazil) translation updated Currently translated at 70.5% (84 of 119 strings) * Android App: Lithuanian translation updated Currently translated at 53.7% (64 of 119 strings) Android App: Lithuanian translation updated Currently translated at 30.2% (36 of 119 strings) New translation (Lithuanian) added * Android Metadata: Czech translation updated Currently translated at 100.0% (3 of 3 strings) Android App: Czech translation updated Currently translated at 100.0% (119 of 119 strings) Android Metadata: Czech translation updated Currently translated at 100.0% (3 of 3 strings) Android App: Czech translation updated Currently translated at 100.0% (119 of 119 strings) Android App: Czech translation updated Currently translated at 96.6% (115 of 119 strings) Android App: Czech translation updated Currently translated at 95.7% (114 of 119 strings) Android App: Czech translation updated Currently translated at 94.9% (113 of 119 strings) Android App: Czech translation updated Currently translated at 94.1% (112 of 119 strings) Android App: Czech translation updated Currently translated at 93.2% (111 of 119 strings) Android App: Czech translation updated Currently translated at 89.9% (107 of 119 strings) Android App: Czech translation updated Currently translated at 89.0% (106 of 119 strings) Android App: Czech translation updated Currently translated at 88.2% (105 of 119 strings) Android App: Czech translation updated Currently translated at 85.7% (102 of 119 strings) Android App: Czech translation updated Currently translated at 84.0% (100 of 119 strings) Android App: Czech translation updated Currently translated at 83.1% (99 of 119 strings) Android App: Czech translation updated Currently translated at 81.5% (97 of 119 strings) Android App: Czech translation updated Currently translated at 80.6% (96 of 119 strings) Android App: Czech translation updated Currently translated at 78.9% (94 of 119 strings) Android App: Czech translation updated Currently translated at 77.3% (92 of 119 strings) Android App: Czech translation updated Currently translated at 76.4% (91 of 119 strings) Android App: Czech translation updated Currently translated at 75.6% (90 of 119 strings) Android App: Czech translation updated Currently translated at 74.7% (89 of 119 strings) Android App: Czech translation updated Currently translated at 73.1% (87 of 119 strings) Android App: Czech translation updated Currently translated at 72.2% (86 of 119 strings) Android App: Czech translation updated Currently translated at 71.4% (85 of 119 strings) Android App: Czech translation updated Currently translated at 70.5% (84 of 119 strings) Android App: Czech translation updated Currently translated at 68.0% (81 of 119 strings) Android App: Czech translation updated Currently translated at 67.2% (80 of 119 strings) Android App: Czech translation updated Currently translated at 66.3% (79 of 119 strings) Android App: Czech translation updated Currently translated at 65.5% (78 of 119 strings) Android App: Czech translation updated Currently translated at 64.7% (77 of 119 strings) Android App: Czech translation updated Currently translated at 59.6% (71 of 119 strings) Android App: Czech translation updated Currently translated at 51.2% (61 of 119 strings) Android App: Czech translation updated Currently translated at 31.0% (37 of 119 strings) New translation (Czech) added * Android Metadata: Japanese translation updated Currently translated at 33.3% (1 of 3 strings) * Android Metadata: Japanese translation updated Currently translated at 66.6% (2 of 3 strings) Android App: Japanese translation updated Currently translated at 74.7% (89 of 119 strings) Android Metadata: Chinese (Traditional) translation updated Currently translated at 33.3% (1 of 3 strings) Android Metadata: Indonesian translation updated Currently translated at 100.0% (3 of 3 strings) Android App: Russian translation updated Currently translated at 96.6% (115 of 119 strings) Android App: Japanese translation updated Currently translated at 72.2% (86 of 119 strings) Android App: Indonesian translation updated Currently translated at 100.0% (119 of 119 strings) Android App: Greek translation updated Currently translated at 43.6% (52 of 119 strings) * Android App: Portuguese (Brazil) translation updated Currently translated at 84.0% (100 of 119 strings) * Android Metadata: French translation updated Currently translated at 100.0% (3 of 3 strings) Android App: French translation updated Currently translated at 100.0% (119 of 119 strings) Android App: French translation updated Currently translated at 100.0% (119 of 119 strings) * Android App: Portuguese (Brazil) translation updated Currently translated at 99.1% (118 of 119 strings) Android Metadata: Portuguese (Brazil) translation updated Currently translated at 66.6% (2 of 3 strings) Android App: Portuguese (Brazil) translation updated Currently translated at 95.7% (114 of 119 strings) Android App: Portuguese (Brazil) translation updated Currently translated at 94.9% (113 of 119 strings) * Android Metadata: Chinese (Traditional) translation updated Currently translated at 100.0% (3 of 3 strings) Android Metadata: Chinese (Simplified) translation updated Currently translated at 100.0% (3 of 3 strings) Android App: Chinese (Traditional) translation updated Currently translated at 100.0% (119 of 119 strings) * Android App: Portuguese translation updated Currently translated at 54.6% (65 of 119 strings) * Android Metadata: Dutch translation updated Currently translated at 100.0% (3 of 3 strings) Android App: Dutch translation updated Currently translated at 100.0% (119 of 119 strings) New translation (Dutch) added * Android Metadata: Portuguese (Brazil) translation updated Currently translated at 66.6% (2 of 3 strings) Android Metadata: French translation updated Currently translated at 100.0% (3 of 3 strings) Android App: French translation updated Currently translated at 100.0% (119 of 119 strings) * MidiOut: Support volume settings Fix #3083 * FluidLite: Use upstream target name Show FluidLite in settings instead of FluidSynth * Settings: Reset font size of bottom help window and font settings when game is changed * Settings: The font size can now be altered directly with left/right while a font is selected. Add cursor animation option to Window class. * Audio: Add Api to get the shared Midi Out Instance Solves errors and lag in the audio settings when the device is opened multiple times * Config: Namespace all the enums to reduce global scope pollution * Config: Unify FPS show settings. The options are now: - OFF (Do not show) - ON (in titlebar when windowed, inside when fullscreen) - Overlay (show always inside the window) Last option is disabled when fullscreen option is disabled. * Font: Unify the rendering functions for shaped and non-shaped fonts * Font: Resize the mask when the glyph is too large The mask looks brighter than in Maniac Patch but at least it does not look corrupted anymore. * Do transparent blitting of the system graphic frame Fix #2961 * MIDI: Only call seq->play in the Update function. Otherwise can cause a race condition and silence the track. Fix #3186 * Unlock the font settings when returning to the Game Browser * Audio Generic: memset was not clearing all the data (works on bytes, not floats) Use std::fill now which is not this error prone. Solves audio glitches ("pop") when having no BGM (or MidiOut) and a sound effect ends. * Settings: Do not play Decision SE twice * Android: Hardcode the read only strings Reduces confusion in Weblate due to the Read only strings. * Android: Remove FastForward button by default Can be added in the Layout editor. * FileFinder: Add a helper function to recursively find a game To be used by the Android GameBrowser * Android: Fix Saf Write test * Android: Refactor Player Filesystem API The JNIEnv-Pointer is now set from the outside. Makes it possible to call these functions without having SDL initialized. Remove DeleteLocalRef, as these references are garbage collected automatically when the function returns. * Android: Use native FileFinder for the game detection of the GameBrowser. Allows to drop most of the Java scanning code and makes maintanance easier. * Android: Add progress information to the scanning process * Implemented SaveEventExecFrame fields "maniac_event_id" (not reset on map change) & "maniac_event_page_id" + extended interpreter debug view * Window_Interpreter fixes: - Base frame for CommonEvent interpreters was always shown with Id '0' - Encountering a "CallEvent" command while traversing up the stack, always set the flag "is_calling_ev_ce", even if it was a map event * Remove patch-flag checks for debugging info * ZipFs: Reuse the initial stream (LzhFs already does this) * Android: Multiple games are now found in subdirectories This also allows stuff like multiple games in a single zip, zip inside zip etc. * Android: Sync the FF-Multiplier setting with the INI setting * Android: Update translations to mention LZH support and lack of 7z-support * Android: Pass in the title through JNI, cleanup * Android: Try to load the title image in three ways 1. If only one title image: Use this one 2. By parsing the database 3. By taking the first image in the title folder This approach is surprisingly fast and the caching skips the scan after the first time. * Android: Fetch the game name from the INI The title is then reencoded based on the users encoding setting. * Android: Add option to rename the game * Android: Provide soundfont path via command line. Fix typos * Android: Make it possible to configure the Font Also minor Soundfont code fixes * Settings: Hide Font settings when Freetype is missing Hide Soundfont and Font settings on Android in general (thx SAF) * Android: Improve font scene, show preview * Android: Improve wording of the folder buttons * Android: Remove GameScanner suffix from the cpp files Originally they were generated by a Header generator but by now Android Studio handles this which is more flexible. * Add custom error display for platforms Implemented currently for 3DS and SDL2. Switch and Vita are possible, however an Error report might be generated on Switch (bad, could get send to big N) and for Vita one would need to match framebuffer format and such when dealing with GXM for dialog display. This is not worth currently, since we likely migrate away from vita2d library in the future. Go through platform teardown code. While this may not work for every case (e.g. out of memory on Wii), this should be cleaner. * Android: Add RTP status to the Folders activity Fix #1845 * Android: Add "Toggle FPS" and "Reset Game" to the game drawer Related #3103 * Regression fix of the Scene refactor: Battle skills were not listed correctly Somehow the compiler does not complain when you pass an integer to a parameter of type "const Game_Actor&". * Fix warnings * Wii U: Bundle Icons and Splash screens * CMakeLists.txt: Simplify Support bundling a game for Wii U * Wii U: Handle main loop Support shipped games Better CWD handling * SDL: use system format for audio warn if unsupported * Wii U: use full paths for consistency * Wii U: Manually handle ProcUI without the WHB wrapper The ProcUI API is very unstable and querying it crashes when a shutdown was requested. For more control use it directly. * Wii U: Fix MakeDirectory logic Consider "/vol" a valid path * Wii U: Disable settings that do not work * ZipFS: Replace the scan backward for determining if it is a ZIP with a single read Was the only agressive use of "end" in our code. * Add a custom buffered filebuf that uses a file descriptor Implemented for the WiiU because IO through std::filebuf appears to be unbuffered. But can maybe help on other platforms. Can be toggled by setting USE_CUSTOM_FILE_READBUF to the prefered buffer size. * Wii U: Put wildmidi config and config.ini in "data" With the upcoming audiocfg branch it will create "Soundfont" and "Font" folders on startup. Looks ugly when in the game directory as they are shown. * Wii U: Update assets Thanks @jetrotal * Use custom readbuf on our homebrew platforms * Make our life on GitHub easier: - Automatically label pull requests - Hilight some warnings in the output - Keep actions updated * ttyp0 changes (remove Thai and Hebrew), generator fix Fix #2999 * Spawn Map Event - Support renaming an event * Refactored the AntiLag "MapCache" structure & moved it to its own namespace * Refactored several Interpreter related code segments: - Implemented template method "DecodeTargetEvaluationMode". (This logic is shared between ControlVariables, ControlSwitches & ControlStrings but the actual implementation for several special access modes differs between implementations. Support for these modes is evaluated at compile time.) - Moved some common helper functions into a new file "game_interpreter_shared.cpp" (CheckOperator, ValueOrVariable / CommandStringOrVariable & variants) - Refactored "ValueOrVariable" & "ValueOrVariableBitfield" into template methods - Moved some commonly used member function declarations which are needed for certain command argument evaluation methods from Game_Interpreter into a new abstract base class (namespace "Game_Interpreter_Shared" is agnostic to the actual implementation of the interpreter) * Refactor: Moved a few other helper functions from Game_Interpreter to Game_Interpreter_Shared * game_interpreter_shared: Moved explicit instantiations to .cpp & moved definition of "Game_BaseInterpreterContext" to the bottom of header file * Refactor explicit template instantiations: Looks like MSVC does some implicit instantiations here while GCC fails * Rebase: Re-apply warning fixes for moved code segments * Remove scaling restrictions when using special effects From Maniac Patch version 240423: [RPG_RT.exe] Support for different magnification rates for special drawing of pictures (rotation, waveform, angle). + Added check if sprite's width/height is at zero. If so, skip the draw routine (helps avoid a glitchy sprite at the top-left when rotating an infinitely thin picture) - Removed check for effect mode when setting zoom or width/height. One thing to note when comparing Maniac and EasyRPG: the former doesn't seem to properly clip the sprite in the corners, when rotating the sprite. * Maniacs Patch - Call System Functions In Maniacs, CommandOpenSaveMenu is renamed to "Call System Function". I implemented what is closer to our code. Also expanded the code to cover our custom submenus (Cases 8 to 12). Update game_interpreter_map.cpp * WaitForSingleMovement: Guard with EasyRpg Extension Check * Proper casing for LoadMapFile and make RequestMap request always important * SpawnMapEvent: Add Async handling, Cleanup * SpawnMapEvent: Suspend the interpreter using Async to avoid crashes when the event vector is altered. Renamed to CloneMapEvent * DestroyMapEvent: Implemented * DestoryMapEvent: Set the main interpreter event ID to 0 when the event running is destroyed. Prevents triggering the sanity check about an invalid event on the main interpreter. Fix operator= of Game_CharacterDataStorage. * Call System Functions: Move EasyRPG Extensions to a higher ID to prevent conflicts Minor enhancements * Local Settings - First Commit If you have a copy of config.ini saved at the same folder as the player app, it will load the game settings from it, instead of the global folder. ------------------------------------- Update game_config.cpp * Fix compiling OpenDingux and SDL 1.2 Otherwise, it will complain about undefined references to GetSdlAxis. * Refactor: Always check isMessageActive() at the beginning in game_Interpreter _map. * Refactor: check out_of_bounds before calc map_draw_xy * Refactor: remove GetEventsXY() since the code is broken and never been used now. * Android: Use different save paths when multiple games are in one archive * Android: Bump to SDK 34 * Android: Update deps and gradle to 8.10 * When loading a save remove active BattleAnimations They can reference stale event data and crash. Fix #3255 * Equipment: Fix another missed change from actor.GetId to actor. Detected by ASAN, somehow does not crash without. Fix #3235 * Emscripten: Expose FS Module again. Was lost when moving to MODULARIZE. Fix #3243 * Fix compilation errors when resampling is disabled * SpawnMapEvent: Update BattleAnimation reference Prevents crashes... Had to add multiple player includes as a header was removed. * SpawnMapEvent: Directly insert sorted. Make FindEventById the same as GetEvent but for lcf::rpg::Event. * Android: Replace assets with SVG. Works since API 21 which we require. Also add asset for "Visit Website" and "Fonts". * Android: Bump SDL2 to 2.30.6 * SDL2: Swap pixel format with a faster one for pixman on Big Endian Fix WiiU texture copy by manually doing a format conversion. * Custom Filebuf: Also use it for writing Has the same performance issues * Wii U: Move teardown code to atexit * CMake: Revert the Wii SDL part because it does not work (linker errors) * WiiU: Address review comments - ProdUi renamed - Fixed save path for bundled games - Moved ProcessProcUi call to the Ui * WiiU: Map the buttons according to an Xbox-Controller and then swap them with the swap abxy setting * Add a bool to ProcessEvents to signal program exit. Calling Player::Exit in the Ui can crash because the Ui is deleted by it. Also the normal teardown codepath is too slow on WiiU and crashes the console when the home button is used. * Fix flickering in Yume2kki on map 3D Underworld (ID 1884). The map uses a MoveRoute with a jump and SetVehicleLocation for party movement in a tight loop which causes heavy flickering in our Player. This fix does not appear to be completely correct as RPG_RT does not reset the jump flag here but the "damage" is reduced because SetVehicleLocation -1 cannot happen without patching the game. Fix #3254 Co-Authored-By: Viet Dinh <54ckb0y789@gmail.com> * Effects: Use the filename for the cache, not the bitmap pointer The pointer can be reused by a new bitmap and cause wrong animations. For individual tiles the filename is lost. "filename" in bitmap was renamed to "id" and gets now filename+tileid in that case. Fix #3256 Co-Authored-By: Viet Dinh <54ckb0y789@gmail.com> * Fluidsynth: Exhaust the internal synth buffer to prevent playing of old samples after long pauses Fix #3135 (this time for real) * Android: Forgot to commit SDLActivity.java for the SDL2 2.30.6 bump * Android: Make title encoding detection more robust and filter out UTF16 * Improve debug image size warnings (#3260) debug size warning tweaks * Android: Remove deprecated package= option from Manifest * CMake: Replace the verbose warning when nlohmann is not found with a one-liner This verbose warning appears when a library has no find module. * Fix typo ObservervedVarOps -> ObservedVarOps * Fix 3ds build (wrong var type in WaitForSingleMovement) * Cast the string constants to char* when tremor is used. Fixes warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] Tremor never writes to the strings so this is safe to do. * Switch: Fix build (Add missing return value) * The Sacred Tears: TRUE uses a modified map tree Detect this and apply a shift of 1 to all bytes in the map tree to make it work. * Add transparency to the SpriteEffect key, matching the behaviour of the normal sprite cache. Fixes a black screen when entering the bedroom in Yume 2kki's Nocturnal Grove (Regression) Fix #3274 * ManiacGetSaveInfo: Set transparency and apply correct defaults Fix #3272 * ManiacControlGlobalSave: Fix command not working the first time when using Copy From/To without calling Open. Bug was that the function returned when the lgs file was missing. Emscripten: Update the filesystem state Fix #3270 * Load: Fix Async loading of the map file when command ManiacLoad is used Fix #3271 * ZIP: Improve encoding detection by only feeding the filename to ICU Before the string contained full paths, breaking the detection logic because most paths are ASCII * DestroyMapEvent: Remove the event from the cache * Clone/DestroyMapEvent: Silence warning when deletion fails while cloning Add documentation * Reset UI on WebGL context loss On Emscripten, the WebGL context may be loss for any reason, for example when restoring the application from the background, the GPU force- refreshed the application to reclaim memory, etc. In these cases, canvas data is lost and this commit accommodates that situation by reinitiali- zing the UI when the browser has restored the context. * Fix compile errors from merge --------- Co-authored-by: Ghabry <gabriel+github@mastergk.de> Co-authored-by: Tool Man <gchristin2000@bell.net> Co-authored-by: MackValentine <mackvalentine@gmail.com> Co-authored-by: Carsten Teibes <dev@f4ke.de> Co-authored-by: florianessl <github@iessl.at> Co-authored-by: Mauro Junior <45118493+jetrotal@users.noreply.github.com> Co-authored-by: Primekick <thetrueaxer@gmail.com> Co-authored-by: XWX1 <xwx1dot@qq.com> Co-authored-by: Daniel Paim de Mattos Oliveira <danzpaim@gmail.com> Co-authored-by: AidasKar15 <aidas14karaliunas@gmail.com> Co-authored-by: Sadver <kw2xiemg@anonaddy.me> Co-authored-by: otya <ocha3052@gmail.com> Co-authored-by: Gabriel <gabriel+easyrpg@mastergk.de> Co-authored-by: crazep <wdyocmwyh@gmail.com> Co-authored-by: Carbonara <malicecarbonara@gmail.com> Co-authored-by: Jesse5800 <zhengnobita2589@163.com> Co-authored-by: pissolato <rodrigopissolato@gmail.com> Co-authored-by: lemtom <lemmens.tom11@gmail.com> Co-authored-by: Dzmitry Kushnarou <dzmitry@kushnarou.pt> Co-authored-by: fdelapena <fran@fran.cr> Co-authored-by: gameblabla <gameblabla@protonmail.com> Co-authored-by: xiaodao <lychees67@gmail.com> Co-authored-by: lumiscosity <averyrudelphe@gmail.com>
- Loading branch information