[SFC]Vọc Tsubasa III

Thảo luận trong 'Thảo luận chung' bắt đầu bởi asm65816, 24/3/16.

  1. ozone

    ozone Donkey Kong Lão Làng GVN

    Tham gia ngày:
    4/4/05
    Bài viết:
    406
    Nơi ở:
    Recycle Bin
    See my post at http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-2#post-26594023.

    When each player holds the ball, you will have the first menu with a pointer value, the way to find this pointer you see my previous posts (#22 and #23).

    This first menu includes 6 basic moves in the order Shoot || Pass || Dribble || Combi || Block || Tackle || PassCut||.
    In each move, if there is a "skill", the position there will be a pointer value pointing to the corresponding skill chain, if there is no skill then the value there is 00 00.

    For example in post #24 with Tsubasa, at 2FB02 (game address) is the pointer value pointing to the menu of 6 moves of Tsubasa: AC FB => 2 FB AC (same bank 2 and little endian).
    Next Goto to 2 FB AC you will see the value chain 80 FE || FC FE || FF FE || 07 FF || 00 00 || 1D FF || 00 00 ||.
    In which 80 FE (2 FE 80 ) is the pointer to the Shoot menu; 2 FE FC is the pointer to the Pass menu, etc. of Tsubasa.
    You will see that Tsubasa does not have Block and PassCut skills by default, so the pointer value here is 00 00.

    So for generic players, when you set a breakpoint and log debug there and find the pointer address to the first menu, you will see that the value pair of the "Shoot" menu is 00 00.
    Most genenic players will use this same pointer.

    The next thing you need to do is replacing the value pair 00 00 at the "Shoot" position with a pointer address where the value is the shoot skill string you want.
    You can review how I replaced all of Schnider's Shoot Skills for Tsubasa by changing the Pointer value of the "Shoot" menu.
     
  2. hermannvinole

    hermannvinole Youtube Master Race

    Tham gia ngày:
    9/10/24
    Bài viết:
    7
    Hello!
    Thank you very much for your valuable help. These days I have learned several things.
    I have good news and bad news to tell you!!

    The good news is that I found the offset to modify generic players.
    I tried with the generic Sao Paulo players, adding the Drive Shot and it worked well.
    The offset is 2FB9E.

    The bad news, at least in the test I tried with Sao Paulo, is that the game shows strange behavior when two consecutive Drive Shots are performed with generic players.
    A strange animation appears and the game crashes.

    Will there be a solution? Check offset 2FB9E and see that animation, that crashes the game.
     
  3. ozone

    ozone Donkey Kong Lão Làng GVN

    Tham gia ngày:
    4/4/05
    Bài viết:
    406
    Nơi ở:
    Recycle Bin
    Hello,
    At my post http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/#post-26590298
    with link gamefaqs (still working), they mention to Ram Addresses: when you select Shoot (Right + A) - 7E04B6 and after that when you accessed Shoot Menu - 7E0471.
    With Generic Player, they don't have any shoot skills - don't have shoot menu so game don't process the address 7E0471.

    At my previous post, the first game offset for all player is 2FB00 + Index Player. When you had full log as above you can search $FB00 to locate where game process shoot and next shoot menu, if you can't find $FB00 so you did wrong to get log.

    For example I will search log of No.8 Babington, I have
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:0012 Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:0422 VC:253 00 FL:2086
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB12]   A:0005 X:0012 Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:0444 VC:253 00 FL:2086
    $02/F133 85 19       STA $19    [$00:1819]   A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0484 VC:253 00 FL:2086
    $02/F135 E2 20       SEP #$20                A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0516 VC:253 00 FL:2086
    $02/F137 AB          PLB                     A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:0538 VC:253 00 FL:2086
    $02/F138 28          PLP                     A:FB9E X:0012 Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:0566 VC:253 00 FL:2086
    $02/F139 60          RTS                     A:FB9E X:0012 Y:0000 D:1800 DB:04 S:1C2D P:eNvMXdIzcHC:0594 VC:253 00 FL:2086
    You can see Offset of Babington is 2FB12 => Goto 2FB12 you have pointer 9E FB.

    Similarly, you can get log of No. 9 Gil
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:0014 Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:0422 VC:253 00 FL:9800
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB14]   A:0005 X:0014 Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:0444 VC:253 00 FL:9800
    $02/F133 85 19       STA $19    [$00:1819]   A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0484 VC:253 00 FL:9800
    $02/F135 E2 20       SEP #$20                A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0516 VC:253 00 FL:9800
    $02/F137 AB          PLB                     A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:0538 VC:253 00 FL:9800
    $02/F138 28          PLP                     A:FB9E X:0014 Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:0566 VC:253 00 FL:9800
    $02/F139 60          RTS                     A:FB9E X:0014 Y:0000 D:1800 DB:04 S:1C2D P:eNvM
    
    You can see Offset of Gil is 2FB14 => Goto 2FB14 you have pointer 9EFB too.

    Gil, Babington, ..etc have the same pointer 9EFB where all Shoot Menu has 00 00 value. But their first offsets are different.
    Generic Player are all the Players who has no skill at all (Shoot - Pass - Combi - Run ...) and they use the same pointer 9EFB. I think change here will make the game crash because besides Sao Paulo there are many Generic Players of other teams.

    So you have some options here: you can point to the same shoot menu with players who only have drive shoot, for example Toninho No.8 of brazil who has first offset 2FB8A => Pointer is EA FD => Go 2FDEA : CD FE => Goto 2FE CD : 10 03 (Drive Shoot)
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:008A Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:1048 VC:253 00 FL:2916
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB8A]   A:0005 X:008A Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:1070 VC:253 00 FL:2916
    $02/F133 85 19       STA $19    [$00:1819]   A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:1110 VC:253 00 FL:2916
    $02/F135 E2 20       SEP #$20                A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:1142 VC:253 00 FL:2916
    $02/F137 AB          PLB                     A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:1164 VC:253 00 FL:2916
    $02/F138 28          PLP                     A:FDEA X:008A Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:1192 VC:253 00 FL:2916
    $02/F139 60          RTS                     A:FDEA X:008A Y:0000 D:1800 DB:04 S:1C2D P:eNvMXd
    
    Another choice is use completely new game data for Sao Paulo Generic Player only. You should find a blank data in the same bank 2 (for example 2FF2D to 2FF7F)
    For example, at 2FF2D I will change FF FF to 10 03 => Drive Shoot and End Menu. After that, at 2FF2F I will change 7 pairs of hex values for the 7 basic skills
    Shoot || Pass || Dribble ||Combi || Block || Tackle || PassCut||
    (See http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-2#post-26594023 )
    Here I replace 7 pairs of FF to || 2D FF || 00 00 || 00 00|| 00 00 || 00 00 || 00 00 || 00 00
    You see Pointer of Shoot Menu is 2D FF (Goto 2FF2D as above).

    Finally, new pointer of all 7 basic skill is 2F FF (Goto 2 FF2F ), you will replace 2F FF for 9E FB at Babington - 2FB12 and Gil - 2FB14 ... etc (all Sao Paulo you want).

    In summary, you have Ram 7E04B6 => $FB00 + Index for each player ==> Pointer value of 7 basic skill ==> the first is Pointer of Shoot Menu (which has Ram 7E0471) ==> Point to list Shoot Skill.

    Good luck.
     
    Chỉnh sửa cuối: 16/11/24 lúc 10:44

Chia sẻ trang này