- This topic has 38 replies, 5 voices, and was last updated 10 years, 9 months ago by Lord Yuan Shu.
-
AuthorPosts
-
February 19, 2012 at 4:52 am #41556DragonAtmaModerator
Nope, no debugger (unless you count snes9x's cheat search feature); Atma is not and has never been a programmer. All the changes are modifying graphics (if they're not compressed they're easy if you have TLP, which I do), changing data tables (which weren't *that* hard to find), and editing text (and the oh-so-annoying pointers that precede them). I did, however, make a map of what data's where as I found it, although obviously that skips the programming chunks!
Anyway, four of the 64 generals (22/34, 23/35, 3D/61, and 3E/62) are female; unless I managed to Fail A Spot Check, the only effect that gender has on the game is affect the titles (Lord/Prince vs Lady/Princess). Otherwise males and females play identically for males and females, even to the point that Princess Gweyn, the one* female leader, has the same ending as all the other playable forces.
Do keep in mind, though, that it's *really* weird for a top general with a mustache to be called Lady Norman…
EDIT: Most of the data I found on gemfire is viewable here.
*Well, the one *starting* leader; if a leader is banished, you must pick a relative — any relative — as the new leader, and both Ander and Terian have female relatives (Ander's sister Keyla and Terian's daughter Anise).
February 20, 2012 at 1:11 am #41557sonic.penguinModeratorand somehow the conversation always devolves down to another episode of Jerry Springer where everyone is trying to figure out all of their gender issues….
June 6, 2012 at 10:12 am #41558MeteorStrikeParticipantHey, I'm back for a while. I can look into this, but after trying to play this game, I realized that I'm not really all that into it… so if you want help, (assuming this is still an issue) I will need the following:
1 – A save-game (SRM, not a state) of this game so I can load it at a point where there are some women taking off their top. Either that, or some other way I can verify their gender… after talking to MidNight about Phuket, Thailand, I just want to be sure… :p
2 – Instructions on how I can tell whether or not a character is female or not. I guess I must be gender-confused or something… either that, or I just want you to point to me exactly what it is that you want to show up "different". Is it an icon with a skirt vs pants? Is it the words "male" and "female" somewhere? Etc. Pretend I don't know what is a "video game" and that way I won't have to guess what it is you are looking for.
I'll be back later in the week…
June 6, 2012 at 1:41 pm #41559sonic.penguinModeratorSorry Atma, hi-jacking your thread :D
For DOAE do you think you can find where the battle music is stored and/or how it is determined for each battle. I know the town/world map/cave/palace music is found @ 3BF8F-3BF6C, but haven't been able to determine if there is a way to make certain boss battles use a different song IE; if there is some kind of table like we have for taunts? Like if I want to add the Lousang Village theme to a specific battle?
http://www.lordyuanshu.com/forums/topic/destiny-of-an-emperor-rom-hacking-guide-1#post-25204
or if it is simply a bit or two that gets tweaked?
June 6, 2012 at 1:50 pm #41560DragonAtmaModeratorThere's one main difference between males and females here: males and females have different titles:
Males: (none)/Vassal/Lord/Prince/King
Females: (none/Vassal/Lady/Princess/Princess
The first two are used by officers just sitting around (think billeting XD), the third by someone who runs a province, the fourth by a force leader, and the fifth by a force leader with the crown. Even so, it just feels *weird* to have a guy with a full beard called "princess", and it's also a bit odd to go the way of King Jadwiga.
As for finding female characters, there are four in the game: Karla (Lankshire, every scenario), Keyla (Lyle, scenarios 2-4), Anise (Tate, scenarios 3-4), and Gweyn (Tordin, scenario 3 & Blanche, scenario 4). Titled females are Keyla (scenario 4) and Gweyn (scenarios 3-4), although you can of course set them in charge of provinces!
While an .srm could be provided if you insist, it'd be quicker to just start a new game — the last two scenarios already have someone with the appropriate female title.
has pretty much all the relevant gemfire data; for officer hexvalues, Karla is x22 (34), Anise is x23 (35), Keyla is x3D (61), and Gweyn is x3E (62). Yes, I know you know hex, but some people here don't!
June 6, 2012 at 5:36 pm #41561Zhuge LiangParticipantHey MeteorStrike, you were missed.
DoaE gave birth to Huo Hu.
June 15, 2012 at 6:13 am #41562Lord Yuan ShuKeymasterQuote:1 – A save-game (SRM, not a state) of this game so I can load it at a point where there are some women taking off their top. Either that, or some other way I can verify their gender… after talking to MidNight about Phuket, Thailand, I just want to be sure…2 – Instructions on how I can tell whether or not a character is female or not. I guess I must be gender-confused or something… either that, or I just want you to point to me exactly what it is that you want to show up "different". Is it an icon with a skirt vs pants? Is it the words "male" and "female" somewhere? Etc. Pretend I don't know what is a "video game" and that way I won't have to guess what it is you are looking for.
I might appreciate MeteorStrike's comic relief more than his coding prowess. Gemfire gender.
Then penguin totally hijacks the thread and bombards him with DoaE questions huohu
Welcome to Lord Yuan Shu Walkthrough Guides ·
Huo Hu's Adventure started Destiny of an Emperor hackingJuly 4, 2012 at 12:51 pm #41563MeteorStrikeParticipantHi Zhuge Liang. I got your e-mail. It looked like it was just a "hello" though… OK… well, hello to you too? :)
Anyways, Im back with the Gender stuff. I need to edit a pic first… BRB…
July 4, 2012 at 1:42 pm #41564MeteorStrikeParticipantWow… what a piece of crap… every time I log on to my site, I hate that provider more and more… soon enough I'm just going to close the whole thing down… anyways…
Well I lost a lot of the motivation I had to write this, so let me just say that there is no simple or safe way to add more than 4 females to the game, if any. You can remove females or change a male with a female, etc but you will be restricted to 4. Think of it like Destiny of an Emperor where it keeps a list of all the characters you can put in storage, except that only 4 slots are available.
Here is a dump of the data if you want to mess with it. Note the "( Unit ID )" fields. The other stuff are indices to function pointers and no, you can't change those or you will wreck the game, and no, there is no more space to fit more units. Also, notice the pattern in the data sequence.
0xA040 = 7E4040 ( 02 ) =
0xA041 = 7E4041 ( A2 ) = Function Pointer Index
0xA042 = 7E4042 ( FF ) = ( )
0xA043 = 7E4043 ( FF ) = ( )
0xA044 = 7E4044 ( A0 ) = Function Pointer Index
0xA045 = 7E4045 ( FF ) = ( )
0xA046 = 7E4046 ( FF ) = ( )
0xA047 = 7E4047 ( 8B ) = Function Pointer Index
0xA048 = 7E4048 ( 22 ) = ( Unit ID )
0xA049 = 7E4049 ( C0 ) = Function Pointer Index
0xA04A = 7E404A ( D7 ) = Function Pointer Index
0xA04B = 7E404B ( 6C ) = ( New address if we match Unit ID )
0xA04C = 7E404C ( 40 ) = ( New address if we match Unit ID )
0xA04D = 7E404D ( A0 ) = Function Pointer Index
0xA04E = 7E404E ( FF ) = ( )
0xA04F = 7E404F ( FF ) = ( )
0xA050 = 7E4050 ( 8B ) = Function Pointer Index
0xA051 = 7E4051 ( 23 ) = ( Unit ID )
0xA052 = 7E4052 ( C0 ) = Function Pointer Index
0xA053 = 7E4053 ( D7 ) = Function Pointer Index
0xA054 = 7E4054 ( 6C ) = ( New address if we match Unit ID )
0xA055 = 7E4055 ( 40 ) = ( New address if we match Unit ID )
0xA056 = 7E4056 ( A0 ) = Function Pointer Index
0xA057 = 7E4057 ( FF ) = ( )
0xA058 = 7E4058 ( FF ) = ( )
0xA059 = 7E4059 ( 8B ) = Function Pointer Index
0xA05A = 7E405A ( 3D ) = ( Unit ID )
0xA05B = 7E405B ( C0 ) = Function Pointer Index
0xA05C = 7E405C ( D7 ) = Function Pointer Index
0xA05D = 7E405D ( 6C ) = ( New address if we match Unit ID )
0xA05E = 7E405E ( 40 ) = ( New address if we match Unit ID )
0xA05F = 7E405F ( A0 ) = Function Pointer Index
0xA060 = 7E4060 ( FF ) = ( )
0xA061 = 7E4061 ( FF ) = ( )
0xA062 = 7E4062 ( A0 ) = Function Pointer Index
0xA063 = 7E4063 ( 3E ) = ( Unit ID )
0xA064 = 7E4064 ( C0 ) = Function Pointer Index
0xA065 = 7E4065 ( D7 ) = Function Pointer Index
0xA066 = 7E4066 ( 6C ) = ( New address if we match Unit ID )
0xA067 = 7E4067 ( 40 ) = ( New address if we match Unit ID )
0xA068 = 7E4068 ( 40 ) = Function Pointer Index
0xA069 = 7E4069 ( D6 ) = Function Pointer Index
0xA06A = 7E406A ( 6D ) = ( New address if we did not match any Unit ID )
0xA06B = 7E406B ( 40 ) = ( New address if we did not match any Unit ID )
0xA06C = 7E406C ( 41 ) = Function Pointer Index if we matched
0xA06D = 7E406D ( CF ) = Function Pointer Index if we did not match
0xA06E = 7E406E ( 20 ) =
0xA06F = 7E406F ( 87 ) =
Also, here is a sample cheat code:
7E40633F = Gweyn is a Lord and Geran is the Lady
My recommendation if you want to have more than 4 females: Simply change the Titles to something gender-neutral, and use it for both genders. So instead of "Queen" or "King", say something like "Royal", instead of "Lady" or "Lord" say something like "Noble" etc. You're stuck with only 4 women, but feel free to experiment with the above-mentioned list if you'd like.
EDIT:
This link may or may not work…
http://meteorstrike.000space.com/other/KOEI_LOGIC.jpg
I was inspired by this game's bizarre and overly complicated game logic…
July 4, 2012 at 1:46 pm #41565MeteorStrikeParticipantTesting… testing…
July 4, 2012 at 9:51 pm #41566DragonAtmaModeratorSo that's how it works…. hmm…
88080 through 8AE7F has kanji left over from the japanese version; seeing as those 11,000 bytes are never used in the english version, shouldn't we be able to jump there and add in more gender checks if needed? ;)
Alternately, it could be used to [GASP] produce a better AI.
Right now, though, I've been working on RoTK2 (again, SNES) lately. I'm currently looking for three things in it:
(1) The game uses floodfill (filling every color except black) to show who controls each province, so the map is http://www.mobygames.com/game/snes/romance-of-the-three-kingdoms-ii/screenshots/gameShotId,43301/ not http://www.mobygames.com/game/nes/romance-of-the-three-kingdoms-ii/screenshots/gameShotId,72803/ . I figured out where the spots are — http://img14.imageshack.us/img14/5066/floodfillspots.png shows the locations (false coloring, of course XD), but my efforts to find where they store the info failed.
And since someone will ask, yes, the floodfills are at the very upper left corner of the red squares.
(2) When viewing the map during your turn, the active province flashes between solid white and the province's number. Thing is, I don't know where they store the tile numbers for the map — and changing the map would cause gibberish to appear where there should be tile numbers; see http://img856.imageshack.us/img856/3199/gemfirerotkizedbackup03.png for the nonsense people bump into.
(3) I haven't been able to find the battle maps. Unlike Gemfire, where the attacker starts depends on where you invade from. If you change the map, some positions will be very odd or even stuck in solid rock — for example, http://img842.imageshack.us/img842/4972/romanceofthethreekingdo.png is Ma Teng's province 15 (which normally can only be invaded form the southeast).
Fortunately, I've been able to find everything else needed for editing the maps:
* Messenger distances (72 cols) starts at 1AE9A
* The minichart (8 cols) starts at 118BE
* The neighbors list (6 cols) starts at 19DAE
* Map graphics are at starts at 88200
* X/Y positions for where the province numbers go (but NOT the tiles involved) are in the 11776 chart, X-value before the first 00 and Y-value after the first 00.
* The clickmap starts at 19BB6 (28 cols).
Feel free, of course, to work on this at your leisure; I still have my own work to do.
And for those who can't see meteorstrike's image, first view his main site and then go to the image.
July 5, 2012 at 5:36 am #41567MeteorStrikeParticipantAs far as moving the pointers, that may or may not be possible, I am not sure. First off, you would need to change the pointers anywhere that references this list. So that could be tedious to find. Then, you need to make the new list reflect the old one in the pattern format. That shouldn't be too hard though, but it can lead to mistakes…
Lastly, the way it "works" as you say is actually quite complicated. I am not sure if adding more entries will work for sure because the function pointers just push more return addresses into the stack. (Long story) I didn't bother analyzing in excruciating detail how the stack unwinds, but you would definitely need to test it. I guess it -should- be able to unwind itself though because otherwise the existing code probably wouldn't work as it was written… Hmm never mind that part… the point is, it would take a lot of testing… I still think the easiest and cleanest solution is to just use gender-neutral titles.
As for the "better AI" that would take a lot of programming just to add the AI, not to mention testing the code. Inserting new code in an already-compiled app is not as easy as replacing old code.
As for the ROTK stuff, I have no idea what you mean about flood fill… I'll have to look at that some other time.
July 5, 2012 at 5:47 am #41568MeteorStrikeParticipantAlso, sonic, here is the original message I sent to Midnight about the game music sometime last year. It should contain info on the music:
Put a breakpoint on execute at $BF5F. When you enter a new area, this is the code that will determine which music to load.
You will notice something like:
LDA $47
CMP #7F
BNE $BF69
LDA #20
BNE BF7B
…
The value of $47 is the "area type" and is calculated elsewhere. I wouldn't mess with it if I was you because this "area type" is used for a lot of other things. It's best to change the music here. It's basically something like:
If area type == 0x7F ( Villages ) use music 0x20. Else, look at the value of $49 and use that as an index into $BF7F to determine the music to load. If this is the world map though (X == 0 ) then check $6010 to see if we should load the "fancy" music. I'll let you explore the rest.
Use these game genie codes for testing:
TZNUNYYZ = World map has kick-ass boss music
IZNUNYYZ = World map has some other kick-ass boss music
The world map (index 0 of $BF7F) is at 0x03BF8F and has value of 0x27
July 5, 2012 at 12:04 pm #41569DragonAtmaModeratorBasically, I mean the same floodfill as in MS Paint and such; you may have used it for your avatar. What I'm looking for is the pixels that the game essentially clicks on (so to speak).
As for the gender scripting, it almost certainly links to the start and runs through there the whole thing; linking to the four sections one after another would feel quite inefficient, plus there's only one "does it match or not?" link at the end.
As for pushing more return addresses, I have an idea what you mean, actually; technically I did do SOME programming, just not in any languages that are still used! XD It reminds me of overusing GOSUB* on a C64.
And as for the AI, I don't see that happening anytime soon; I can build one (although it'd be in pseudocode), but there are bigger priorities, plus it'd take a long time.
And, once again, thank you for your assistance. I only brought these to your attention because I repeatedly tried to solve all of these and failed.
* For those who don't program — or only program in useful languages — GOSUB sends the program to a distant line number, and RETURN sends it back to where it was before the last GOSUB. The C64 can only handle so many nested GOSUBs, though.
July 5, 2012 at 5:11 pm #41570Zhuge LiangParticipantHey Meteorstrike I got one question for you, if you don't mind.
In DoaE, Sima Yi has 40972 soldiers which is A00C in hex and I managed to find that stat in a hex editor but for some reasons it is written 0CA0. Why is that ?
DoaE gave birth to Huo Hu.
-
AuthorPosts
- You must be logged in to reply to this topic.