Aslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=278;area=showposts;start=1155e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index19bf.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=278e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index19bf.html.zxg^0P.OKtext/htmlISO-8859-1gzip8:Tue, 10 Mar 2020 19:25:38 GMT0 0Pg^. Show Posts - chillyfeez

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - chillyfeez

1156
Is Mythril Reinforced Aircraft a different kind of vehicle from the normal aircraft? Is going over a Lava a flag or is it considered to be a different variable of a vehicle?
I thought of that a day or two ago.
When I was breaking down the tile properties, I was primarily experimenting on the Overworld, but figuring that out exactly will be part of the project I'm about to undertake.
My theory - and it's only a theory - is that there is an as-yet undocumented by me property that blocks airship travel until a specific event flag is set (like the Magnes Cave flag). Event flag 39 (hex) gets set at the end of the event when Mystic Silver is added to the Falcon. So I'll play around with that when I'm messing with Underworld tiles. Part of me wonders if the Underworld might have some slightly different tile properties, since there would be no (default) need to dictate chocobo or Lunar Whale travel. I will find all of that out in good time.

Does changing $0D actually have any effect?
There are two ODs. changing the one at 0D77 changes the music while riding the hovercraft. Changing the one at 0D74 changes what music is cued when dismounting your vehicle. The "mode of transport music cue" subroutine at 0D3F is called at every mount and every dismount. It checks the value at 1704 in RAM and adds that to 0D74 ($8B74 in LoROM). So if you're on foot, your value at 1704 is 00, and it will cue the song at 0D74.

1157
So for the past couple of days, I became somewhat obsessed with making an airship that would rise and zoom differently than what is standard. I finally began writing my own takeoff and landing routines based on those of the Hovercraft. It was coming along nicely, but then I finally came to realize - being able to do this, while a fun little diversion and a useful exercise to learn some ASM, is not really very helpful.
You see, even if I can make the Falcon rise a few pixels off of the ground with no zoom out, I still have no idea if it's possible - and if so how - to make it's travel and landing ability different from the Highwind. So this would really only be a novelty at best.

Anyway, I decided instead to put what I've learned towards pursuits that are actually of use, and on that note, I discovered how to change the music that plays with each vehicle!
The pointers are located at 0D74 in ROM.
By default, the string reads:
Code: [Select]
0D 04 05 0D 18 18 0EThese represent the songs played while on foot, riding the Yellow Choc, the Black Choc, Hovercraft, Highwind, Falcon and Whale respectively. Just change the appropriate byte to any other value between 00 and 37 for a different song. Yes, the Highwind and falcon have separate assignments, and yes, you can have the game play different music when you're riding the hovercraft.
It should be noted that I don't know how the game handles cuing underworld and moon music when you are at those places, because OD is definitely the "Overworld" song.

Next up for me is creating a map of the world map tilesets. Having that in combination with knowledge of the tile properties will make for easy editing of where each vehicle type can travel.

1158
Final Fantasy IV Research & Development / Re: Actor names in battle
« on: August 27, 2013, 10:12:33 AM »
Are you talking about the fact that the paladin will always have the same name as the dark knight in battle, or is there more to it than that?

1159
Sorry, no, I guess I didn't explain that right...
If you change the tile properties so the chocobo can land on non-forest land, it's bottom half will still be invisible when it lands.
It's fully visible when flying.
This is really only a problem if you want to turn your chocobo into a different vehicle. It's a fully-working patch if you want a pet chocobo.

1160
For my next trick...
A Black Chocobo that doesn't fly home!
Here's how:
There is a byte of RAM at 1715 that is set at 00 by default. Every time the Black Chocobo takes off (routine at 202B in ROM), the game checks to see if this is 01, AND the game increases this by 1. If 1715 is 01, then the game executes the fly home routine. If it's any other number, you get control of the Black Chocobo. So, I just took out the part that increases 1715 - it stays at 00, and you never have to fly home!
the ips is attached.
This essentially makes the Black Chocobo like a second Hovercraft. The height can be modified by taking similar steps. The only problem is that when the chocobo lands, the lower half of its body is always cut off, even when not in the forest. I haven't checked TLP to see if this is just programmed-in graphics, or if the game is cutting the graphics off somehow.

1161
Some exciting developments on the airship modification front...
Turns out the Enterprise, Falcon and Whale all have different places in RAM that store their height (06B7, 06B8 and 06B9 respectively).
As such, they each have separate takeoff/landing routines.
By taking out all instructions regarding height and zoom from the takeoff/landing routine, I've managed to (almost) successfully modify the Falcon to travel along the ground instead of rising. The only problem is that the ocean turns solid blue (instead of animated and wavy) until you enter a location, enter a battle, or takeoff in the Enterprise (in other words, when the game actually needs to reload the entire Overworld map). Once I get this kink worked out, I'll post a patch for anyone who wants it (what I'm doing is a bit more lengthy than just changing one byte like the hovercraft mod).
Unfortunately, I have to stop for today so I won't get to finishing. In case anybody is feeling industrious about this one, I'm modifying the takeoff routine at 228B (A08B-A0CC if you want to disassemble in Geiger's) and the landing routine at 27B0 (likewise A5B0-A63B). All I'm doing is taking out all commands related to Height (06B8, often just referred to as "B8") and Zoom (06AD, often just referred to as "AD"), then putting a new "60" at the end of the shortened routine and filling the newly voided space with FFs. Doing this will get you to where I am now in the process.
*whew*

1162
Huh... I had seen the thread where he talked about working on this patch, but never saw this.
On the one hand, this is awesome.
On the other hand, I can't believe I spent so much time thinking about the logistics of how I would work character exits and reappearances in my hack using only five slots!

1163
The airships and the Whale are much tougher to crack. The height off the ground and the zoom on the overworld are separate values, but they are linked (as previously stated). Unfortunately, I can't find where the value is set for height in the takeoff routine, and believe me I've tried. I spent hours poring through routines and subroutines looking for that one elusive "10" that sets the airship's height... I just can't find it. Furthermore, if you change the "10" that defines the relationship between height and zoom, it just makes funkiness happen.
I wish it were possible - I mean, who needs two different airships anyway? I used to think that was silly even before ROM hacking existed...
I haven't tried chocobos because of their running away. Might be able to make a workaround for the black, but I doubt you could do much with yellow.

1164
Related to this topic, but only tangentially related to any of Pinkpuff's questions:
Does anybody know/have any insight about the Overworld "objects?"
This is how we generally refer to them in event editing - I mean the mountains that close around Mist, the ship, the mountains/hole by Agart, any others I'm forgetting.
I wonder if it's possible to change their locations and/or functional arrangements.
Is it possible to make the ship appear somewhere else?
What if I want disappearing/reappearing mountains between Mysidia and Mt. Ordeals?
Or disappearing/reappearing other kinds of terraformation?
Yousei's document refers to the routine that handles these depending on events, but doesn't say anything else about it. I don't recall ever seeing anything else besides the flag to turn them on and off within events.
 :hmm:

1165
Hmm... new problem - you can't "no dust" the hovercraft's initial launch  :bah:
 :edit: Figured it out!
Within the takeoff instructions, you have:
Code: [Select]
$00/2162 20 7A 9F    JSR $9F7A  [$00:9F7A]; jump to subroutine at 9F7A
$00/2165 20 3F 8B    JSR $8B3F  [$00:8B3F]; jump to subroutine at 8B3F
the subroutine at 9F7A is the dust animation! so, all we have to do is change the 20 7A 9F at 2162 to a repeat of 20 3F 8B, thereby skipping the dust subroutine without altering the size of the ROM (apparently, it doesn't matter if subroutine 8B3F is doubled - this seems to have no effect).
So instead, you'll have:
Code: [Select]
$00/2162 20 3F 8B    JSR $8B3F  [$00:8B3F]; jump to subroutine at 8B3F
$00/2165 20 3F 8B    JSR $8B3F  [$00:8B3F]; jump to subroutine at 8B3F
And the initial launch will not show the dust!

On the positive side, the hovercraft landing sequence was easy enough to find/fix.
The routine's at 21C6. Change 21D3 from 04 to whatever you've set the hover height to be for a smooth landing from any height.
So, if you've set the height (2176) to 18 (which will be super-high), set 21D3 to 18 as well. Voila!
 :edit: Why is this useful, you might ask? Well, if you wanted to turn the hovercraft into, say, a flying dragon a la FFV instead of a sea ship, you now have the ability to do so.


1166
I've figured some useful stuff out. I'm not yet at the point where I can say I've cracked vehicle data completely, but I've got the missing necessary information to turn the hovercraft into a ship.
in RAM:
  • 06AC: Travel Speed - For hovercraft, the default value is 01, and the max is 03 before the game gets buggy
  • 06B6: Hovercraft's height off the ground - default value is 04. Shadow becomes visible at 02. Anything higher than 06 or so results in funky landing animation (there may be a way to alter landing animation, too). Anything higher than 7F makes the hovercraft go out of the screen. It will eventually circle back around from the bottom. 00 is the max value, not the min (00 will make the hovercraft circle the entire screen)
The set of instructions that makes the Hovercraft take off is at 2149-2178 in ROM.
To change the height it rises, change 2176 from 04 to whatever you want (01 for best Sea Ship results).
To change the speed it travels, change 2150 from 01 to anything 00 through 03.

Other (potentially) useful information:
06AD in RAM is the Zoom level. it ranges between 10 and 31 without bugging. I have not been able to successfully change the airship takeoff instructions so that the airship flies at a different zoom, though.
06B7 in RAM is the airship's height off the ground. yes, this is separate from the hovercraft's height off the ground, and it is separate from the Zoom level, however, the airship takeoff instructions link the height and the zoom (I believe it says zoom will be height-10). At this point, though, it doesn't really matter, because I can't change the height setting in the takeoff routine.
06FD in RAM is the speed of vehicle sprite animation (propellers spinning) it can be set between 00 and 0F. I don't really care about this, but maybe someone else does.

1167
The byte in RAM that determines what vehicle (if any) you are traveling in is 1704. it's 00 for walking, 01 for Yellow Chocobo, 03 for Hovercraft, 04 for Enterprise, 05 for Falcon, 06 for Lunar Whale (I assume 02 for Black Chocobo, but the game wigs out if you try to change this by hand in Geiger's).
The instruction to change this to 03 in ROM (to "become" the hovercraft) begins at 2149 (I think this is where it begins).
If you change the 03 at 214B to 04, then entering the hovercraft makes you "become" the Enterprise instead, but the screen does not zoom out like if you enter the Enterprise normally. Likewise, you travel at Hovercraft speed, not Enterprise speed. However, you have Enterprise travelability, not Hovercraft travelability. Also, the game bugs out when you land because you land like the Enterprise, but you're not zoomed out on the world map.
There are definitely other instructions going on in this routine, presumably instructions that set the speed and zooming, but as I've said before, I'm not particularly good at interpreting assembly. Anybody else have any input here?

1168
I thought about that, too. I haven't gotten around to actually checking the graphics to see if there are separate sprites for the traveling and stationary hovercraft (and ship).
Also, I'm wondering whether the property of vehicles separates the raising motion from where it can travel. If it was possible to say "travel like the hovercraft but rise like the yellow chocobo," that would solve the issue. Now if we only knew where vehicle properties were stored. I'm gonna try to figure that out, but I'm not holding my breath I'll be able to find it. It's going to be such a small collection of data, so it'll probably be easy to miss...

1169
So, a lot of this is answered by my data on world map tile properties (http://slickproductions.org/forum/index.php?topic=1866.0)
The ability of each vehicle type to travel on/over a tile and the ability to land/dismount on a tile is determined by the properties of the tile. It's fully customizable.
That being said, it is therefore entirely possible to create a sea ship, but you would have to ax the hovercraft (because the ship will travel anywhere, will land nowhere, and this can't be changed)
- make ocean tiles travelable by hovercraft
- make bridges travelable by hovercraft
- make every other tile not travelable by hovercraft
- swap the graphics of the ship and the hovercraft
You'll now have a sea ship that travels oceans and docks at bridges. You can add bridges to the map at strategic docking points.

I'm still unclear about the rest of the (largely cosmetic) properties of vehicles. I imagine there is a bank of data somewhere that assigns graphical pointers and what kind of vehicle it behaves as to each one.

1170
Well, that actually went very smoothly, thanks to FF4kster, as a matter of fact!
As previously stated, the properties of individual tiles within a world map tileset are located at
A0C80-A0F7F - 2 bytes per tile, FF bytes per world map. I can and will eventually make an image of the tilesets, but that really will take a while because I'll have to jump back and forth between TLP and Paint.
But anyway, here are the data for each tile:
BYTE 0
------
Bit 0: Walkable, ground level
Bit 1: Chocobo can walk (Can only dismount if also walkable)  :edit: Also, airships can fly over only if event flag 57 is set
Bit 2: Black chocobo can fly over
Bit 3: Black chocobo can land (shadow will be partially obscured during flight, bottom half of chocobo is always obscured when it lands, does not have to be coupled with "walkable," but you won't be able to do anything upon landing)
Bit 4: Hovercraft can travel (Can only land if also walkable)
Bit 5: Airship can fly over
Bit 6: Walkable, plateau level
Bit 7: Lunar Whale can fly over

BYTE 1
------
Bit 0-2: Battle Background
 000: Overworld Field
 001: Beach
 010: Forest
 011: Desert
 100: Underworld Field
 101: Moon Surface
 110: Inside moon cave, instant death
 111: Forest
Bit 3: Obscures lower half of body
Bit 4: Airship/Lunar Whale can land (Does not have to be "walkable," but you won't be able to do anything)
Bit 5: (?) Unused
Bit 6: Encounters possible
Bit 7: Trigger tile

A couple of odd things I discovered in this process...
-Tiles 00, 10, 20, 30 in the Overworld tileset make up the 4x4 block of snow-capped mountains. Whereas every other tile is 1x1, these four "tiles" are 1x4.
-The bridge on the world map does not work like the bridge in locations. Its travel-ability is identical to that of the field tiles. I have not been able to figure out how the game knows to make the chocobo run under or over it appropriately.

Given how much data about travel-ability is editable, I've got some exciting ideas about vehicle possibilities, but I will post that to the proper thread. Also, not tonight, I'm going to bed.