How to use a simple model swap Romhack?

ekhephyle

Member
Jun 15, 2024
6
0
160
Pronouns
he/him
I'm quite new to this scene, and do not have much experience installing and using Romhacks or modding emulated games, so I'd be happy if you bear with me :)
Is there anyway to achieve that? The question in the title.

Specifically a .bps file type.

The Romhack I'm trying to use is this one: Super Fuuka 64

The reason I don't just play the normal SM64 version that this mod was made for is because I'm not interested in installing it for myself, but rather a friend of mine that likes that character, and we want to play together with our respective characters.

Btw i do have a background in software development, just in a completely different field, so we can get technical if needed, as I'd be willing to put in the effort to get this working.

Thank you in advance!
 
maybe Glide-N64 Scene Ripper (rip character or/and stage) and Blender (for modeling it inside the game)
Just spent a few hours trying these out, but i have no idea how to get the Scene Ripper (SR) to work. The Romhack author I'm trying to port suggests using the Parallel Launcher (Romhacking.com), and the "How to use" section on the SR README says to "Place the plugin into your emulator's gfx plugin folder" (GitHub - Luctaris/GLideN64-SceneRipper: Experimental GLideN64 graphics plugin with N64 scene ripping functionality.), and at this point I've only been able to launch the game with the Romhack installed, but haven't actually managed to get the SR to work.

Things to consider:
1. As cited in the SR README: "Currently Windows and Linux qt-mupen64plus support only" I am launching retroarch through the parallel launcher using the mupen64 core.
2. I am also using GLideN64 GFX plugin.

TLDR: Haven't got a clue on how to use the SR to get the model out.
 
Use RM2C. Put your rom in, extract the actors, then copy the mario, mario cap, and any other related mario folders into your dynos mod. Dynos is a system that loads models during runtime, so to create a dynos pack, if you're using coopdx, go to Options, and hit Open User Folder. If you aren't using DX, then the `sm64ex-coop` directory is located in %appdata%. From there, open up the "dynos" folder. If it doesn't exist, create one. Then, create a folder with what you want the dynos model to be named, so maybe "Fukka". From there, open that up, and copy the above mario folders into there. From there, relaunch the game, and it should appear.

If you have any more questions, feel free to ask : ).
 
Use RM2C. Put your rom in, extract the actors, then copy the mario, mario cap, and any other related mario folders into your dynos mod. Dynos is a system that loads models during runtime, so to create a dynos pack, if you're using coopdx, go to Options, and hit Open User Folder. If you aren't using DX, then the `sm64ex-coop` directory is located in %appdata%. From there, open up the "dynos" folder. If it doesn't exist, create one. Then, create a folder with what you want the dynos model to be named, so maybe "Fukka". From there, open that up, and copy the above mario folders into there. From there, relaunch the game, and it should appear.

If you have any more questions, feel free to ask : ).
Hello Emerald, thank you for your suggestion. I've been trying it out for a few minutes by now and I've been having trouble.
Firstly I tried running the program with the modified rom with the Fuuka romhack to no success, then I tried running with the vanilla SM64 rom, and got the same result, which is the following:

I keep getting the following error whenever trying to run the program:
Code:
Traceback (most recent call last):
  File "/home/fonsecovizk/projects/rom-manger-2-c-v1.2/RM2C.py", line 1662, in <module>
    locals()[arg[0]]=eval(arg[1])
  File "<string>", line 1, in <module>
NameError: name 'SM64_USA' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fonsecovizk/projects/rom-manger-2-c-v1.2/RM2C.py", line 1666, in <module>
    raise 'bad arguments'
TypeError: exceptions must derive from BaseException

Here's the command I'm running:
Code:
python3 RM2C.py rom="SM64_USA.z64" actors='all'

Here's the package version for the RM2C dependencies:
Code:
(.venv) ➜  rom-manger-2-c-v1.2 pip list
Package    Version
---------- ------------
bitarray   2.9.2
bitstring  4.2.3
capstone   5.0.1
numpy      1.26.4
pillow     10.3.0
pip        22.0.2
pyhull     2015.2.1
pypng      0.20220715.0
setuptools 59.6.0

➜  rom-manger-2-c-v1.2 apt list --installed -a python3-distutils
Listing... Done
python3-distutils/jammy-updates,jammy-security,now 3.10.8-1~22.04 all [installed]
python3-distutils/jammy 3.10.4-0ubuntu1 all

Python and PIP versions:
Code:
(.venv) ➜  rom-manger-2-c-v1.2 python3 --version
Python 3.10.12
(.venv) ➜  rom-manger-2-c-v1.2 pip --version
pip 22.0.2
(.venv) ➜  rom-manger-2-c-v1.2

I'm currently running WSL Ubuntu Jammy on Windows 11 23H2.
 
Ensure the rom is in the rom-manager-2-c folder. Another thing is is the rom named what you have out in there? I’d just rename the mod to rom.z64 so you can make sure special characters aren’t the problem. Also sorry for the late response :/
 
Ensure the rom is in the rom-manager-2-c folder. Another thing is is the rom named what you have out in there? I’d just rename the mod to rom.z64 so you can make sure special characters aren’t the problem. Also sorry for the late response :/
It's no problem! Thank you for the response anyways.

Yes the roms .z64 files were on the root of the RM2C folder. After renaming the rom, to just rom.z64, I continue to receive the same error:

Command:
python3 RM2C.py rom='rom.z64' levels='all' actors='all' Textures=1

Output:
Code:
Traceback (most recent call last):
  File "/home/fonsecovizk/projects/rom-manger-2-c-v1.2/RM2C.py", line 1828, in <module>
    locals()[arg[0]] = eval(arg[1])
  File "<string>", line 1, in <module>
AttributeError: 'str' object has no attribute 'z64'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fonsecovizk/projects/rom-manger-2-c-v1.2/RM2C.py", line 1832, in <module>
    raise "bad arguments"
TypeError: exceptions must derive from BaseException

Also, here's the help message that RM2C prints out on error if that helps giving any context do the error:
Code:
A bad input will automatically generate an escaped version of your args, but it cannot do so before
certain bash errors.
------------------Invalid Input - Error ------------------

If you are using terminal try using this
python3 RM2C.py r\o\m\=\r\o\m\.\z\6\4\ \l\e\v\e\l\s\=\a\l\l\ \a\c\t\o\r\s\=\a\l\l\ \T\e\x\t\u\r\e\s\=\1\

But I do have tried to use that command that it suggests but it does nothing, still errors out.
 
Unfortunately I can't test rm2c with this hack due to some weird capstone arm x84 linking jank (i'm on an m1 mac). I don't use rm2c with windows, so I'm unsure of what the formatting may be in that terminal. Looking at the error, thee error is indeed different, try escaping the . character with a backslash, or try removing the .z64 part.
 
Unfortunately I can't test rm2c with this hack due to some weird capstone arm x84 linking jank (i'm on an m1 mac). I don't use rm2c with windows, so I'm unsure of what the formatting may be in that terminal. Looking at the error, thee error is indeed different, try escaping the . character with a backslash, or try removing the .z64 part.
I forgot to mention but I have indeed already tested both of those options. I also tested running the tool in both Windows and WSL to see if Powershell would have any difference to Bash, but alas, still same error. Very weird.
 

Users who are viewing this thread