yo! no more FLIPS?

这个提交包含在:
Lucent 2023-10-11 12:24:19 +02:00
父节点 7c262f4f64
当前提交 eb93656ec0
共有 4 个文件被更改,包括 19 次插入6 次删除

2
.gitignore vendored
查看文件

@ -1,5 +1,3 @@
__pycache__/** __pycache__/**
*.gba *.gba
settings.json settings.json
flips/flips
flips/flips.exe

查看文件

@ -10,11 +10,13 @@ Considering the original repository states that the software is GPL-3.0 licensed
- [x] GUI - [x] GUI
- [x] CRC verification - [x] CRC verification
- [ ] Logic - [ ] Logic
- [ ] Patching - [ ] Reconstructing missing parts of code
- [x] Patching
- [ ] Generating BPS patches
## Usage ## Usage
Beware: stuff doesn't work as it should yet. Prerequisites are PySimpleGUI (and tkinter by proxy). A prerequisites file is going to be added in the future. Beware: stuff doesn't work as it should yet. Prerequisites are PySimpleGUI (and tkinter by proxy) and python-bps-continued. A prerequisites file is available so you can `pip install -r requirements.txt` away.
Clone the repository, install prerequisites manually via pip or your favourite package manager, `python MFOR.py`. Choose your game options (hover over a given option to see a tooltip explaining it), then click Generate. A popup will ask you to open an unmodified copy of the original game. This is not provided with the randomizer for legal reasons. Clone the repository, install prerequisites manually via pip or your favourite package manager, `python MFOR.py`. Choose your game options (hover over a given option to see a tooltip explaining it), then click Generate. A popup will ask you to open an unmodified copy of the original game. This is not provided with the randomizer for legal reasons.

查看文件

@ -13,6 +13,8 @@ import zlib
import math import math
import Fusion_Graph as Graph import Fusion_Graph as Graph
from Fusion_Items import * from Fusion_Items import *
from bps.apply import apply_to_files
version = '0.11.6' version = '0.11.6'
def ceiling(num, denom): def ceiling(num, denom):
@ -4665,8 +4667,17 @@ def patch_game():
os.system('.\\armips\\armips.exe "Metroid Fusion Open Randomizer.asm" -root ".\\data\\asm" -sym ".\\temp.sym"') os.system('.\\armips\\armips.exe "Metroid Fusion Open Randomizer.asm" -root ".\\data\\asm" -sym ".\\temp.sym"')
os.replace('.\\data\\MFOR.gba', '.\\seeds\\{}.gba'.format(FileName)) os.replace('.\\data\\MFOR.gba', '.\\seeds\\{}.gba'.format(FileName))
else: else:
# FIXME: windows? source = open(BaseName, 'rb')
os.system(os.path.join('.', 'flips', 'flips') + ' --apply ' + os.path.join('.', 'data', 'MFOR.bps') + ' "' + BaseName + '" "'+ os.path.join('.', 'seeds', '{}.gba'.format(FileName)) + '"') target = open(os.path.join('.', 'seeds', '{}.gba'.format(FileName), 'wb')
patch = open(os.path.join('.', 'data', 'MFOR.bps'), 'rb')
try:
apply_to_files(patch, source, target)
except:
target.close()
os.unlink(os.path.join('.', 'seeds', '{}.gba'.format(FileName))
print('Error: failed to patch game with base patch!')
sys.exit(1)
checksum = fileHash(os.path.join('.', 'seeds', '{}.gba'.format(FileName))) checksum = fileHash(os.path.join('.', 'seeds', '{}.gba'.format(FileName)))
if checksum != 2455114263: if checksum != 2455114263:
os.remove(os.path.join('.', 'seeds', '{}.gba'.format(FileName))) os.remove(os.path.join('.', 'seeds', '{}.gba'.format(FileName)))

2
requirements.txt 普通文件
查看文件

@ -0,0 +1,2 @@
PySimpleGUI==4.60.5
python-bps-continued==7