Users browsing this thread: 1 Guest(s)
The colosseum, temporary character , FF6LE and graphics change

#1
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Hi everyone,

I've been starting to hack FFVI a couple weeks ago and I did some nice custom events so far like a new intro and other events. I wanted to make changes to the world maps but after discovering the bug between FF3USME and the level editor I had to start over and make my changes to the world maps before even touching FF3USME.Anyway I have a few questions concerning multiples aspects of the game data and the editors used for hacking. This site has been a great ressource for me so far so here we go:

1) I want to make the colesseum available in the WOB. I don't think it is a hard thing to do but I would like that the item won and the monster fought be different than what it is in the WOR. I haven't found where this data is stored but my idea would be to created a new "array" with the item number, the monster fought and and the item won. I would then the change the function that check for the data wen you bet an item and depending if a certain event bit is clear (it would be set after the floating continent), it would go check in the new "array" of the WOB instead of the default location. To resume, where is the data and the fuction(s) concerning the collosseum?

2)Another idea is that I would created a new character that would be available only during certain events when you have less than 4 characters(beginning of the WOR, scenarios, beginning of the game for instance). That character would take the place of one of the moogle and there would simply be 9 moogles available instead of 10 for the 3 party battle at the beginning. I would like to give that character natural stat growth and he would be equipable. I would simply average is level when he rejoin later in the game. How can I make a non-equipable character equip weapons, relics and armors? How can give natural stat growth to a character? If someone know what functions to change and where they are in the C? bank, it would be a great help. If I'm able to do this for a character, I would then make Umaro equipable and equiping espers would be limited to a few characters like Terra, Relm or Celes and the others characters would have natural stat growth.

3) Is it possible to use the empty maps in FF6LE? I have been able to created new areas in the existing maps where there is empty space but when I try to edit a unused map number, the level editor gives me an error when I save the level saying that there is too much tiles.

4) Where does FF6LE store the new event tiles or the new NPCs that we created? I have checked where those data are stored but it's not at the end of the NPCs data or at the end of the event trigger data unless I haven't checked properly. On a close subject, is it possible to have more event tiles that what FF6LE limit us?

5) I have realized that there is not much empty space for new monster sprites. I have been changing some monster colors from 16 to 8 colors and that does save some space but sometimes those monsters don't look really good in 8 colors. Anyway, is there a trick to have more space for monsters sprites besides setting the color to 8 bit, erasing some existing sprites or resizing the sprites from 128x128 to 64x64? I'm using FF3SE and I beleive that if I move the monsters sprite data somewhere in the F bank(using a 32 bits expanded rom) and edit the functions related to that data, I won't be to use FF3SE to edit those sprites.

6) I've been starting editing some graphics with YY-CHR. I've chages the treasure chest (sub)tiles and now they look like the treasure chests in Chrono Trigger. I know you can edit the palettes with YYCHR or FFUSME but how can I know in which other (sub)tiles this specefic palette is used? And is it possible to copy/paste a 8x8 or 16x16 sprite(tile) from gimp to YY-CHR or do I have to draw everything manually?

I think that's all for now...If someone can answer only one of those questions, it would be a great help for me.. Thanks in advance.
  Find
Quote  

#2
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
Welcome, Welcome!

(10-29-2011, 02:06 PM)Madsiur Wrote: 1) I want to make the colesseum available in the WOB. I don't think it is a hard thing to do but I would like that the item won and the monster fought be different than what it is in the WOR. I haven't found where this data is stored but my idea would be to created a new "array" with the item number, the monster fought and and the item won. I would then the change the function that check for the data wen you bet an item and depending if a certain event bit is clear (it would be set after the floating continent), it would go check in the new "array" of the WOB instead of the default location. To resume, where is the data and the fuction(s) concerning the collosseum?
Might want to ask this question to Gi Nattak, in his hack he has the colosseum available in the WOB.

(10-29-2011, 02:06 PM)Madsiur Wrote: How can I make a non-equipable character equip weapons, relics and armors?

If it's Umaro, there's a patch on this site that allows Umaro to be equippable. Now, if you were to allow every character that is in your party at a certain point in the game to be equippable, you'd run into some issues. While Leo can be equipped with rods, swords, shields and claws, he cannot equip relics. If you remove Banon's equipment, you won't be able to re-equip him at all [b]] at any point of the game. I suspect the same problem happens with Biggs/Wegde. I have a theory of why it's like that, but I haven't taken a look on how to solve it.

On the status growth question, Lenophis from the slickproductions website released a patch that has every character have status growth. Check the "FF6 patches" section of his website.

(10-29-2011, 02:06 PM)Madsiur Wrote: 3) Is it possible to use the empty maps in FF6LE?
I think so.

(10-29-2011, 02:06 PM)Madsiur Wrote: 4) Where does FF6LE store the new event tiles or the new NPCs that we created? I have checked where those data are stored but it's not at the end of the NPCs data or at the end of the event trigger data unless I haven't checked properly. On a close subject, is it possible to have more event tiles that what FF6LE limit us?
Don't know, you might want to ask the creator of FF6LE. Or maybe try the slickproductions forum. According to lenophis, it's possible to move the dialogue bank to another place in the rom so that you have more space to create custom events. Check with him on this one.

(10-29-2011, 02:06 PM)Madsiur Wrote: 5) I have realized that there is not much empty space for new monster sprites. I have been changing some monster colors from 16 to 8 colors and that does save some space but sometimes those monsters don't look really good in 8 colors. Anyway, is there a trick to have more space for monsters sprites besides setting the color to 8 bit, erasing some existing sprites or resizing the sprites from 128x128 to 64x64? I'm using FF3SE and I beleive that if I move the monsters sprite data somewhere in the F bank(using a 32 bits expanded rom) and edit the functions related to that data, I won't be to use FF3SE to edit those sprites.
There's a patch somewhere that relocates monster data so that you can have more custom monsters. I can't recall where. Maybe Master Zed's website?

(10-29-2011, 02:06 PM)Madsiur Wrote: 6) I've been starting editing some graphics with YY-CHR. I've chages the treasure chest (sub)tiles and now they look like the treasure chests in Chrono Trigger. I know you can edit the palettes with YYCHR or FFUSME but how can I know in which other (sub)tiles this specefic palette is used? And is it possible to copy/paste a 8x8 or 16x16 sprite(tile) from gimp to YY-CHR or do I have to draw everything manually?
This is out of my field, I'd rather do custom events Tongue. Zeemis might be able to help on this one.
Quote  

#3
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
(10-29-2011, 02:06 PM)Madsiur Wrote: Is it possible to use the empty maps in FF6LE?[/b] I have been able to created new areas in the existing maps where there is empty space but when I try to edit a unused map number, the level editor gives me an error when I save the level saying that there is too much tiles.

Yes, you can use the empty maps, but only the ones that are labelled as
'nothing' not the ones that are called 'dummied' or '______'.
And there is a bug in the FF6 Level Editor that will prevent you from making an exit to any map AFTER map 100, but thankfully the older and not so much used at all anymore Level Editor made by Sleepydude will allow you to place the exits--

--so you can create the map in the New LE, and place the exits via the old one. The nothing maps you can put a very large map if you wish, custom, or just import the map properties and tilesets from other maps as well. I've placed very large maps in there, so you shouldn't be seeing that error with the empty maps. Be very careful, that error can ruin your ROM. Some maps like Daryl's Tomb have been known to get erased and thus a corrupt ROM, so make backups like crazy and if you do get the error upon saving, scrap that ROM. This comes from experience lol, trust me.

As for the Colosseum, just know if you plan on using the pre-existing event, you need to have the same amount of NPC's on the map, or their ID's will be off and it won't work. A whole new Colosseum with a new item and betting list though? Heh, I have no idea, sounds practically impossible.

I'll try my best to answer a couple more tomorrow.


We are born, live, die and then do the same thing over again.
Quote  
[-] The following 1 user says Thank You to Gi Nattak for this post:
  • madsiur (07-28-2018)

#4
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Thank you both for those infos!

@Gi Nattak: As for the colosseum, I was thinking using the same map and NPCs except Ultros would not be there (I would clear his apperance bit and set in the WOR). As for the new betting list, I think it all depends how the function that check for the item won is made. I think it would be in the C0 bank but I haven't found it. It is certainly a challenge to make a second betting list.

@Angelo26: I'll check for those patches...I think most of the ones you mentionned would help me greatly. As for the status growth, in my hack ideally the only characters that would have natural stats growth would be the ones that can't equip espers and thus don't have acces to espers boosts. That's why I need to know how it is done...and I also need to know how to make a character unable to equip espers. I'll try to ask the creator of the patch you mentionned.



  Find
Quote  

#5
Posts: 2,769
Threads: 88
Thanks Received: 24
Thanks Given: 87
Joined: Jun 2009
Reputation: 25
Status
None
when it comes to custom sprites and graphics I'm your guy

I can help you out with some graphics in YY-CHR and also help with the monster sprites in FF3SE

unfortunately the sizes of the monsters must be 128X128 max, but I can help you out with re-sizing them and even recoloring and tweaking them

I also have an INCREDIBLE personal archive of custom monster sprites (not trying to brag or anything lolz)

just shoot me a msg with some specifics and I'll see what I can do 2 help u out


"Sometimes ninjas do wrong to each other, and in dat way the force of tha earf' comes around da moon - and at that presence, da dirt, it overshadows the grass, so you're like, I can't cut dis grass, there's no sun comin' through. So in order to enable each other the two fruits have to look each other in da eye and understand we can only be right, as da ripe is wrong, you know what I mean?"

-HNIC
Quote  

#6
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
(10-30-2011, 01:48 AM)Madsiur Wrote: As for the colosseum, I was thinking using the same map and NPCs except Ultros would not be there (I would clear his apperance bit and set in the WOR)
Sounds like you're quite skilled creating custom events. Or at least, you know how to make ulty appear only in the WOR. Show us a video or two of your custom events!!! Laugh
Quote  

#7
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(10-30-2011, 03:46 PM)Angelo26 Wrote: Sounds like you're quite skilled creating custom events. Or at least, you know how to make ulty appear only in the WOR. Show us a video or two of your custom events!!! Laugh

Thanks..I did a lot of experimentation before being able to create events and the tutorials on this site helped me alot. I'll post a video as soon as I have something satisfying...

@Poco Loco: I might need help in the future to create characters sprites...I'm not very talented in that domain but I saw the tutorial you made and it should help.

Right now I'm stuck in the monsters graphics. I moved all the monsters graphics from $E97000 to the empty F1 bank to have more space for monster sprites and I changed a portion of the code in the ROM that check where this data is:

Code:
C1/20DC: 18           CLC
C1/20DD: 69 3F AE     ADC #$AE3F
C1/20E0: 65 26        ADC $26
C1/20E2: 85 61        STA $61
C1/20E4: E6 12        INC $12  
C1/20E6: E6 12        INC $12        (point to mould info bytes 3 and 4)
C1/20E8: A7 12        LDA [$12]  
C1/20EA: 8D 56 82     STA $8256      (save width/8 in 8256, and height/8 in 8257)
C1/20ED: AD A8 81     LDA $81A8      (get tile bank pointer)
C1/20F0: 0A           ASL
C1/20F1: 0A           ASL
C1/20F2: 0A           ASL            (multiply by 8)
C1/20F3: 85 64        STA $64
C1/20F5: 9C 54 82     STZ $8254
C1/20F8: FA           PLX            (retrieve X, which was monster formation # x 2)
C1/20F9: A5 16        LDA $16        (palette index)
C1/20FB: 9D 17 81     STA $8117,X
C1/20FE: 7B           TDC            (clear accumulator)
C1/20FF: E2 20        SEP #$20       (set 8-bit accumulator)
C1/2101: AD A9 81     LDA $81A9
C1/2104: 4A           LSR
C1/2105: 4A           LSR
C1/2106: 4A           LSR
C1/2107: 4A           LSR
C1/2108: 4A           LSR
C1/2109: 85 66        STA $66
C1/210B: A5 64        LDA $64
C1/210D: 18           CLC
C1/210E: 69 00        ADC #$00           (I think that's the graphics starting offset low byte)
C1/2110: 85 64        STA $64
C1/2112: A5 65        LDA $65
[b]C1/2114: 69 70        ADC #$70       (I think that's the graphics starting offset middle byte )
C1/2116: 85 65        STA $65
C1/2118: A5 66        LDA $66
[b]C1/211A: 69 E9        ADC #$E9       (I think that's the graphics starting offset high byte)
C1/211C: 85 66        STA $66
C1/211E: 60           RTS

I don't know much about assembly but I know that this function is part of a group of functions in the C1 bank that loads a monster graphics, palette, mould and position (x, y). I changed C1/2114 to 69 00 and C1/211A to 69 F1 so now it would point to $F10000 where I stored the graphics. I don't know yet if I have to change the 384 pointers stating at $D27200 (monster visual specifications). Those point to the start of the monster graphic and they are two bytes pointers. They are loaded in another subroutine of the C1 bank. The first one start at 00 00 so I don't think I would have have to change them. Maybe I'm totally off track but I'm experimenting.

To make a long story short I haven't check if the game loads the monster graphics properly but in FF3SE the palettes, molds and shapes of the monsters are good. The only thing I don't see is the detail of the monster...Anyway I downloaded the source code of FF3SE available on the net and changed the offset in the loading and saving functions of the program when you save a monster or load all the monsters. I also added 10000 bytes to the max available space to make sure I have enough room for extra sprites. The code simply doesn't compile and it's not due to the changes I made... I loaded the source in visual studio 2010 but I have an error that some file is missing when it compile... I'll try to check that later on...

On a another subject for my new WOB collosseum I found that:

Code:
Colliseum: Determine prize and monster based on item bet
C3/B22C:    7B          TDC
C3/B22D:    AD0502      LDA $0205       (item bet)
C3/B230:    C220        REP #$20      (16 bit memory/accum.)
C3/B232:    0A          ASL A
C3/B233:    0A          ASL A
C3/B234:    AA          TAX
C3/B235:    E220        SEP #$20      (8 bit memory/accum.)
C3/B237:    BF00B6DF    LDA $DFB600,X  (monster to face)
C3/B23B:    8D0602      STA $0206
C3/B23E:    BF02B6DF    LDA $DFB602,X  (item to win)
C3/B242:    8D0702      STA $0207
C3/B245:    BF03B6DF    LDA $DFB603,X  (mask item to win)
C3/B249:    8D0902      STA $0209
C3/B24C:    60          RTS

There are other subroutines concerning the item bet and with some assembly knowledge, I think it is possible to add a second list of item bet/item won/monster fought. You have to create a subroutine similar to this one and the game would branch to that subroutine if a certain bit is set/clear depending if you are before of after the start of the WOR. I don't know how you write that in assembly but I think it's possible...
  Find
Quote  

#8
Posts: 831
Threads: 41
Thanks Received: 16
Thanks Given: 12
Joined: Nov 2009
Reputation: 18
Status
None
(10-30-2011, 07:42 PM)Madsiur Wrote: On a another subject for my new WOB collosseum I found that:

Code:
Colliseum: Determine prize and monster based on item bet
C3/B22C:    7B          TDC
C3/B22D:    AD0502      LDA $0205       (item bet)
C3/B230:    C220        REP #$20      (16 bit memory/accum.)
C3/B232:    0A          ASL A
C3/B233:    0A          ASL A
C3/B234:    AA          TAX
C3/B235:    E220        SEP #$20      (8 bit memory/accum.)
C3/B237:    BF00B6DF    LDA $DFB600,X  (monster to face)
C3/B23B:    8D0602      STA $0206
C3/B23E:    BF02B6DF    LDA $DFB602,X  (item to win)
C3/B242:    8D0702      STA $0207
C3/B245:    BF03B6DF    LDA $DFB603,X  (mask item to win)
C3/B249:    8D0902      STA $0209
C3/B24C:    60          RTS
According to what you show, and if I'm right, there are 4 bytes used when handling things in the colloseum: Starting at DFB600, the first two bytes are for the check for the monster you'll fight. The third byte corresponds to the item you'll win; and the last is to mask the item.

DFB600 is where the game goes and checks for the monster you'll fight.
DFB602 is where the item you'll win is stored.

(10-30-2011, 07:42 PM)Madsiur Wrote: You have to create a subroutine similar to this one and the game would branch to that subroutine if a certain bit is set/clear depending if you are before of after the start of the WOR. I don't know how you write that in assembly but I think it's possible...
Sounds like you're on the right track Laugh. I'll support yo as long as I can, but keep in mind that my assembly knowledge is limited, restricted to simple things like loading addresses, comparing, jumping, jumping to subroutines, return to subroutines, and loading and storing numbers in the accumulator.
EDIT: There's some other code that calls the subroutine at C3/B22C that you posted: The code at C3/AF46 is calling the subroutine at C3/B22C.

Code:
Colliseum setup?
C3/AF46:    202CB2      JSR $B22C      (Determine prize and monster based on item bet)
C3/AF49:    AD0602      LDA $0206      (Monster to fight)
C3/AF4C:    8D0242      STA $4202
C3/AF4F:    A905        LDA #$05
C3/AF51:    8D0342      STA $4203
C3/AF54:    A01050      LDY #$5010
C3/AF57:    8C1621      STY $2116
C3/AF5A:    EA          NOP
C3/AF5B:    EA          NOP
C3/AF5C:    AE1642      LDX $4216
C3/AF5F:    BF0070D2    LDA $D27000,X  (Monster visual specs, byte 1)
C3/AF63:    85E7        STA $E7
C3/AF65:    BF0170D2    LDA $D27001,X  (Monster visual specs, byte 2)
C3/AF69:    85E8        STA $E8
C3/AF6B:    BF0270D2    LDA $D27002,X  (Monster visual specs, byte 3)
C3/AF6F:    85F2        STA $F2
C3/AF71:    BF0370D2    LDA $D27003,X  (Monster visual specs, byte 4)
C3/AF75:    85F1        STA $F1
C3/AF77:    BF0470D2    LDA $D27004,X  (Monster visual specs, byte 5)
C3/AF7B:    85E9        STA $E9
C3/AF7D:    A5E8        LDA $E8
C3/AF7F:    3004        BMI $AF85
C3/AF81:    64FF        STZ $FF
C3/AF83:    8008        BRA $AF8D
C3/AF85:    A901        LDA #$01
C3/AF87:    85FF        STA $FF
C3/AF89:    A980        LDA #$80
C3/AF8B:    14E8        TRB $E8
C3/AF8D:    A9E9        LDA #$E9
C3/AF8F:    85F7        STA $F7
C3/AF91:    C220        REP #$20      (16 bit memory/accum.)
C3/AF93:    A90070      LDA #$7000
C3/AF96:    85F5        STA $F5
C3/AF98:    A5E7        LDA $E7
C3/AF9A:    85F9        STA $F9
C3/AF9C:    64FB        STZ $FB
C3/AF9E:    06F9        ASL $F9
C3/AFA0:    26FB        ROL $FB
C3/AFA2:    06F9        ASL $F9
C3/AFA4:    26FB        ROL $FB
C3/AFA6:    06F9        ASL $F9
C3/AFA8:    26FB        ROL $FB
C3/AFAA:    18          CLC
C3/AFAB:    A5F9        LDA $F9
C3/AFAD:    65F5        ADC $F5
C3/AFAF:    85F5        STA $F5
C3/AFB1:    A5FB        LDA $FB
C3/AFB3:    65F7        ADC $F7
C3/AFB5:    85F7        STA $F7
C3/AFB7:    A600        LDX $00
C3/AFB9:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFBB:    A5F2        LDA $F2
C3/AFBD:    3009        BMI $AFC8
C3/AFBF:    A020A8      LDY #$A820
C3/AFC2:    84E3        STY $E3
C3/AFC4:    A908        LDA #$08
C3/AFC6:    8007        BRA $AFCF
C3/AFC8:    A022A8      LDY #$A822
C3/AFCB:    84E3        STY $E3
C3/AFCD:    A920        LDA #$20
C3/AFCF:    85E6        STA $E6
C3/AFD1:    8599        STA $99
C3/AFD3:    A9D2        LDA #$D2
C3/AFD5:    85E5        STA $E5
C3/AFD7:    A5F2        LDA $F2
C3/AFD9:    2940        AND #$40
C3/AFDB:    2A          ROL A
C3/AFDC:    2A          ROL A
C3/AFDD:    2A          ROL A
C3/AFDE:    85EA        STA $EA
C3/AFE0:    A5F2        LDA $F2
C3/AFE2:    3009        BMI $AFED
C3/AFE4:    C220        REP #$20      (16 bit memory/accum.)
C3/AFE6:    A5E9        LDA $E9
C3/AFE8:    0A          ASL A
C3/AFE9:    0A          ASL A
C3/AFEA:    0A          ASL A
C3/AFEB:    8009        BRA $AFF6
C3/AFED:    C220        REP #$20      (16 bit memory/accum.)
C3/AFEF:    A5E9        LDA $E9
C3/AFF1:    0A          ASL A
C3/AFF2:    0A          ASL A
C3/AFF3:    0A          ASL A
C3/AFF4:    0A          ASL A
C3/AFF5:    0A          ASL A
C3/AFF6:    18          CLC
C3/AFF7:    67E3        ADC [$E3]
C3/AFF9:    85E0        STA $E0
C3/AFFB:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFFD:    A9D2        LDA #$D2
C3/AFFF:    85E2        STA $E2
C3/B001:    A00800      LDY #$0008
C3/B004:    DA          PHX
C3/B005:    7B          TDC
C3/B006:    A5E6        LDA $E6
C3/B008:    AA          TAX
C3/B009:    A7E0        LDA [$E0]
C3/B00B:    9F889D7E    STA $7E9D88,X
C3/B00F:    FA          PLX
C3/B010:    18          CLC
C3/B011:    5A          PHY
C3/B012:    2A          ROL A
C3/B013:    48          PHA
C3/B014:    9005        BCC $B01B
C3/B016:    201EB1      JSR $B11E
C3/B019:    8003        BRA $B01E
C3/B01B:    200AB1      JSR $B10A
C3/B01E:    68          PLA
C3/B01F:    7A          PLY
C3/B020:    88          DEY
C3/B021:    D0ED        BNE $B010
C3/B023:    C220        REP #$20      (16 bit memory/accum.)
C3/B025:    E6E0        INC $E0
C3/B027:    E220        SEP #$20      (8 bit memory/accum.)
C3/B029:    C6E6        DEC $E6
C3/B02B:    D0D4        BNE $B001
C3/B02D:    2033B0      JSR $B033
C3/B030:    4C5AB1      JMP $B15A
Quote  

#9
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(10-30-2011, 09:51 PM)Angelo26 Wrote: EDIT: There's some other code that calls the subroutine at C3/B22C that you posted: The code at C3/AF46 is calling the subroutine at C3/B22C.

Code:
Colliseum setup?
C3/AF46:    202CB2      JSR $B22C      (Determine prize and monster based on item bet)
C3/AF49:    AD0602      LDA $0206      (Monster to fight)
C3/AF4C:    8D0242      STA $4202
C3/AF4F:    A905        LDA #$05
C3/AF51:    8D0342      STA $4203
C3/AF54:    A01050      LDY #$5010
C3/AF57:    8C1621      STY $2116
C3/AF5A:    EA          NOP
C3/AF5B:    EA          NOP
C3/AF5C:    AE1642      LDX $4216
C3/AF5F:    BF0070D2    LDA $D27000,X  (Monster visual specs, byte 1)
C3/AF63:    85E7        STA $E7
C3/AF65:    BF0170D2    LDA $D27001,X  (Monster visual specs, byte 2)
C3/AF69:    85E8        STA $E8
C3/AF6B:    BF0270D2    LDA $D27002,X  (Monster visual specs, byte 3)
C3/AF6F:    85F2        STA $F2
C3/AF71:    BF0370D2    LDA $D27003,X  (Monster visual specs, byte 4)
C3/AF75:    85F1        STA $F1
C3/AF77:    BF0470D2    LDA $D27004,X  (Monster visual specs, byte 5)
C3/AF7B:    85E9        STA $E9
C3/AF7D:    A5E8        LDA $E8
C3/AF7F:    3004        BMI $AF85
C3/AF81:    64FF        STZ $FF
C3/AF83:    8008        BRA $AF8D
C3/AF85:    A901        LDA #$01
C3/AF87:    85FF        STA $FF
C3/AF89:    A980        LDA #$80
C3/AF8B:    14E8        TRB $E8
C3/AF8D:    A9E9        LDA #$E9
C3/AF8F:    85F7        STA $F7
C3/AF91:    C220        REP #$20      (16 bit memory/accum.)
C3/AF93:    A90070      LDA #$7000
C3/AF96:    85F5        STA $F5
C3/AF98:    A5E7        LDA $E7
C3/AF9A:    85F9        STA $F9
C3/AF9C:    64FB        STZ $FB
C3/AF9E:    06F9        ASL $F9
C3/AFA0:    26FB        ROL $FB
C3/AFA2:    06F9        ASL $F9
C3/AFA4:    26FB        ROL $FB
C3/AFA6:    06F9        ASL $F9
C3/AFA8:    26FB        ROL $FB
C3/AFAA:    18          CLC
C3/AFAB:    A5F9        LDA $F9
C3/AFAD:    65F5        ADC $F5
C3/AFAF:    85F5        STA $F5
C3/AFB1:    A5FB        LDA $FB
C3/AFB3:    65F7        ADC $F7
C3/AFB5:    85F7        STA $F7
C3/AFB7:    A600        LDX $00
C3/AFB9:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFBB:    A5F2        LDA $F2
C3/AFBD:    3009        BMI $AFC8
C3/AFBF:    A020A8      LDY #$A820
C3/AFC2:    84E3        STY $E3
C3/AFC4:    A908        LDA #$08
C3/AFC6:    8007        BRA $AFCF
C3/AFC8:    A022A8      LDY #$A822
C3/AFCB:    84E3        STY $E3
C3/AFCD:    A920        LDA #$20
C3/AFCF:    85E6        STA $E6
C3/AFD1:    8599        STA $99
C3/AFD3:    A9D2        LDA #$D2
C3/AFD5:    85E5        STA $E5
C3/AFD7:    A5F2        LDA $F2
C3/AFD9:    2940        AND #$40
C3/AFDB:    2A          ROL A
C3/AFDC:    2A          ROL A
C3/AFDD:    2A          ROL A
C3/AFDE:    85EA        STA $EA
C3/AFE0:    A5F2        LDA $F2
C3/AFE2:    3009        BMI $AFED
C3/AFE4:    C220        REP #$20      (16 bit memory/accum.)
C3/AFE6:    A5E9        LDA $E9
C3/AFE8:    0A          ASL A
C3/AFE9:    0A          ASL A
C3/AFEA:    0A          ASL A
C3/AFEB:    8009        BRA $AFF6
C3/AFED:    C220        REP #$20      (16 bit memory/accum.)
C3/AFEF:    A5E9        LDA $E9
C3/AFF1:    0A          ASL A
C3/AFF2:    0A          ASL A
C3/AFF3:    0A          ASL A
C3/AFF4:    0A          ASL A
C3/AFF5:    0A          ASL A
C3/AFF6:    18          CLC
C3/AFF7:    67E3        ADC [$E3]
C3/AFF9:    85E0        STA $E0
C3/AFFB:    E220        SEP #$20      (8 bit memory/accum.)
C3/AFFD:    A9D2        LDA #$D2
C3/AFFF:    85E2        STA $E2
C3/B001:    A00800      LDY #$0008
C3/B004:    DA          PHX
C3/B005:    7B          TDC
C3/B006:    A5E6        LDA $E6
C3/B008:    AA          TAX
C3/B009:    A7E0        LDA [$E0]
C3/B00B:    9F889D7E    STA $7E9D88,X
C3/B00F:    FA          PLX
C3/B010:    18          CLC
C3/B011:    5A          PHY
C3/B012:    2A          ROL A
C3/B013:    48          PHA
C3/B014:    9005        BCC $B01B
C3/B016:    201EB1      JSR $B11E
C3/B019:    8003        BRA $B01E
C3/B01B:    200AB1      JSR $B10A
C3/B01E:    68          PLA
C3/B01F:    7A          PLY
C3/B020:    88          DEY
C3/B021:    D0ED        BNE $B010
C3/B023:    C220        REP #$20      (16 bit memory/accum.)
C3/B025:    E6E0        INC $E0
C3/B027:    E220        SEP #$20      (8 bit memory/accum.)
C3/B029:    C6E6        DEC $E6
C3/B02B:    D0D4        BNE $B001
C3/B02D:    2033B0      JSR $B033
C3/B030:    4C5AB1      JMP $B15A

I have no idea what that code does...I really need to learn assembly.

On a side note, you wanted to see some of my "custom events"...I've put on youtube some videos of my firsts steps as a Final Fantasy VI hacker...
Note that all dialogues will be eventually redone by someone else since english is not my first language. Here we go:

1) A modified intro for Locke. As he gets out of the house where Rachel rest in peace in Kohlingen, Arvis comes and talk to him about Terra. The rest is usual stuff. I replaced some moogle with imps characters for the 3 party battle.





2) My moogle cave: There's a chest that you can only open with a lock pick (rare item). I'm planning to have Locke as the party leader and have the lock pick as requirements to open those and I will use the same event bit to have more locked chests in the game.





3) My modified intro...Not much changes besides maps and music but I added an extra scene with Narshe's mayor, Arvis and the Guard Leader (He will be a recurring enemy in the beginning of the game)





4) An event battle with my friend the Guard Leader. Not a tough fight for 3 characters that can spam TekMissle... When his HP reaches 0, he throws a sword and escape. After the party are automatically brought to the gate where they fight Whelk. That way you start that fight with automatically one character down due to the guard Leader's last move...





That all for now! Any constructive commentary are welcome!
  Find
Quote  

#10
Posts: 2,769
Threads: 88
Thanks Received: 24
Thanks Given: 87
Joined: Jun 2009
Reputation: 25
Status
None
not bad I like the changes you made

adding imps was quite interesting

other then that I like the added intro thing in Narshe I was considering a similar idea a while back but it looks good you show much promise


"Sometimes ninjas do wrong to each other, and in dat way the force of tha earf' comes around da moon - and at that presence, da dirt, it overshadows the grass, so you're like, I can't cut dis grass, there's no sun comin' through. So in order to enable each other the two fruits have to look each other in da eye and understand we can only be right, as da ripe is wrong, you know what I mean?"

-HNIC
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite