Users browsing this thread: 1 Guest(s)
Guest Adder Patch and Events

#11
Posts: 110
Threads: 4
Thanks Received: 4
Thanks Given: 1
Joined: Jan 2012
Reputation: 4
Status
None
Yeah, everything in that scene is a scripted event, so he wouldn't have been needed. There is no actual battle going on, unlike in most of the other battle cutscenes.
  Find
Quote  

#12
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
Need of some extra info about monster #379, since it will play a vital role in my hack: so... battle events are also able to make appear ALL type of sprites? I ask it because Gestahl is basically a map sprite, rather than a battle sprite, so that should mean i might potentially call whatever i want, if i overwrite original events, right?


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#13
Posts: 676
Threads: 44
Thanks Received: 26
Thanks Given: 21
Joined: Jan 2015
Reputation: 11
Status
Zombie
I haven't studied the code, hell when I first downloaded it I thought the pdf and txt were the same info...

Anyway, how hard would it be to make this check on a rare item instead of a common item? Or the unused bits for the unused rare items?


The only true wisdom is knowing you know nothing.
  Find
Quote  

#14
Posts: 149
Threads: 21
Thanks Received: 40
Thanks Given: 3
Joined: Dec 2013
Reputation: 9
Status
Auto-life
Quote:Anyway, how hard would it be to make this check on a rare item instead of a common item? Or the unused bits for the unused rare items?

You will need to rewrite the following code:
Code:
check current item for guest adder items
C3/F0A3 BD 69 18       LDA $1869,X     item id
C3/F0A6 C9 FF          CMP #$FF        empty item
C3/F0A8 F0 0C          BEQ $F0B6       skip if item is invalid
C3/F0AA CF C0 80 ED    CMP $ED80C0    item id of guest #$30
C3/F0AE F0 0E          BEQ $F0BE       set guest adder as available
C3/F0B0 CF D6 80 ED    CMP $ED80D6    item id of guest #$31
C3/F0B4 F0 0C          BEQ $F0C2       set guest adder as available

search next item
C3/F0B6 E8             INX             try next item slot
C3/F0B7 E0 00 01       CPX #$0100      max item slots
C3/F0BA D0 E7          BNE $F0A3       try all items

The routine will branch to C3/F0BE to flag the setup of the first guest and to C3/F0C2 to flag the setup of the second guest. Instead of the item in the guest data as a condition, you can use another variable to determine if the guest will be added to the roster. It can be a rare item flag or events flags. You only need to discovery its variable/RAM address and the appropriated opcodes.

In summary, the new routine must branch/call to C3/F0BE (first guest setup) or C3/F0C2 (second guest setup) based on your specific conditions. If they aren't called, the guests aren't added to the roster. Otherwise, the specific guest is added.

You will also need to rewrite the end of C3/F0BE and C3/F0C2. They branch back to C3/F0B6 in the old code. Because the code will be rewritten, you must take it in consideration. If you call C3/F0BE and C3/F0C2 with JSRs, you can substitute the branchs for RTS (return), but it depends on your implementation.
  Find
Quote  
[-] The following 2 users say Thank You to HatZen08 for this post:
  • Catone (03-21-2015), Giro (04-29-2018)

#15
Posts: 676
Threads: 44
Thanks Received: 26
Thanks Given: 21
Joined: Jan 2015
Reputation: 11
Status
Zombie
Nice, so not to hard at all.

Thanks again for the information.


The only true wisdom is knowing you know nothing.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite