• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 30, 2024, 05:38:11 am

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


Maps

Started by Xifanie, September 29, 2007, 10:23:24 am

Zozma

March 15, 2008, 08:18:38 pm #80 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
this map thing looks great... setting it up doesnt seem to work for me tho...
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

gomtuu

March 16, 2008, 02:49:50 pm #81 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
Zozma,

Where are you running into trouble? Maybe I can help.

gomtuu

March 16, 2008, 03:39:39 pm #82 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
BTW, if anyone's curious, development of map2gl hasn't stopped, but it's been slow lately. A friend got me back into World of Warcraft, and then SSB Brawl came out, so I've been preoccupied. :) But I have done a little work on it, including reorganizing the code somewhat and improving the user interface.

To be honest, there's not much information left to decypher in the map files themselves. Most of the stuff that's left has to do with animated textures and animated polygons, and I already sort of understand these sections, it's just a matter of implementing them. Not that that will be really easy...

Some things I would like to find that don't seem to be in the map files are:

  • Trap/move-find-item locations
  • Squares you can place units on when entering a battle
  • Scenario list (i.e., how does the game know that the first thing it should do is load map062 (Chapel of Orbonne Monastery) and play a certain event script, and then the next thing it should do is load the rainy version of map056 (Orbonne Monastery) and play another event script, etc. Or, how does it know that when you visit the Mandalia Plains dot on the map, it should load map085 and do a random battle?

I've been trying to figure these things out, but haven't had any luck so far. If anybody has any clues about where to find them, I'd love to know. Based on George Greer's file list, there aren't a lot of places left to look. I hope they're not hard-coded in a way that's difficult to figure out and/or change.

Xifanie

March 16, 2008, 06:50:52 pm #83 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Move find items are in BATTLE.BIN
Offset: 0x8EE74

And I'd bet the rest you mentioned is there too.

Told melonhead about it so he should put it in his next update.

Don't worry gomtuu, I'm playing way too much Valkyrie Profile myself.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

gomtuu

March 16, 2008, 10:21:52 pm #84 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
Quote from: "Zodiac"Move find items are in BATTLE.BIN
Offset: 0x8EE74

Aha, so they are... Thanks! I'll have to work this into my next version somehow.

008f3c4: 0010 01f0 4410 13f1 4c10 33f6 8610 3bf7  ....D...L.3...;.
         ABCC DDEE ABCC DDEE ABCC DDEE ABCC DDEE

Looks like A and B are coordinates and D and E are the common and rare item... Is C the type of trap?

Quote from: "Zodiac"And I'd bet the rest you mentioned is there too.

I'll definitely check it out.

Quote from: "Zodiac"Don't worry gomtuu, I'm playing way too much Valkyrie Profile myself.

If only we didn't like games so much, we'd have more time to hack this game. :)

-Don

Xifanie

March 16, 2008, 10:44:47 pm #85 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Yep you guessed right.

0x01 Degenerator
0x01 Death Trap
0x01 Sleeping Gas
0x01 Steel Needle

melon told me there were extra in the PSP version (multiplayer). Considering one of them can invoke a random summon, that's pretty broken.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

gomtuu

March 20, 2008, 09:45:00 pm #86 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
I've been working on trying to find the scenario data lately. I just made some progress tonight; there's a list of scenarios in attack.out at 0x10938. Entries are 24 bytes wide. While experimenting with the data, something funny happened that I thought I'd share. See pic. I'm still working on figuring out the data. I'll post here when I know more.

Austin

March 20, 2008, 10:04:18 pm #87 Last Edit: December 31, 1969, 07:00:00 pm by Austin
Maybe the first battle was meant to be a tutorial? Pretty interesting though, I wonder what else is there.
  • Modding version: PSX

LastingDawn

March 20, 2008, 10:50:34 pm #88 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Hahaha! I don't know why that is so hilarious to me! But taking the completely serious storyline and seeing Gafgarion say that, just makes me guffaw with laughter! But this sounds great that you are making progess on the scenarios. Anything else of interest that you've found, so far?
"Moment's anger can revert to joy,
sadness can be turned to delight.
A nation destroyed cannot be restored,
the dead brought back to life."

Art of War

Beta & Gretchen Forever!!!!

gomtuu

March 21, 2008, 12:17:34 am #89 Last Edit: March 22, 2008, 06:25:53 pm by gomtuu
Here's what I was able to decipher tonight:

Each scenario has at least two lines. Most of the data in lines other than the first is duplicate/ignored, as far as I can tell. I have no idea why the number of lines varies.

The first scenario is Ovelia's prayer in the chapel of Orbonne:

First line:
0x10938: 0100 3E00 0033 3400 0100 0000 0000 0000 0100 0000 0000 0000
         AAAA BBCC DDEE FFGG GGHH HHII II          ZZ xxxx xxxx JJJJ

Last line:
0x10950: 0200 3E00 0033 3400 0100 0000 0000 0000 0100 0300 8100 0000
              xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx KKKK LL   xxxx


x = duplicate, ignored data
A = Scenario number: 1
    (Just an index for this list, apparently.
    Also, whichever event is numbered "1" always plays first.)
B = Map number: 0x3e
    (MAP/MAP062.GNS)
C = Weather: 0
    (Doesn't influence whether the rain animations are used)
D = Day/Night: 0
    0 = Day
    1 = Night
E = First Music file: 0x33
    (SOUND/MUSIC_51.SMD)
F = Second Music file: 0x34
    (SOUND/MUSIC_52.SMD)
G = ENTD entry: 0x0100
    (Looks like this matches the "Game Events" list.)
H = Character placement grid, 1st Squad
    (Placement grids are found in ATTACK.OUT at 0xbbd4)
    (For first scenario, using this makes the placement screen garbled.)
I = Character placement grid, 2nd Squad
J = Event script: 0
    (Scenario 1 seems to be a special case because Event Script 0
    plays just fine. Using Event Script 0 on scenario 3 causes wrong
    text to display.)
    (Also seems to control which scenario block the "next scenario"
    byte is read from)
K = Next scenario: 3
    (As indexed by A)
L = 0x80 = World map follows this scenario
    0x81 = Another event follows this scenario (K)
    0x82 = Game reset follows this scenario (side effect, or intneded?)
Z = Not sure yet, but setting it to 1 makes Ramza mandatory on
    character placement screen

That funny text in my previous post was caused by event script 0 behaving strangely in scenarios other than scenario 1, I think. Event script 0 works when used with scenario 1 (which is the way it normally is), but changing scenario 2 to use event script 0 makes the game read text from the select-button help text for statuses, for some reason. Other event script substitutions I've tried seem to work, so this is a special case for some reason.

I spent a lot of time digging through ASM traces for this data, so it's nice to finally know where it is! :D It should make things interesting...

We'll have to find out where the data's stored that controls the character placement screen before battles, because that screen is garbled when you turn it on for a scenario that didn't use it before.

-Don

LastingDawn

March 21, 2008, 12:56:45 am #90 Last Edit: December 31, 1969, 07:00:00 pm by LastingDawn
Hmm, at first I thought that "0x34" might have been what ye olde Debug Lists used. But it seems that is far off, as that is labeled as monsters. In any case this is quite a large step! Well done!
"Moment's anger can revert to joy,
sadness can be turned to delight.
A nation destroyed cannot be restored,
the dead brought back to life."

Art of War

Beta & Gretchen Forever!!!!

karsten

March 21, 2008, 03:30:42 am #91 Last Edit: December 31, 1969, 07:00:00 pm by karsten
WAIT!

QuoteH = 0x80 = World map follows this scenario
    0x81 = Another event follows this scenario (G)
    0x82 = Game reset follows this scenario (side effect, or intneded?)

does this mean that we can already make a chain of battles?!

anyway, stunning work!

edited: by the way, shouldn't be a code like 0x79 or 0x83 (saying random numbers actualy) that pops out the save screen inbetween battles?

Xifanie

March 21, 2008, 06:41:13 am #92 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
gomtuu, this absolutely ROCKS. I'll have to talk with you a little about asm because I'm not sure what are the instructions it uses to read words/bytes.

I'm a bit deceived, I though the map's starting music would be there.

I love how far we have progressed though.  :twisted:
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

trickstardude7

March 21, 2008, 06:54:13 am #93 Last Edit: December 31, 1969, 07:00:00 pm by trickstardude7
haha what door did they come from!?

gomtuu

March 21, 2008, 08:00:06 am #94 Last Edit: March 21, 2008, 08:10:48 am by gomtuu
Quote from: "Zodiac"I'm a bit deceived, I though the map's starting music would be there.

I should've been wearing my headphones when I was playing with those numbers! It does look like the "33" byte up there is the music track... I have a trace that says music_51.smd and music_52.smd get loaded when this scenario starts, and 0x33 == 51. I'll test this out in-game when I get a chance.

Quote from: "karsten"does this mean that we can already make a chain of battles?!

It does! :) But we really need to figure out the character placement screen before this will be as flexible as we'd want it to be.

Quoteby the way, shouldn't be a code like 0x79 or 0x83 (saying random numbers actualy) that pops out the save screen inbetween battles?

Good point. I'll have to look for that.

Happy hacking, everybody. I'll see what else I can find out about this chunk of data...

gomtuu

March 21, 2008, 08:02:01 am #95 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
Quote from: "trickstardude7"haha what door did they come from!?

No door, they just appear out of thin air. :)

Xifanie

March 21, 2008, 09:17:28 am #96 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Does the weather you mentioned affect elementals? because Zeakden & Zigolis' weather had no effect on elemental attack. I'm not sure if there are others.

I made next scenerio 0x0117 for fun and it ended up at the gates of riovanes castle, I had the regular character placement and instead of Rafa I had Ovelia. I was against the usual enemies though. Then, Instructions from the first event followed (I was like wtf, I just passed that event). Ramza starting opening dialog boxes with you're soaked in water so you can't move. A knight came out of nowhere acting as rad and all.

At some time, the dialog box wouldn't close so I just close the emulator.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

VincentCraven

March 21, 2008, 09:45:30 am #97 Last Edit: December 31, 1969, 07:00:00 pm by VincentCraven
Just for the record, when I was editting Zirekile Falls I accidentally looped the event to go back to the beginning. The second and third times around, instead of saying what they were supposed to, people said stuff like what Gafgarion said.
I changed jobs and that has made all the difference.

gomtuu

March 21, 2008, 09:52:53 am #98 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
Quote from: "Zodiac"Does the weather you mentioned affect elementals? because Zeakden & Zigolis' weather had no effect on elemental attack. I'm not sure if there are others.

Good question! I don't know yet... My guess is that it doesn't, since it doesn't control whether the raindrop animations are used. But maybe.

Quote from: "Zodiac"I made next scenerio 0x0117 for fun and it ended up at the gates of riovanes castle, I had the regular character placement and instead of Rafa I had Ovelia. I was against the usual enemies though. Then, Instructions from the first event followed (I was like wtf, I just passed that event). Ramza starting opening dialog boxes with you're soaked in water so you can't move. A knight came out of nowhere acting as rad and all.

Only the first line of each scenario block has a non-zero event script (from what I've noticed so far), and scenario entry 0x0117 is the fourth line in that scenario block. This made the game load event script 0 with that map, which is the same thing that was happening to me in that "soaked in water" screenshot. Try 0x0114 instead; that should work better. (Or change the event script for 0x0117 from 0x00 to 0x57.)

As for the characters in your party, this is another sticking point. My best guess right now is that event scripts can add characters (including guests) to your party, either silently or with a Join Up option. Do you see any evidence that the initial random generics get added to your party in the first few event scripts? Where are these scripts, by the way? Are they in TEST.EVT?

-Don

gomtuu

March 21, 2008, 11:56:39 am #99 Last Edit: December 31, 1969, 07:00:00 pm by gomtuu
Quote from: "Zodiac"I'm a bit deceived, I though the map's starting music would be there.

I've confirmed by editing the ISO that the 0x33 byte (now labeled D) is indeed the music file the map uses! I updated the spec above.