ROM Hack Model Swapping in Soma Bringer?

  • Thread starter Thread starter CPhantom
  • Start date Start date
  • Views Views 31,076
  • Replies Replies 99
  • Likes Likes 1
Yeah, Darth did a freakishly awesome job, haha. But I think he is the only one who understands this game, considering he was the one who has made like a million programs for it, haha.
 
DarthNemesis said:
CPhantom said:
Hmmm, and how do I split it? See, haha your talk is to heavy for a newbie like myself with this stuff.
wacko.gif

What programs do you use? How'd you find the pointers?

Maybe later on you could show me how to do this a bit more in depth? That way the newbies at this, such as myself, could tinker and choose a neat player character?
unsure.gif
Alright...

Jadis = file #202 (0xCA)
Sailor = file #211 (0xD2)

Offset of pointer to Jadis model = 0x24 + 8*0xCA = 0x674
Data in mdl.fat at 0x674 = 20 0F C0 08
First 18 bits = 0x08C00F20 & 0x3FFFF = 0xF20
Offset of Jadis model = 0xF20 * 0x200 = 0x1E4000

Offset of pointer to Sailor model = 0x24 + 8*0xD2 = 0x6BC
Data in mdl.fat at 0x6BC = 5C 10 00 09
First 18 bits = 0x0900105C & 0x3FFFF = 0x105C
Offset of Sailor model = 0x105C * 0x200 = 0x20B800

So in mdl.img, the Jadis model is at offset 0x1E4000 and the Sailor model is at offset 0x20B800.

If the replacement model is smaller than the target model, you can just copy the whole block of data until the next "DAD" and overwrite the target block. If it's larger, you'll have pad out to the next multiple of 0x200 that will contain the file and increase all the pointers after that file by the number of 0x200 blocks you added.

QUOTE(Hehe Moo @ Oct 11 2008, 11:57 PM) Darth if you manage to patch it, can you post it here for us =] I want to test it xD

Also, if you patch it, will it work on the already English patched rom that you made?
Download model replacement demo patch
Apply to an already patched (2008-10-11) file.


Darth you said "apply to an already patched (2008-10-11) file. Does it have to be the 2008-10-11 file, or can it be any file that you've patched? I haven't got a spare copy of a clean rom so I can't use the new patch you updated.
 
Hehe Moo said:
Darth you said "apply to an already patched (2008-10-11) file. Does it have to be the 2008-10-11 file, or can it be any file that you've patched? I haven't got a spare copy of a clean rom so I can't use the new patch you updated.
I wouldn't have specified a version number if it didn't matter.
 
I might look into this some more a bit later. Might be a month before I can do anything major as I have a lot to do in the following month or so and I have been putting it off for as long as I could and its time for me to get it done before its to late.
 
What would be cool for easier access and changing would be a program that would replace X player model with Y NPC model inside a mdl\mdl.img file. I know programs that do that, replace the lines of hex and such. Just not sure how to make it and such, I'm sure it isn't really easy.

Well, I assume that the manual editing might just be the start? I'm trying to learn from Darth myself on how to do this, where the models are, etc. I hate being horrible with stuff like this, haha.
 
@CPhantom: That is basicly what I am/was going to work on when I get the time to take on such a project. Will be a while for me to muster up the time for this project as I have a bit of a deadline on something which I should have been working on for such a long time but am one of the biggest procrastinators of all time.

I say am/was going to work on because I do not know when I will be able to get some time to do it. I know for sure it will be at least a month. However I might work on little bits and peices between.
 
bangbanger said:
@CPhantom: That is basicly what I am/was going to work on when I get the time to take on such a project. Will be a while for me to muster up the time for this project as I have a bit of a deadline on something which I should have been working on for such a long time but am one of the biggest procrastinators of all time.

I say am/was going to work on because I do not know when I will be able to get some time to do it. I know for sure it will be at least a month. However I might work on little bits and peices between.
Ahhh, I see!
That'd be wicked to have for sure! Definitely a hard project I assume. Don't you need to know all the pointer and DAD file locations for that?

Hopefully in a month or so then, we might see something pop up, haha
 
oh wow! Very nice there Darth :]

Would we just have to replace the mdl files with each other or what? If so, I'm sure we'll need a model list or something right?
 
Well, it definately is how it is going, we just need to know which file is which character and such!
wacko.gif


my screen shot when tinkering


2yto8xl.png


Nevermind, I was totally wrong there.
 
I used Darth's img unpacker, and he said that Jadis was file #202, so I guess he was. I replaced his file was another random mdl file (which doesn't work out well for most of the time, but I was lucky to get the one I did) which apparently is an alternate color for Einsatz. I then repacked it and exported the rom.

What we truely need is a list of what NPC/Player character is which file. That way, we can just swap 'em out like that.
 
Yeah, it turns out "Sailor" is just one of Forte's palette swaps. It seems to work for NPCs too, though.

jadislittlegirltf0.png

(294)

As for finding NPCs, it's process of elimination. Unpack the files with DADTool (you can select multiple files at once) and view them in a tile editor, or just swap files randomly.
Players: 198~277
NPCs: 286~348

Non-humanoid NPCs are likely to crash the game.
 
Yeah, here are how the players go:
The numbers by the name indicate the color scheme, the "(###)" inidicates the mdl file

Welt (198)
Idea (199)
Millers (200)
Cadenza (201)
Jadis (202)
Einsatz (203)
Forte (204)
Granada (205)

Welt2 (206)
Idea2 (207)
Millers2 (208)
Cadenza2 (209)
Jadis2 (210)
Einsatz2 (211)
Forte2 (212)
Granada2 (213)

Welt3 (214)
Idea3 (215)
Millers3 (216)
Cadenza3 (217)
Jadis3 (218)
Einsatz3 (219)
Forte3 (220)
Granada3 (221)

Welt4 (222)
Idea4 (223)
Millers4 (224)
Cadenza4 (225)
Jadis4 (226)
Einsatz4 (227)
Forte4 (228)
Granada4 (229)

Welt5 (230)
Idea5 (231)
Millers5 (232)
Cadenza5 (233)
Jadis5 (234)
Einsatz5 (235)
Forte5 (236)
Granada5 (237)

Welt6 (238)
Idea6 (239)
Millers6 (240)
Cadenza6 (241)
Jadis6 (242)
Einsatz6 (243)
Forte6 (244)
Granada6 (245)

Welt7 (246)
Idea7 (247)
Millers7 (248)
Cadenza7 (249)
Jadis7 (250)
Einsatz7 (251)
Forte7 (252)
Granada7 (253)

Welt8 (254)
Idea8 (255)
Millers8 (256)
Cadenza8 (257)
Jadis8 (258)
Einsatz8 (259)
Forte8 (260)
Granada8 (261)

Welt9 (262)
Idea9 (263)
Millers9 (264)
Cadenza9 (265)
Jadis9 (266)
Einsatz9 (267)
Forte9 (268)
Granada9 (269)

Welt10 (270)
Idea10 (271)
Millers10 (272)
Cadenza10 (273)
Jadis10 (274)
Einsatz10 (275)
Forte10 (276)
Granada10 (277)


I'm going through all the NPCs and taking screen shots to post them up, considering they don't usually have names specified for themselves unless a main part of the story.
 

Site & Scene News

Popular threads in this forum