Skip to content

v2.2.4-release

Latest

Choose a tag to compare

@saiitanaa saiitanaa released this 22 Jun 11:40
· 10 commits to main since this release
097ff83
image

Fast CIA Installation

ReSharp3DS-QR_CODE

Discord server

ReSharp3DS Runtime Update

Added

  • Added manifest.json support in the launcher.

  • Added support for manifest-based .pe display names.

    • Example: app.pe can now appear as TestApp.
  • Added manifest metadata support:

    • name
    • author
    • version
    • entry
    • description
  • Added selected app metadata display in the launcher:

    • Author: ...
    • Version: ...
  • Added touchscreen support in the launcher.

  • Added better launcher file browser behavior.

  • Added app/folder sorting in the launcher.

  • Added runtime_net.cpp and runtime_net.h.

  • Added runtime network/file helper functions:

    • FileExists
    • DirectoryExists
    • EnsureDirectory
    • DownloadFile
  • Added basic crash log infrastructure.

  • Added basic crash screen infrastructure.

  • Added future log paths:

    • sdmc:/ReSharp3DS/logs/crash.txt
    • sdmc:/ReSharp3DS/logs/clr-panic.txt
    • sdmc:/ReSharp3DS/logs/<AppName>.log
  • Added centralized input snapshot logic.

  • Added cached runtime state for:

    • held buttons
    • pressed-once buttons
    • touch position
    • circle pad position
  • Added graphics target support for top/bottom screen rendering.

  • Added transparent sprite drawing support.

Changed

  • Reworked launcher app naming.
  • The launcher now uses manifest.json to rename the selected .pe entry instead of only renaming the app folder.
  • The launcher now reads the manifest entry field to know which .pe file should receive the display name.
  • Replaced the old update-oriented code with a smaller runtime network helper.
  • Improved input handling by avoiding multiple hidScanInput() calls per frame.
  • Improved app browser organization and metadata rendering.

Removed

  • Removed old updater-style API usage from the launcher.
  • Removed old UpdateInfo / CheckForUpdate style update flow.
  • Removed runtime auto-update behavior from this part of the project.

Fixed

  • Fixed duplicated copy_json_string_value(...) definition in gui.cpp.

  • Fixed generated C++ string literals where \n had been converted into real line breaks.

  • Fixed broken printf(...) statements in:

    • gui.cpp
    • main.cpp
    • runtime_net.cpp
  • Fixed invalid '\0' generation where real null characters were inserted into source code.

  • Fixed launcher metadata display being inserted into the wrong function.

  • Fixed author/version metadata rendering placement.

  • Fixed manifest behavior so metadata can target a .pe file through the entry field.


ReSharp3DS API Update

Added

  • Added native runtime binding for returning to the launcher:

    • RuntimeReturnToLauncher
  • Added native debug log binding:

    • DebugLogFile
  • Added native graphics target binding:

    • GraphicsSetTarget
  • Added native transparent sprite binding:

    • GraphicsDrawSpriteTransparent
  • Added support for native top/bottom screen drawing target selection.

  • Added native transparent sprite rendering.

  • Added native debug file logging path support.

  • Added native system info improvements:

    • battery level
    • free memory
    • New 3DS detection
  • Added improved input native behavior using cached frame input data.

Changed

  • Native input calls now read from a cached input snapshot instead of scanning input repeatedly.
  • Native graphics code can now target different screens.
  • Native debug logging is prepared to write logs into the ReSharp3DS logs folder.
  • Native runtime behavior is prepared for cleaner launcher return handling.

Fixed

  • Fixed pressed-once input stability by preparing frame-based input state.
  • Fixed broken native C++ string literals generated during integration.
  • Fixed crash/debug helper code generation issues.

ReSharp3DS SDK Update

Added

  • Added C# helper enum:

    • Button
  • Added C# screen target enum:

    • ScreenTarget
  • Added C# helper structs:

    • Vector2
    • Rect
  • Added C# utility class:

    • Timer
  • Added C# app base class:

    • GameApp
  • Added input helpers:

    • Input.IsHeld(Button button)
    • Input.IsPressed(Button button)
    • Input.CirclePad()
  • Added touch helper:

    • Touch.Position()
  • Added runtime helper:

    • Runtime.ReturnToLauncher()
  • Added debug helpers:

    • Debug.Log(...)
    • Debug.Warn(...)
    • Debug.Error(...)
    • Debug.LogInt(...)
  • Added graphics helpers:

    • Graphics.SetTarget(ScreenTarget.Top)
    • Graphics.SetTarget(ScreenTarget.Bottom)
    • Graphics.DrawSpriteTransparent(...)
  • Added save helpers:

    • Save.Exists(...)
    • Save.Delete(...)
    • Save.SetBool(...)
    • Save.GetBool(...)

Changed

  • Improved SDK usability for C# app developers.
  • Made input code cleaner by allowing button enums instead of many direct method calls.
  • Made touch handling cleaner by exposing a Vector2 position helper.
  • Made save data easier to use with boolean helpers.
  • Made graphics code more flexible with screen target support.

Fixed

  • Fixed UI.DrawProgressBar(...) so it avoids invalid/negative fill sizes.

  • Fixed duplicate SDK compile issue explanation:

    • apps must not compile two copies of ReSharp3DS.cs.

Example manifest

{
  "name": "App de test",
  "author": "Saysaa",
  "version": "0.1.0",
  "entry": "app.pe",
  "description": "Application de test pour ReSharp3DS"
}

Expected SD structure:

sdmc:/ReSharp3DS/apps/TestApp/
  manifest.json
  app.pe

Notes

  • This is an integration update.
  • Some features are implemented but still need full real hardware validation.
  • Crash screen and crash log functions exist, but should still be fully wired into every runtime failure path.
  • Some non-blocking snprintf path-length warnings may remain.