Patch: Reward Display
Patch: Reward Display 1.0
Target: Final Fantasy 3, Version 1.0, English, With Header
Download
Description:
The Colosseum system is based on a duel between a opponent and a character. To participate in the duel, a bet item must be selected in the item screen. The selected item will determinate the opponent and the reward item for the duel.
Unfortunately, the item window in the Colosseum doesn't display the reward item before the bet item is selected. After the bet item is selected, the reward item is displayed. However, without prior knowledge of the reward item, it can be a undesired reward for the bet item. The selection can't be undone and the player are forced to participate in the duel.
The patch changes the item display in the Colosseum window. It now displays two columns. The left column is the reward items and the right column is the bet items. It allows to know in advance the reward item for the selected item.
Target: Final Fantasy 3, Version 1.0, English, With Header
Download
Description:
The Colosseum system is based on a duel between a opponent and a character. To participate in the duel, a bet item must be selected in the item screen. The selected item will determinate the opponent and the reward item for the duel.
Unfortunately, the item window in the Colosseum doesn't display the reward item before the bet item is selected. After the bet item is selected, the reward item is displayed. However, without prior knowledge of the reward item, it can be a undesired reward for the bet item. The selection can't be undone and the player are forced to participate in the duel.
The patch changes the item display in the Colosseum window. It now displays two columns. The left column is the reward items and the right column is the bet items. It allows to know in advance the reward item for the selected item.
Code:
;-------------------------------------------------------------------------------
;reward display 1.0
;
;display reward items in Colosseum item screen
;-------------------------------------------------------------------------------
header
hirom
;-------------------------------------------------------------------------------
;main link
;-------------------------------------------------------------------------------
org $C37FD0
JMP selection ;select text to display
warnpc $C37FD3
;-------------------------------------------------------------------------------
;selection
;
;select between normal text display or new Colosseum setup display
;-------------------------------------------------------------------------------
org $C3F800 ;(*) change for any free space
print "seg start: ", pc
selection:
;check system event
LDA $26 ;system event
CMP #$71 ;to init colloseum screen (item selection)
BEQ bet_display
CMP #$72 ;to mantain colosseum screen (item selection)
BEQ bet_display
;old code for no-Colosseum events
JSR $80B9 ;build string for item name
JSR $7FD9 ;display text. (Y=location in rom)
JMP $7FE6 ;display item type
;-------------------------------------------------------------------------------
;bet display
;
;setup and display formated strings for the new Colosseum setup
;-------------------------------------------------------------------------------
bet_display:
JSR display_setup
JSR display_reward
JSR display_delimiter
JSR display_item
RTS
;-------------------------------------------------------------------------------
;transfer start
;
;init transfer of string
;-------------------------------------------------------------------------------
transfer_start:
;setup transfer
LDX #$9E8B
STX $2181
;exit
RTS
;-------------------------------------------------------------------------------
;transfer advance
;
;advance position onscreen for string based on X value
;-------------------------------------------------------------------------------
transfer_advance:
;advance position
REP #$20 ;set C
TXA ;get position to advance
CLC
ADC $7E9E89 ;sum with existing one
STA $7E9E89 ;save position
SEP #$20 ;set A
;exit
RTS
;-------------------------------------------------------------------------------
;display setup
;
;setup variables for Colosseum
;-------------------------------------------------------------------------------
display_setup:
;discovery item ID in window
TDC
LDA $E5 ;index in window
TAY
LDA $1869,Y ;item in window index
;calculate variables
STA $0205 ;save item to bet
JSR $B22C ;setup Colosseum variables
;exit
RTS
;-------------------------------------------------------------------------------
;display reward
;
;create and display string for reward item
;-------------------------------------------------------------------------------
display_reward:
;setup transfer
JSR transfer_start
;check bet item
LDA $0205 ;item to bet
CMP #$FF ;empty item
BNE .set_reward ;set default reward if item is valid
;set empty reward item for invalid item
LDA #$FF ;empty
BRA .skip
;set default reward item
.set_reward
LDA $0207 ;reward item
.skip
;display item
JSR $C068 ;setup string as the item name
JSR $7FD9 ;display item
;advance position
LDX #$001A
JSR transfer_advance
;exit
RTS
;-------------------------------------------------------------------------------
;display delimiter
;
;display character delimiter between reward and bet items
;-------------------------------------------------------------------------------
display_delimiter:
;setup transfer
JSR transfer_start
;setup delimiter
LDA #$C1 ;':' character
STA $2180
STZ $2180 ;end of string
;display string
JSR $7FD9
;advance position
LDX #$0002
JSR transfer_advance
;exit
RTS
;-------------------------------------------------------------------------------
;display_item
;
;display bet item
;-------------------------------------------------------------------------------
display_item:
;setup transfer
JSR transfer_start
;get discovery item ID in window
LDA $0205 ;item to bet
;display string
JSR $C068 ;setup string as the item name
JSR $7FD9 ;display string
;advance position
LDX #$001A
JSR transfer_advance
;exit
RTS
print "seg end : ", pc
The following 2 users say Thank You to HatZen08 for this post:
• CVReynolds (04-23-2022), Gi Nattak (01-15-2016)
• CVReynolds (04-23-2022), Gi Nattak (01-15-2016)
01-15-2016, 09:57 AM
was hoping to see a screen shot, but since not one, i decided to test it out, very interesting patch. no trial and error on finding betting items
though... all "blank/empty" spots say empty, could you not default them to just be blank, rather than all say empty?
though... all "blank/empty" spots say empty, could you not default them to just be blank, rather than all say empty?
01-15-2016, 11:34 AM
Yeah, it's a nice patch, what i don't like is that ???????? prizes are not hidden anymore...
your items should be in the left column in order of being more readable, does the rom denies you to do that, for some reason?
your items should be in the left column in order of being more readable, does the rom denies you to do that, for some reason?
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!
01-15-2016, 01:00 PM
This is extremely useful. Having to select each Item to check what it bets for is very irritating.
Moogles FTW
01-15-2016, 02:50 PM
Quote:though... all "blank/empty" spots say empty, could you not default them to just be blank, rather than all say empty?
I recycled the function, used by shops, to format the item strings. For the empty item, it doesn't format the string as a full sequence of spaces. Instead, it formats the string as the 'empty' string.
I had my own misadventures with this hack and, at the time, I didn't consider it to be of importance. Now that the hack is functional, i can think about it. I will try to implement your suggestion in the next hack update.
Quote:Yeah, it's a nice patch, what i don't like is that ???????? prizes are not hidden anymore...
Can I ask you why? For the original game, there are public documents of the Colosseum. They display all bet items, enemies and the reward items. They don't hide the masked items in their documentation. Why should this patch hide the masked items if all documentation in the web don't do it? You will know the reward items anyway after you win the first time, it only will not be displayed in the item screen...
Quote:your items should be in the left column in order of being more readable, does the rom denies you to do that, for some reason?
It is a question of personal preference. In the screen after the item selection, where you select a character for the opponent, the reward item is on the left and the bet item is on the right. It is the main reason i choose the order of the items for display.
Technically, there is not significant difference to put the reward item in the right or left positions. In the next update, i will do an alternative patch with the reward items in the right and the bet items on the left. I probably only need to change the order where the correspondent JSRs are called.
This is a great patch! It seems to not like my relocated item descriptions though, they are all showing incorrect on this new screen. Or, maybe it's that I swapped a bunch of items around? Is there something in the asm that can be re-pointed or am I out of luck?
We are born, live, die and then do the same thing over again.
01-15-2016, 05:09 PM
Quote:Can I ask you why? For the original game, there are public documents of the Colosseum. They display all bet items, enemies and the reward items. They don't hide the masked items in their documentation. Why should this patch hide the masked items if all documentation in the web don't do it? You will know the reward items anyway after you win the first time, it only will not be displayed in the item screen...
There's a big difference between discover it while playing and searching all the info opening docs or something, of course your question makes me think that your patch is mainly intended to improve vanilla experience... yet in the case of an hack you might want to hide the prize until the player manage to win.
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!
Quote:This is a great patch! It seems to not like my relocated item descriptions though, they are all showing incorrect on this new screen. Or, maybe it's that I swapped a bunch of items around? Is there something in the asm that can be re-pointed or am I out of luck?
It is difficult to give you an answer without prior knowledge of your hack. First, this patch, for this version 1.0, uses the free space from C3/F800 to C3/F88A. You should check if another patches use that space. In the vanilla rom, they should all be filled with #$FF values.
If you need to relocate the free space, you can recompile the code with asar. Find the following code in the asm file:
Code:
org $C3F800 ;(*) change for any free space
print "seg start: ", pc
Quote:There's a big difference between discover it while playing and searching all the info opening docs or something, of course your question makes me think that your patch is mainly intended to improve vanilla experience... yet in the case of an hack you might want to hide the prize until the player manage to win.
I personally don't like to hide the reward items from the player, but it is a valid point. The original game also have the design of masked items as well. I will try to add it in the future update of this hack. Hackers can edit the Colosseum data and determinate what items will or will not be masked. Everyone can be happy.
Ok, I updated the hack. The new version 1.1 is here:
http://www.bwass.org/bucket/025_reward_display_11.7z
Change log
- When the line is empty without an available item, a full blank line will be displayed. In the old version, the string 'empty' was displayed for the reward and the bet items.
- Hidden reward items will now display as a string composed of '?' characters. In the old version, they were displayed as any normal item. Hackers can change the colosseum data to determinate the items masks.
- The bet items are in the left column and the reward items are in the right column. In the old version, it was the opposite positions. I believe now that it is better than the old position.
Screen Shots
The following 2 users say Thank You to HatZen08 for this post:
•ReturnerScum (01-18-2016), Tenkarider (01-16-2016)
•
01-16-2016, 09:29 AM
Great job!
I wonder how do you know all those locations in C3 bank... i mean, in C3 bank disassembly there's not very much commentary, even tracking down the offset of hex code you changed i don't see a line of comment.
Is it possible that there's an updated version of that disassembly? the file i own is named "FF6_Bank_C3_Disassembly_V3"
I wonder how do you know all those locations in C3 bank... i mean, in C3 bank disassembly there's not very much commentary, even tracking down the offset of hex code you changed i don't see a line of comment.
Is it possible that there's an updated version of that disassembly? the file i own is named "FF6_Bank_C3_Disassembly_V3"
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!
(01-16-2016, 09:29 AM)Tenkarider Wrote: I wonder how do you know all those locations in C3 bank... i mean, in C3 bank disassembly there's not very much commentary, even tracking down the offset of hex code you changed i don't see a line of comment.
Once you know which function does what and the roles of your task relevant registers things get clearer. On a side note there's a complete spanish C3 disassembly with more comments on RHDN.
(01-16-2016, 09:29 AM)Tenkarider Wrote: Is it possible that there's an updated version of that disassembly? the file i own is named "FF6_Bank_C3_Disassembly_V3"
This is a generic file name I gave to a version of the disassembly which I added notes for different things I was doing. Check with a text fire comparer to see the changes. I can tell you in advance they are not really big.
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)