øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1605.msg16036e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index338a-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1605.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index338a-2.html.zxafg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ…¬ OKtext/htmlISO-8859-1gzip8:Ö ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 10:21:44 GMT0ó°° ®0®P®€§²ð®`fg^ÿÿÿÿÿÿÿÿ+  Who Appears in Scenes

Author Topic: Who Appears in Scenes  (Read 8059 times)

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Who Appears in Scenes
« on: May 22, 2011, 12:34:40 AM »
I haven't found any documentation on how the game determines which sprites appear in a given scene.  Take the Fabul crystal room scene for example.  If I wanted to change Golbez to Lugae, how would I go about that?  Is this part of the event data (can't find it if it is) or is there some sprite index tied to each location map?

Please note that I am not simply talking about switching one sprite's tile graphics for another's, like you can do in TileMolester or such.  I'm talking about changing which sprite ID is used in a scene.

Any help is appreciated.

Thanks!

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #1 on: May 22, 2011, 01:31:47 AM »
I currently have this same issue. From what I understand, there are certain sprites loaded to each map, which seems to mean this...

top of the tower of zot, for example
we have Cecil, Tellah, Yang, Cid, Kain, Golbez, and the lightning bolts he shoots at you

however in the next map you have Cecil, Yang, Cid, Kain, Rosa, Valvalis

in an event, the same instructions that would say show npc sprite number ??? "here"
using this same instruction in the next map that sprite number "???" might show a different sprite

the instruction to show npc# whatever does not specifically mean a specific sprite, so the number for the sprite you manage to display on one map will be for something else in another AFAIK :(

so honestly i do not know what to do... I hope someone is more familiar with this, there might be an instruction to change sprite #??? into sprite #??? but i dont know how...
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #2 on: May 22, 2011, 06:59:23 PM »
I bet Phoenix knows, since he created both an event editor and a map editor.  Hopefully he will see this thread and share his expertise.

Vehek

  • Siren
  • *
  • Posts: 75
    • View Profile
Re: Who Appears in Scenes
« Reply #3 on: May 22, 2011, 07:11:26 PM »
Phoenix posted the kind of information you want before, over here.

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #4 on: May 22, 2011, 11:07:38 PM »
Neat!  I knew somebody could help!

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #5 on: May 28, 2011, 03:16:33 PM »
Ok so i am aware of Phoenix's info on "who appears in scenes"... my question is, is anyone experienced with it? because, for one thing, i just totally remodelled Damcyan and i need to shift some npc's around... id also like some of them to still be preasant since I added places to have weapons/armor/item stores
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #6 on: May 29, 2011, 02:56:45 PM »
This stuff is a complete pain in the @$$.  Over the last few days I thoroughly remodeled the scenes where you meet Edge, find Edge's parents, and then the Rubicant fight and aftermath.  This required a lot of switching and moving around of sprites, and it is a nightmare.

Here is an example that might help you to make sense of how it works.

I replaced the Queen of Eblan with Cid during the "Rubicant confrontation" scene, since Cid is in the party for this scene and the queen is already dead anyway.  Now, the data for placement of the instance of the queen sprite on that particular map is from 098F18-098F1B.  Here are the values for those locations:  84 0F 11 CE.  I needed to move the sprite down so that it would appear with the other party members when I toggled party member map sprite visibilty during scene editing.  So, I changed the values to 84 0E 14 CC.  That second bit (0F) is the X value on the map and the next bit (11) is the Y value.  So, I moved the sprite left one step and down three steps.

Palette and direction are tricky.  Both are controlled by the 4th bit.  Now, when you change NPC sprites into PC sprites, as I did here, you don't have to worry about palette, because PC sprite palettes override NPC sprite palettes.  Going the other way is tricky.  Anyway, changing that fourth value from CE to CC made the sprite switch from facing south when it appears to facing north when it appears.  Since my comprehension of this is not the greatest, I literally experiment with all of the values until I find the palette and direction combination that I'm looking for.

The last thing is changing which sprite appears, but that is easy to do.  There is a big table that controls which sprites appear where; it's included in the zip file that was linked to above.  Once you know which sprite is controlled by which bit (which the zip file can tell you), it's easy to swap sprites around.  In my example, I had to change location 097284 from 50 (queen sprite) to 0A (Cid sprite).

EDITED TO ADD:

If you'll indulge me, here are some screencaps of my handiwork.





« Last Edit: May 29, 2011, 03:12:56 PM by fedorajoe »

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #7 on: May 31, 2011, 09:07:01 AM »
So, it shouldnt be too hard if the main thing i want to do is change all the spots where you have "rosa' to appear as edward then? using her lines and such right? since i don't have a lot of instance where i need to move around sprite locations etc.
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #8 on: May 31, 2011, 06:04:12 PM »
No dude, it's super easy.  If that's all you want to do, you just have to replace all instances of the Rosa sprite that you want to change with Edward's sprite instead.  The sprite table is from 97200-973FF.  Instances of Rosa appear as an 05 and instances of Edward appear as an 04.  Sometimes it is hard to tell by looking at the table which instance is which, but just experiment and you'll find what you need.  It's VERY roughly chronological, with overworld at the top and underworld and moon toward the bottom.  But there are exceptions.  There are also some instances where two maps or two scenes will reference the same sprite, perhaps when you don't want them to.  But this can be fixed as well.

Now if you also want to change the X/Y location, movement speed, direction the sprite is facing when it appears, etc. then you have to get into the more advanced stuff that I referenced above.

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #9 on: June 01, 2011, 01:44:43 AM »
oh ok, the main thing is that i can change who appears in the party in special scenes since u lose rosa at babil.

the only special thing i might want to do is make anna be standing in front of the door in the cave with the trap doors. so she can join at a decent time + give you the luca key...
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #10 on: June 02, 2011, 07:20:30 PM »
Yes.  To change who appears in special scenes, all you have to do is swap the sprites in the big table as I described before.

With that said, I do not know how to add additional sprites to a scene.  I only know how to switch existing ones for new ones.  However, there are some maps and scenes that have unused or duplicate sprites, which are perfect for this purpose.  (Example:  the scene where Kain steals the Dark Crystal actually has two Kains... one that moves at normal speed and one that is faster.  So, I took the second one and made it into Golbez.)

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #11 on: June 02, 2011, 08:35:55 PM »
ohhh well that is the scene that  i need, well that, but for the scene when you first get there? is there a scene when you first get there i dont recall.

at any rate i need one that would show anna (paladin cecil sprite overworld sprite) standing in front of the sealed door as if shes about to open in with the luca key, this is exactly the perfect point for her to join as the 5th character. using the luca key sets a flag right? so could i not tie getting her in with having used the luca key (set flag) so it hides that sprite after that point?

(i learned too that the game associates later actors with whichever sprite they load from the shadow party, so in my patch any scene with paladin cecil always looks like dark knight cecil without glitches)

Edit: I have managed to change the "Captains" that look like generic baigans, to look like blue guards (redwing sprite) in order to make Baigan unique... So i think im slowly figuring it all out
« Last Edit: June 03, 2011, 04:54:27 AM by Zozma »
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #12 on: June 03, 2011, 01:22:48 PM »
Any of the sprites that appear in the scene where Kain steals the crystal can easily be set to appear automatically when you enter that map for the first time.  All you have to do is tinker around a bit to find out which sprite is the one that you want to edit, then change the 4th bit for that sprite.  You can use the 4th bit to change whether or not the sprite is visible when you enter the board, as well as what direction it is facing (as well as its palette, walking speed, whether or not it walks in place, etc.).  And then you can set the sprite to being permanently invisible after the scene is over.

You can definitely do what you imagine, it just takes some edits to the sprite table and to the code for the scenes attached to that map.

Since I just made edits to this map myself (Yesterday!), I will get my notes on what sprite is what, and where each is located in the code, and send it your way.

Zozma

  • FF4 Hacker
  • *
  • Posts: 120
    • View Profile
Re: Who Appears in Scenes
« Reply #13 on: June 03, 2011, 03:22:49 PM »
I very much appreciate that! thats one of the main things i have to change

btw i did an interesting event edit when cecil normally would meet baigan inside baron, instead all dialogs are removed and the game takes over and walks cecil strait to the throne room (reluctantly, i make him pause look downcast for a second then turn around and take a few steps closer) and stops just in front of the fake king. of course i had to do that because baigan is in your party here and doesnt betray you (yet) but i thought it would be fun to fill in the space of that event instead of completely removing it.

oh there is another thing. what if i want to change a specific npc's color palette? for example, rydia's dead mother, what if i wanted to make it so that npc is using the same palette as ryidia (or even just a different npc palette for that matter)
« Last Edit: June 03, 2011, 04:53:04 PM by Zozma »
eh, what do I care...

fedorajoe

  • Mom Bomb
  • *
  • Posts: 123
  • Gender: Male
  • "G...Golbez!"
    • View Profile
Re: Who Appears in Scenes
« Reply #14 on: June 03, 2011, 06:19:28 PM »
OK.  You will have to change the sprite placement information for the character you are switching.

The placement information for the 2nd Kain (the sprite I changed in my hack) is at 0995D0.  Whe you go to that location, you see this:

0F 04 05 C2

0F = ID for Kain sprite
04 = X value on map
05 = Y value on map
C2 = direction, palette, speed, etc.

I wanted this sprite to be Golbez, who appears in the entrance to the Sealed Cave.  So, I changed the values to:

13 04 0B 54

(Normally you would use 24 for Golbez rather than 13, but I switched Edge and Golbez in my hack.)

I think you said that you used the Paladin Cecil slot for your playable Anna's sprite.  Now, I haven't tested this yet, but try changing the values to something like this:

C3 04 03 54

C3 = ID for Paladin Cecil sprite
04 = standing in front of the door on the X-axis
03 = standing in front of the door on the Y-axis (I think)
54 =normal walking speed, facing up toward the door, not walking in place

You don't have to worry about palettes when placing player characters, because the player character palettes override whatever townsperson palette would otherwise be displayed.  But, you might have to try different values for that fourth bit to get the direction and movement speed that you want.

I don't have very good comprehension of how that bit works, quite frankly, so I just experiment with it.

When messing with non-player sprites, just play with the value of that fourth bit to switch the palette.  Bumping it up by 10 seems to cycle through the palettes.  Each time you loop through the palettes, the movement speed increases.  Changing the value by 1's instead of 10's will cycle through all the directions the sprite can face.  Just play with it a bit and you'll see what I mean.

So if you want to change the palette of Rydia's mother, you would just have to find her sprite in the placement data and alter it.  I don't think you can apply Rydia's palette to her, though...  I think it only loops through the three townsperson palettes plus the Black Chocobo's palette, but frankly, I haven't experimented enough to know for sure.  The ID for Rydia's mother's sprite is 5A, woman lying down.  I think there are only two instances--Mist and Toroia.