Users browsing this thread: 1 Guest(s)
IOS Portraits for SNES (Finished)

#11
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
OAM expansion is not needed at the moment, as HatZen just replaced the sprites in the Shop screen with the list of names. I think the only thing missing at the moment is that you cannot invoke the name change screen for profiles 0E and 0F. With my recent sprite expansion patch for Leo, Banon, Esper Terra, Merchant, and Ghost, Everything else is functional.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#12
Posts: 9
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Jun 2018
Reputation: 0
Status
None
I've been a big fan of Hatzen08s skill overhauls. I haven't played without those in years. Aside from a translation/bugfix patch Ted Woosley Unscensored (trying to work out changing the class names), they're the only mods I install. I never could get his Guest Adder to work though. That's what started this recent trying to add in Banon and Leo. Both as a learning experience and because it would be ideal. My "vacation" from work is up now unfortunately so my learning time has become limited.
If I did keep them, but as guests, I was worried about Gogo not having magic, but I know guest 1 is Merit Award so his equipment would be fine. He is a mimic afterall, and planned on swapping magic and lore for pray and shock. And Guest 2 I know is Imp, and planned to keep Umaro unequippable and a true berserker, uncontrollable and just force equip his 2 relics. All something I've done before with a less permanent method.
But romhacking has proven to be a lot more work than I thought. I'll take a look in the Full Roster Hack ASM thread. I'm still learning the whole SNES romhacking thing, but the idea of it and hex aren't new to me. I come from a backround of patch code creation for the many cheat devices and always had a fasination with guests and moving data around to make them funtional (sephiroth and vincent in a party at the same time on playstation), things like that. Editing a rom seems very simliar, just more permanent.

Edit: After taking a look... far more complicated.
  Find
Quote  

#13
Posts: 3,966
Threads: 279
Thanks Received: 234
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(07-10-2018, 02:18 PM)PowerPanda Wrote: OAM expansion is not needed at the moment, as HatZen just replaced the sprites in the Shop screen with the list of names.

The $C3 OAM calls also cover roster select screen and save screen. Second one is not an issue since sprite $0E and $0F already have partial data for this but roster select screen might still be an issue, unless you switch it to have "shop fanfare poses".
  Find
Quote  

#14
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
(07-12-2018, 12:12 AM)madsiur Wrote:
(07-10-2018, 02:18 PM)PowerPanda Wrote: OAM expansion is not needed at the moment, as HatZen just replaced the sprites in the Shop screen with the list of names.

The $C3 OAM calls also cover roster select screen and save screen. Second one is not an issue since sprite $0E and $0F already have partial data for this but roster select screen might still be an issue, unless you switch it to have "shop fanfare poses".

I've tested the Save Screen and Party Select Screen with every spritesheet up to Kefka ($15). Realistically, without expanding the rom and relocating the sprites, that's as far as anyone will need to go. There only bug is the wrong palette on Esper Terra and Kefka. I figured out the source of this bug AND how to fix it here: https://www.ff6hacking.com/forums/thread...l#pid36282


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#15
Posts: 9
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Jun 2018
Reputation: 0
Status
None
I moved Leo and Banon back to guests and Gogo and Umaro are main characters again, but I have both of them appearing on the airship now (WoR only). You add them to your party by talking to them. I used the 5th and 6th ghosts recruitment codes and redirected it to the 2 guest slots (Ghost 1 versions only). To make sure you don't accidently add Banon and Leo on the Phantom Train, the 5th and 6th ghosts NPCs now copy the recruitment code of the 4th ghost. I haven't run into any problems other than the Leo and Banon NPCs don't disappear after adding them. I can live with that.
My question now, if I make everyone equippable, is it possible to make Leo and Banon share equipment lists with Edgar and Strago rather than merit award and imp?

Edit: Have to add, from experience with patch code creation, I've tried and the results were if 2 characters share the same properties, they are fully functional, but the sprite of both characters who share becomes an imperial soldier. Only one copy of each class/equip properties is able to exist at any one time. Even if they're not in the same party together.
But seeing things like MMMagic making characters share, I'm wondering if that negative result can be fixed with a patch.
  Find
Quote  

#16
Posts: 9
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Jun 2018
Reputation: 0
Status
None
So I successfully have 20 selectable characters on the Falcon Airship at this point. The 14 main characters plus Banon, Leo, Ghost 1, Ghost 2, Wedge, and Biggs. You add the guests to your party by talking to them and it overwrites either guest 1 or guest 2 slots after checking to see if you have space or already have a guest slot occupied in your party. So you can bring a maximum of 2 with you. Since equipping them isn't feasible because of the guest slots benig overwritten with each add, they've all been given the best store bought equipment in the proper categories and their level resyncs with each recruit. Biggs and Wedge also have different palettes based on the all the bravest (Biggs=Red and Wedge=Blue so Wedge uses 0 and Biggs uses 1 since it's the closest to that scheme).
They all use the recruits of the 6 recruitable ghosts, but the problem I'm having only on Leo and Ghost 1 (use 2nd ghost and 3rd ghost) is recruiting them temporarily makes Relm and Strago go invisible on the airship until you change screens (yet they can still be talked to). I think it has something to do with "Hide Object 17/18" I'm not quite sure how to make an IPS patch with only the altered 6 Ghosts (12 actually) portions of the code. Best I could do is show a video of it working.
It doesn't affect the phantom train because all 6 ghosts recruit into Guest Slot 2 (so not to mess with Banon) and only the weaker Relm Ghost, so you can only have 1 now, but not a problem if you have Shadow who doesn't leave (thanks Hatzen), and the code at the end being set to remove character 0E and 0F from party (even though OE isn't needed it's a just in case)
Soon to come they'll all appear to be added at the entrance of Phoenix Cave and Kefka's Tower so 2 can be added to party 1 if you left any blank slots. Unfortunately they will only add to party 1.
  Find
Quote  

#17
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
Sounds like a brilliant way to do it. On the airship, Relm and Strago are considered NPCs, so hiding objects would affect them. Every time you change screens, a small program runs that activates all event bits for all NPCs, then toggles them off based on the members of your party. That's why they show up again when you change screens.

The other thing you'll have to worry about is Cyan's dream. It can't handle more than the default characters, and there is zero room to expand it, since the 3 Stooges room is maxed out for NPCs.

EDIT: Just got to a laptop so I could double-check, and you're right. Strago's NPC is Object $17 (NPC #7), and Relm's NPC is Object $18 (NPC #8), so the code to hide those 2 objects is exactly what is causing the problem.

Also, regarding Cyan's dream, I think I AM going to put the hack together to take out the "splitting of the party". That frees up 24 NPC Event Bits and around 1000 bytes of Event Space. It would give you plenty of space to code your own events for the airship.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#18
Posts: 9
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Jun 2018
Reputation: 0
Status
None
I completely forgot about Cyan's Dream, but it makes sense that it would mess up. I know from experience of force adding Leo with different methods.
I know I wanted to do everything on my own, but I need help finding a way to add a piece of code so that when you access the party select screen it clears Guest 1 and Guest 2 data back into character 29 (the one inbetween Fake Mog and Maduin with 0 stats with daggers equipped in each slot which I'm pretty sure everyone starts as).
Like i previously mentioned, if 2 characters with the same properties/class are ever in 1 of the 16 slots existing at the same time, they still function perfect but become imperial soldiers in combat for their sprite. So let's say you were using Leo in Guest Slot 2, you opened the party select screen to clear it and add different normal members, then recruit Leo as your first Guest in Guest Slot 1, he would appear as a soldier in battle because Leo/General already exists as Guest 2 also, even though you're not using him there. Easily fixed by say recruiting Biggs as Guest 2 so only 1 copy of General exists again. But a check at the party select screen to return both guests to character 29 would completely solve this issue.

Since I'm new to rom hacking and don't know any technical terms or how to isolate this into an IPS patch, a more detailed explanation of how this works to choose 2 of 6 guests is below.

Checks to see if there's a free slot in the party
-No: Displays party full message
-Yes: Checks to see if Guest 1 is in the party
--No: Adds selected character to first free slot as Guest 1
--Yes: Checks to see if free slot in party
---No: Guest 1 removed. Able to add new Guest 1 (this was unintended. ideally it would just replace with new Guest 1)
---Yes: Adds selected character to first free slot as Guest 2
--- If Guest 2 is already Guest 1, moves Guest 1 to Guest 2 freeing up Guest 1
--- If party is already full with a Guest 2, replaces Guest 2

I may replace the inferior Ghost #2 with the rumored Kappa the Imp. It went something like if you equipped a character with all the imp equipment, turned him into an imp and named him Kappa he would become a permanent character. Don't need 2 unnamed Ghosts. And Kappa can be my dedicated Jumping Dragoon.

And about coding my own events for the airship, the 6 guests appear as soon as you get the Falcon. I don't know where to start for making actual recruitment events to make these characters appear other than linking them to the recruitment of one of the main characters. But if say Leo is linked to Terra, then he won't appear until you've recruited Terra to the airship, but when Terra is in your party she is not on the airship so neither is Leo.
  Find
Quote  

#19
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
Well, on the upside, you've finally figured out a mystery that I've never seen answered, which is why the Battle Data and OAM data has 2 copies of the Imperial Soldier.

In order to tie an NPC to an event, you need to tie them to an event bit in the 500 or 600 block. There isn't a disassembly that lists which of those bits affect which NPCs, or more importantly, which ones are open. However, when I get around to coding the hack that dummies out the party break-up from Cyan's dream, there will be 24 NPC event bits that are guaranteed to be available. (Note: I've already coded this hack, but I have it embedded in about a dozen other changes I made to that scenario for my Definitive Edition hack. I need time to separate it out from the rest.) All you'll have to do is decide when to set those bits. On the plus side, you can choose to clear those bits when you recruit the guest to your party, so that they don't show up in the airship anymore.

As for your question on clearing out the guest profile data, you just have to code up a subroutine to do it, and have that subroutine run before you add a new guest to your party. You probably won't be able to get away with just copying the ghost recruitment scenes; you'll have to do a bit of your own tweaking. Here's what your event will look like.

SUBROUTINE
1. Copy Property $24 to Character $0E (Replaces Guest 1 with blank property 36)
2. Copy Property $25 to Character $0F (Replaces Guest 2 with blank property 37)
3. Remove Character $0E from Party 1
4. Remove Character $0F from Party 1
5. Refresh Objects
6. Make Character in Slot 0 The Leader
7. Position Character in a Ready To Go stance
8. Set all of the NPC Event Bits.
(note that I chose properties $24 and $25 because (a) they are unused, and (b) I am working on a full roster hack that will shift Banon and Leo to $22 and $23. This will assure compatibility should you choose to add that hack at a later date.)

RECRUITMENT
1. Call Subroutine to clear out the profiles
2. Do the event as you have it written.
3. Clear the NPC event bit corresponding to your guest.

Also, as a final note, you are going to need my sprite expansion patch. Otherwise, these characters will graphically glitch out when riding Chocobos or Magitek. You can find the patch at:
https://www.ff6hacking.com/forums/thread...l#pid36256


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#20
Posts: 9
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Jun 2018
Reputation: 0
Status
None
I will have to play around with it some more and I'll get the hang of it eventually. 
I realized I created a problem. During my initial tests, the one that my description of how the squeezing 6 guests into 2 slots works, I only originally modified the 6 Strago Ghosts as 0E (save time before goin all out). So recruit 1 would add the chosen character as guest 1 and recruit 2 would then change Relm to one of the six Ghost 2s. So Everything was working as intended. So finishing it up and moving the Relm Ghost2 to 0F/Ghost2 it doesn't want to work if it's on 0F. It won't shift to the second guest slot with a second recruit now, but won't modify Relm either (so that parts working). Or perhaps it is still working and just failing to add 0F to the party but still changing 0Fs data. It's likely just a simple offset change that needs done and the 08 is changed to 0F all the way through on each of the 6 Ghosts.
For now I've isolated Wedge/Banon/Ghost 1 to 0E and Biggs/Leo/Ghost 2 to 0F without it trying to shift to the next character during the recruit. That does allow any combination of sprites and fully solve the issue of having 2 copies of the same character properties existing on different slots, but it's still a temporary solution. This temporary method is working 100%.

CB/AB1F: B2    Call subroutine $CAC5C1 (set CaseWord bit corresponding to number of characters in party)
CB/AB23: C0    If ($1E80($1A3) [$1EB4, bit 3] is set), branch to $CBAAD9
CB/AB29: DE    Load CaseWord with the characters in the currently active party?
CB/AB2A: C0    If ($1E80($1A7) [$1EB4, bit 7] is set), branch to $CBAB4E

-I suspect the problem of making it properly move to the next character slot has to be in this somewhere which is not modified at all. Works properly with 08 but not 0F. 

I suppose I could move Umaro to 0F, move guest 2 to character 08, and shift the rest of the cast to the right and it would properly add guest 2 to the party again. It would also allow access to your chosen Guest 2 at the party select screen. I'd just force the Rage Ring and Blizzard Orb into Umaro's relic slots.
But if I'm gonna do that I might as well move both Gogo and Umaro to Merit Award/Imp either 0E/0F or 0F/0E  (which is correct? for allowing Gogo to equip anything if I eneable equipping of the Merit Award Slot?), and allow slots 0C/0D to be the ones that can hold each of the guests so you can use the party select on them and it would be Gogo and Umaro that you would add by talking to them. Talking to your guests would just determine who is the active 2 characters for 0C/0D.

https://drive.google.com/file/d/14GhxPB_...sp=sharing
Here's the temporary method working. The only changes made to it at this point are
1. Dialogue changed so it's not Sabin/Cyan speaking
2. Wedge changed to palette 04 so he's the higher ranking soldier
3. characters sandbox around the airship
4. I fixed the issue of Strago/Relm NPCs being temporarily deleted on guest recruits.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite