mirror of
https://github.com/Alcaro/Flips.git
synced 2026-09-07 10:06:09 -05:00
Add this random Cydia port, also clean up various readmes and manuals
This commit is contained in:
19
README.md
19
README.md
@@ -1,4 +1,4 @@
|
||||
Floating IPS is a patcher for IPS and BPS files, aiming for a simple interface yet plenty of power under the hood.
|
||||
Floating IPS (or Flips) is a patcher for IPS and BPS files, aiming for a simple interface yet plenty of power under the hood.
|
||||
|
||||
Features:
|
||||
- Creates the smallest BPS patches of any known tool in existence, and is faster than any other comparable creator
|
||||
@@ -12,13 +12,22 @@ Planned features:
|
||||
- Better autodetection for CLI apply/create; if the first one is a patch, apply, else create
|
||||
- Better support for ROM database in CLI; the -d flag, or DB enabling from the GUI (for pure-CLI, existence of flipsdb.bin file beside Flips), will store ROMs in the database; the filename "." will read from it, and "wrong ROM" will look for the right one (but not automatically use it)
|
||||
- Use path of patch as output filename, not the ROM path
|
||||
- Replace Settings button with Advanced, which switches to a different UI
|
||||
- Less automatic UI, so it's clearer what's happening
|
||||
- Remove emulator chooser, use OS file associations instead
|
||||
- Automatic source ROM chooser for creation
|
||||
|
||||
Not planned (if your plans are different, send a PR):
|
||||
- OSX GUI support; there's a third-party fork [here](https://github.com/covarianttensor/QtFloatingIPS), and MultiPatch exists and the Windows version works in Wine. I can't test OSX stuff well enough to merge that fork, so pick your favorite.
|
||||
Not planned (feel free to fork Flips, I'll list it below; I don't have suitable hardware, so I won't be able to merge most of those):
|
||||
- OSX GUI support; Flips/Windows works in Wine, and there are several other OSX patchers. I can't test them, so I can't endorse anything.
|
||||
- Qt GUI support; my distro prefers GTK+, and all distros I've seen can run both GTK+ and Qt, not worth the effort (and QString's UTF-16 irritates me)
|
||||
- Android/iOS/etc GUI support; I have no interest in phone gaming
|
||||
|
||||
Third-party forks, or separate tools, covering usecases this version doesn't (this only acknowledges their existence, and is not an endorsement; I haven't used most of them):
|
||||
- [Floating IPS](https://github.com/Alcaro/Flips); the original, in case you're currently looking at a fork
|
||||
- [MultiPatch](https://projects.sappharad.com/tools/multipatch.html), OSX, applies BPS/IPS/UPS/PPF/Xdelta/bsdiff/Ninja2, creates BPS/IPS/XDelta/bsdiff
|
||||
- [QtFloatingIPS](https://github.com/covarianttensor/QtFloatingIPS), Flips port to OSX (may work on others too)
|
||||
- [Wh0ba Floating IPS](https://wh0ba.github.io/repo/), Flips port to iOS/Cydia
|
||||
- [CPS](https://media.smwcentral.net/Alcaro/bps/), JavaScript, applies BPS, creates nothing
|
||||
- There are many tools that offer a strict subset of Flips functionality (Lunar IPS, beat, etc). I'm not listing them here.
|
||||
|
||||
Compilation - Linux (Debian/Ubuntu):
|
||||
- `sudo apt-get install g++ build-essential`; for GUI support, also `sudo apt-get install libgtk-3-dev pkg-config`
|
||||
@@ -28,7 +37,7 @@ Compilation - other Linux:
|
||||
- Install make and g++; for GUI support, also install pkg-config and GTK+ 3 headers; for profiling support, also install curl or wget
|
||||
- `./make.sh` to build an optimized binary; for development, use `make CFLAGS=-g`
|
||||
|
||||
Compilation - OSX and other Unix:
|
||||
Compilation - OSX, other Unix, or anything else with a C++ compiler:
|
||||
- Install a C++ compiler
|
||||
- `clang++ *.c *.cpp -O3 -o flips` (with changes as appropriate)
|
||||
- For GTK GUI support, use some suitable variant of `clang++ *.c *.cpp -O3 -o flips -DFLIPS_GTK -lgtk3`
|
||||
|
||||
19
flips.cpp
19
flips.cpp
@@ -24,7 +24,7 @@ extern "C" void __cxa_pure_virtual() { abort(); }
|
||||
// fail
|
||||
//this goes on a separate thread
|
||||
|
||||
//TODO: advanced GUI
|
||||
//TODO: more manual GUI
|
||||
// has three text fields, for patch / source / target, and 'pick' buttons nearby that open file dialogs
|
||||
// also Create / Apply / ApplyRun buttons at the bottom
|
||||
//auto selection (only if target field is blank):
|
||||
@@ -1177,21 +1177,22 @@ void usage()
|
||||
"-i --ips, -b -B --bps --bps-delta, --bps-delta-moremem, --bps-linear:\n"
|
||||
" create this patch format instead of guessing based on file extension\n"
|
||||
" ignored when applying\n"
|
||||
" bps formats:\n"
|
||||
" delta is the recommended one; it's a good balance between creation time and\n"
|
||||
" patch size\n"
|
||||
" the shorter forms all refer to this, for backwards compatibility reasons\n"
|
||||
" bps creation styles:\n"
|
||||
" delta is the recommended and default one; it's a good balance between creation\n"
|
||||
" performance and patch size\n"
|
||||
" delta-moremem is usually slightly (~3%) faster than delta, but uses about\n"
|
||||
" twice as much memory; it gives identical patches to delta\n"
|
||||
" linear is the fastest, but tends to give pretty big patches\n"
|
||||
" all BPS patchers can apply all patch styles, the only difference is filesize\n"
|
||||
" and creation performance\n"
|
||||
"--exact: do not remove SMC headers when applying or creating a BPS patch\n"
|
||||
" (ignored for IPS)\n"
|
||||
"--ignore-checksum: accept checksum mismatches when applying a BPS patch\n"
|
||||
"-m or --manifest: emit or insert a manifest file as romname.xml\n"
|
||||
" (valid only for BPS)\n"
|
||||
" not recommended, may affect patcher compatibility\n"
|
||||
"--ignore-checksum: accept checksum mismatches (BPS only)\n"
|
||||
"-m or --manifest: emit or insert a manifest file as romname.xml (BPS only)\n"
|
||||
"-mfilename or --manifest=filename: emit or insert a manifest file exactly here\n"
|
||||
"-h -? --help: show this information\n"
|
||||
"-v --version: show application version\n"
|
||||
"\n"
|
||||
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
, stdout);
|
||||
exit(0);
|
||||
|
||||
4
make.sh
4
make.sh
@@ -26,7 +26,7 @@ case "$i" in
|
||||
profile/download.sh || exit $?
|
||||
fi
|
||||
;;
|
||||
*) # unknown option
|
||||
*) # unknown option
|
||||
echo "Unknown argument $1; valid arguments are: --harden=no --harden=yes --profile=no --profile=yes"
|
||||
exit 1
|
||||
;;
|
||||
@@ -42,7 +42,7 @@ fi
|
||||
|
||||
if [ ! -e profile/choice ]; then
|
||||
while true; do
|
||||
read -p "Do you wish to use profile-guided optimization? This will download 40MB data from the internet and use 90MB disk space, and 800MB RAM during compilation. (y/n)" yn
|
||||
read -p "Do you wish to use profile-guided optimization? This will download 40MB data from the internet and use 90MB disk space, and 800MB RAM during compilation. (y/n)" yn || exit $?
|
||||
case $yn in
|
||||
[Yy]*) profile/download.sh || exit $?; break;;
|
||||
[Nn]*) echo n > profile/choice; break;;
|
||||
|
||||
Reference in New Issue
Block a user