Please login or register.

Login with username, password and session length
Advanced search  

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed. Find out how you can help in the Recruitment section.

Synthesis Shop 1.00  (Read 7193 times)
Pages: [1] 2 3
French Maid
Xifanie (Webmistress) [Posts: 4259]
  • View Profile
  • Final Fantasy Hacktics
  • http://steamcommunity.com/id/Xifanie
  • share
  • [November 19, 2013, 12:28:59 AM]
Synthesis Shop 1.00
« on: November 19, 2013, 12:28:59 AM »
LINK TO VERSION 1.00

Inspired from FFIX

Turn the Fur Shop into a Synthesis Shop.

Examples:

Chameleon Robe + Leather Vest + 3000gil = C Bag
5 Potions + 200 Gil = Hi-Potion
3 White Robes + Crystal Mail + 50000gil = Venetian Shield

The fur shop's sold inventory would be automatically calculated based on the player's inventory. To not screw things up, poach items could be sent directly into player inventory instead of going through the Fur Shop, but it might still be possible to have it work without that.

There should probably be a new list of prices for each item or simply use the good old half or full price of the item, alongside the consumption of the other items in the player's inventory.
« Last Edit: December 22, 2013, 11:37:43 AM by Xifanie »
    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    Toshiko
    Angel (Empress) [Posts: 1231]
    • View Profile
    • にゃにゃめにゃにゃじゅうにゃにゃどのにゃらびでにゃくにゃくいにゃにゃくにゃにゃはんにゃにゃだいにゃんにゃくにゃらべてにゃがにゃがめ
    • share
    • [November 19, 2013, 12:36:22 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #1 on: November 19, 2013, 12:36:22 AM »
    I am in favor of this :o (which should come as a surprise to absolutely no one).

    • Modding version: PSX
  • * Angel should quit being a lazy bitch
    <@Elric> I agree to that as well
    At the end of the day, are we not all trapped inside lemons?
    May I kill him?
    Pride [Posts: 817]
    • View Profile
    • share
    • [November 19, 2013, 01:59:58 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #2 on: November 19, 2013, 01:59:58 AM »
    ... This is interesting enough for me to consider...

    • Modding version: PSX
  • Check out my ASM thread. Who doesn't like hax?
    The Puppet ---Master---
    Elric (Overseer) [Posts: 3826]
    • View Profile
    • Youtube Channel
    • http://steamcommunity.com/id/Bones42
    • share
    • [November 19, 2013, 02:11:38 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #3 on: November 19, 2013, 02:11:38 AM »
    Sounds pretty cool to me.

    • Modding version: PSX
  • <@Angel> Teach a man to fish and he'll open up a fishery to compete against yours.
    Journey of the Five Youtube ChannelThe Lion War Current Status
       
    Jot5 Leader :: Eventer :: OtherTLW Leader :: Eventer :: Other
    Timbo [Posts: 521]
    • View Profile
    • share
    • [November 19, 2013, 10:41:20 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #4 on: November 19, 2013, 10:41:20 AM »
    This sounds bad ass. I'm rather fond of the broken gear is appears at fur shop hack, is there a way to keep these two compatible?
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [November 19, 2013, 01:57:14 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #5 on: November 19, 2013, 01:57:14 PM »
    I don't think it's possible without making a buy menu in the Fur shop specifically for Synthesis items, while leaving the normal Buy from the Fur Shop intact.

    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    Choto [Posts: 818]
    • View Profile
    • share
    • [November 19, 2013, 02:02:33 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #6 on: November 19, 2013, 02:02:33 PM »
    You could definitely keep the broken weapons part. You'd just have to keep an item table with a count of broken weapons. So it would have to run it's initial routine to calculate synthesis items based on your inventory. Then add broken/stolen weapons from the table.

    When you actually buy something, it would have to check that broken/stolen table again to see if a count exists. If so, you would get the item for freeeeeee. Or whatever the cost associated with that is.

    It would take a bit of code, but it's doable.
    May I kill him?
    Pride [Posts: 817]
    • View Profile
    • share
    • [November 19, 2013, 03:34:26 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #7 on: November 19, 2013, 03:34:26 PM »
    Not sure if its worth it though. When I get off I'm going to do some research on the shop buying and see what I can do.

    • Modding version: PSX
  • Check out my ASM thread. Who doesn't like hax?
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [November 19, 2013, 03:50:26 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #8 on: November 19, 2013, 03:50:26 PM »
    Choto, that sounds tremendously complicated to code it like that, managing:
    - Item X at Y Price
    - Item X at Z Price consuming A, B, C

    In one item slot? You'd have to force the player to buy one over the other, or code something to allow the player to pick & choose.


    As for the item inventory, I was thinking of displaying every possible item you can synthesis, and then, alongside the gil amount checking routine, force it like you wouldn't have enough gil if you don't have the required items. That way it would just grey it out.

    Synthesis information for each item could simply be written in the description of each item.
    « Last Edit: November 19, 2013, 03:59:41 PM by Xifanie »
    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    May I kill him?
    Pride [Posts: 817]
    • View Profile
    • share
    • [November 19, 2013, 04:03:47 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #9 on: November 19, 2013, 04:03:47 PM »
    Yeah I was thinking you'd have to put the requirements in the item description

    • Modding version: PSX
  • Check out my ASM thread. Who doesn't like hax?
    Choto [Posts: 818]
    • View Profile
    • share
    • [November 19, 2013, 04:20:59 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #10 on: November 19, 2013, 04:20:59 PM »
    ehhh I don't think it's as much complicated as it is strenuous to code extra routines. Ya the assumption would be if there's a "broken" item available, that would override the synthesis.

    Complicated is my middle name lol...
    Bad code, beware! The NOPs are coming to eat you!
    formerdeathcorps [Posts: 1322]
    • View Profile
    • share
    • [November 22, 2013, 05:48:32 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #11 on: November 22, 2013, 05:48:32 PM »
    How does the game decide which items are consumed to form the synthesized item?  Is it a fixed recipe (like refining in PSP TO), or does it simply remove certain items from your inventory that add up to the required cost for refine?  I was thinking for the patch makers who have extra item slots could make "gems" that are used only for refining or selling for a high price that can't be equipped or otherwise used and the game randomly removes gems equal to the cost of the item you are to synthesize (as this routine would be easy and save the need for yet another table for recipes).

    The destruction of the will is the rape of the mind.
    The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [November 22, 2013, 07:00:45 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #12 on: November 22, 2013, 07:00:45 PM »
    FFIX uses 63 synthesis slots, using a gil cost and only 2 items to merge into one; sometimes it's the same item but x2.

    My idea for this hack is:
    - 64 slots
    - Gil cost
    - Up to 3 items from 1-99 quantity

    There could also be a byte to determine which shops can sell the item.

    People could assign item slots to be used as materials only for synthesis (I recommend the throw-only items if you get rid of the Throw vanilla skillset in your patch)


    @fdc:
    I remember someone using a coin system, coins that you could sell for extra money. The thing is, we already have gold, so I don't see the point of making a synthesis shop that basically uses just a 2nd type of gold currency. Maybe have it your way for your patch, but I definitely wouldn't want a broad use hack like that to be so limited.

    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    May I kill him?
    Pride [Posts: 817]
    • View Profile
    • share
    • [December 02, 2013, 09:05:42 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #13 on: December 02, 2013, 09:05:42 PM »
    Haven't forgotten this yet, important routines for the cause. Some scarce notes on some of the routines while I figure out what is happening during it all. Sorry :oops:

    Code: (Sort Items by type) [Select]
    Sort Items
    00125374: 308403ff andi r4,r4,0x03ff
    00125378: 2882007a slti r2,r4,0x007a
    0012537c: 14400013 bne r2,r0,0x001253cc
    00125380: 00001821 addu r3,r0,r0
    00125384: 28820080 slti r2,r4,0x0080
    00125388: 14400010 bne r2,r0,0x001253cc
    0012538c: 34030005 ori r3,r0,0x0005
    00125390: 28820090 slti r2,r4,0x0090
    00125394: 1440000d bne r2,r0,0x001253cc
    00125398: 34030001 ori r3,r0,0x0001
    0012539c: 288200ac slti r2,r4,0x00ac
    001253a0: 1440000a bne r2,r0,0x001253cc
    001253a4: 34030002 ori r3,r0,0x0002
    001253a8: 288200d0 slti r2,r4,0x00d0
    001253ac: 10400003 beq r2,r0,0x001253bc
    001253b0: 00000000 nop
    001253b4: 080494f3 j 0x001253cc
    001253b8: 34030003 ori r3,r0,0x0003
    001253bc: 288200f0 slti r2,r4,0x00f0
    001253c0: 10400002 beq r2,r0,0x001253cc
    001253c4: 34030005 ori r3,r0,0x0005
    001253c8: 34030004 ori r3,r0,0x0004
    001253cc: 03e00008 jr r31
    001253d0: 00601021 addu r2,r3,r0

    Code: (Load Poached Items into shop) [Select]
    00123824: 308403ff andi r4,r4,0x03ff Item ID
    00123828: 3c018006 lui r1,0x8006 r1 = 0x8006
    0012382c: 00240821 addu r1,r1,r4 r1 = 0x80060000 + Item ID
    00123830: 90229494 lbu r2,-0x6b6c(r1) Load Poach'd item inventory
    00123834: 00000000 nop
    00123838: 00451821 addu r3,r2,r5 Inventory + r5 ?
    0012383c: 04610003 bgez r3,0x0012384c
    00123840: 28620100 slti r2,r3,0x0100
    00123844: 00001821 addu r3,r0,r0 Set r3 to 0
    00123848: 28620100 slti r2,r3,0x0100
    0012384c: 14400002 bne r2,r0,0x00123858
    00123850: 00000000 nop
    00123854: 340300ff ori r3,r0,0x00ff r3 = 0xff
    00123858: 3c018006 lui r1,0x8006
    0012385c: 00240821 addu r1,r1,r4
    00123860: a0239494 sb r3,-0x6b6c(r1) Store Inventory Item
    00123864: 03e00008 jr r31
    00123868: 00601021 addu r2,r3,r0 Move to r2

    Code: (Best Fit Routine) [Select]
    0012457c: 27bdffe0 addiu r29,r29,0xffe0
    00124580: afb10014 sw r17,0x0014(r29)
    00124584: 00808821 addu r17,r4,r0
    00124588: afb00010 sw r16,0x0010(r29)
    0012458c: 30b003ff andi r16,r5,0x03ff Move Item ID to r16
    00124590: 16000003 bne r16,r0,0x001245a0 Branch if item exist
    00124594: afbf0018 sw r31,0x0018(r29)
    00124598: 0804917f j 0x001245fc Jump to end if Item does not exist
    0012459c: 34020001 ori r2,r0,0x0001
    001245a0: 0c0494dd jal 0x00125374 Sort items
    001245a4: 02002021 addu r4,r16,r0 Move Item ID to r4
    001245a8: 34030005 ori r3,r0,0x0005 r3 = 0x05
    001245ac: 14430003 bne r2,r3,0x001245bc
    001245b0: 00111400 sll r2,r17,0x10
    001245b4: 0804917f j 0x001245fc Jump to end
    001245b8: 2402ffff addiu r2,r0,0xffff
    001245bc: 00021383 sra r2,r2,0x0e
    001245c0: 3c01801d lui r1,0x801d
    001245c4: 00220821 addu r1,r1,r2
    001245c8: 8c24d5ec lw r4,-0x2a14(r1)
    001245cc: 0c04ac6d jal 0x0012b1b4
    001245d0: 24840073 addiu r4,r4,0x0073
    001245d4: 0c0493f4 jal 0x00124fd0 Load Item's Item Type
    001245d8: 02002021 addu r4,r16,r0 r4 = Item ID
    001245dc: 0c04ac7b jal 0x0012b1ec
    001245e0: 00402021 addu r4,r2,r0 Move Item type to r4
    001245e4: 0c04ac7b jal 0x0012b1ec
    001245e8: 34040001 ori r4,r0,0x0001
    001245ec: 14400002 bne r2,r0,0x001245f8
    001245f0: 34030001 ori r3,r0,0x0001
    001245f4: 2403ffff addiu r3,r0,0xffff
    001245f8: 00601021 addu r2,r3,r0
    001245fc: 8fbf0018 lw r31,0x0018(r29)
    00124600: 8fb10014 lw r17,0x0014(r29)
    00124604: 8fb00010 lw r16,0x0010(r29)
    00124608: 27bd0020 addiu r29,r29,0x0020
    0012460c: 03e00008 jr r31
    00124610: 00000000 nop

    Code: (Main Shop Routine: Best Fit, Poach, Buy) [Select]
    0012502c: 27bdffa0 addiu r29,r29,0xffa0
    00125030: afb60050 sw r22,0x0050(r29)
    00125034: 8fb60070 lw r22,0x0070(r29)
    00125038: 34020001 ori r2,r0,0x0001
    0012503c: afbf005c sw r31,0x005c(r29)
    00125040: afbe0058 sw r30,0x0058(r29)
    00125044: afb70054 sw r23,0x0054(r29)
    00125048: afb5004c sw r21,0x004c(r29)
    0012504c: afb40048 sw r20,0x0048(r29)
    00125050: afb30044 sw r19,0x0044(r29)
    00125054: afb20040 sw r18,0x0040(r29)
    00125058: afb1003c sw r17,0x003c(r29)
    0012505c: afb00038 sw r16,0x0038(r29)
    00125060: afa70018 sw r7,0x0018(r29)
    00125064: 16c20008 bne r22,r2,0x00125088
    00125068: a7a40010 sh r4,0x0010(r29)
    0012506c: 3c028004 lui r2,0x8004
    00125070: 8c4273ac lw r2,0x73ac(r2)
    00125074: 3c030180 lui r3,0x0180
    00125078: 00431024 and r2,r2,r3
    0012507c: 10400003 beq r2,r0,0x0012508c
    00125080: 00061400 sll r2,r6,0x10
    00125084: 34160002 ori r22,r0,0x0002
    00125088: 00061400 sll r2,r6,0x10
    0012508c: 00021c03 sra r3,r2,0x10
    00125090: 28620002 slti r2,r3,0x0002
    00125094: 10400004 beq r2,r0,0x001250a8
    00125098: afa00020 sw r0,0x0020(r29)
    0012509c: 0000a021 addu r20,r0,r0
    001250a0: 08049445 j 0x00125114
    001250a4: 341e0001 ori r30,r0,0x0001
    001250a8: 34020002 ori r2,r0,0x0002
    001250ac: 14620004 bne r3,r2,0x001250c0
    001250b0: 34020003 ori r2,r0,0x0003
    001250b4: 34140002 ori r20,r0,0x0002
    001250b8: 08049445 j 0x00125114
    001250bc: 341e0002 ori r30,r0,0x0002
    001250c0: 14620004 bne r3,r2,0x001250d4
    001250c4: 34020004 ori r2,r0,0x0004
    001250c8: 34140003 ori r20,r0,0x0003
    001250cc: 08049445 j 0x00125114
    001250d0: 341e0003 ori r30,r0,0x0003
    001250d4: 14620004 bne r3,r2,0x001250e8
    001250d8: 34020005 ori r2,r0,0x0005
    001250dc: 34140004 ori r20,r0,0x0004
    001250e0: 08049445 j 0x00125114
    001250e4: 341e0004 ori r30,r0,0x0004
    001250e8: 14620004 bne r3,r2,0x001250fc
    001250ec: 34020006 ori r2,r0,0x0006
    001250f0: 0000a021 addu r20,r0,r0
    001250f4: 08049445 j 0x00125114
    001250f8: 0000f021 addu r30,r0,r0
    001250fc: 14620004 bne r3,r2,0x00125110
    00125100: 341e0005 ori r30,r0,0x0005
    00125104: 34140001 ori r20,r0,0x0001
    00125108: 08049445 j 0x00125114
    0012510c: 341e0001 ori r30,r0,0x0001
    00125110: 34140005 ori r20,r0,0x0005
    00125114: 00051400 sll r2,r5,0x10
    00125118: 00028403 sra r16,r2,0x10
    0012511c: 2a020064 slti r2,r16,0x0064
    00125120: 1040004c beq r2,r0,0x00125254
    00125124: 00009021 addu r18,r0,r0
    00125128: 0c03bc6a jal 0x000ef1a8 Get Integer (Shop ID)
    0012512c: 3404006f ori r4,r0,0x006f r4 = 0x6f (Shop ID integer)
    00125130: 00009021 addu r18,r0,r0
    00125134: afa20028 sw r2,0x0028(r29)
    00125138: 34028000 ori r2,r0,0x8000
    0012513c: 02021007 srav r2,r2,r16
    00125140: 8fa80020 lw r8,0x0020(r29)
    00125144: 0000b821 addu r23,r0,r0
    00125148: afa20030 sw r2,0x0030(r29)
    0012514c: 00081040 sll r2,r8,0x01
    00125150: 8fa80018 lw r8,0x0018(r29)
    00125154: 00008821 addu r17,r0,r0
    00125158: 0048a821 addu r21,r2,r8
    0012515c: 00121400 sll r2,r18,0x10
    00125160: 00029c03 sra r19,r2,0x10
    00125164: 0c0494dd jal 0x00125374 Sort Items
    00125168: 02602021 addu r4,r19,r0
    0012516c: 3283ffff andi r3,r20,0xffff
    00125170: 3042ffff andi r2,r2,0xffff
    00125174: 10620003 beq r3,r2,0x00125184
    00125178: 02408021 addu r16,r18,r0
    0012517c: 17c2002e bne r30,r2,0x00125238
    00125180: 00000000 nop
    00125184: 3c018019 lui r1,0x8019
    00125188: 00310821 addu r1,r1,r17
    0012518c: 9023d844 lbu r3,-0x27bc(r1)
    00125190: 3c018019 lui r1,0x8019
    00125194: 00310821 addu r1,r1,r17
    00125198: 9022d845 lbu r2,-0x27bb(r1)
    0012519c: 8fa80030 lw r8,0x0030(r29)
    001251a0: 00031a00 sll r3,r3,0x08
    001251a4: 00431025 or r2,r2,r3
    001251a8: 00481024 and r2,r2,r8
    001251ac: 10400022 beq r2,r0,0x00125238
    001251b0: 00000000 nop
    001251b4: 3c018006 lui r1,0x8006
    001251b8: 00370821 addu r1,r1,r23
    001251bc: 90222ec2 lbu r2,0x2ec2(r1)
    001251c0: 8fa80028 lw r8,0x0028(r29)
    001251c4: 00000000 nop
    001251c8: 0102102a slt r2,r8,r2
    001251cc: 1440001a bne r2,r0,0x00125238
    001251d0: 00000000 nop
    001251d4: 12c00013 beq r22,r0,0x00125224
    001251d8: 02602821 addu r5,r19,r0
    001251dc: 97a80010 lhu r8,0x0010(r29)
    001251e0: 00000000 nop
    001251e4: 00082400 sll r4,r8,0x10
    001251e8: 0c04915f jal 0x0012457c Best Fit Routine
    001251ec: 00042403 sra r4,r4,0x10
    001251f0: 00401821 addu r3,r2,r0
    001251f4: 34020002 ori r2,r0,0x0002
    001251f8: 16c20004 bne r22,r2,0x0012520c
    001251fc: 00000000 nop
    00125200: 2408ffff addiu r8,r0,0xffff
    00125204: 1068000c beq r3,r8,0x00125238
    00125208: 00000000 nop
    0012520c: 34020001 ori r2,r0,0x0001
    00125210: 16c20004 bne r22,r2,0x00125224
    00125214: 2408ffff addiu r8,r0,0xffff
    00125218: 14680002 bne r3,r8,0x00125224
    0012521c: 00000000 nop
    00125220: 36504000 ori r16,r18,0x4000
    00125224: a6b00000 sh r16,0x0000(r21)
    00125228: 8fa80020 lw r8,0x0020(r29)
    0012522c: 26b50002 addiu r21,r21,0x0002
    00125230: 25080001 addiu r8,r8,0x0001
    00125234: afa80020 sw r8,0x0020(r29)
    00125238: 26f7000c addiu r23,r23,0x000c
    0012523c: 26520001 addiu r18,r18,0x0001
    00125240: 2a4200fe slti r2,r18,0x00fe
    00125244: 1440ffc5 bne r2,r0,0x0012515c
    00125248: 26310002 addiu r17,r17,0x0002
    0012524c: 080494c5 j 0x00125314
    00125250: 00000000 nop
    00125254: 8fa80020 lw r8,0x0020(r29)
    00125258: 3295ffff andi r21,r20,0xffff
    0012525c: 00081040 sll r2,r8,0x01
    00125260: 8fa80018 lw r8,0x0018(r29)
    00125264: 2414ffff addiu r20,r0,0xffff
    00125268: 00489821 addu r19,r2,r8
    0012526c: 00121400 sll r2,r18,0x10
    00125270: 00028c03 sra r17,r2,0x10
    00125274: 0c0494dd jal 0x00125374 Sort Items
    00125278: 02202021 addu r4,r17,r0
    0012527c: 3042ffff andi r2,r2,0xffff
    00125280: 12a20003 beq r21,r2,0x00125290
    00125284: 02408021 addu r16,r18,r0
    00125288: 17c2001e bne r30,r2,0x00125304
    0012528c: 00000000 nop
    00125290: 02202021 addu r4,r17,r0 Move r17 to r4
    00125294: 0c048e09 jal 0x00123824 Get Poached Items
    00125298: 00002821 addu r5,r0,r0 Clear r5
    0012529c: 10400019 beq r2,r0,0x00125304
    001252a0: 00000000 nop
    001252a4: 12c00012 beq r22,r0,0x001252f0
    001252a8: 02202821 addu r5,r17,r0
    001252ac: 97a80010 lhu r8,0x0010(r29)
    001252b0: 00000000 nop
    001252b4: 00082400 sll r4,r8,0x10
    001252b8: 0c04915f jal 0x0012457c Best Fit Routine
    001252bc: 00042403 sra r4,r4,0x10
    001252c0: 00401821 addu r3,r2,r0
    001252c4: 34020002 ori r2,r0,0x0002
    001252c8: 16c20003 bne r22,r2,0x001252d8
    001252cc: 00000000 nop
    001252d0: 1074000c beq r3,r20,0x00125304
    001252d4: 00000000 nop
    001252d8: 34020001 ori r2,r0,0x0001
    001252dc: 16c20004 bne r22,r2,0x001252f0
    001252e0: 00000000 nop
    001252e4: 14740002 bne r3,r20,0x001252f0
    001252e8: 00000000 nop
    001252ec: 36504000 ori r16,r18,0x4000
    001252f0: a6700000 sh r16,0x0000(r19)
    001252f4: 8fa80020 lw r8,0x0020(r29)
    001252f8: 26730002 addiu r19,r19,0x0002
    001252fc: 25080001 addiu r8,r8,0x0001
    00125300: afa80020 sw r8,0x0020(r29)
    00125304: 26520001 addiu r18,r18,0x0001
    00125308: 2a4200fe slti r2,r18,0x00fe
    0012530c: 1440ffd8 bne r2,r0,0x00125270
    00125310: 00121400 sll r2,r18,0x10
    00125314: 8fa80020 lw r8,0x0020(r29)
    00125318: 00000000 nop
    0012531c: 00081040 sll r2,r8,0x01
    00125320: 8fa80018 lw r8,0x0018(r29)
    00125324: 2403ffff addiu r3,r0,0xffff
    00125328: 00481021 addu r2,r2,r8
    0012532c: a4430000 sh r3,0x0000(r2)
    00125330: 8fa50018 lw r5,0x0018(r29)
    00125334: 0c048595 jal 0x00121654 Main Shop Routine
    00125338: 34040006 ori r4,r0,0x0006
    0012533c: 8fa20020 lw r2,0x0020(r29)
    00125340: 8fbf005c lw r31,0x005c(r29)
    00125344: 8fbe0058 lw r30,0x0058(r29)
    00125348: 8fb70054 lw r23,0x0054(r29)
    0012534c: 8fb60050 lw r22,0x0050(r29)
    00125350: 8fb5004c lw r21,0x004c(r29)
    00125354: 8fb40048 lw r20,0x0048(r29)
    00125358: 8fb30044 lw r19,0x0044(r29)
    0012535c: 8fb20040 lw r18,0x0040(r29)
    00125360: 8fb1003c lw r17,0x003c(r29)
    00125364: 8fb00038 lw r16,0x0038(r29)
    00125368: 27bd0060 addiu r29,r29,0x0060
    0012536c: 03e00008 jr r31
    00125370: 00000000 nop

    Code: (Load Item's Type) [Select]
    00124fd0: 308403ff andi r4,r4,0x03ff
    00124fd4: 00041040 sll r2,r4,0x01 Item ID * 2
    00124fd8: 00441021 addu r2,r2,r4 Item ID * 3
    00124fdc: 00021080 sll r2,r2,0x02 Item ID * 12
    00124fe0: 3c018006 lui r1,0x8006
    00124fe4: 00220821 addu r1,r1,r2 0x80060000 + Item ID * 12
    00124fe8: 90222ebd lbu r2,0x2ebd(r1) Load Item's Item Type
    00124fec: 03e00008 jr r31
    00124ff0: 00000000 nop

    • Modding version: PSX
  • Check out my ASM thread. Who doesn't like hax?
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [December 14, 2013, 07:34:50 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #14 on: December 14, 2013, 07:34:50 PM »
    Small Progress on the hack:

    Had to hack the text, because FFTactext doesn't allow editing that text <.< unless the newer versions do, but I haven't tried them.
    As you can see in the screenshot, I changed "Buy / Sell / Leave store" to "Buy / Synth / Sell / Leave". Sorry folks but that's all I can do for now, I had to play with the space I had.
    You should be able to, however, edit the help descriptions in Tactext.

    Up to now, what the hack does is write 0x01 to 0x8013D990 if the Synthesis option is selected, and 0x00 with buy. So, using this byte, we should be able to customize the fur shop into 2 sections. "Synth" simply loads the same routine as "Buy".

    Right now my spreadsheet supports 64 Synthesis slots, with the following data:
    12 bytes per item
    • Town Availability
    • Town Availability
    • Required Shop Progression
    • Blank
    • Price (lo)
    • Price (hi)
    • Required amount A
    • Required item A
    • Required amount B
    • Required item B
    • Required amount C
    • Required item C

    Code: ("Synthesis Shop xml") [Select]
    <?xml version="1.0" encoding="utf-8" ?>
    <Patches>
    <Patch name="Synthesis Shop: Text Edits">
    <Location file="WORLD_WORLD_BIN" offset="B5054">0B383CF81C3C31372BF81C282F2FF81528243928FE</Location>
    </Patch>
    <Patch name="Synthesis Shop">
    <Location file="WORLD_WORLD_BIN" offset="B519E">5000</Location>
    <Location file="WORLD_WORLD_BIN" offset="B51A6">5000</Location>
    <Location file="WORLD_WORLD_BIN" offset="B51AE">5000</Location>
    <Location file="WORLD_WORLD_BIN" offset="B51B6">0300</Location>
    <Location file="WORLD_WORLD_BIN" offset="57288">
    1D80043C
    28D78384
    1480013C
    0200622C
    12004010
    02000234
    382F8290
    90D923A0
    </Location>
    </Patch>
    </Patches>
    « Last Edit: December 14, 2013, 07:46:57 PM by Xifanie »
    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [December 19, 2013, 01:10:40 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #15 on: December 19, 2013, 01:10:40 AM »
    Progress~





    Alright, time to test 100gil + 5 Hi-Potions = X-Potion

    First, we start with 50
    Let's buy... 5 ;o
    Now we has 55 X-Potions :O
    And 25 Hi-Potions



    Items are still displayed even if you don't have the required items to synthesis. However this causes the player being able to select the item for purchase: see bug.
    Items have a custom price just for Synthesis.

    I'm working to add completely Custom text. For instance, for this Example, I want it to display:
    Quote
    Clerk
    You'll need: 5 Hi Potions.



    BUG:
    I have no clue how to prevent players from completing a transaction of buying 0 items.


    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    May I kill him?
    Pride [Posts: 817]
    • View Profile
    • share
    • [December 19, 2013, 01:26:00 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #16 on: December 19, 2013, 01:26:00 AM »
    ...That's awesome ^_^

    • Modding version: PSX
  • Check out my ASM thread. Who doesn't like hax?
    Choto [Posts: 818]
    • View Profile
    • share
    • [December 19, 2013, 03:27:51 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #17 on: December 19, 2013, 03:27:51 AM »
    ...That's awesome ^_^

    Really... with all I've learned about ASM... i still don't know how Xiffie does the things she does. O_O
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [December 19, 2013, 03:33:46 AM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #18 on: December 19, 2013, 03:33:46 AM »
    I don't know how SA and fdc figure out how routines work. :v
    They read routines as if they were paragraphs in a book. For me it's all... O.o o.O what's that?
    I can still code though.

    But yeah, for me it's mostly Cheat Engine + convert address to RAM address, breakpoint, find place to add a jump to the bigger routine, and that's it.




    This is pretty much how I work. Nearly every lui/addiu/sb/lb/branches/jumps/whatever are using formulas to make sure that even if I move ANYTHING around, everything else will be recalculated perfectly.
    « Last Edit: December 19, 2013, 03:40:25 AM by Xifanie »
    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    French Maid
    Xifanie (Webmistress) [Posts: 4259]
    • View Profile
    • Final Fantasy Hacktics
    • http://steamcommunity.com/id/Xifanie
    • share
    • [December 20, 2013, 06:13:17 PM]
    Re: ASM Hack proposal: Synthesis Shop
    « Reply #19 on: December 20, 2013, 06:13:17 PM »
    Well, my routine is working perfectly, but I need to move it to trigger under the right conditions and trigger a Clerk message refresh (which is simple as hell).

    Remedy: 50gil + 3 Antidotes + 3 Echo Grass + 3 Eye Drops


    Prints item in red if you don't have
    enough to Synthesize a single one.

    Otherwise, multiplies the amount
    needed by the number your are
    selecting.
    (This will update automatically)

    • Modding version: PSX
  • <R999> My target market is not FFT mod players
    <Raijinili> remember that? it was awful
    Pages: [1] 2 3