Skip to content

Commit

Permalink
More project refactoring and rewrite of the readme
Browse files Browse the repository at this point in the history
  • Loading branch information
WerWolv committed Feb 18, 2019
1 parent c0dcb45 commit f574d12
Show file tree
Hide file tree
Showing 283 changed files with 252 additions and 209 deletions.
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
.PHONY: client sysmodule all
.PHONY: homebrew sysmodule all

client:
$(MAKE) -C client
$(MAKE) -C homebrew

sysmodule:
$(MAKE) -C sysmodule

clean:
$(MAKE) clean -C client
$(MAKE) clean -C homebrew
$(MAKE) clean -C sysmodule

all: client sysmodule
all: homebrew sysmodule
96 changes: 66 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,81 @@
# EdiZon
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv98/EdiZon/master/client/icon.jpg"><br />
<a href="https://discord.gg/qyA38T8"><img src="https://discordapp.com/api/guilds/465980502206054400/embed.png" alt="Discord Server" /></a>
<a href="https://travis-ci.com/WerWolv/EdiZon"><img src="https://travis-ci.com/WerWolv/EdiZon.svg?branch=master" alt="Build Status" /></a>
</p>
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv/EdiZon/master/client/icon.jpg"><br />
<a href="https://discord.gg/qyA38T8"><img src="https://discordapp.com/api/guilds/465980502206054400/embed.png" alt="Discord Server" /></a>
<a href="https://travis-ci.com/WerWolv/EdiZon"><img src="https://travis-ci.com/WerWolv/EdiZon.svg?branch=master" alt="Build Status" /></a>
</p>

A Homebrew save file dumper, injector and on-console editor for Horizon, the OS of the Nintendo Switch.

# 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://transfer.sh.
- 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. **(WIP)**
- Scriptable background editing. **(WIP)**

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

- The code for the homebrew application can be found [here](https://github.com/WerWolv/EdiZon/tree/master/homebrew).
- The code for the sysmodule can be found [here](https://github.com/WerWolv/EdiZon/tree/master/sysmodule).

# Images
<p align="center"><img src="https://puu.sh/BvBBc/584e11a744.jpg"></p>
<p align="center"><img src="https://puu.sh/BvBCI/0d1f1e334e.jpg"></p>
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv/EdiZon/master/assets/main_menu.jpg"></p>
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv/EdiZon/master/assets/save_editor_1.jpg"></p>
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv/EdiZon/master/assets/save_editor_2.jpg"></p>
<p align="center"><img src="https://raw.githubusercontent.com/WerWolv/EdiZon/master/assets/ram_editor.jpg"></p>

# EdiZon Editor Config and Script files
# Save editor Config and Script files

To download working Editor Config and Editor Script files, visit [this repository](https://github.com/WerWolv98/EdiZon_ConfigsAndScripts/tree/master)
To download working Editor Config and Editor Script files, visit [this repository](https://github.com/WerWolv/EdiZon_ConfigsAndScripts/tree/master)

Check out our [Wiki page](https://github.com/WerWolv98/EdiZon/wiki) for more information on how to build your own Editor Config and Editor Script files.
Check out our [Wiki page](https://github.com/WerWolv/EdiZon/wiki) 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](https://github.com/WerWolv/EdiZon/releases/latest).
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](https://github.com/Atmosphere-NX/Atmosphere) to launch the hbmenu and start EdiZon from there.

# How to compile

- The devkitPro toolchain with some dependencies of it are needed. Download it from here: https://devkitpro.org/
- To compile, libNX, libcurl, zlib and freetype2 are required. Download them by using pacman to download the switch-portlibs bundle, which includes them.
- The rest of the compilation works using the `make` command.
1. Download and install devkitA64. It comes bundled with the [devkitPro](https://devkitpro.org) toolchain.
2. Required libraries are libNX, libcurl, zlib and freetype2. Use the pacman package manager that comes with devkitPro to download and install libNX, portlibs (`switch-portlibs`) and freetype2 (`switch-freetype`).
3. The rest of the compilation works using the `make` command. Type `make homebrew` to build EdiZon, `make sysmodule` to build the companion sysmodule used for RAM editing or `make all` to build both.

# Discord
If you need any help with the usage of EdiZon or if you want to start developing your own Editor Configs and Editor Scripts, feel free to join our Discord server: https://discord.gg/qyA38T8

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
- [3096](https://github.com/3096) for [save dumping/injecting](https://github.com/3096/nut)
- [Bernardo Giordano](https://github.com/BernardoGiordano) for some [Checkpoint](https://github.com/BernardoGiordano/Checkpoint) code
- [SwitchBrew](https://switchbrew.org/) for the [Homebrew Launcher](https://github.com/switchbrew/nx-hbmenu) GUI and shared font code
- [thomasnet-mc](https://github.com/thomasnet-mc/) for most of the save backup and restore code and the updater script
- [trueicecold](https://github.com/trueicecold) for batch backups and the editable-only mode
- [onepiecefreak](https://github.com/onepiecefreak3) for the edizon debugger and LOTS of reviewing implementations
- [Jojo](https://github.com/drdrjojo) for the Travis CI configuration and the config creator
- [nlohmann](https://github.com/nlohmann) for his great json library
- [Martin J. Fiedler](https://svn.emphy.de/nanojpeg/trunk/nanojpeg/nanojpeg.c) for the nanojpeg JPEG decoding library
- [Lua](https://www.lua.org/) for their scripting language
- [Python](https://www.python.org/) and [nx-python](https://github.com/nx-python) for their scripting language respectively their python port to the switch
- **bernv3** for the beautiful icon
- **All config creators** for bringing this project to life!

<br>
<p align="center"><img src="https://www.lua.org/images/logo.gif">
<img src="https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg"><p>

- [3096](https://github.com/3096) for [save dumping/injecting](https://github.com/3096/nut)
- [Bernardo Giordano](https://github.com/BernardoGiordano) for some code from [Checkpoint](https://github.com/BernardoGiordano/Checkpoint).
- [SwitchBrew](https://switchbrew.org/) for the [Homebrew Launcher](https://github.com/switchbrew/nx-hbmenu) GUI and shared font code.
- [thomasnet-mc](https://github.com/thomasnet-mc/) for most of the save backup and restore code and the updater script.
- [trueicecold](https://github.com/trueicecold) for batch backups and the editable-only mode.
- [onepiecefreak](https://github.com/onepiecefreak3) for the edizon debugger and LOTS of reviewing implementations.
- [Jojo](https://github.com/drdrjojo) for the Travis CI configuration and the config creator.
- [Ac_K](https://github.com/AcK77) for help with the server side update scripts and the EdiZon save website.
- **bernv3** for the beautiful icon.
- **All config creators** for bringing this project to life!

<br>

- [nlohmann](https://github.com/nlohmann) for his great json library.
- [Martin J. Fiedler](https://svn.emphy.de/nanojpeg/trunk/nanojpeg/nanojpeg.c) for the nanojpeg JPEG decoding library.
- [Lua](https://www.lua.org/) for their scripting language.
- [Python](https://www.python.org/) and [nx-python](https://github.com/nx-python) for their scripting language respectively their python port to the switch.


<br>
<p align="center"><img src="https://www.lua.org/images/logo.gif">
<img src="https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg"><p>
Binary file added assets/main_menu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/ram_editor.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/save_editor_1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/save_editor_2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 5 additions & 4 deletions sysmodule/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ include $(DEVKITPRO)/libnx/switch_rules
# INCLUDES is a list of directories containing header files
# EXEFS_SRC is the optional input directory containing data copied into exefs, if anything this normally should only contain "main.npdm".
#---------------------------------------------------------------------------------
TARGET := sys-netcheat
TARGET := cheat
BUILD := build
OUTDIR := out
SOURCES := source
DATA := data
INCLUDES := include
Expand Down Expand Up @@ -56,7 +57,7 @@ LIBDIRS := $(PORTLIBS) $(LIBNX)
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------

export OUTPUT := $(CURDIR)/$(TARGET)
export OUTPUT := $(CURDIR)/$(OUTDIR)/$(TARGET)
export TOPDIR := $(CURDIR)

export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
Expand Down Expand Up @@ -115,13 +116,13 @@ endif
all: $(BUILD)

$(BUILD):
@[ -d $@ ] || mkdir -p $@
@[ -d $@ ] || mkdir -p $@ $(OUTDIR) $(BUILD)
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile

#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).nsp $(TARGET).npdm $(TARGET).nso $(TARGET).elf
@rm -fr $(BUILD) $(OUTDIR)

#---------------------------------------------------------------------------------
else
Expand Down
Loading

0 comments on commit f574d12

Please sign in to comment.