Author Topic: I think it's time to work on the Techs  (Read 12854 times)

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: I think it's time to work on the Techs
« Reply #30 on: July 23, 2006, 09:22:14 pm »
I don't know why I never realized this before. The pointer list is the same one as described here:
http://www.chronocompendium.com/Term/Attacks_/_Tech_Scripts.html
That means what we're doing applies to regular attacks too.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: I think it's time to work on the Techs
« Reply #31 on: August 18, 2006, 12:31:54 am »
I've been looking at the character animation of techs (mostly healing techs), and I noticed something.
Several of them start with 7215, while a few start with 720D.

These seem to affect facing. With 720D, the character faces his/her target. And with 7215, the character faces down.

Chickenlump

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 327
  • O_o
    • View Profile
Re: I think it's time to work on the Techs
« Reply #32 on: October 17, 2006, 02:38:19 pm »
The following is a trace log from me doing Cyclone. It shows it loading data from the ROM concerning ALOT of different areas for the techs, including animation scripts, graphics, etc..


$C1/45BB   BF A6 45 CD   LDA $CD45A6,x[$CD:45AD]   A:0000   X:0007   Y:0002   P:envMxdiZC   

These scripts, for example, start at $CD45A6, and Cyclone begins in this area at [$CD:45AD]
It ends with FF. It  looks like the first byte is the tech, the next 3 bytes determine which graphics get used...

More can be gleamed from this I'm sure.

$C1/45A0   AD 91 AE   LDA $AE91  [$7E:AE91]   A:0004   X:0004   Y:0002   P:envMxdizc   
$C1/45A3   C9 03   CMP #$03   A:0000   X:0004   Y:0002   P:envMxdiZc   
$C1/45A5   90 03   BCC $03    [$45AA]   A:0000   X:0004   Y:0002   P:eNvMxdizc   
$C1/45AA   AD 93 AE   LDA $AE93  [$7E:AE93]   A:0000   X:0004   Y:0002   P:eNvMxdizc   
$C1/45AD   C2 20   REP #$20   A:0001   X:0004   Y:0002   P:envMxdizc   
$C1/45AF   85 80   STA $80    [$00:0080]   A:0001   X:0004   Y:0002   P:envmxdizc   
$C1/45B1   0A    ASL A   A:0001   X:0004   Y:0002   P:envmxdizc   
$C1/45B2   0A    ASL A   A:0002   X:0004   Y:0002   P:envmxdizc   
$C1/45B3   0A    ASL A   A:0004   X:0004   Y:0002   P:envmxdizc   
$C1/45B4   38    SEC   A:0008   X:0004   Y:0002   P:envmxdizc   
$C1/45B5   E5 80   SBC $80    [$00:0080]   A:0008   X:0004   Y:0002   P:envmxdizC   
$C1/45B7   AA    TAX   A:0007   X:0004   Y:0002   P:envmxdizC   
$C1/45B8   7B    TDC   A:0007   X:0007   Y:0002   P:envmxdizC   
$C1/45B9   E2 20   SEP #$20   A:0000   X:0007   Y:0002   P:envmxdiZC   
$C1/45BB   BF A6 45 CD   LDA $CD45A6,x[$CD:45AD]   A:0000   X:0007   Y:0002   P:envMxdiZC   
$C1/45BF   8D 77 98   STA $9877  [$7E:9877]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45C2   BF A7 45 CD   LDA $CD45A7,x[$CD:45AE]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45C6   8D 7A 98   STA $987A  [$7E:987A]   A:00DA   X:0007   Y:0002   P:eNvMxdizC   
$C1/45C9   BF A8 45 CD   LDA $CD45A8,x[$CD:45AF]   A:00DA   X:0007   Y:0002   P:eNvMxdizC   
$C1/45CD   8D 7B 98   STA $987B  [$7E:987B]   A:00EF   X:0007   Y:0002   P:eNvMxdizC   
$C1/45D0   BF A9 45 CD   LDA $CD45A9,x[$CD:45B0]   A:00EF   X:0007   Y:0002   P:eNvMxdizC   
$C1/45D4   8D 7E 98   STA $987E  [$7E:987E]   A:0020   X:0007   Y:0002   P:envMxdizC   
$C1/45D7   BF AA 45 CD   LDA $CD45AA,x[$CD:45B1]   A:0020   X:0007   Y:0002   P:envMxdizC   
$C1/45DB   8D 81 98   STA $9881  [$7E:9881]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45DE   BF AB 45 CD   LDA $CD45AB,x[$CD:45B2]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45E2   8D 84 98   STA $9884  [$7E:9884]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45E5   BF AC 45 CD   LDA $CD45AC,x[$CD:45B3]   A:0001   X:0007   Y:0002   P:envMxdizC   
$C1/45E9   8D 7C 98   STA $987C  [$7E:987C]   A:00FF   X:0007   Y:0002   P:eNvMxdizC   
$C1/45EC   C2 20   REP #$20   A:00FF   X:0007   Y:0002   P:eNvMxdizC   
$C1/45EE   AD 7E 98   LDA $987E  [$7E:987E]   A:00FF   X:0007   Y:0002   P:eNvmxdizC   
$C1/45F1   0A    ASL A   A:0020   X:0007   Y:0002   P:envmxdizC   
$C1/45F2   AA    TAX   A:0040   X:0007   Y:0002   P:envmxdizc   
$C1/45F3   BF 60 00 D1   LDA $D10060,x[$D1:00A0]   A:0040   X:0040   Y:0002   P:envmxdizc   
$C1/45F7   8D 7F 98   STA $987F  [$7E:987F]   A:268E   X:0040   Y:0002   P:envmxdizc   
$C1/45FA   AD 81 98   LDA $9881  [$7E:9881]   A:268E   X:0040   Y:0002   P:envmxdizc   
$C1/45FD   0A    ASL A   A:0001   X:0040   Y:0002   P:envmxdizc   
$C1/45FE   AA    TAX   A:0002   X:0040   Y:0002   P:envmxdizc   
$C1/45FF   BF 2C 69 CD   LDA $CD692C,x[$CD:692E]   A:0002   X:0002   Y:0002   P:envmxdizc   
$C1/4603   8D 82 98   STA $9882  [$7E:9882]   A:EEED   X:0002   Y:0002   P:eNvmxdizc   
$C1/4606   AD 84 98   LDA $9884  [$7E:9884]   A:EEED   X:0002   Y:0002   P:eNvmxdizc   
$C1/4609   0A    ASL A   A:0001   X:0002   Y:0002   P:envmxdizc   
$C1/460A   AA    TAX   A:0002   X:0002   Y:0002   P:envmxdizc   
$C1/460B   BF 6E 65 CD   LDA $CD656E,x[$CD:6570]   A:0002   X:0002   Y:0002   P:envmxdizc   
$C1/460F   8D 85 98   STA $9885  [$7E:9885]   A:A994   X:0002   Y:0002   P:eNvmxdizc   
$C1/4612   AD 77 98   LDA $9877  [$7E:9877]   A:A994   X:0002   Y:0002   P:eNvmxdizc   
$C1/4615   0A    ASL A   A:0001   X:0002   Y:0002   P:envmxdizc   
$C1/4616   AA    TAX   A:0002   X:0002   Y:0002   P:envmxdizc   
$C1/4617   BF F0 5E CD   LDA $CD5EF0,x[$CD:5EF2]   A:0002   X:0002   Y:0002   P:envmxdizc   
$C1/461B   8D 78 98   STA $9878  [$7E:9878]   A:0909   X:0002   Y:0002   P:envmxdizc   
$C1/461E   AA    TAX   A:0909   X:0002   Y:0002   P:envmxdizc   
$C1/461F   A8    TAY   A:0909   X:0909   Y:0002   P:envmxdizc   
$C1/4620   7B    TDC   A:0909   X:0909   Y:0909   P:envmxdizc   
$C1/4621   E2 20   SEP #$20   A:0000   X:0909   Y:0909   P:envmxdiZc   
$C1/4623   BF 00 00 CE   LDA $CE0000,x[$CE:0909]   A:0000   X:0909   Y:0909   P:envMxdiZc   
$C1/4627   85 81   STA $81    [$00:0081]   A:0098   X:0909   Y:0909   P:eNvMxdizc   
$C1/4629   BF 01 00 CE   LDA $CE0001,x[$CE:090A]   A:0098   X:0909   Y:0909   P:eNvMxdizc   
$C1/462D   85 80   STA $80    [$00:0080]   A:0080   X:0909   Y:0909   P:eNvMxdizc   
$C1/462F   BF 02 00 CE   LDA $CE0002,x[$CE:090B]   A:0080   X:0909   Y:0909   P:eNvMxdizc   
$C1/4633   85 83   STA $83    [$00:0083]   A:0080   X:0909   Y:0909   P:eNvMxdizc   
$C1/4635   BF 03 00 CE   LDA $CE0003,x[$CE:090C]   A:0080   X:0909   Y:0909   P:eNvMxdizc   
$C1/4639   85 82   STA $82    [$00:0082]   A:0000   X:0909   Y:0909   P:envMxdiZc   
$C1/463B   C8    INY   A:0000   X:0909   Y:0909   P:envMxdiZc   
$C1/463C   C8    INY   A:0000   X:0909   Y:090A   P:envMxdizc   
$C1/463D   C8    INY   A:0000   X:0909   Y:090B   P:envMxdizc   
$C1/463E   C8    INY   A:0000   X:0909   Y:090C   P:envMxdizc   
$C1/463F   BB    TYX   A:0000   X:0909   Y:090D   P:envMxdizc   
$C1/4640   7B    TDC   A:0000   X:090D   Y:090D   P:envMxdizc   
$C1/4641   A8    TAY   A:0000   X:090D   Y:090D   P:envMxdiZc   
$C1/4642   C2 20   REP #$20   A:0000   X:090D   Y:0000   P:envMxdiZc   
$C1/4644   06 80   ASL $80    [$00:0080]   A:0000   X:090D   Y:0000   P:envmxdiZc   
$C1/4646   90 20   BCC $20    [$4668]   A:0000   X:090D   Y:0000   P:envmxdizC   
$C1/4648   AD B3 A0   LDA $A0B3  [$7E:A0B3]   A:0000   X:090D   Y:0000   P:envmxdizC   
$C1/464B   D0 19   BNE $19    [$4666]   A:0000   X:090D   Y:0000   P:envmxdiZC   
$C1/464D   A9 01 00   LDA #$0001   A:0000   X:090D   Y:0000   P:envmxdiZC   
$C1/4650   99 AC 5D   STA $5DAC,y[$7E:5DAC]   A:0001   X:090D   Y:0000   P:envmxdizC   
$C1/4653   5A    PHY   A:0001   X:090D   Y:0000   P:envmxdizC   
$C1/4654   98    TYA   A:0001   X:090D   Y:0000   P:envmxdizC   
$C1/4655   0A    ASL A   A:0000   X:090D   Y:0000   P:envmxdiZC   
$C1/4656   0A    ASL A   A:0000   X:090D   Y:0000   P:envmxdiZc   
$C1/4657   A8    TAY   A:0000   X:090D   Y:0000   P:envmxdiZc   
$C1/4658   BF 00 00 CE   LDA $CE0000,x[$CE:090D]   A:0000   X:090D   Y:0000   P:envmxdiZc   
$C1/465C   99 BD 5D   STA $5DBD,y[$7E:5DBD]   A:0917   X:090D   Y:0000   P:envmxdizc   
$C1/465F   A9 CE 00   LDA #$00CE   A:0917   X:090D   Y:0000   P:envmxdizc   
$C1/4662   99 BF 5D   STA $5DBF,y[$7E:5DBF]   A:00CE   X:090D   Y:0000   P:envmxdizc   
$C1/4665   7A    PLY   A:00CE   X:090D   Y:0000   P:envmxdizc   
$C1/4666   E8    INX   A:00CE   X:090D   Y:0000   P:envmxdiZc   
$C1/4667   E8    INX   A:00CE   X:090E   Y:0000   P:envmxdizc   
$C1/4668   C8    INY   A:00CE   X:090F   Y:0000   P:envmxdizc   
$C1/4669   C0 10 00   CPY #$0010   A:00CE   X:090F   Y:0001   P:envmxdizc   
$C1/466C   D0 D6   BNE $D6    [$4644]   A:00CE   X:090F   Y:0001   P:eNvmxdizc   
$C1/466E   7B    TDC   A:00CE   X:0915   Y:0010   P:envmxdiZC   
$C1/466F   E2 20   SEP #$20   A:0000   X:0915   Y:0010   P:envmxdiZC   
$C1/4671   AD B3 A0   LDA $A0B3  [$7E:A0B3]   A:0000   X:0915   Y:0010   P:envMxdiZC   
$C1/4674   F0 09   BEQ $09    [$467F]   A:0000   X:0915   Y:0010   P:envMxdiZC   
$C1/467F   4C 33 48   JMP $4833  [$7E:4833]   A:0000   X:0915   Y:0010   P:envMxdiZC   
$C1/4833   AD 7A 98   LDA $987A  [$7E:987A]   A:0000   X:0915   Y:0010   P:envMxdiZC   
$C1/4836   22 15 00 CD   JSL $CD0015[$CD:0015]   A:00DA   X:0915   Y:0010   P:eNvMxdizC   

















« Last Edit: October 19, 2006, 02:49:28 pm by Chickenlump »

Chickenlump

  • Architect of Kajar
  • Chronopolitan (+300)
  • *
  • Posts: 327
  • O_o
    • View Profile
Re: I think it's time to work on the Techs
« Reply #33 on: October 19, 2006, 02:50:36 pm »


Animation Scripts
More stuff partially decoded. This won't be all that bad to completely decode.

7A XX - Play sound
20 XX - Wait this long before going on
1E XX - Special sprite movement/animation command (does cyclone's spin and sound, darkens the screen, but not the sword slash graphic that goes with it, among other things)
03 XX - Do an animation
24 XX - Enemy white blink when hit
60 XX - Set Palette (sets palette for the slash sprite of crono's sword)
73 XX XX XX - sword slash sprite, location? X, Y coords from enemy?
35 XX - Set enemy animation

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #34 on: March 30, 2007, 12:14:36 pm »
I've been having trouble with the provoke thing.  I changed the sound and sprites and all, but I can't figure out what byte causes the status ailment.  I'm also trying to see if I can possibly add some Ice Effects to provoke, but so far nothing has worked yet.  I'll probably try to work on this more at home if I have time.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: I think it's time to work on the Techs
« Reply #35 on: March 30, 2007, 08:05:40 pm »
Try to remember, what we've been editing is animation data for the techs.
Also remember that I mentioned a topic mentioning the locations of tech data when we were first starting to hack the tech animation data.
Anyway, after a little testing most of the bytes were some type of flag that aren't too useful by themselves in the first place.  They're important to the function, but you can't change the function of the tech just by changing the data in this line.  So most of the stuff you can change aren't useful yet.  Maybe you can figure it out a bit better.

Cyclone is on C234B-C2356.  The attack power is located on the 10th byte, or C2354 for Cyclone. 

If it's an attacking tech that is.

If it's a healing tech, the "attack power" or maybe I should say "heal power" is located on the 2nd byte.

Then Slash starts on C2357 and I'm sure you can figure out the rest from there.

He's using headered offsets, so Cyclone starts at C214B in an unheadered rom. He mentioned in another post that each tech is 12 bytes.
I did some testing, and the byte that causes the Confuse status in Provoke is at C21B9.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #36 on: March 30, 2007, 09:43:39 pm »
Ahhh!  Thank you so much :D

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #37 on: April 02, 2007, 10:44:40 pm »
Double post but anyways.  I was experimenting with techs and so far, I replaced Lightning 1 with Ice 1, but the graphics of Ice do not show.  I'm guessing their's a pointer that tells which graphics to use for each tech.  Any idea how to find them?

Edit: Here's the video.
Edit 2: Apparently from what i've checked, each tech has it's own length.  Ice was 221, while Leap Slash has like 80 something.  Kinda strange...I'll have to double check to reconfirm it.
Edit3: Any idea where the Techs start in the pre-release?  I need it in order to test something with Magus.

[attachment deleted by admin]
« Last Edit: April 03, 2007, 12:05:26 am by justin3009 »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: I think it's time to work on the Techs
« Reply #38 on: April 03, 2007, 12:37:16 am »
Which tech data?
Animation data or stats?

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #39 on: April 03, 2007, 08:26:28 am »
Idk if it is seperate but the graphics for the tech?  Like, I changed Lightning to Ice but the Lightning Graphics sitll show.  Which part of the data controls which graphics should show up on the tech?  Cause I'm trying to do a COMPLETE swap of the tech but it's just the graphics that aren't changing.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #40 on: April 05, 2007, 02:25:40 pm »
Ok, from what i've seen on the techs.

90-99 is the first byte of each tech and is the thing that tells who does what.  If you change it to 0-10 I believe it's first character slot, 20-40 2nd character, 50-70 is the monster, 80-99 is whoever is using the tech.

On some other bytes A0-AF usually is the fading of the screen.  After the first bytes, some of the numbers usually with 1a or 3a or sometimes just a random numeral are the timing, or the palette of the tech that's going on.

For example, here's Ice's data (552 Bytes Long) I think it's this size...

90 F0 11 6E   49 11 52 11   BB AA 6E 11  A3 11 BA 11   A0 09 52 0D   05 5A 02 11
24 02 02 31   24 03 3D 0C   78 76 34 1B  22 1B 00 A4   03 2E 01 00   24 03 20 14
1E 09 22 1B   00 50 00 1B   09 72 03 73  00 20 10 33   03 41 1E 06   41 1F 07 33
09 78 72 1E   26 24 02 78   6F 1B 00 1E  22 00 1B 09   72 03 73 00   20 10 1E 27
24 02 0A 1B   00 76 00 03   A8 09 1E 22  00 1B 09 72   03 73 00 20   10 1E 28 24
02 0A 1B 00   76 00 03 A8   12 1E 22 00  1B 09 72 03   73 00 20 10   1E 29 36 24
02 0A 1B 00   76 00 03 A8   1B 1E 22 22  36 00 90 10   10 00 DF 11   F1 11 04 12
A0 A0 3D 03   72 90 F0 11   6E 49 11 52  11 BB AA 6E   11 A3 11 BA   11 A0 09 52
0D 05 5A 02   11 24 02 02   31 24 03 3D  0C 78 76 34   1B 22 1B 00   A4 03 2E 01
00 24 03 20   14 1E 09 22   1B 00 50 00  1B 09 72 03   73 00 20 10   33 03 41 1E
06 41 1F 07   33 09 78 72   1E 26 24 02  78 6F 1B 00   1E 22 00 1B   09 72 03 73
00 20 10 1E   27 24 02 0A   1B 00 76 00  03 A8 09 1E   22 00 1B 09   72 0E 73 00
20 10 1E 28   24 02 0A 1B   00 76 00 03  A8 12 1E 22   00 1B 09 72   03 73 00 20
10 1E 29 36   24 02 0A 1B   00 76 00 03  A8 1B 1E 22   36 00

Now for the first Row:

90 - Represents which character does what.  00-10 No one 20-30 1st slot 40-60 2nd Slot 80 - Broken 90 - Whoever uses Tech
F0 - Not entirely sure, but I'm guessing this tells the tech whether to start or skip the effects.
11 - Doesn't do anything...Left over byte?
6E - Same as above
49 - How much time before to cast the tech
11 - Where Marle is and is going to go to cast it
52 - Where the enemy is located?
11 - Same as above
BB AA - Nothing
6e - Where the Ice surrounds marle and the palette and if the tech works
11 - same as above
A3 - Where the Ice surrounds Marle Starts
11 - same as above
ba - Unsure, but it won't let tech go on if changed
11 - Same as above
A0 - Nothing
09 - Timer?
52 - Nothing
0D - Same as First Byte
05 - ?
5A - Nothing
02 - Animation Frame for Marle
11 - Animation frame for Marle
24 - Marle's Location when casting
02 - Animation Frame For Marle
02 - End Tech Early?
31 - Animation frame for Marle
24 - Enemies Location
03 - Timer for Ice Block
3d - Where Ice block goes, or whether it cast or not, where monster goes, where marle goes
0C - Who Ice block casts on

Well that covers the first row and the first 2 parts of the 2nd row.  You get the point.  This is the basic data for the techs.
« Last Edit: April 05, 2007, 03:17:57 pm by justin3009 »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1756
    • View Profile
Re: I think it's time to work on the Techs
« Reply #41 on: April 05, 2007, 09:00:15 pm »
You're a better analyst of data than I'm, but I can't seem to find the hex data you posted in the rom.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #42 on: April 05, 2007, 09:24:09 pm »
I changed some of it to suit my needs.  So kinda beware of that.  But it was 0e1136 for Ice.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #43 on: April 07, 2007, 06:35:19 pm »
It seems that I was extremely wrong in my calculations for Ice now that I check it.  It's not 552 it's only 126.

I accidentally added 3 techs together somehow...but apparently, 36 00, 76 00,73 00 are definate pointers to the end of a tech.  And 90-9A are pointers to the beginning of a tech.
« Last Edit: April 14, 2007, 06:50:51 pm by justin3009 »

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: I think it's time to work on the Techs
« Reply #44 on: April 09, 2007, 11:09:48 pm »
AH HA!  I was wrong about ice being 552.  It's 126 bytes, so that fixes that problem.  And a tiny update!  CRONO NOW CAN USE ICE COMPLETELY WITH GRAPHICS =D!  Video on bottom.

Note: Some stuff is kinda screwed up cause I was messing around with the hex!  But trust me, it's fully operational and techs are now able to be swapped!

[attachment deleted by admin]