Hacking ROM Hack Wanting to make some modifications to The Sims 3 DS, but I've never romhacked before

AnonimoSdf

New Member
OP
Newbie
Joined
Apr 8, 2017
Messages
3
Trophies
0
Age
25
XP
59
Country
Argentina
Basically that. I noticed that the game has some silly limitations like not allowing same sex couples. That's pretty much all i want to change, but I have no idea where to start cause i've never romhacked before.
I extracted the rom files to see what was in it but i have to be honest and say I really don't know what I'm doing.
Can someone point me in the right direction or help me a bit? I really just wanna change that, not much more. Changing the textures a bit could be nice but that would be like an extra.
Thanks in advance!
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
That might be jumping more in the deep end, and if nobody has blazed a trail you almost certainly will be playing with code which is usually one of the later aspects people broach when learning to hack. I would start by figuring out the attraction score as it were for the game (give yourself infinite money for gifts/dates and become the proverbial 100 stat man* if it helps speed things along).
This you can do as a standard cheat search for an unknown value
https://doc.kodewerx.org/hacking_nds.html https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial

Once you have that you can use that as the basis for a debugging session, and not necessarily a gentle one like we like to introduce people to the concept with as you are aiming to understand the code rather than just subvert it in an obvious way like max stats or something, one part of which will hopefully be a compare the sex flag of your character and if opposite then allow romance, if equal then don't/take the path of friendship. It might get more complicated depending upon what else is in the game (animals, children, relatives, don't know if the grim reaper at a party you saw in the adverts for various sims games is a monster...) but the principle is still the same.
Whether you will also have to change any text in the game I don't know.

*maybe not max if telling a joke causes them to cream their jeans and max out the bar where you want some more incremental changes to find its location in memory.

There is potentially also the database problem ( https://qntm.org/support ) but I don't imagine that appearing in this, that is unless you want to do a gay/bisexual/straight/asexual modifier to the randomly generated characters as opposed to anybody can chat up anybody.

The cowboy method you already alluded to and change textures to appear. There is a lesser version where if the check is only done the once so you could romance as a straight relationship and flip the sex in the savegame or stats in memory** and hopefully have that work, though at the same time if it is a continuous evaluation of a relationship that might not work.

**similar in general principle to how you might say only be allowed 10 of something in your inventory but setting a cheat to 11 means sky is the limit as the game only checks the once as it were.
 

AnonimoSdf

New Member
OP
Newbie
Joined
Apr 8, 2017
Messages
3
Trophies
0
Age
25
XP
59
Country
Argentina
Yeah i see what you're saying. I have minimal coding experience (aka web and lua, aka nothing useful for this) so i was expecting this to be difficult for me.
Also this is a game not many people seem to have an interest in, as i've seen in my recent searches, so no Sims 3 NDS hacking community to help i guess lol. The texture change seemed a bit less intimidating cause they're mostly labeled in the files. But the actual code of the game isn't labeled, i figure it's more like one central file and maybe a few extra ones. But they're all in Hex i think, so I don't expect it to be straightforward like "if x then y", so I literally don't know what to do.
I think I'll look into it a bit more today, but I can see myself losing interest cause it's a bit out of my reach tbh. Plus there's not interest in the game in general so finding out how it works would be very difficult for my wee babydev brain.

Btw thanks cause your reply does give me a hint of what i could do, I just don't know how to or what line of code to look for, or even what file. I have some knowledge of how the relationship systems in the main series works cause i've been playing them for a long time. This seems like a simplified version, but knowing how the mainline games work it *should* be a matter of flipping a switch; but it's a DS game so I don't expect it to be that easy.

Maybe I'll try to think about it a bit more while i work on something else cause it's been in my mind all day and its a bit tiring; what autism does to a mf /j
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Code in DS games is usually the ARM9.bin you skipped past to look at files, and things in the overlay folder (overlays are a crude but not ineffective way of providing a space to cycle code in and out as you need it -- no sense having you end game credits animation sitting taking up valuable memory sort of thing). ARM7 is more of a stock thing Nintendo provides to help with running the hardware, indeed you can often swap it between different games of a similar vintage and have everything work just fine, which hackers only really look at if they are needing some space to add some stuff in of their choosing.

The debugger will likely be viewing the code where it lands in memory, but those locations are known and easily referenced back to the file to edit (assuming you want that -- if it is a simple IF ELSE/CMP BNE check that a few instructions changed might ultimately solve then you do have the option to make it a cheat, which would even work on stock games if you use a cheat cart or nitrohax or something).

Say you found the love bar for a for want of a better term NPC character. Somewhere in the calculation for whether they can be your say girlfriend will involve that value, and along the path of that (before or after I don't know) will be a check on the sex (which you don't necessarily know what it is, how it is encoded or the like*). You would presumably set a break on read in the debugger for that value, at which point it would tell you what instruction read it and the 10-20 or so preceding it. You can choose to then either read the code or step through the next instructions one at a time which is where the understanding part comes in (other things in the nice gentle intros to assembly either make it a cheat, disable that area, or add in a quick add so much to my health, not being troubled by minutia and need to understand everything happening in the equation as it were,

*from the cheat thing earlier then it is not unreasonable to expect other stats to be in the same location thus you can look in the immediate surroundings, or merged with other stats of the same type (less likely here, you tend to see that more in RPGs where you might want separate tables of ATK, DEF, CON, STR...).

I have some worked examples in https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ for various things, though I will note no$gba debug version has gone freeware since I did some of those. This is all moving very fast though when most learning to hack will play around with some text, some graphics, maybe some music (DS is far nicer for this than the NES where custom from the ground up is the standard order of the day), make some cheats, learn to hardcode said cheats, disable some element of code and then start messing with stuff like this.
Knowledge of how the series/game works from a player perspective can be valuable (most of my stuff was hypotheticals -- was never a great fan of the sims), though can also lead you down false paths (indeed someone playing with code like this usually being why myths get disproven).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: butt