Git Product home page Git Product logo

edizon's Introduction

EdiZon


Latest Release Discord Server Build Status

A Homebrew save file dumper, injector and on-console editor for Horizon, the OS of the Nintendo Switch. Please note if you are using Atmosphere 0.10.0+, you must use the snapshot version of EdiZon. Older versions of EdiZon do not work on the latest Atmosphere.

Overview

EdiZon consists of 3 different main functionalities.

  • Save file management
    • Extraction of game saves.
    • Injection of extracted game saves (Your own and your friends save files).
    • Uploading of savefiles directly to https://anonfile.com.
    • Batch extraction of all save files of all games on the system.
  • Save file editing
    • Easy to use, scriptable and easily expandable on-console save editing.
      • Lua and Python script support.
    • Built-in save editor updater.
  • On-the-fly memory editing
    • Cheat Engine like RAM editing.
    • Freezing of values in RAM via Atmosphère's cheat module.
    • Interface for loading, managing and updating Atmosphère cheats.

All packed into one easy to use and easy to install Homebrew.

Images

Save editor Config and Script files

To download working Editor Config and Editor Script files, visit this repository

Check out our Wiki page for more information on how to build your own Editor Config and Editor Script files.

How to install

  1. Download the latest release from the GitHub release page.
  2. Unpack the downloaded zip file, put the files on your Nintendo Switch's SD card and let the folders merge.
  3. Use a free open source CFW like Atmosphère to launch the hbmenu and start EdiZon from there.
    1. If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported.
    2. For the best experience, open the /atmosphere/system_settings.ini file and change dmnt_cheats_enabled_by_default = u8!0x1 to dmnt_cheats_enabled_by_default = u8!0x0.

How to compile

  1. Clone the EdiZon repo to your computer using git clone https://github.com/WerWolv/EdiZon.
  2. Download and install devkitA64. It comes bundled with the devkitPro toolchain.
  3. Use the pacman package manager that comes with devkitPro to download and install libNX, portlibs (switch-portlibs) and freetype2 (switch-freetype).
  4. The rest of the compilation works using the make command.

Discord

For support with the usage of EdiZon or the creation of save editor configs and scripts, feel free to join the EdiZon server on Discord: https://discord.gg/qyA38T8

Credits

Thanks to...

  • devkitPro for their amazing toolchain!
  • 3096 for save dumping/injecting
  • Bernardo Giordano for some code from Checkpoint.
  • SwitchBrew for the Homebrew Launcher GUI and shared font code.
  • thomasnet-mc for most of the save backup and restore code and the updater script.
  • trueicecold for batch backups and the editable-only mode.
  • onepiecefreak for the edizon debugger and LOTS of reviewing implementations.
  • Jojo for the Travis CI configuration and the config creator.
  • Ac_K for help with the server side update scripts and the EdiZon save website.
  • jakibaki for her massive help with the implementation of RAM editing and sys-netcheat which was used as inspiration.
  • SciresM for the aarch64 hardware accelerated SHA256 code, his implementation of the Atmosphère cheat engine and his support during development.
  • kardch for the beautiful current icon.
  • bernv3 for the beautiful old icon.
  • All config creators for bringing this project to life!

  • nlohmann for his great json library.
  • Martin J. Fiedler for the nanojpeg JPEG decoding library.
  • Lua for their scripting language.
  • Python and nx-python for their scripting language respectively their python port to the switch.

edizon's People

Contributors

annsanns avatar drdrjojo avatar hookedbehemoth avatar igromanru avatar justinjustin7 avatar o-j1 avatar sciresm avatar techgeekgamer avatar thatnerdypikachu avatar thomasnet-mc avatar trueicecold avatar werwolv avatar werwolvtranslationbot avatar yaniv-mobilebrain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edizon's Issues

Searching RAM will not go away

I see [HEAP + 0x.....], greyed out behind the subject pop up, but it will not disappear for me to meddle with the addresses found. Is this a bug? Only way to get out is either home or the plus button, which resets Edizon. This is on the latest build and after the “truncated” message appears.

Save backup naming.

Hi,
I've noticed that saves are backed up only by title id. Could you also please include real game name for easy management on PC?

Feature Request: Saving Addresses without freezing them

A straightforward feature request. Currently, if we find an address we want to change, and want to go back to it, we have to freeze it, and if we unfreeze it for whatever reason, we have to do a new search to find it again.

I generally don't like leaving addresses frozen. I've not run across this on the Switch yet, but I recall frozen values causing issues in other games with scripted events, such as falling into bottomless pits in certain games with health frozen at maximum

Crash after pressing the minus button w/o internet connection

No Internet connection was setup on a 5.1.0 Switch booted with hekate + LFS.
After pressing the minus button got an error that there was not internet connection.
Afterwards tried to backup some states and Switch freezes.

Using EdiZon v1.3.3.

Save Data Restore crashing after loading old NAND Backup

I restored an old NAND Backup and batch dumped all my saves. Unfortunately, selecting the Restore option only crashes my console. No error code or anything.

Steps to reproduce the behavior:

  1. Batch Backup all saves
  2. Restore old NAND
  3. Try to restore save

Additional context
I had formatted my console and the NAND Backup is from before the format. Running latest ReiNX + fs_mitm.kip.

Breaks with latest libnx (1.3.0.1) and devkitA64 R11-1

/home/ch/Downloads/EdiZon/source/save.cpp: In function 's32 deleteDirRecursively(const char*, bool)':
/home/ch/Downloads/EdiZon/source/save.cpp:37:28: error: aggregate 'deleteDirRecursively(const char*, bool)::stat statbuf' has incomplete type and cannot be defined
                struct stat statbuf;
                            ^~~~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:41:39: error: invalid use of incomplete type 'struct deleteDirRecursively(const char*, bool)::stat'
                if (!stat(buf, &statbuf)) {
                                       ^
/home/ch/Downloads/EdiZon/source/save.cpp:37:23: note: forward declaration of 'struct deleteDirRecursively(const char*, bool)::stat'
                struct stat statbuf;
                       ^~~~
/home/ch/Downloads/EdiZon/source/save.cpp:42:23: error: 'S_ISDIR' was not declared in this scope
                   if (S_ISDIR(statbuf.st_mode))
                       ^~~~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:42:23: note: suggested alternative: 'EISDIR'
                   if (S_ISDIR(statbuf.st_mode))
                       ^~~~~~~
                       EISDIR
/home/ch/Downloads/EdiZon/source/save.cpp: In function 'void makeExInjDir(char*, u64, u128, bool, const char*)':
/home/ch/Downloads/EdiZon/source/save.cpp:73:3: error: 'mkdir' was not declared in this scope
   mkdir(ROOT_DIR, 0700);
   ^~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:73:3: note: suggested alternative: 'rmdir'
   mkdir(ROOT_DIR, 0700);
   ^~~~~
   rmdir
/home/ch/Downloads/EdiZon/source/save.cpp: In function 's32 isDirectory(const char*)':
/home/ch/Downloads/EdiZon/source/save.cpp:140:14: error: aggregate 'isDirectory(const char*)::stat statbuf' has incomplete type and cannot be defined
  struct stat statbuf;
              ^~~~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:142:25: error: invalid use of incomplete type 'struct isDirectory(const char*)::stat'
  if (stat(path, &statbuf) != 0)
                         ^
/home/ch/Downloads/EdiZon/source/save.cpp:140:9: note: forward declaration of 'struct isDirectory(const char*)::stat'
  struct stat statbuf;
         ^~~~
/home/ch/Downloads/EdiZon/source/save.cpp:145:9: error: 'S_ISDIR' was not declared in this scope
  return S_ISDIR(statbuf.st_mode);
         ^~~~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:145:9: note: suggested alternative: 'EISDIR'
  return S_ISDIR(statbuf.st_mode);
         ^~~~~~~
         EISDIR
/home/ch/Downloads/EdiZon/source/save.cpp: In function 's32 copyAllSave(const char*, bool, const char*)':
/home/ch/Downloads/EdiZon/source/save.cpp:213:13: error: 'mkdir' was not declared in this scope
             mkdir(filenameSave, 0700);
             ^~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:213:13: note: suggested alternative: 'dir'
             mkdir(filenameSave, 0700);
             ^~~~~
             dir
/home/ch/Downloads/EdiZon/source/save.cpp:217:13: error: 'mkdir' was not declared in this scope
             mkdir(filenameSD, 0700);
             ^~~~~
/home/ch/Downloads/EdiZon/source/save.cpp:217:13: note: suggested alternative: 'dir'
             mkdir(filenameSD, 0700);
             ^~~~~
             dir
/opt/devkitpro/devkitA64/base_rules:13: recipe for target 'save.o' failed
make[1]: *** [save.o] Error 1


[compile]compile error KeyboardManager.cpp

Compile error:
../EdiZon/source/KeyboardManager.cpp:142:29: error: 'FASTSCROLL_WAIT' was not declared in this scope
svcSleepThread((u64)FASTSCROLL_WAIT);
../EdiZon/source/KeyboardManager.cpp:315:20: error: 'gfxGetFramebuffer' was not declared in this scope
framebuf = gfxGetFramebuffer(&framebuf_width, NULL);
...

Ram editor should search all readable & writeable memory region

Is your feature request related to a problem? Please describe.
I found that ram editor can't find out the address of gold in some game, like Tales of Vesperia.

Describe the solution you'd like
I did it by using Noexes, and notice that the address of gold located in code_XXXX region, not heap.
Maybe these value is stored in static var?
I hope EdiZon can support it.

Title icons scrolling

Hi,
Just had some fun with it and scroling through titles works weird. It jumps in strange way that it's confusing and I have 15 titles and last one in top row shows for some time but when I get to it it's offscreen.
2018060417110500-db1426d1dfd034027cecde9c2dd914b8
Like on this image.

Touch selecting titles is a bit wonky too. And I cannot select last titles to the right at all.

Cannot use dpad to navigate save editor menus

Describe the bug
In a save editor menu, you cannot use dpad to navigate up and down the columns. Only left analogue stick works.

To Reproduce

  • Select a game with a valid save editor script
  • Try to navigate with dpad.

Expected behavior
As all other menus can be navigated with the dpad, you should be able to navigate these with dpad as well.

Can't control the buttons on the transfer.sh dialog with buttons

Describe the bug
You can't activate any option on the dialog wich asks if you want to upload the savegame to trashfer.sh with the A button.

To Reproduce
Backup any save and wait for the dialog wich asks if you want to upload the save to transfer.sh then try to activate yes or no with the A button.

Expected behavior
Ability to activate the yes or no option with the A button.

Compile Error -> error: cannot convert 'std::vector<unsigned char>' to 'u8*' {aka 'unsigned char*'} in return

C:/Users/maniac/Documents/Development/EdiZon/source/helpers/title.cpp: In constructor 'Title::Title(FsSaveDataInfo&)':
C:/Users/maniac/Documents/Development/EdiZon/source/helpers/title.cpp:76:10: error: cannot convert 'std::vector' to 'void*'
memcpy(m_titleIcon, ptr, imagesize);
^~~~~~~~~~~
In file included from c:\devkitpro\devkita64\aarch64-none-elf\include\c++\8.3.0\cstring:42,
from C:/Users/maniac/Documents/Development/EdiZon/include/helpers/save.hpp:3,
from C:/Users/maniac/Documents/Development/EdiZon/include/helpers/title.hpp:9,
from C:/Users/maniac/Documents/Development/EdiZon/source/helpers/title.cpp:1:
c:\devkitpro\devkita64\aarch64-none-elf\include\string.h:31:17: note: initializing argument 1 of 'void* memcpy(void*, const void*, size_t)'
void * memcpy (void __restrict, const void __restrict, size_t);
^~~~~~
C:/Users/maniac/Documents/Development/EdiZon/source/helpers/title.cpp: In member function 'u8
Title::getTitleIcon()':
C:/Users/maniac/Documents/Development/EdiZon/source/helpers/title.cpp:99:10: error: cannot convert 'std::vector' to 'u8
' {aka 'unsigned char*'} in return
return m_titleIcon;
^~~~~~~~~~~
make[1]: *** [/c/devkitPro/devkitA64/base_rules:14: title.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:165: build] Error 2

Cheats are disabled by default

Is your feature request related to a problem? Please describe.
Please make cheats disabled by default. For now I need to change override in atmosphere settings for disabling cheats by default.

Describe the solution you'd like
It would be very comfortable if I can play with working cheat engine and ram editor, but without cheats that I did not activate by myself

I saw it this way - I launch the game without cheats by first time and if I need cheat to be apply - I launch EdiZon and choose anly what I need.

Not able to use the autoupdate feature

I received the error "An error while downloading the updates has occurred." when I tried updating Edizon database using 90DNS, AMS 0.8.10, and Edizon 3.1.

Update SD.zip to contain latest JSON files

Currently, the zip contains the older JSON files that have the "/" in saveFilePaths, so save editing doesn't work until the user presses "-" to update all config and script files.

windows has no sys/socket.h

windows missing dependency
#include <sys/socket.h>

To Reproduce
build on windows

Expected behavior
windows is a POS and does not have some libraries

Additional context
no biggie just pointing it out for any noob users that cant build and wana try out your sweet sweet edizon cheat stuff

Deleting backups doesn't update list

Describe the bug
When I delete a backup with X it doesn't disappear from list until I leave the "restore" menu and reopen it

To Reproduce
Select game > Y (Restore) > X (Delete)

Expected behavior
Deleting a backup should remove it from the list automatically

Build warnings & freeze issues using a selfmade config.

Currently getting these warnings compiling the master branch.

lua_save_parser.cpp
aarch64-none-elf-g++ -MMD -MP -MF /home/ch/Downloads/EdiZon/build/lua_save_parser.d -g -Wall -O3 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE  -DVERSION_MAJOR=1 -DVERSION_MINOR=2 -DVERSION_MICRO=1 -I/home/ch/Downloads/EdiZon/include -I/home/ch/Downloads/EdiZon/include/lua -I/opt/devkitpro/portlibs/switch/include -I/opt/devkitpro/libnx/include -I/home/ch/Downloads/EdiZon/build -D__SWITCH__ -I/opt/devkitpro/libnx/external/bsd/include -fno-rtti -fexceptions -std=gnu++17 -c /home/ch/Downloads/EdiZon/source/lua_save_parser.cpp -o lua_save_parser.o 
EdiZon/source/lua_save_parser.cpp:25:13: warning: 'void stackDump(lua_State*)' defined but not used [-Wunused-function]
 static void stackDump (lua_State *L) {
             ^~~~~~~~~
EdiZon/source/theme.c: In function 'setTheme':
EdiZon/source/theme.c:25:19: warning: missing braces around initializer [-Wmissing-braces]
       currTheme = (theme_t) {
                   ^
EdiZon/source/theme.c:44:19: warning: missing braces around initializer [-Wmissing-braces]
       currTheme = (theme_t) {
                   ^

Aswell as I can't seem to get this working, it gets to the menu where to select save, but once selecting a save the console freezes up.

https://github.com/borntohonk/EdiZon_ConfigsAndScripts/commit/b34f516d360333f3e1a0841eaa44899afd60acc3

transfer.sh incomplete upload

Describe the bug
When downloading an uploaded file from transfer.sh the save files are missing from the uploaded tar, It only includes edizon_save_metadata.json

To Reproduce

  1. Select any game
  2. Backup the save
  3. Press Restore, hover over the name of the backup, press minus to upload
  4. Download uploaded file
  5. only contains edizon_save_metadata.json

Expected behavior
Uploads entire backup

Automatic save backup over network

Simply put, a way for EdiZon itself to send save data directly to a remote host, so that (hopefully) it's immediately written to a volume on media more robust than a microSD card, and automatically falls within the scope of the user's existing backup rotations, without the need to manually transfer them via FTP client, SD reader, etc.

Nextcloud and ownCloud servers can be directly interacted with via WebDAV, which seems almost ideal for this. The general idea is that in the settings you would put in a URL, username, and password for the WebDAV service you desire, and then EdiZon would write save data to a folder on that service.

Garbage bytes at the end of edited save file

There are multiple bytes of garbage at the end of every edited save file. This didn't matter for Super Mario Odyssey because it has just padding at the end. Where it matters though are for games like Hollow Knight which use JSON. If there's garbage at the EOF, the parser will refuse to load it.

Something's probably off with the write function not using the correct size

Switch Freezes

Describe the bug
Whenever I press Y (Search Ram), the Switch locks up and freezes and would only respond by holding down the power button to restart into RCM and injecting a payload once again.
To Reproduce
Steps to reproduce the behavior:
Enter Edizon with a game in the background, press Y for cheats, and press Y again to search ram causing a freeze.
Expected behavior
A clear and concise description of what you expected to happen.
Press Y to search RAM for values.

[README] Properly clarify JSON fields

There are a couple of discrepancies in the README concerning the editor that make it unclear what an implementator should be doing.

  1. The field reference mentions validSAveFileNames but this field is not seen in the example JSON
  2. The example has a field files but this is not in the reference
  3. It is not made clear how saveFilePaths should be structured. If the saves are at /EdiZon/{TITLEID}/{DATETIME}, should the field say /EdiZon/{TITLEID}/* or /EdiZon/{TITLEID} or whatever else? This needs clarifying.
  4. Is the offsetAddress the starting byte? By which I mean if it should write FF FF FF FF to the area of 1A AB AB AB should the structure be:
{
	"items": [{
		"name": "Example",
		"offsetAddress": "1AAB",
		"address": "ABAB",
		"widget": {
			"type": "int",
			"minValue": 0,
			"maxValue": 9999
		}
	}]
}

Please clarify the proper structure when people want to write certain bytes to a certain region. Example of how people reference what to write where can be found on this gbatemp thread (linking a comment of my own as I address writing data to a specific region in here)


Lastly, EdiZon currently stores the save files in a lowercase TitleID path but the JSON file needs to be saved as UPPERCASE. I would very strongly recommend either allowing MiXeDCase on the editor files, OR making all the saved files UPPERCASE in the next release. Hold to 1 casing style throughout an entire project!

Wrong mask?

When you have no results for your search and you want to reset search with Minus-Button it says no frozen varibles were found.
Is their a way to close edizon completly? because I must change then the game to use edizon again. But after that the system is not stable and chrashs.

Can't backup all

Describe the bug
I'm trying to backup all my saves, it gives me failed to backup 0 titles

To Reproduce
Steps to reproduce the behavior:

  1. Go to R+X (BACKUP ALL)
  2. Click on yes
  3. Wait a few seconds
  4. See error

Additional context
6.2.0 firmware, lastest Kosmos
I tryed swapping sdcards, also fat32 and exfat

Update button makes the program freeze

I tried pressing - to see what Update did and it froze, and my .nro file is corrupted

Steps to reproduce the behavior:

  1. Go in the hb menu
  2. Click on EdiZon
  3. Press -
  4. See error

I was just curious in what it did ( if it updated the game or the program)

Bug ocured on:

  • Atmosphere 0.8.2
  • CFW 6.2.0
  • Edizon 1.5.1 (latest)

Bug: Low value integer searches never complete.

Describe the bug
Low values( n< 30? ) take an impossibly long time in search, to the point where the search still hasn't completed within an hour. Playing BOTW, tried searching for inventory item I only had 5 of. Search never finished.

To Reproduce
Go into a game, search for a value below a certain threshhold

Expected behavior
The same results you would get for searching any other value.

Additional context
To be entirely honest, I'm not sure there is any solution here. I remember running across a similar issue in the PSP's CWCHEAT engine, where you could very quickly search for a value like 9347, but if you had to search for a value of 3 or 4 the engine would basically freeze.

Feature suggestion; Values

Improve upon widget for values to choose between specific values i.e.
This would reduce bad math / improper use from people sliding up and down between min/max from choosing incorrect values. Additional description of what a value is would be nice too.

BOTW specific examples:
( https://github.com/marcrobledo/savegame-editors/blob/master/zelda-botw/index.html#L83 )

Value 1 = "4", "1 Hearts"
Value 2 =" 8", "2 Hearts"
value 3 = "12", "3 Hearts"

( https://github.com/marcrobledo/savegame-editors/blob/master/zelda-botw/index.html#L120)

Value 1="1148846080", "1 wheel of stamina"
Value 2="1150681088", "1.2 Wheel of stamina"
Value 3="1152319488", "1.4 Wheel of stamina"

something like that

build id

i'd like to know if edizon can show the build id for every game started

Current value visible when editing value

Is your feature request related to a problem? Please describe.
When editing the value of an address per the candidates list following a RAM search, the current value is not visible or filled in which can be annoying if you only want to change the value by 1.

Describe the solution you'd like
When the keyboard launches, have the current value already input.

Describe alternatives you've considered
If that's not possible, write the current value into the keyboard text description field

Additional context
NA

Wrong first start warning

Describe the bug
I am using ReiNX 2.0 and at the first start of EdiZon 2.2.0 the red warning message says I am using SX OS. I never used SX OS and never will.

To Reproduce
Just use ReiNX 2.0 and a fresh version of the latest EdiZon.

Expected behavior
The red warning message will pop up and says I am using a cfw I never used.

Screenshots
2019020616522600-db1426d1dfd034027cecde9c2dd914b8

Additional context

GUI: stepSize is ignored with parsing configuration file

Describe the bug
The step size in the bottom left corner of the GUI is not updated when scrolling to an item whose "stepSize" property is set to something different than 1.

To Reproduce
Scroll to an item whose stepSize is different than 1 in the configuration file, for example, Banana Coins in Donkey Kong: Tropical Freeze (stepSize = 10).

Expected behavior
The GUI does not show the correct value in the bottom left corner (1). However, the quantity is incremented by the correct amount (10) when using the arrow keys.

Additional context
Tested with Edizon 1.5.1
Atmosphere 0.8.1
FW 6.2.0

Can't edit anything

"Config file isn't compatible with your game version. Editing is disabled." This happens with all games after I tried using minus to upgrade. I have the latest games version.

Value bug and Search Popup Bug

AMS 0.8.9
Tested with FW 7.0.0 and 8.0.x
Edizon 3.0.1

Hi,

Bug #1 MessaageBox do not disapear
When I start Edizon for the first time, I can only search for s8, s53 and u64.
For u8-u32 the "Searching RAM" Messagebox do not close. In the Background I can see its done!
But the focus is on the messagebox.

With the Homebutton I have to leave.
But when I search for a s8 and it cant find the value I can use u8-u32. The message Box disappear correctly.

Bug #2 Wrong Value

After Bug 1 it comes to Bug 2. when I search for a Valu for example 5 or something else it takes everytime 0 for the value. I have to press the Minus-Button to reset the search, change the game open Edizon again, open the game I want to, go back to Edizon, search u32 integer, the 1st run edizon only takes the 0. But 2nd try when you restart the search it takes the correct value. It works till you restart the search or you leave Edizon.

If you have luck then the next time it works to, but more then 2 in a row I could get it working.
In Edizon 3.0.0 I do not have this issue, but my system was less stable. The system crashed often.

Hope it will be fixed soon. Or I am the only one who has this problem.

update make the edizon damaged

Describe the bug
press the "-" for a while for update, it seems nothing happened. Then get error that need me reboot and edizon get damaged, version back to 1.0.0. opening it will cause the reboot error

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Desktop (please complete the following information):

  • OS: SDFiles V10

  • Version: 6.0.1

Memory overflow issues

There are three main issues in EdiZon right now, possibly all caused by the same problem: The available RAM's overflowing.

First of all, EdiZon crashes when returning back to the hbmenu using the + button. This will cause a 2168-0001 (Userland ARM prefetch-abort due to PC set to non-executable region)
This issue was caused by deleting the current GUI object in the input thread without the use of a mutex. Input thread deletes GUI -> main thread is executing code in freed memory -> prefetch abort

Sadly the switch is still crashing when exiting. This time though the crash causes a 2168-0002 (Segfault). Most likely caused by freeing an already deleted array somewhere in the destructor of a static object.
Additionally, the switch only crashes when pressing the PLUS button, if you're not editing a game. It crashes in the GuiMain and the GuiEditor when not editing.

The error was caused by calling lua_close in the destructor of ScriptParser. I had a global instance of ScriptParser in GuiEditor (which REALLY should be a member variable) which got deleted, when closing the program, therefore calling the destructor and lua_close with a nullptr as lua context. This, of course, caused a Segfault.

Second, loading lua modules inside scripts causes a 2168-0002 (Segfault) in some cases. Needs further investigation. For example, Octopath works but Hollow Knight doesn't.
This issue was introduced in commit $1ebb351 and is probably caused by EdiZon accessing the luaState from the input thread while it was initially created by the main thread.

The last issue is probably caught by Lua, therefore not causing a segfault. When loading huge save files as string into a Lua script, Lua will replace the entire string with not enough memory.
I think the issue lies somewhere in the EdiZon code being wasteful on resources or having serve memory leaks.

This last issue was actually a bug in Lua version 5.3.4 and should have been fixed by updating the Lua runtime to 5.3.5. Needs further testing/confirmation though

If anybody has time and wants to check the code for issues like this, you're very welcome to do so!

Graphical overlap in cheat list

Describe the bug
When more than 8 cheats are in the cheat list, the "And X more..." text is overlapped by the inside of a non-existent check box blocking out part of the "A".

To Reproduce
Load a game for which you have more than 8 cheats for. Make sure cheats are disabled by default in Atmosphere configuration settings. Load EdiZon through an applet and enter Cheats screen. View the cheat list and observe the text "And X more..."

Expected behavior
When cheats quantity is greater than 8 that the inside of the eighth checkbox is not drawn.

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot

Additional context
NA

hope support disable assembly cheat code

assembly cheat code can not disable after enable,hope edizon can support disable assembly code

for example
[Cheat1]
04000000 12345678 11111111
#04000000 12345678 00000000

enable will use no # line
disable will use all # line

thanks for you read it

Edizon erasing /switch folder

I've found a weird bug that occurs when searching ram.

When I do a search, go to the game, then go to head back to Edizon my /switch folder will have been completely emptied, nothing else on the sdcard is touched just the files in /switch.

Double Scan support

Is your feature request related to a problem? Please describe.
Game Maker games like Undertale or Deltarune use Doubles for their addresses (hp, money etc)

Describe the solution you'd like
Adding Float and Double scan would let us cheat those games aswell.

[Feature Request] [Editor] "fast up"/"fast down" for int values

This is mostly in lieu of a proper custom value input editor

The new changes to the editor are great already but we should get "fast up" and "fast down" features for integer values. For example when the value of Hyrule Warriors rupees is 2685159 and you want to go to 9999999 your best bet is to go down till 0 then let to roll around to 9999999 but we're still talking over 2 million times 1 down which takes a LOT of time.

A fast up and fast down feature could be hold L + up/down or some other combination which will have it go somewhere in the vicinity of 10x faster.

On a sidenote, when you guys find time for a custom editor for int values please make the keyboard just have numbers ala the numpad you have when entering a number on your phone. No need for letters when you know it's just numbers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.