øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1905.msg21386e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexad98.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1905.75e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexad98.html.zxH/g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ…¬êXOKtext/htmlISO-8859-1gzip@øÕêXÿÿÿÿÿÿÿÿTue, 10 Mar 2020 06:26:38 GMT0ó°° ®0®P®€§²ð®G/g^ÿÿÿÿÿÿÿÿî6êX Apropos of nothing (except of course FFIV)

Author Topic: Apropos of nothing (except of course FFIV)  (Read 17059 times)

Gedankenschild

  • Vargas
  • *
  • Posts: 101
  • Gender: Male
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #75 on: December 07, 2014, 09:09:38 PM »
Well, remember the EvilWall tileset I posted some time ago? The SNES version reuses stuff as much as it can (as you certainly know): Titan, for example, has two animations, right? He doesn't have two independent tilesets, though - the 2nd one reuses parts of the first, like the knee and legs, I think. The WSC/GBA version really doesn't care about space, so they just use two distinct tilesets, including redundancies. However, there are some differences in the two sets that would require additional tiles for a faithfull port - and that leads to the above complications.
[...] I could have just put together a pic, but I'm too lazy right now...  :tongue:

And your hack is still in development isn't it - no problem beeing messy...  :cookie:
You've got to be kidding me with that Dynasty Warriors registration question??!!
I barely know such a series exists...

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #76 on: December 07, 2014, 09:16:01 PM »
Ah yes, I had assumed that FFIV SNES did the same thing... I guess I was wrong, that would make sense though that they'd only have to change that portion of the sprite though. I imagine that Chillyfeez would know all about thos peculiarities.

Yeah, Combat Boost is still a work in progress, all of the actual hacking is done by this point (I think!). so now it's down to the modding portion, I'm a little bit stuck on what to do for a challenge dungeon or even where to place it. Since it can only consist of two rooms (the only spare maps, basically) I have to be very careful and deliberate with placement of anything in it.

Gedankenschild

  • Vargas
  • *
  • Posts: 101
  • Gender: Male
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #77 on: December 07, 2014, 09:38:49 PM »
Oh yeah, Chillyfeez wrote it all down - amazing how he figured that out...

An extra dungeon, hmm... The obvious route seems to be the stuff the GBA version did (smaller, of course). Lunar ruins and that Mt. Ordeals dungeon, wasn't it? Maybe a secret path in that small cave where you trade pink tails for the Adamant armor? I always thought there could have been more to that place.
You've got to be kidding me with that Dynasty Warriors registration question??!!
I barely know such a series exists...

vivify93

  • Liquid Flame
  • *
  • Posts: 304
  • Gender: Male
  • White Wizard
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #78 on: December 07, 2014, 09:58:28 PM »
Yes, Tomato playing through my mess of a mod is a higher honor than I ever expected.
He's technically playing mine, too, along with yours! I don't know if he'll comment about the script, but it made me really excited, since I used Legends of Localization as such a heavy reference for Project II.
Hacking is hard. :sad:

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #79 on: December 07, 2014, 10:07:42 PM »
Yes, graphics, especially in FFIV always come off to me as programmed in a needlessly complex manner.

That would be a neat idea to put a dungeon in the Adamant Cave (That is actually where The After Years' first dungeon is.) if it didn't also require the Hovercraft to get to. the idea was to have this dungeon be available as early as Airship access was granted meaning somewhere in Silvera, Troia, or Eblan. If we had the means to edit the world map warps I would put it in the secret Chocobo Forest to the right of the Troia continent and make it a forest dungeon which is missing in default FFIV... You know what? I should go ahead and make it a forest dungeon anyhow. (At least the opening part of it, with two maps I'm given a little freedom).

He's technically playing mine, too, along with yours! I don't know if he'll comment about the script, but it made me really excited, since I used Legends of Localization as such a heavy reference for Project II.

Technically so, yes. He did catch a few typos and made me realize my inconsistency in regards to Espers and Eidolons.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #80 on: December 08, 2014, 12:35:28 PM »
Grimoire, do you want to change the physical location of the chocobo forest warp point, or the parameters? If you just want to change where it warpsto, that can be done pretty easily. Search slick for the research I did on world map triggers. They work exactly like location triggers (except no treasure chests).
If you want to change the location on the world map of the warp point, that's tougher because you'd need to change the tile to a trigger forest tile, and as you know editing the world map can be a tricky proposition with the available tools.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #81 on: December 08, 2014, 12:51:51 PM »
Grimoire, do you want to change the physical location of the chocobo forest warp point, or the parameters? If you just want to change where it warpsto, that can be done pretty easily. Search slick for the research I did on world map triggers. They work exactly like location triggers (except no treasure chests).
If you want to change the location on the world map of the warp point, that's tougher because you'd need to change the tile to a trigger forest tile, and as you know editing the world map can be a tricky proposition with the available tools.

I knew you worked on World Map Triggers, I just forgot that you included your methodology (outside of your tremendous work on how to change map tiles through events and the like). Yes, I'd just want to change the warp rather than the location since we can't easily edit the World Map as of yet and it gives a purpose to that useless Chocobo Forest location and it makes it available as soon as you get the Airship.

I was just thinking about this, but I think there's an easy way to add more warps to the Overworld without removing other ones (outside of the Babil ones) In FFIV DS you couldn't enter castles from their upper sides. On the SNES World Map alone that would give an additional ten warps in the Overworld (technically 12 because of the unused Tower of Babil ones) and in the Underworld it would give two more warps. and all it would take is making two sprite tiles unwalkable. Granted what good this does us without more maps to use is questionable.

 :edit: Hmm... the post I've found on decoding world map triggers only has the method, rather than a list. I guess I'll write down the list, unless you've already done so.
« Last Edit: December 08, 2014, 01:02:02 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #82 on: December 08, 2014, 04:37:51 PM »
No, I haven't listed them. That would be helpful, for sure.

And that's a good idea - making only the bottom row of castles warpable, but yes, we'll see how helpful that can be. I have the next two days off... Granted I have some IRL stuff to get done, but I intend to do some hackin', so I will look into an easy method to unlock the unindexed maps. It MUST be possible.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #83 on: December 09, 2014, 07:21:29 AM »
I thought the issue with the unused indexes is simply that they have no space allocated for them? Though I would love to be wrong on that.

In any case Chillyfeez I'm having trouble getting new treasure to actually work in this challenge dungeon. The way the Treasure Triggers in FFIV work it seems is that if there was originally nothing at the area, a saved game will assume that it is a treasure already obtained.

Is this also true of your own attempts? I mean, I love my mod, but I'm not really in the mood to play all the way back to that point to get these treasures to show up properly.

 :edit: Actually that's not the case at all. I am now starting to worry what the "Treasure Index" bytes at 7E12A0 really mean, could it be that two treasures can have the same code area and getting one means you get the other as well? I had hoped FFIV wasn't so simple with that...

If they do only use 20 bytes that means that there is  32x8 Treasure Chests in the Overworld which is exactly 255, hmm... maybe I'll have to do some research on how many treasure really is in the Overworld.

 :edit: There are approximately 240 Used Treasure Indexes for the Oveworld meaning that 15 or so should be free for use.

 :edit: There are approximilare 159 Used Treasure Indexes for the Overworld meaning that 96! or so should be free to use.

« Last Edit: December 09, 2014, 02:19:40 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #84 on: December 09, 2014, 09:20:50 AM »
Since a saved game saves whether or not a treasure has been opened, there must be a place in the first 0x1800 bytes of RAM that stores which chests have been opened (because that's what a saved game saves).
It's probably a block of 0x40 bytes (256 bits for Overworld, 256 for Underworld/Moon), and works a lot like event flags (when one is opened, a bit gets set). If we could find this, then you could manually reset all chests in your save in order to test out the chests in your challenge dungeon.
OK, so... there's a couple of things I'm looking for this morning.
I'll get right on it.

 :edit: OK, well, treasure flags were super easy to find. They're immediately after event flags - 7E:12A0 - 7E:12DF.
Set this whole string back to 00s and all of the treasures in a save will be unclaimed again.

 :edit: 2 You're mostly right about the problem with extra maps being lack of space, unfortunately. Map formation pointers are at B8000 (or B8200 with header) through B82FF, and map formation data is B8300 through CFE5F.
CFCF9 through CFE5F is empty, but that's not a whole lot of space for a map - 358 (dec) bytes, or about enough space for 3 fully furnished 10x10 rooms.
 :bah:
You'd also have to have the (Underworld/Moon) flag set in the map properties to have your map load from this part of ROM - not really a problem, but an extra thing to consider when setting up NPCs, treasures, and various other elements that use different indices depending on Overworld/Underworld.

Now, because FF4kster condenses data banks to eliminate wasted space, a ROM edited with FF4kster may have a bit more space than a vanilla ROM.
Let's see...
Nope. Looks like this is actually one place where Square was pretty efficient with their use of space.
 :lame:

Well, you know what we're gonna hear eventually from somebody if we don't preempt it: "Why don't you just expand your ROM and point to the newly-created larger space?"
That, unfortunately, does seem like the only solution that does not involve destroying or shrinking other maps, but you know as well as I that doing so would cause FF4kster incompatibility, which would sort of defeat its own purpose.
So you are stuck with the following options (as I see it):
1) find some locations that you don't need at all. The forest clearing after Rydia summons Titan comes to mind - that event could easily happen in the chocobo forest index, or, you know in a field background since there's no forest there anyway. The place in the ending where Palom is bragging to Leonora - isn't that a unique location? Well, you're much more adept at finding superfluous usage in the game than I am, but the point is - it does exist.
2) Shrink some locations' data footprints by removing what doesn't need to be there.
For example, if you take the Baron Weapon/Armor shop and remove the empty chest that's in a different Y location than the rest of them, all of the wall decorations except for the Sword, Shield and the torch in the center, the pots, table and chairs in the bottom corners, and the stools in front of the counters (replace with blank counter front), the map goes from 166 bytes to 149. Seventeen bytes isn't that much, but doing this with 256(-ish) maps could free up a lot of space.
Hey, blanking out the entire top half of the Bab-il crystal room frees up 255 bytes! Just removing the "edge" of the top, left and right of the oasis in Kaipo, which you never see (replacing it with "center" water tiles) - 31 bytes!
So this idea, while it would take a VERY long time, definitely has some potential...
« Last Edit: December 09, 2014, 10:43:12 AM by chillyfeez »

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #85 on: December 09, 2014, 02:02:06 PM »
Since a saved game saves whether or not a treasure has been opened, there must be a place in the first 0x1800 bytes of RAM that stores which chests have been opened (because that's what a saved game saves).
It's probably a block of 0x40 bytes (256 bits for Overworld, 256 for Underworld/Moon), and works a lot like event flags (when one is opened, a bit gets set). If we could find this, then you could manually reset all chests in your save in order to test out the chests in your challenge dungeon.
OK, so... there's a couple of things I'm looking for this morning.
I'll get right on it.

 :edit: OK, well, treasure flags were super easy to find. They're immediately after event flags - 7E:12A0 - 7E:12DF.
Set this whole string back to 00s and all of the treasures in a save will be unclaimed again.


Indeed, I found those a while back (it's even mentioned in my "Start of Game" disassembly, but I'm not sure where I found those in the first place) but forgot about it until I reviewed my notes. Yes, that did work, my concern there though is that it marked a ten in a place that had already used it's 10 bit, which leads me to believe that Treasure Indexes may be generated at game file start in the best case scenario, worst case scenario though is that Treasure Indexes are set and by adding or removing chests I've screwed up some order. I really hope it's not that way.

Quote
:edit: 2 You're mostly right about the problem with extra maps being lack of space, unfortunately. Map formation pointers are at B8000 (or B8200 with header) through B82FF, and map formation data is B8300 through CFE5F.
CFCF9 through CFE5F is empty, but that's not a whole lot of space for a map - 358 (dec) bytes, or about enough space for 3 fully furnished 10x10 rooms.
 :bah:
You'd also have to have the (Underworld/Moon) flag set in the map properties to have your map load from this part of ROM - not really a problem, but an extra thing to consider when setting up NPCs, treasures, and various other elements that use different indices depending on Overworld/Underworld.

Yikes! I wonder if I cut it close with the Serpent Road then.

Quote
Now, because FF4kster condenses data banks to eliminate wasted space, a ROM edited with FF4kster may have a bit more space than a vanilla ROM.
Let's see...
Nope. Looks like this is actually one place where Square was pretty efficient with their use of space.
 :lame:

Well, you know what we're gonna hear eventually from somebody if we don't preempt it: "Why don't you just expand your ROM and point to the newly-created larger space?"
That, unfortunately, does seem like the only solution that does not involve destroying or shrinking other maps, but you know as well as I that doing so would cause FF4kster incompatibility, which would sort of defeat its own purpose.
So you are stuck with the following options (as I see it):
1) find some locations that you don't need at all. The forest clearing after Rydia summons Titan comes to mind - that event could easily happen in the chocobo forest index, or, you know in a field background since there's no forest there anyway. The place in the ending where Palom is bragging to Leonora - isn't that a unique location? Well, you're much more adept at finding superfluous usage in the game than I am, but the point is - it does exist.
2) Shrink some locations' data footprints by removing what doesn't need to be there.
For example, if you take the Baron Weapon/Armor shop and remove the empty chest that's in a different Y location than the rest of them, all of the wall decorations except for the Sword, Shield and the torch in the center, the pots, table and chairs in the bottom corners, and the stools in front of the counters (replace with blank counter front), the map goes from 166 bytes to 149. Seventeen bytes isn't that much, but doing this with 256(-ish) maps could free up a lot of space.
Hey, blanking out the entire top half of the Bab-il crystal room frees up 255 bytes! Just removing the "edge" of the top, left and right of the oasis in Kaipo, which you never see (replacing it with "center" water tiles) - 31 bytes!
So this idea, while it would take a VERY long time, definitely has some potential...

That idea really does have a lot of potential, I fear though that people will say the world then feels too "barren", but if I can add new areas with it, it might be worth it. I really like your idea of erasing places that can't be seen and have no value.


 :edit: Alright! Let's get to freeing up some space and even some maps...

The first map that can be axed entirely is the room loading to the Baron Prison, there's nothing there. The door can be placed in the actual prison and that map can be salvaged.

Second and third maps may be a little more controversial... the first and second floor of Cecil's Tower. There's nothing on the first floor and a meaningless maid event (helps to show his status, yes I understand, it's just that space is so crucial here...) so entering the door will immediately take the player up to his room.

Fourth is the Forest where you lose Kain as mentioned and last for the Overworld would be the Room w/ Pots in Troia that has some healing item in a pot. You could also get rid of the first floor of the stables (why was it ever underground anyhow? They're Birds!) and the first floor of the Astro Hall.

So that's seven maps which are freed up for use! That might give me more variety than I had though I would have.
« Last Edit: December 09, 2014, 03:35:12 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #86 on: December 09, 2014, 03:52:44 PM »
Quote
Yikes! I wonder if I cut it close with the Serpent Road then.
Yeah, I thought about that kind of situation, too. The game must have some way of knowing, besides just Overworld/Underworld, which 10000 block to look in for map info, since pointers only indicate a place in ROM indexed a maximum of 0xFFFF bytes away, and map data actually spans almost 0x18000 bytes (which represents three different 10000s in LoROM - $17/8000 into the $19/8000s). But FF4kster allows a hacker to easily add massive amounts of data to an Overworld map without messing up anything in the Underworld or Moon sets. I did notice, when tracing map data pointers, that the game compares the current map pointer with the pointer of the next map (which is completely unrelated oftentimes) before loading map data... Maybe it's looking at several pointers to determine where the pointing leads? I may look into that at some point, simply out of curiosity.

Quote
Yes, that did work, my concern there though is that it marked a ten in a place that had already used it's 10 bit, which leads me to believe that Treasure Indexes may be generated at game file start in the best case scenario, worst case scenario though is that Treasure Indexes are set and by adding or removing chests I've screwed up some order. I really hope it's not that way.
My guess is that it has something to do with you editing and testing within an already-played save.
You could try, if you think it might help, start a new game, then as soon as C&K leave the castle, open Geiger's hex viewer and jump to 7E:171C in RAM, and change it to read: 01 65 9E 00. That will make the Enterprise appear right outside of Baron and you can fly to your dungeon without visiting any other locations first (cheat up your stats in order to assure survival).

Quote
I fear though that people will say the world then feels too "barren"
I agree. I wonder how much could be freed up just by eliminating parts of locations that are never seen...

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #87 on: December 09, 2014, 04:25:07 PM »
Well, the overworld's been cleared out as far as I'm concerned, I took your advice and removed a lot of pots, heads on walls, and a couple of empty Treasure Chests here and there.

 
Quote
Yikes! I wonder if I cut it close with the Serpent Road then.
Yeah, I thought about that kind of situation, too. The game must have some way of knowing, besides just Overworld/Underworld, which 10000 block to look in for map info, since pointers only indicate a place in ROM indexed a maximum of 0xFFFF bytes away, and map data actually spans almost 0x18000 bytes (which represents three different 10000s in LoROM - $17/8000 into the $19/8000s). But FF4kster allows a hacker to easily add massive amounts of data to an Overworld map without messing up anything in the Underworld or Moon sets. I did notice, when tracing map data pointers, that the game compares the current map pointer with the pointer of the next map (which is completely unrelated oftentimes) before loading map data... Maybe it's looking at several pointers to determine where the pointing leads? I may look into that at some point, simply out of curiosity.

Something troubling occurred I had noticed, my Waterfalls Exit map got thrown into several pieces, bizarrely. I just need to copy and paste a default one onto there, but I find it odd that this would occur, as far as I had seen no other map was touched.

Quote
My guess is that it has something to do with you editing and testing within an already-played save.
You could try, if you think it might help, start a new game, then as soon as C&K leave the castle, open Geiger's hex viewer and jump to 7E:171C in RAM, and change it to read: 01 65 9E 00. That will make the Enterprise appear right outside of Baron and you can fly to your dungeon without visiting any other locations first (cheat up your stats in order to assure survival).

Indeed, that would work. But to test my theory in full I'd need to start a fresh file to grab every treasure from here to Mt. Ordeals (as apparently in my file in Baron Revisit the bit is already marked), with a super leveled character though I might be able to make it quick, but I do need to test some consequences of changing early magic's power so... maybe another playthrough up till there would be worth it.

Thanks for the Airship hint, I'll make sure to use it.

Quote
I agree. I wonder how much could be freed up just by eliminating parts of locations that are never seen...

Is there anyway to tell how much space I've saved with the changes I've made? I deleted six full maps and changed a vast amount of others to free up space, so I should have a bit more room to work with.

 :edit: Oh no! That's an older problem! When did this happen? I wonder now if it has been in since 0.04 or 0.05! Meaning that Tomato might encounter that soon, that's no good!

Also Chillyfeez, how do I tell where my map now begins? If I know where the map begins both unaltered and altered I can quickly fix it, otherwise I have a lot of perfect placement I need to do, which is simply not my strength.
« Last Edit: December 09, 2014, 04:53:46 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #88 on: December 09, 2014, 05:48:55 PM »
Sorry, what's the problem you've encountered?

Easiest way to tell where your map begins is... Figure out which map it is, then count off the pointers.
Start at B8000 (178000 in LoROM). The first line (B8000 through B800F) are the pointers for maps 00-07. Second line is 08-0F. Third line is 10-17, etc. Then reverse the pointer bytes and add to B8000 (178000 in LoROM). That's where your map starts.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #89 on: December 09, 2014, 06:01:25 PM »
I know what happened... how careless of me... when I was trying to make that clean patch that you eventually had to make for me I accidentally downloaded a 1.0 version and patched Combat Boost with it, not realizing its version. Shockingly it is still mostly stable despite 1.0 mixing with 1.1 except for several maps which are mixed up.

Unfortunately this sets me back a week but those are the only issues that I have seen. No maps past Mt. Ordeals are broken except for several background maps.

This means everything I've released this week has been broken.

Thanks for the pointers to the pointers... hopefully I can get this fixed before long!