mysterypaint / MiSTer-N64-Save-Utility

A Python-based utility to convert N64 TransferPak saves for the MiSTer FPGA
MIT License
6 stars 0 forks source link

Error when running the script #1

Closed Waifu4Life closed 4 months ago

Waifu4Life commented 5 months ago

Hi there,

I've followed to instructions to the best of my knowledge, but it didn't work. Any idea what I did wrong?


E:\Console Games\Utilities\MiSTer-N64-Save-Utility-main>python convert_n64_savedata.py -ini Traceback (most recent call last): File "E:\Console Games\Utilities\MiSTer-N64-Save-Utility-main\convert_n64_savedata.py", line 343, in N64Database = populateN64Database() ^^^^^^^^^^^^^^^^^^^^^ File "E:\Console Games\Utilities\MiSTer-N64-Save-Utility-main\convert_n64_savedata.py", line 37, in populateN64Database romName = line.split('#')[1].strip()


IndexError: list index out of range

E:\Console Games\Utilities\MiSTer-N64-Save-Utility-main>pause
Press any key to continue . . .

-------------------------------------------------------------------------------------------------

Here's my INI file:

-------------------------------------------------------------------------------------------------
[PATHS]
InputN64SavePath = Before\Pokemon Stadium 1.sav  ; Specify the input N64 save path, before the tool modifies the save file.
OutputSavePath = After\Pokemon Stadium 1.sav     ; Specify the output save path, after the save has been modified with this tool.

; Specify the N64 Save's Cart ID or MD5 checksum, as it appears in N64-database.txt
; If you do not already have N64-database.txt, please download it:
; https://raw.githubusercontent.com/MiSTer-devel/N64_ROM_Database/main/N64-database.txt
[CART_ID]
CartID = NPO___

[OPTIONS]
DumpSaves = F        ; Specify whether or not we should dump the CPak/TPak (and Gameboy) Save from the N64 Save File. Gets dumped to [OutputSavePath]

; If we are not dumping saves, specify the path for all TPaks, including any GB/GameBoy save files.
; If you are not using one, remove ALL text after the "=", like I did for TPak4 below.
; If you are using ANY CPaks, all of these fields must be blank.
; If the bytes are already in the correct format + don't need to be endian-flipped, add a * to the very beginning of your path like I did for TPak3.
;    ^^^^If you do not understand what this means, you likely don't need to add the *: Gameboy .savs always
;           need to be flipped, and unless you manually ripped the save yourself, you do not need to add the *
[TPAKS]
TPak1 = Before\Pokemon - Red Version Gen II GFX.sav
TPak2 = 
TPak3 = 
TPak4 = 

; In port order, specify the path for all your CPaks.
; If you are not using one, remove ALL text after the "=", like I did for CPak4 below.
; If you are using ANY TPaks (Including any GB saves), all of these fields must be blank.
; If the bytes are already in the correct format + don't need to be endian-flipped, add a * to the very beginning of your path like I did for CPak3.
;    ^^^^If you do not understand what this means, you likely don't need to flip them: .mpk files do not need the *
; Please remember to convert any of your CPak saves (e.g. DexDrive format) to the proper .mpk format prior to injection.
;       I recommend this web-based tool to do the conversion: https://savefileconverter.com/#/n64/dexdrive   (Make sure "Controller Pak" is highlighted when downloading the save.)
[CPAKS]
CPak1 = 
CPak2 = 
CPak3 = 
CPak4 = 

-------------------------------------------------------------------------------------------------
mysterypaint commented 4 months ago

It looks like the syntax for N64-database.txt had changed between the time I released this tool and this issue got created... The up-to-date tool should now account for the syntax change: can you re-download the .py script from GitHub and test it out again?

Waifu4Life commented 4 months ago

Owner

Hi there, I forgot I posted this here. The issue was fixed in this topic: https://misterfpga.org/viewtopic.php?t=7297

Cheers

mysterypaint commented 4 months ago

Oh, that's very similar to the fix that was pushed to the repo... I'm glad to know that it ended up fixing + working for you!