Chrono Compendium

Kajar Laboratories - Fan Works and Submissions => Chrono Trigger Modification => Topic started by: Agent 12 on July 07, 2006, 04:52:05 pm

Title: I think it's time to work on the Techs
Post by: Agent 12 on July 07, 2006, 04:52:05 pm
Graphics, Events, Maps, Enemy AI (it should be better documented though), and now the beginnings of Sprite Assembly ......we've conquered alot.  But there's still an aspect of the game that remains untouchable.   Techs.

Justin has done quite a bit....it sounds like he may have found some form of a pointer to the techs in one of his previous posts.  Here is a tidbit of it from the post in question

Marle/Nadia
------------------------------------------------------
CD5EF6 (End Part):  Aura - D7 0F    Provoke - 6F 10
CD5F06:    AB 10 - *Cure    *Ice - 36 11   *Haste- D3 11   *Cure 2 - 3D 12    *Ice 2 - E1 12  *Life 2 - 5E 13

Now it is my understanding that pointers are 3 bytes long....while these are 2....so I'm not sure where to look to find the code.

My goal for you guys is help me find where "Provoke" is located in the ROM.  I personally feel that this would be the easiest tech to start with.....it should be something along the lines of

Change Marle Animation
Make Sound effect
Shake Enemy
---Do enemy status effect

If we can find out how animations and sound effects are called we can start to deciphre the more complicated stuff.

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 07, 2006, 06:03:09 pm
These are likely to be local pointers. Now, I don't understand everything about pointers for sure, but local pointers are restricted to one bank. The tech pointers would be restricted from 0D0000 to 0DFFFF.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 07, 2006, 06:09:36 pm
Vehek, how'd I know you'd be the first to reply.  I'll check this out tomorrow...so our running theory is that  the provoke tech would begin at 0D6F10....I'll start small and see if I can make Marle do a different animation.


EDIT:  Wait actually don't you swap the pointers or something...so 0D016F.....?? I'll go look it up unless someone can quickly help me out.


--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 07, 2006, 06:15:15 pm
With the way the pointer is ordered, I think it'd be 0D106F. I'm assuming there wasn't a typo in your post.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on July 07, 2006, 06:17:52 pm
I'm trying to mess around with this as well.  I'll keep in touch incase i find anything.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 07, 2006, 06:25:36 pm
OK...I won't be able to mess around till this weekend but just so you guys know I pulled this off of the Animations thread:

13 - provoke animation

so if you see a 13 in there that's probably what we'll want to change if we want to change her animation.

--jp
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 07, 2006, 06:43:44 pm
hm........you can zero out chunks of code to see if we are even in the right place (I wish i wasn't at work this is  interesting).

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 07, 2006, 07:57:52 pm
Doesn't seem to be at D106F... I wiped out the data there, and nothing happened. Where could these be pointing to?

Edit-FOUND IT! The tech data itself is in bank CE. So Provoke is at 0E106F.
My earlier assumption that the data would be in the same bank as the pointers was wrong...
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 07, 2006, 08:40:18 pm
Here's the data I got for Provoke
9080 8000 7B10 B32A 8F10 8509 021A 2014
0224 200A 3620 0A03 1303 0324 022E 0100
0702 0060 001B 0024 0120 197A 8B00 200F
7A8B 0020 0F7A 8B00 2014 3600
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on July 07, 2006, 09:51:32 pm
Now for the hard part.  Identify each tech's data =/

Edit:  The data after after provoke's is Marle's Cure.  I wonder if replacing 1 tech that everyone uses would effect them all...

Edit Edit: Are each techs 60 Bytes?

Edit Edit Edit: YAY!  If we can identify these techs, maybe even the unused ones.  We can fully see what some of this stuff would have been.  Graphics and all ^^
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 07, 2006, 10:17:00 pm
I don't really know how long each tech is; I just copied the maximum possible length it could be without going into the next tech.
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 08, 2006, 12:31:52 pm
I did a search for tech data, and there's a post describing where the stats of the data are. I suspect this data we're looking has stuff like animation data, and not damage or effects.
The thread I found is http://www.chronocompendium.com/Forums/index.php?topic=596.0.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 08, 2006, 02:42:23 pm
Great job everyone.  Vehek, so zero'ing out the data you copy/pasted destroyed proke right??

I have some family down right now but might get to play around with it later.

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 08, 2006, 02:47:11 pm
Haven't actually trying wiping it out, but I did change the animations. Just a few changes in other areas of it, I've noticed, breaks Provoke.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 08, 2006, 03:06:57 pm
I'm messing around very fast before I have to leave.....have you actually managed to switch the animations already.....here's what I found through quick testing

9080 8000 7B10 B32A 8F10 8509 021A 20----this contains the laugh at the least

14 0224 200A 3620 0A03 1303 0324 022E 01---this contains the provoke animation......there's a 13..hm


00 0702 0060 001B 0024 0120 197A 8B00 200F
7A8B 0020 0F7A 8B00 2014 3600 ------I zero'd this out and the tech still ran.....I'm playing w/o sound though so it could contain that or maybe something with the enemy ?

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 08, 2006, 03:09:33 pm
As I said before, I don't know how much of the data I copied is used; I just copied until I reached the beginning of the next tech.
Edit-Some experiments.

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 08, 2006, 03:28:05 pm
I'm beginning to wonder if we have found what is simply a string of different animations for techs....

9080 8000 7B10 B32A 8F10 8509 021A 20----this contains the laugh at the least

EDIT:  Just to test my theory the 1A there is definatly the laugh (Thank you animations thread).  I have changed it to Marle's "Crying North" successfully.

14 0224 200A 3620 0A03 ---This is the spinning.

13-----This is indeed the provoke animation that is used in provoke.  I've changed it to dancing and to crying north succesfully.

03---This bit is weird.....I'm not sure if it somehow is related to the provoke animation or if it's own animation.  Changing it seems to either make Marle face a direction or just continue her provoke animation.


I haven't had a chance to mess with the rest of it.

0324 022E 01
00 0702 0060 001B 0024 0120 197A 8B00 200F
7A8B 0020 0F7A 8B00 2014 3600 ------I zero'd this out and the tech still ran.....I'm playing w/o sound though so it could contain that or maybe something with the enemy ?


I'll have to mess with it more tonight.

EDIT:  Everyone it is more important than ever to document everyone's animations.  If this is indeed just a string of animations we can have a contest for new techs to put into Crimson Echoes but it'll be impossible w/o proper documentation.
--jp
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 08, 2006, 04:27:51 pm
OK Here's my final break down of Provoke for now....I compared it with the Cure equivalent after it (just matching byte for byte:

Provoke:


00 90 ---Same as cure check others
80 --Changing to F0 Skips all animations (still does status effect)
80 --Same as cure checks others
00 --Same as Cure check others
7B ---When this changes everything screws up..Changed to Cures BD and the cure animation started then it froze.....this may be a pointer that is related to the 10 below.
10 --Same as cure
B3 ---Changing to Cures "CE" skips animation (still does satus affect"
2A --Changing to Cure's 10 threw the enemy off the screen
8F ==Changed to Cure's equivalent of "D8"  Did the swirling animation around marle but then targeted
     The enemy.  Graphics were messed up though
10 --Same as cure check others
85 --Changing to cure's F9 seemed to have no effect (check sound?)
09 Changing to Cure's 10 equivalent had no affect
02 --Changing to Cure's 0D equivalent had no affect
1A Marle's laugh animation
20  --Connected to Laugh Animation:  Changing to 25 skips laugh completely changing to one skips all
      animations completely
14 02 24 20 0A 36 20 0A 03        ===Spin 
13 provoke
03 returns to standing normal
Haven't messed with the rest below yet:

03 24 02 2E 01
00 07 02 00 60 00 1B 00 24 01 20 19 7A 8B 00 20
0F 7A 8B 00 20 0F 7A 8B 00 20 14 36

I'm thinking each animation is going to be XX YY, where XX will be the animation and I haven't figured out what YY is.....I was thinking how long it lasts at first but that seems to be wrong.

--jp
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 08, 2006, 10:51:25 pm
OK another update here is the end of the Provoke animation:

19 7A 8B 00 20
0F 7A 8B 00 20
0F 7A 8B 00 20
14 36

See how similar they are?  Well after putting headphones on I realized there's 3 beeps......yup those are the sound affects.  From my understanding the first byte affects te "strength"...maybe "pitch" of the sound.  If you notice the first beep of the sound affect is a bit higher than the last two. 

I've actually managed to make provoke make 4 beeps by adding another 0F 7A 8B 00 20.  I had to put the 14 36 back and it caused cure to do nother but still, it's a start.

I also went ahead and searched around cure for the sound affect and it looks like it is this:

01 70 7A 7C 00

......It's certainly not exactly a pattern or anything.  Perhaps out local Kilwala, Vargose,  will be able to see if what we are doing is messing with pointers.  From testing I noticed that If you change the 70 in that byte to 75 it goes from the healing sound to a sword swipe.....Hm, actually if you change any of the 70's the sound effects change...It has to be a pointer.

--jp
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 09, 2006, 03:07:08 am
OK final update for the night.  I'm going through cure too now to compare, it's slowly making more sense.

Here's how Cure used to look:

90F0   8000   BD10   CE10
D810   F910   0D11   2111
8509   7215   "0310"   "0236"
200a   3624   "0450"   "0603"
"2e01"   "0024"   "0202"   2420
1406   "0336"   001b   "0972"
"0373"   "0061"   "0200"   "0302"
000D   2401   707a   7C00
1E1C   7303   1b03   7A59
"0303"   "0136"   7100   1B09
7203   7300   2002   "0200"
0D24   "0120"   "0870"   1E1C
7100   1B09   7203   7300
2005   "0200"   0D24   "0120"
1070   1E1C   7100   1B09
7203   7300   2007   "0200"
0D24   "0120"   1870   1E1c
7136   0      

Here's how it looks now:

Header and animations Marle's Cure:
90F0   8000   BD10   CE10
D810   F910   0D11   2111
8509   7215   "0310"   "0236"


Another Animation (the spin)
200a   3624   "0450"   "0603"
"2e01"   "0024"   "0202"   2420
1406   "0336"

The Sound Effects and Graphics:
001b   "0972"   "0373"   "0061"   "0200"   "0302"   000D   2401   707a   7C00   1E1C   7303   1b03   7A59   "0303"   "0136"

And finally the last part.....I'm not sure what it is yet but theres definately a pattern:

7100   1B09   7203   7300   2002   "0200"   0D24   "0120"   "0870"   1E1C
7100   1B09   7203   7300   2005   "0200"   0D24   "0120"   1070   1E1C
7100   1B09   7203   7300   2007   "0200"   0D24   "0120"   1870   1E1c
7136                           

If I had to guess I'd say it's 3 conditionals (who did you cure??).  Only the middle is different as you can see.  Notice how every group ends in 36.....I believe that's the equivalent of "return".

Let's try to organize provoke with our new method:


Header, and laugh
9080   8000   7b10   b32a
8f10   8509   021a   2014
"0224"   200a   36

Provoke:
200a    0313    0303   2402
2e01    0007   0200    6000


Sound,.....no graphics:

1b00     2401    2019   7a8b
0020     0f7A     8b00   200f
7a8b     0020     1436      

Note I have to do alot of checking still.  What made me angry was that there was no 36 before the Sound group......however look at both sounds.  They both start with 1B00, andend in 36.  I decided to test this out and copied the provoke "Sound group" into the cure sound group, moved around 36's and it worked flawlessly.  However, Cure still does have some unknowns with graphics though I have changed them and thhe palette by accident.


001b 0024 0120 197a 8b00 20 0F   7A8b 0020 0f7a   8b00 20 1436   
001b 0972 0373 0061 0200 03 02   000D 2401 707a   7C00 1E1C 7303 1b03 7A59 0303 0136   



The Red Green and orange on the top row are the sounds I posted earlier.  As you can see there isn't much more to it......the 001B starts it off and both.  By simple swapping second group seems to be a delay, and the third group has something to do with the character's animation.  It seems thhat the yellow on the bottom is cure's sound effect...it's gotta be pointers.   

But what about all of the  rest on the bottom....my first guess is the star graphics......or atleast the pallettes.......that's another day.

Phew....that was pretty fun.  It's late so I may have missed something or jumped to conclusions but it's something that is worth getting excited about.   I'll stop ranting now.

--jp

Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 12, 2006, 12:44:25 am
The bytes such as the 7B10 in Marle's Provoke are definitely pointers. I repointed the first pointer of Crono's Slash to a field of FF's in the bank and pasted in data from Spincut. I got the same results as if I had changed the pointer to be the same as Spincut's.
Edit-Right before the data at the first pointer, there's a 8509 in several techs. I don't know what it is.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 12, 2006, 12:47:31 am
Awesome job Vehek.  Have you checked your PM's?

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 13, 2006, 02:33:00 am
I've been trying to study Cyclone. I just can't find what controls the animations when he's spinning around and attacking the enemy.

Now, I've just looked at the first pointer of Provoke. I've guessed that the third pointer will be where I should stop copying (because the second pointer points to data in Ayla's Kiss, and I don't think Provoke goes on that long).
021A 2014 0224 200A 3620 0A03 1303 0324 022E 0100
The bolded parts are parts confirmed to be animations.

Edit-While tinkering with Slash again, I caused Crono to perform the spinning around and attacking animation of Cyclone by changing 1E1E to 1E1F.
Edit2-I just replaced the 1E1F in Cyclone to 1E1E and that deleted the spinning around and attacking part!
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 15, 2006, 01:09:06 pm
From my work, I've found that the first pointer seems to be the animation part.
I made a small custom animation with Marle's Provoke. I haven't figured out how to do individual animations yet, but I've used some of the things I've stumbled upon.

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 16, 2006, 01:13:24 pm
Nice job vehek.  Slowly but surely.

--jp
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on July 16, 2006, 01:16:12 pm
I messed with it a lil bit but no screenies.  It kept freezing on me ><.  I changed 1 of the animations and she did her lil magic stance then her second one where she does it at Lavos (I think ice 2 as well).  Then it froze.
Title: Re: I think it's time to work on the Techs
Post by: nightmare975 on July 16, 2006, 01:41:06 pm
I messed with it a lil bit but no screenies.  It kept freezing on me ><.  I changed 1 of the animations and she did her lil magic stance then her second one where she does it at Lavos (I think ice 2 as well).  Then it froze.

That must of been one powerful Ice Tech. :lol:
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on July 16, 2006, 03:29:04 pm
lol.  THe power of confusing ppl with super ice >_>
Title: Re: I think it's time to work on the Techs
Post by: Vehek on July 17, 2006, 10:54:28 am
Some of the things I used in my custom animation:
1E 1F-Causes the spinning/circling around and attacking part of Cyclone
?? 1C-I stumbled upon the 1C allowing to change where the character is when the tech ends, and that first byte allows me to control where.
2E 01 00-Seems to be the end of the animation for the character doing the tech.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on July 17, 2006, 11:43:48 am
Hm.....that 2E01 would help me explain why sometimes there's no 36 after Animations but before the 1B00 of the sound effects. 

--jp
Title: Re: I think it's time to work on the Techs
Post by: Vehek 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.
Title: Re: I think it's time to work on the Techs
Post by: Vehek 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.
Title: Re: I think it's time to work on the Techs
Post by: Chickenlump 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   

















Title: Re: I think it's time to work on the Techs
Post by: Chickenlump 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
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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.
Title: Re: I think it's time to work on the Techs
Post by: Vehek 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.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on March 30, 2007, 09:43:39 pm
Ahhh!  Thank you so much :D
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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]
Title: Re: I think it's time to work on the Techs
Post by: Vehek on April 03, 2007, 12:37:16 am
Which tech data?
Animation data or stats?
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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.
Title: Re: I think it's time to work on the Techs
Post by: Vehek 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.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 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]
Title: Re: I think it's time to work on the Techs
Post by: Kyronea on April 09, 2007, 11:18:07 pm
NICE! Well done, justin! Does this mean we can now create new techs at will?
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 09, 2007, 11:24:03 pm
I think so.  There's only one thing though that kinda troubles me.  Idk if it's because 2 people have Ice or not but w/e, Marle's AND Crono's Ice HAVE to have the same data, otherwise Crono's will not function properly.
Title: Re: I think it's time to work on the Techs
Post by: Kyronea on April 09, 2007, 11:29:40 pm
Hmm...well, I suppose the only way to find out if we can create new techs or not is for someone to try it out...if we can this will mean wonders for the Chrono ROM hacking community, especially if such editing can eventually be integrated into Temporal Flux.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 09, 2007, 11:42:31 pm
Ya.  I'm going to edit this post to the better version of Crono's Ice, where he actually performs it correctly -_-...

Edit: http://www.savefile.com/files/624609 (http://www.savefile.com/files/624609) - There we go.  It's to big to be uploaded on here by like 50KB but anyways...Crono and Marle basically do the same thing, except IDK why, but the video recording software cut out the last part of Marle's Ice...w/e
Title: Re: I think it's time to work on the Techs
Post by: Chrono'99 on April 10, 2007, 06:00:46 am
Actually the first version seems to be better; the second one has the correct animation, but doesn't it cause instant death? The damage number doesn't appear in the video yet the mushroom died.

Anyway, all this is fantastic. Good work :)
Title: Re: I think it's time to work on the Techs
Post by: Geiger on April 10, 2007, 09:26:32 am
Now get Crono to use an enemy effect and I'll be sold.  ;)

---T.Geiger
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 10, 2007, 09:29:40 am
Your in luck!  I just did =)

Uploaded: Fire Sword Beta?

http://www.savefile.com/files/626136 - Crono using Evil Star =)
Gotta go to school now so i'll probably post more later tonight ^_^

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: Zakyrus on April 10, 2007, 11:56:57 am
Very impressive.

Please, tell me that you are going to write a tutorial on how to do this.  :wink:
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 10, 2007, 12:07:12 pm
I will...eventually >_> (Yay 3rd hour computer programming)
Title: Re: I think it's time to work on the Techs
Post by: Zakyrus on April 10, 2007, 12:22:13 pm
I will...eventually >_> (Yay 3rd hour computer programming)

Programming class. Ah, the nostalgia.

That's cool, take your time writing that. Better for you to relax and slow down than to rush and lose motivation.

Also, any chance that you would be able to change what the item specials do? Like change "random chaos" to "random Dark Matter" or something like that? That would be dope if it could be pulled off.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 10, 2007, 04:48:26 pm
I think it's possible.  But I'd have to locate the stuff in Geiger's SNES9x Debugger because apparently that seems to be the base for half of the techs.  ALSO!

PS: The stuff in geiger's snes9x debugger, the cd45ed or w/e the spot is, is the graphics for all of the techs and how they perform.  So, it probably is possible to have completely swapped techs, except some of them have more data then others, so probably not all of them can be swapped.  So i'm guessing that in TranslHextion that the stuff in there is what animation that the heroes do, what SFX, and where they are to start off the tech and who's involved.  So apparently there's like 2-3 different things you have to edit to get custom techs.

Edit: Lightning's starts at CD45C1.  I use that one as a tester.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 10, 2007, 08:44:32 pm
Double Post!!  Update on all the tech stuff

Tech graphics in hex editing using Geiger's SNES9X Debugger
-----------------------------------------------------------

00 - Anitopode 2
01 - Luminare
02 - Lightning 2
03 - Aura Whirl
04 - Hexagon Mist
05 - Blue circle thing
06 - Twister?
07 - Hypnowave
08 - Black Hole
09 - ???
0A - Area Bomb?
0B - Weird White Triangle
0C - ???
0D - Flare
0E - Dino Tail
0F - Antipode 1
10 - ???
11 - ???
12 - Ice Square Block thing
13 - Dreamers something (Forgot full tech name)
14 - ???
15 - Triple Ring thing
16 - Rocket Roll
17 - Water rising
18 - Triple elemental thing
19 - Area Bomb?
1A - Cure or something
1B - 3D Attack (I think)
1C - Fire 2
1D - Life/Life 2
1E - Dark Matter
1F - MP Buster
20 - Bomb thing
21 - Dark Bomb
22 - Dual Shock
23 - ???
24 - ???
25 - ???
26 - Frog Flare
27 - Plasma Attack or something
28 - Cure thing
29 - Weird lightning effects
2A - Weird Blue Triangle
2B - Buuurrpppp
2C - Strange ass lightning
2D - Water Sand thing
2E - Golem Teleport?
2F - Broken Dark Mist?
30 - ???
31 - Part 2 of 2D
32 - Water 2
33 - White bomb thingy
34 - ???
35 - Life/Life 2
36 - Dual Twister Thingy
37 - ???
38 - Boss Death (Lawl)
39 - Cure Thing
3A - Buuurrpppp
3B - Screen filled with [1]'s
3C - Twister thing
3D - Lighting effects
3E - Wtf? Lightning thing
3F - Doom thing from Lavos
40 - SUPER BOSS DEATH XD
41 - Frog Squash
42 - Nothing
43 - Antipode 2 effect
44 - Ice 1
45 - Lightning
46 - ???
47 - Delta Storm
48 - Dual Shock
49 - Bomb thing
4A - Bomb thing
4B - Bomb thing AGAIN
4C - BLUE BOMB THING!
4D - Wth?!  SERIOUSLY?! BLUE BOMB THING! AGAIN!
4E - -sigh-...Blue bomb again
4F - Red Circle Bomb
50 - Red Circle Bomb Again
51 - Red Circle thingy again
52 - Blue Circle
53 - Blue circle again
54 - Bet you can guess what it is...
55 - Bomb with bubble affects
56 - Haste effects
57 - Ice 2
58 - Cure Things
59 - Another Cure Thing
5A - ???
5B - Life/Life 2
5C - ???
5D - ???
5E - uh...Black circle thing
5F - Spire Effects
60 - Water Cyclone thing
61 - Laser thing
62 - Lavos Bit Attacks (WHen he's in shell form)
63 - ???
64 - 2x Small dark matters collide and make a fire explosion
65 - Doom Blaze that Lavos uses
66 - Part of Antipode 3
67 - 3 laser beam things..
68 - Rock Telekenesis
69 - Ice 1
6A - Ring of Hearts o.O
6B - Part of ICe 2
6C - Indentation on ground O_o
6D - ???
6E - Hypnowave
6F - Poison Gas?
70 - Bbbbuurrrpp
71 - Wth?  Red Ice?
72 - Lightning Effects
73 - Crying of the Heavens
74 - What the flying hell?  weird ass rainbow flowing stuff AKA Rainbow Sorbet
75 - Evil Star
76 - Blue background thing
77 - Load of bomb explosions
78 - Rock Telekenesis (Big white rock thing)
79 - Wavering Fire Effects
7A - ???
7B - Teleportation (Prehistoric)
7C - Teleportation (Millenial fair)
7D - Teleportation (2300 AD)
7E - Teleportation (Mammon Machine)
7F - Teleportation (Ocean Palace)
80 - Sand Cyclone
81 - ???
82 - O_O...Weird laser SFX then back to normal
83 - Laser Effects
84 - Nothing
85 - Nothing
86 - Run Away
87 - Fade to white
88 - Spacey Background
89 - Spacey background
8A - Spacey background
8B - 9A - Freezes Game

By Justin3009(AKA Shishisenkou) Tuesday, April 10, 2007
Title: Re: I think it's time to work on the Techs
Post by: Zakyrus on April 10, 2007, 09:17:16 pm
Very impressive.  8)
I hope we are getting closer and closer to a tech editor.
Title: Re: I think it's time to work on the Techs
Post by: LegacyCrono on April 13, 2007, 05:08:18 pm
Nice...! I'm going to give it a try!  8)
I've found a odd thing... Both 7A and 78 are used for sound, but if you change one for another it won't work.  :?

SEE YA!!!!!
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 14, 2007, 01:03:36 am
Ya.  It tends to do that.  If you change one byte before the sound, it kills it, or could even change the sound.  It's really confusing.

Anyways, this isn't part of the techs but here's something I did out of boredom today.

Crono - A2 CB C8 C7 C8
Marle - AC BA CB C5 BE
Lucca - AB CE BC BC BA
Robo - B1 C8 BB C8
Frog - A5 CB C8 C0
Ayla - A0 D2 C5 BA
Magus - AC BA C0 CE CC
Epoch - A4 C9 C8 BC C1

Capital Letters

80+ = Japanese?
A0 - A
A1 - B
A2 - C
A3 - D
A4 - E
A5 - F
A6 - G
A7 - H
A8 - I
A9 - J
AA - K
AB - L
AC - M
AD - N
AE - O
AF - P
B0 - Q
B1 - R
B2 - S
B3 - T
B4 - U
B5 - V
B6 - W
B7 - X
B8 - Y
B9 - Z




Lower Case Letters

BA - a
BB - b
BC - c
BD - d
BE - e
Bf - f
C0 - g
C1 - h
C2 - i
C3 - j
C4 - k
C5 - l
C6 - m
C7 - n
C8 - o
C9 - p
CA - q
CB - r
CC - s
CD - t
CE - u
CF - v
D0 - w
D1 - x
D2 - y
D3 – z

Numbers

D4 - 0
D5 - 1
D6 - 2
D7 - 3
D8 - 4
D9 - 5
DA - 6
DB - 7
DC - 8
DD – 9

Grammatical stuff

DE - !
DF - ?
E0 - /
E1 - ``
E2 - `` (going left)
E3 - :
Random Symbols

E4 - % (la in my hack)
E5 - (
E6 - )
E7 - '

Grammatical

E8 - .
E9 - ,

Random

EA - =
EB - -
EC - +
ED - \ (ie in my hack)
EE - #
EF - Japanese
F0 - small o
F1 - Bolded A
F2 - #
F3 - #
F4 - Shorter Capital L
F5 - Rl
F6 - Japanese
F7 - Japanese
F8 - Japanese
F9 -  Japanese
FA - Japanese
FB - ( (oddly shaped)
FC - ) (Oddly Shaped)
FD - Bracket
FE - ??
FF -
Title: Re: I think it's time to work on the Techs
Post by: LegacyCrono on April 14, 2007, 04:00:05 pm
I tried using a corruptor to change bytes from $C1C00 to $C37FF. Funny things happened. First, skills are all scrambled (See photo below) and when Marle attacks, Crono uses Thunder!! Amazing, isn't it? Odd is that it inflicts no damage at all...  :(

Another corruption test... This time, when I use a skill, the 1st slot character uses it! Check bellow, I made Magus uses Robo's RocketPunch and Marle uses Magus' Thunder 2. Some Double Techs works, but most doesn't. Oddly, I couldn't use any Triple tech but Delta Attack (Is that the name? I can't remember. It's Crono/Marle/Lucca, but I can use with any trio). Still, it does no damage. When you attack, appears 0 in a monster and "miss" in other. Really weird, but fun (lol, Magus using Robo Tackle!! :lol:)
Check Gato using Laser, awesome!! xD

That's all for now. BTW, I've searched for "Haste" (A7BA CCCD BE) and I found two address... Why?  :? There should be only one, right?

SEE YA!!!!!

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 14, 2007, 04:05:05 pm
Yes.  This has happened alot.  The first byte 90 96 99 or w/e it is, is whoever uses the tech.  1st character 2nd character 3rd character or monster.  It's really weird.  You can make anyone use any tech really, it's really confusing on how to get it work.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 14, 2007, 06:56:38 pm
Alright, so this is going to be the breakdown that I know of for techs.

Using Transhlextion or w/e 0eXXXX is the data for the techs.  So for example,  Ice is 36 11 so reverse that and it's 0e1136 for ice!  In Translhextion, all that stuff is, is the palette for some of the stuff, the SFX, where everything is located, and who does it.  So that doesn't have the data for the tech.

In Translhextion again, C1ACD is who the tech affects and what it does.  IDK who posted it but I give huge credit to him.  MP cost of techs begins at C273C, 1 byte each.  C1ACD: Cyclone---------Each 2 byte field indicates the targets of the tech.
Examples:
07 00: One enemy (Example: Confuse, Charm)
08 00: All enemies (Example: Dark Matter, Ice 2, Luminaire)
80 00: One ally (Example: Cure, Aura)
81 00: All allies (Example: Heal Beam, Aura Whirl)
03 00: One fallen ally (Example: Life)
04 00: All fallen allies
12 03: Enemy area (Example: Cyclone, Dark Bomb)
0B 01: Enemy line (Example: Slash)
0C 05: Enemy line (Example: Flame Toss)
11 02: Area around character (Example: Area Bomb, Tail Spin)
1B 0A: Area around character (Example: Black Hole)
13 02: Area around character (Example: Max Cylone, Fire Zone)
0F 0B: Horizontal line (Example: Falcon Hit)
00 00: One ally status (Example: Haste, Magic Wall)
01 00: All allies status (Example: Life Line)
13 06: (Example: Double Bomb)
0D 01: (Example: Blade Toss)

In Geiger's SNES9X Debugger, CD5EE6 is the start for the 2 byte header of techs.  09 09 = Cyclone to start it off.

Again in Geiger's SNES9X Debugger, CD45AD is the tech bytes.  What tech performs, the palette of the tech, what animation the tech does, what graphics the tech use.

That is my breakdown of the techs as of now.  I'm still not exactly sure how to get custom techs yet, but i'm trying to work on one but just 1 palette won't change and it's ticking me off DX
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on April 29, 2007, 12:52:00 pm
Tech Editing/Hacking
By: Justin3009 (AKA Shishisenkou or Justin3007)

Requirements
-----------------
1) Geiger's SNES9X Debugger
2) Translhextion
3) Unheadered Chrono Trigger ROM

Introduction
----------------------

Ok everyone, I decided to try making my first tutorial ever!  As you all know, the game that i've been hex editing is Chrono

Trigger.  Very great game indeed, but anyways, on to the tutorial!

What to do
------------
First, Download Geiger's SNES9X Debugger.  Once you do, Open it up.  Then, click load and then select your Chrono Trigger

rom.  You should have a menu appear with many buttons.  Click Run, then click Show Hex.

In Show Hex, on the left blank, is where the address starts and the right box is where it ends.  The 2 byte header for techs

is at starting at CD5EE6.  It starts with Cyclone which is 09 09.  But this isn't important that I know of except for finding

out where the tech is.  Now down to the real business.

The Tech data starts at CD45EF and ends at CD4925.  The first part is Cyclone.  But we're going to go to Ice and Cure.  So

for the address put cd45F2 on the left and cd4600 on the right.  This focus's on  Ice's data AND CURES!  But if you want just

pure Ice.  Go to CD45F2 and cd45F9.

As every tech, it starts and ends with FF.  Do NOT change that.  As it can make the tech not work and thus causing the game

to freeze.  Anyways, now lets get started.

FF 0C F4 00 25 3A 0C 44 is Ice's data.  This could be different from the actual game graphics because I might have accidentally edited it a tiny tiny bit.  FF as I said before, starts and ends the tech.  Or It just is the thing that tells

the tech to end.  I'm going to make a seperate thing for each byte so here it goes.

0C - This is what number the techs are.  Changing this will change the tech that will be used.  For example, Change 0C to 01,

and you have Cyclone.  00 is nothing 01 is cyclone 02 is Slash etc...Therefore, 0C is Ice.  So that slims it down a bit to

help us out.

F4 00 - These 2 bytes are the graphics that appear around Marle when she casts.  AKA the little Ice crystals that spin around

her.  If you change it to F4 01, then you have fire graphics.

25 3A 0C - These control the graphics and palette of the Ice that flows to the enemy.  25 is the Ice Crystals while 3A is the

palette.  If you change 3A to F1, the Ice glows like the aura around you when you use protect, except its more rainbowish and

random.  It's hard to explain.  I wouldn't change 0C though, it can change graphics and move the Ice swirling crystals

somewhere else.  Not entirely sure what it does

44 - Ahh...44..I love this one.  This displays the graphics of the tech when it hits the enemy.  Thus, making 44 the Ice

Block that appears.  Changing it to 65 will do Lavos's Laser Beams attack.

And that's about it for ice.

FF 0C F4 00 25 3A 0C 44 0B E1 02 1E 0B 0B FF is the full 2 techs.  0B E1 02 1E 0B 0B is Cure.  Feel free to experiment with

it.  This sums it up for Geiger's SNES9X Debugger.




Translhextion
-----------------------------
As Vargose and Jsondag2 told us, Provoke started at 0E106F.  By luck, 0E is always the first part of the techs.  So let's

work on Ice.  Ice is 36 11, so to get the tech data, put the bytes in reverse order so its 0E1136.  And that's where Ice

Starts.

Using Transhlextion or w/e 0eXXXX is the data for the techs.  So for example,  Ice is 36 11 so reverse that and it's 0e1136

for ice!  In Translhextion, all that stuff is, is the palette for some of the stuff, the SFX, where everything is located,

and who does it.  So that doesn't have the data for the tech.

In Translhextion again, 0C1ACD is who the tech affects and what it does.  IDK who posted it but I give huge credit to him. 

MP cost of techs begins at 0C273C, 1 byte each.  0C1ACD: Cyclone---------Each 2 byte field indicates the targets of the

tech.Examples:
07 00: One enemy (Example: Confuse, Charm)
08 00: All enemies (Example: Dark Matter, Ice 2, Luminaire)
80 00: One ally (Example: Cure, Aura)
81 00: All allies (Example: Heal Beam, Aura Whirl)
03 00: One fallen ally (Example: Life)
04 00: All fallen allies
12 03: Enemy area (Example: Cyclone, Dark Bomb)
0B 01: Enemy line (Example: Slash)
0C 05: Enemy line (Example: Flame Toss)
11 02: Area around character (Example: Area Bomb, Tail Spin)
1B 0A: Area around character (Example: Black Hole)
13 02: Area around character (Example: Max Cylone, Fire Zone)
0F 0B: Horizontal line (Example: Falcon Hit)
00 00: One ally status (Example: Haste, Magic Wall)
01 00: All allies status (Example: Life Line)
13 06: (Example: Double Bomb)
0D 01: (Example: Blade Toss)

For example, here's Ice's data (173 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

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.

I posted this before, but I really don't want to go through 173 bytes of data and pin point everything out.  But this is the

basic idea for techs.
Title: Re: I think it's time to work on the Techs
Post by: Zakyrus on April 30, 2007, 08:28:13 am
OOOOOHHHHHH!
Awesome.  8)
I will try this out very soon (as of late I am too busy working on CT+).
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on May 07, 2007, 10:26:10 am
(http://img340.imageshack.us/img340/1876/chronotriggertimesilluscp3.png) - Can you say Water Whirl :O
Title: Re: I think it's time to work on the Techs
Post by: Kyronea on May 07, 2007, 10:34:00 am
What in the hell?! You created a new tech! You created a new tech! Fantastic! This is wonderful news for all Chrono ROM hackers!
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on May 07, 2007, 07:19:46 pm
Chrono Trigger - Water Whirl!  Takes place of Fire Whirl.  I was trying to find the SFX for the fire noise but I couldn't find it.  And I was hoping I could get rid of the Fire that goes to Crono or change it to water, but when I did, it removed the whirly thing around Crono. >___<  So frikin hard to work with.

Edit: Does not work with more then 1 enemy in range.  I'm going to edit it so it only works on 1 enemy at a time.

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on May 10, 2007, 11:46:27 am
Prolly too much to ask but, I was thinking about this for techs.  With most of the information provided, we could probably make a VB program that can change the graphics of the tech.  I don't think it would be to difficult to do but since i'm a novice in VB and barely know how to code then I really don't have much room to say.  If I must, I could provide all of the data for each tech.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on May 25, 2007, 01:53:48 pm
Thought I'd update a bit more with the palettes for the magical stuff that appears around them before they cast it.  Updated a bit more but I accidentally skipped alot of values.

[attachment deleted by admin]
Title: Re: I think it's time to work on the Techs
Post by: Zakyrus on May 28, 2007, 01:58:44 am
Ooooh.  :shock: This thread looks better and better everytime I come here...

I so wish I understood this ROM stuff better. I can code C++ but ROM asm is alien to me, otherwise I would write a thousand editors...  :(
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on May 28, 2007, 09:23:01 am
This is why I wish I knew how to code this stuff in VB or C++ >.<!  It really doesn't seem that hard since there's item editors but that's just me.
Title: Re: I think it's time to work on the Techs
Post by: ZeaLitY on October 05, 2007, 01:38:56 am
Bumping.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on October 05, 2007, 08:40:10 am
I'll be working on more techs sooner or later, i'm just kinda lazy this week >_>
Title: Re: I think it's time to work on the Techs
Post by: Chickenlump on October 05, 2007, 01:44:32 pm
I've been busy with family problems and no internet, but during that time I worked a bit on techs. I'll post a bit of it if you guys want to play around with it. All addresses are in SNES format.

There are like 4 different sets of techs which I believe to be player techs enemy techs, player attacks and in-battle items.

2 useful RAM Addresses
7E9877                  Attack index is held here for the 4 different attack types
7E9878 - 7E9879    Pointer for current attack is held here for all attack types


The following 4 sections of code load the pointers for the 4 different kinds of techs.

Code: [Select]
$C1/46EF BF F0 61 CD LDA $CD61F0,x[$CD:6210] A:0020 X:0020 Y:0006 P:envmxdizc   // Load the 2 byte pointer (Singing Attack is the 20th Tech)
$C1/46F3 8D 78 98 STA $9878  [$7E:9878] A:9EDA X:0020 Y:0006 P:eNvmxdizc   // Store the pointer in RAM at 7E9878
$C1/46F6 AA TAX A:9EDA X:0020 Y:0006 P:eNvmxdizc   // Transfer the pointer to X
$C1/46F7 A8 TAY A:9EDA X:9EDA Y:0006 P:eNvmxdizc   // Transfer the pointer to Y
$C1/46F8 7B TDC A:9EDA X:9EDA Y:9EDA P:eNvmxdizc
$C1/46F9 E2 20 SEP #$20 A:0000 X:9EDA Y:9EDA P:envmxdiZc
$C1/46FB BF 00 00 CD LDA $CD0000,x[$CD:9EDA] A:0000 X:9EDA Y:9EDA P:envMxdiZc   // Load CD0000 with X (CD9EDA)
$C1/46FF 85 81 STA $81    [$00:0081] A:0098 X:9EDA Y:9EDA P:eNvMxdizc
$C1/4701 BF 01 00 CD LDA $CD0001,x[$CD:9EDB] A:0098 X:9EDA Y:9EDA P:eNvMxdizc
$C1/4705 85 80 STA $80    [$00:0080] A:00F8 X:9EDA Y:9EDA P:eNvMxdizc
$C1/4707 BF 02 00 CD LDA $CD0002,x[$CD:9EDC] A:00F8 X:9EDA Y:9EDA P:eNvMxdizc
$C1/470B 85 83 STA $83    [$00:0083] A:0080 X:9EDA Y:9EDA P:eNvMxdizc
$C1/470D BF 03 00 CD LDA $CD0003,x[$CD:9EDD] A:0080 X:9EDA Y:9EDA P:eNvMxdizc

$C1/4617 BF F0 5E CD LDA $CD5EF0,x[$CD:5EF2] A:0002 X:0002 Y:0002 P:envmxdizc   // Load the 2 byte pointer (Cyclone is the 2nd script)
$C1/461B 8D 78 98 STA $9878  [$7E:9878] A:0909 X:0002 Y:0002 P:envmxdizc   // Store the pointer in RAM at 7E9878
$C1/461E AA TAX A:0909 X:0002 Y:0002 P:envmxdizc   // Transfer the pointer to X
$C1/461F A8 TAY A:0909 X:0909 Y:0002 P:envmxdizc   // Transfer the pointer to Y
$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   // Load CE0000 with X (CE0909)
$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/47CB BF F0 63 CD LDA $CD63F0,x[$CD:63F2] A:0002 X:0002 Y:0002 P:envmxdizc   // Load the 2 byte pointer (Tonic is the 2nd script)
$C1/47CF 8D 78 98 STA $9878  [$7E:9878] A:829C X:0002 Y:0002 P:eNvmxdizc   // Store the pointer in RAM at 7E9878
$C1/47D2 AA TAX A:829C X:0002 Y:0002 P:eNvmxdizc   // Transfer the pointer to X
$C1/47D3 A8 TAY A:829C X:829C Y:0002 P:eNvmxdizc   // Transfer the pointer to Y
$C1/47D4 7B TDC A:829C X:829C Y:829C P:eNvmxdizc
$C1/47D5 E2 20 SEP #$20 A:0000 X:829C Y:829C P:envmxdiZc
$C1/47D7 BF 00 00 CE LDA $CE0000,x[$CE:829C] A:0000 X:829C Y:829C P:envMxdiZc   // Load CE0000 with X (CE829C)
$C1/47DB 85 81 STA $81    [$00:0081] A:0090 X:829C Y:829C P:eNvMxdizc
$C1/47DD BF 01 00 CE LDA $CE0001,x[$CE:829D] A:0090 X:829C Y:829C P:eNvMxdizc
$C1/47E1 85 80 STA $80    [$00:0080] A:00C0 X:829C Y:829C P:eNvMxdizc
$C1/47E3 BF 02 00 CE LDA $CE0002,x[$CE:829E] A:00C0 X:829C Y:829C P:eNvMxdizc
$C1/47E7 85 83 STA $83    [$00:0083] A:0080 X:829C Y:829C P:eNvMxdizc
$C1/47E9 BF 03 00 CE LDA $CE0003,x[$CE:829F] A:0080 X:829C Y:829C P:eNvMxdizc

$C1/442C BF C6 5E CD LDA $CD5EC6,x[$CD:5EC6] A:0000 X:0000 Y:0098 P:envmxdiZc   // Load the 2 byte pointer (Crono's attack is the first script)
$C1/4430 8D 78 98 STA $9878  [$7E:9878] A:0380 X:0000 Y:0098 P:envmxdizc   // Store the pointer in RAM at 7E9878
$C1/4433 AA TAX A:0380 X:0000 Y:0098 P:envmxdizc   // Transfer the pointer to X
$C1/4434 A8 TAY A:0380 X:0380 Y:0098 P:envmxdizc   // Transfer the pointer to Y
$C1/4435 7B TDC A:0380 X:0380 Y:0380 P:envmxdizc
$C1/4436 E2 20 SEP #$20 A:0000 X:0380 Y:0380 P:envmxdiZc
$C1/4438 BF 00 00 CE LDA $CE0000,x[$CE:0380] A:0000 X:0380 Y:0380 P:envMxdiZc   // Load CE0000 with X (CE0380)
$C1/443C 85 81 STA $81    [$00:0081] A:0090 X:0380 Y:0380 P:eNvMxdizc
$C1/443E BF 01 00 CE LDA $CE0001,x[$CE:0381] A:0090 X:0380 Y:0380 P:eNvMxdizc
$C1/4442 85 80 STA $80    [$00:0080] A:0080 X:0380 Y:0380 P:eNvMxdizc
$C1/4444 BF 02 00 CE LDA $CE0002,x[$CE:0382] A:0080 X:0380 Y:0380 P:eNvMxdizc
$C1/4448 85 83 STA $83    [$00:0083] A:0090 X:0380 Y:0380 P:eNvMxdizc
$C1/444A BF 03 00 CE LDA $CE0003,x[$CE:0383] A:0090 X:0380 Y:0380 P:eNvMxdizc


Using the decoded byte lengths, I attempted to decode Gato's Singing attack to some degree...
The first part of the techs is a header containging pointers to different sections of the tech. Directly following the headers are the scripts themselves.


Code: [Select]
98 F8 80 00 F0 9E 0A 9F 18 9F 21 9F 3B 9F 4F 9F 62 9F 76 9F 8B 9F  - Header for Gato's Singing Attack

CD9EF0 24 05
3D 00 // Set Target (Puts the Spotlight on Gato, setting to 3D 80 puts the spotlight on Crono)
30 1B 01 // Assumed to darken the screen
32 0A
72 0D // Set Facing (Gato faces forward for singing animation)
02 06 // Play Animation (Gato does his singing animation)
24 0C
30 1A 01 // Assumed to lighten screen back up
20 20 // Timer
06 03 // Play Animation Frame?
50 // Damage Related
2E // Damage Related
01 // Damage Related
00 // End Section

CD9F0A 24 0A
02 09 // Play Animation
78 AA // Play Sound (Plays Gato's Singing diddly)
24 0B
20 0F // Timer
36 // Return 
06 03 // Play Animation Frame? 
00 // End Section

CE9F18 24 0A
02 09 // Play Animation
24 0C
06 03 // Play Animation Frame? 
00 // End Section

CD9F21 60 00 // Set Palette (Sets palette for Musical Note Graphics)
73 00
33 00 // Another Set Target (Starts the Musical Notes off from Gato, changing to 33 80 sets them off from Crono)
3A 1E 09 // Assumed to affect the starting position of the notes from the target sprite they originate from
3A 1F D7 // Assumed to affect the starting position of the notes from the target sprite they originate from
1A // Set X,Y coords 
36 // Return 
24 0A
70 // Show Sprite
02 00 // Play Animation
09 // Set Speed - Medium (sets the speed of the Musical Note)
85 00 // Set Direction (Sets Direction of Musical Note #1)
A8 30 // Slide Sprite (Move Musical Note #1 graphic to the right)
71 // Hide Sprite
00 // End Section

CD9F3B 73 00
24 01
1A // Set X,Y coords
36 // Return 
24 0A
20 1E // Timer 
70 // Show Sprite
02 00 // Play Animation
09 // Set Speed - Medium (sets the speed of the Musical Note) 
85 E0 // Set Direction (Sets Direction of Musical Note #2) 
A8 30 // Slide Sprite (Move Musical Note #2 graphic)
71 // Hide Sprite
00 // End Section

CD9F4F 73 00
24 02
1A // Set X,Y coords 
36 // Return
20 3C // Timer
70 // Show Sprite
02 00 // Play Animation
09 // Set Speed - Medium (sets the speed of the Musical Note)
85 20 // Set Direction (Sets Direction of Musical Note #3)
A8 30 // Slide Sprite (Move Musical Note #3 graphic)
71 // Hide Sprite
36 // Return
00 // End Section

CD9F62 73 00
24 03
1A // Set X,Y coords 
36 // Return
24 0A
20 0F // Timer 
70 // Show Sprite
02 00 // Play Animation
09 // Set Speed - Medium (sets the speed of the Musical Note) 
85 10 // Set Direction (Sets Direction of Musical Note #4) 
A8 30 // Slide Sprite (Move Musical Note #4 graphic) 
71 // Hide Sprite
00 // End Section

CD9F76 73 00
24 04
1A // Set X,Y coords 
36 // Return
24 0A
20 3C // Timer 
70 // Show Sprite
02 00 // Play Animation
09 // Set Speed - Medium (sets the speed of the Musical Note) 
85 F0 // Set Direction (Sets Direction of Musical Note #5)   
A8 30 // Slide Sprite (Move Musical Note #5 graphic) 
71 // Hide Sprite
36 // Return
00 // End Section

CD9F8B 02 06 // Play Animation
20 1E // Timer 
06 05
20 0F // Timer 
06 03
20 0F // Timer 
50 // Damage related?
2E // Damage related?
01 // Damage related?
00 // End Section


Command 1E has it's own pointer table for it's arguments.

Code: [Select]
Pointer Table is located at CE0000 and ends at CE009B
78 pointers total (00 - 4E)

28 D4
39 D4
4A D4
5B D4
6C D4
7D D4
8B D4
99 D4
A7 D4
B5 D4
C3 D4
CB D4
DF D4
E6 D4
EE D4
F6 D4
0B D5
11 D5
19 D5
28 D5
3A D5
49 D5
58 D5
6B D5
7E D5
88 D5
A3 D5
B1 D5
C1 D5
12 D6
17 D6
1C D6
62 D6
73 D6
85 D6
C0 D6
C7 D6
CD D6
E5 D6
0C D7
30 D7
54 D7
76 D7
95 D7
9E D7
B9 D7
D8 D7
F7 D7
20 D8
60 D8
67 D8
76 D8
C6 D8
16 D9
2E D9
62 D9
67 D9
70 D9
97 D9
BE D9
CF D9
E1 D9
32 DA
42 DA
53 DA
67 DA
BB DA
E0 DA
10 DB
1C DB
5D DB
65 DB
6D DB
6E DB
75 DB
8D DB
BC DB
E9 DB



And here are the decoded byte lengths. I just realized I'm missing a few entries, I'll add them when I have more time, and some of the descriptions of the commands may be a little off or just plain wrong.   :)

Code: [Select]
Command Decodes Notes

00 - 1 byte
01 - 1 byte
02 - 2 bytes // Play Animation?
03 - 2 bytes // Play Animation?
04 - 2 bytes
05 - 2 bytes
06 - 2 bytes (same code as 05)
07 - 1 byte
08 - 1 byte
09 - 1 byte // Set Speed - Slow
0A - 1 byte // Set Speed - Medium
0B - 1 byte // Set Speed - Fast
0C - 1 byte (same code as 08)
0D - 2 bytes
0E - 1 byte
0F - 1 byte (same code as 08)
10 - 3 bytes // Slide Sprite to XX YY
11 - 1 byte
12 - 2 bytes
13 - 4 bytes
14 - 2 bytes
15 - 3 bytes

19 - 3 bytes // Sprite Teleport
1A - 1 byte
1B - 2 bytes
1C - 2 bytes

1E - 2 bytes // Sprite Effect/Action
1F - 1 byte
20 - 2 bytes // Time To Wait
21 - 1 byte
22 - 2 bytes
23 - 2 bytes
24 - 2 bytes
25 - 2 bytes
26 - 3 bytes
27 - 1 byte
28 - 1 byte
29 - 1 byte
2A - 1 byte
2B - 1 byte
2C - 1 byte
2D - 1 byte
2E - 1 byte
2F - 1 byte (same code as 01)
30 - 3 bytes
31 - 2 bytes
32 - 2 bytes
33 - 2 bytes // Set Target?
34 - 2 bytes
35 - 1 byte
36 - 1 byte
37 - 2 bytes
38 - 1 byte
39 - 1 byte
3A - 3 bytes
3B - 2 bytes
3C - 2 bytes
3D - 2 bytes
3E - 2 bytes (same code as 3D)
3F - 2 bytes (same code as 3D)
40 - 2 bytes (same code as 3D)
41 - 3 bytes
42 - 2 bytes
43 - 4 bytes
44 - 1 byte
45 - 2 bytes (same code as 3D)
46 - 2 bytes (same code as 3D)
47 - 2 bytes
48 - 2 bytes (same code as 47)
49 - 3 bytes
4A - 1 byte
4B - 1 byte (same code as 01)
4C - 1 byte (same code as 01)
4D - 1 byte (same code as 4A)
4E - 1 byte
4F - 1 byte
50 - 1 byte
51 - 1 byte (same code as 50)
52 - 1 byte (same code as 50)
53 - 1 byte (same code as 50)
54 - 1 byte (same code as 50)
55 - 1 byte (same code as 50)
56 - 1 byte (same code as 01)
57 - 1 byte (same code as 01)
58 - 1 byte (same code as 01)
59 - 1 byte (same code as 01)
5A - 1 byte (same code as 01)
5B - 1 byte (same code as 01)
5C - 1 byte (same code as 01)
5D - 1 byte
5E - 1 byte
5F - 1 byte
60 - 2 bytes // Get and Apply Palette?
61 - 4 bytes
62 - 4 bytes (same code as 61)
63 - 4 bytes (same code as 61)
64 - 4 bytes (same code as 61)
65 - 1 byte
66 - 1 byte (same code as 65)
67 - 1 byte (same code as 65)
68 - 1 byte (same code as 65)
69 - 2 bytes
6A - 1 byte
6B - 2 bytes
6C - 3 bytes
6D - 1 byte
6E - 1 byte
6F - 1 byte
70 - 1 byte
71 - 1 byte
72 - 2 bytes // Set Facing?
73 - 2 bytes
74 - 2 bytes
76 - 3 bytes
77 - 2 bytes
78 - 2 bytes // Play Sound
79 - 2 bytes (same code as 78)
7A - 3 bytes
7B - 3 bytes (same code as 7A)
7C - 1 byte // Play Sound Based on Weapon Equipped
7D - 1 byte
7E - 1 byte (same code as 01)
7F - 1 byte (same code as 01)
80 - 3 bytes // Screen Color Flash
81 - 2 bytes (same code as 47)
82 - 2 bytes (same code as 47)
83 - 2 bytes (same code as 47)
84 - 2 bytes (same code as 47)
85 - 2 bytes // Set Direction
86 - 1 byte (same code as 01)
87 - 1 byte (same code as 01)
88 - 1 byte (same code as 01)
89 - 1 byte (same code as 01)
8A - 1 byte (same code as 01)
8B - 1 byte (same code as 01)
8C - 1 byte (same code as 01)
8D - 1 byte (same code as 01)
8E - 1 byte (same code as 01)
8F - 1 byte (same code as 01)
90 - 1 byte (same code as 01)
91 - 1 byte (same code as 01)
92 - 1 byte (same code as 01)
93 - 1 byte (same code as 01)
94 - 1 byte (same code as 01)
95 - 1 byte (same code as 01)
96 - 1 byte (same code as 01)
97 - 1 byte (same code as 01)
98 - 3 bytes
99 - 1 byte
9A - 3 bytes
9B - 1 byte
9C - 3 bytes (same code as 98)
9D - 1 byte (same code as 99)
9E - 1 byte (same code as 01)
9F - 1 byte (same code as 01)
A0 - 1 byte (same code as 01)
A1 - 1 byte (same code as 01)
A2 - 1 byte
A3 - 1 byte (same code as 01)
A4 - 3 bytes
A5 - 1 byte
A6 - 1 byte
A7 - 1 byte (same code as 01)
A8 - 2 bytes // Slide Sprite?
A9 - 2 bytes
AA - 1 byte (same code as 01)
AB - 1 byte (same code as 01)
AC - 1 byte (same code as 01)
AD - 1 byte (same code as 01)
AE - 1 byte (same code as 01)
AF - 1 byte (same code as 01)
B0 - 1 byte (same code as 01)
B1 - 1 byte (same code as 01)
B2 - 1 byte (same code as 01)
B3 - 1 byte (same code as 01)
B4 - 1 byte (same code as 01)
B5 - 1 byte (same code as 01)
B6 - 1 byte (same code as 01)
B7 - 1 byte (same code as 01)
B8 - 1 byte (same code as 01)
B9 - 1 byte (same code as 01)
BA - 1 byte (same code as 01)
BB - 1 byte (same code as 01)
BC - 1 byte (same code as 01)
BD - 1 byte (same code as 01)
BE - 1 byte (same code as 01)
BF - 1 byte (same code as 01)
C0 - 5 bytes // Circular Sprite Movement
C1 - 4 bytes // Circular Sprite Movement
C2 - 5 bytes // Circular Sprite Movement
C3 - 4 bytes // Circular Sprite Movement
C4 - 3 bytes // Moves sprite downward?
C5 - 2 bytes
C6 - 1 byte (same code as 01)
C7 - 1 byte (same code as 01)
C8 - 1 byte (same code as 01)
C9 - 1 byte (same code as 01)
CA - 1 byte (same code as 01)
CB - 1 byte (same code as 01)
CC - 1 byte (same code as 01)
CD - 1 byte (same code as 01)
CE - 1 byte (same code as 01)
CF - 1 byte (same code as 01)
D0 - 1 byte
D1 - 1 byte
D2 - 2 bytes
D3 - 1 byte
D4 - 1 byte
D5 - 1 byte
D6 - 1 byte
D7 - 3 bytes
D8 - 4 bytes
D9 - 2 bytes
DA - 2 bytes
DB - 1 byte
Title: Re: I think it's time to work on the Techs
Post by: ZeaLitY on October 05, 2007, 05:03:50 pm
Okay. I've combed Kajar Laboratories, but I have no idea how to properly add the information discussed here to the encyclopedia, or whether it's all in Geiger's offsets guide anyway.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on November 18, 2007, 02:22:37 pm
Update...Pretty much useless Info

(Added on to tech graphic list)

Sunday, November 18th 2007 Update - All Bad Graphics
--------------------------------------
A0 - Casts then destroys graphics
A1 - A6 - Freezes Bad Graphics
A7 - Slowly casts then draws some weird light then game freezes Bad Graphics
A8 - Casts slowly then game freezes Bad Graphics
A9 - Red Light hitss enemy game freezes Bad Graphics
AA-AB messes up graphics Bad Graphics
AC - Casts very slowly, game does Lavos's attack where he changes background...then game freezes Bad Graphics
AD - B1 - Game Freezes Bad Graphics
B2 - Slowly casts and then some funky graphics...Seems like Telekinesis Rock Bad Graphics
B3 - B4 - Freezes Bad Graphics
B5 - Alternate Evil Star, Game Freezes Bad Graphics
B6 - Freezes
B7 - Another Evil Star...Game Freezes Bad Graphics
B8 - Freezes
B9 - Another Evil Star with alternatives GAME DOES NOT FREEZE! =D
BA - ??? Bad Graphics
BB - Freezes
BC - ??? Bad Graphics
BD - Be - Freezes
BF - Warps to overworld then freezes
C0 - C3 - Freezes
C4 - Shadow Doom Blaze
C5 - ??? Bad Graphics
C6 - CA - Freezes
CB - Resets Game O_o..
CC - CF - Freezes
D0 - ??? Bad Graphics
D1 - Lavos Warp then your stuck
D2 - D3 - Tiny Light O_O
D4 - D5 - Freezes
D6 - ??? Can't remember the name but bad graphics anyways
D7 - Wtf?
D8  - Freezes
D9 - ??? Bad Graphics
Da - DC Freezes
DD - ??? Bad Graphics
DE - DF - Freezes
E0 - Possibly a bad antipode?
E1 - E9 - Freezes
EA - Bad Luminaire
EB - EC - Freezes
ED - Warps to Mammom Machine
EE - Unsure warp
EF - Freezes
F0 - ??? Bad Graphics
F1 - Reset
F2 - F3 - Freezes
F4 - ??? Bad Graphics
F5 - Warp to Prehistoric
F6 - Dead
F7 - Casts then Freezes
F8 - FF Game Freezes
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on November 18, 2007, 03:19:34 pm
Double post but more update.




Chrono Trigger - Tech Add-ons
======================================
Casting Graphics that move towards the enemy - Note the rest of the effects are probably in there, I got kinda lazy halfway through
=============================================

====================
00 - Bubble/Flame
01 - Lightning/Bubble
02 - ???
03 - Lightning Stuff
04 - 08 - Jumbled
09 -  Kinda Cool...Just some bubble that goes towards enemy
0A - 10 - Jumbled
11 - 12 - Nothing
13 - Particles
14 - More Particles
15 - 18 - Jumbled
19 - Kinda like 09
1A - 2C jUmbled
2D - 2E - Smiley Face? O_o
2F - 38 Jumbled
39 - Lots of Smileys
3A - 42 - Jumbled
43 - Lots of Blank boxes
44 - 57 - Jumbled
58 - Kinda Jumbled but lightning
59 - Jumbled but looks cool XD
60 - B4 - Jumbled
B5 - Kinda Flameish
B6 - D1 - Jumbled
D2 - kinda looks like Slashes with ice at end
D3 - D5 - Jumbled
D6 - Slashes again with fire at end
D7 - DD - Jumbled
DE - Jumbled but you can see the angels or w/e
DF - Ice Dust XD
E0 - MOre ice
E1 - F3 - Jumbled
F4 - Fire/ice
F5 - FB - Jumbled
FC - Same as F4
FD - Same as above but less
FE - Bubble/Ice/Fire
FF - Ice/Bubble




Casting graphics that swirl around the person
===============================================
00 - Ice
01 - Fire
02 - Kinda like Ice but only for points (Probably Lightning or cure)
03 - Fire
04 - Bubbles?
05 - ???
06 - 0A - Jumbled
0B - Water effects?
0C - Arrow -_-
0D - Empty boxes and arrows
0E - Same as above cept 3 arrows and boxes
0F - 12 - Jumbled
13 - 16 - Nothing
17 - Lots of Crystal things
18 - Angels and Arrows (Sounds weird XD)
19 - 23 - Blah
24 - Kinda Cool
25 - 2E - Blah
2F - looks like crystals XD
30 - 32 - Blah but has Smileys
33 - 3B - Blah
3C - Smiley faces (wew!)
3D - 45 - Blah
46 - Empty boxes
47 - 4B - Blah
4C - Not sure but it's kinda interesting
4D - 5B - Blah
5C - Shocky effects
5D - 60 - Blah
61 - Magus's Scythe XD!!!
62 - 78 - Blah
79 - 7F - Empty Boxes
80 - Fire
81 - 85 - Blah
86 - Rotating 3d triangles? XD (Can you say triforce)
87 - Same as above but different direction
88 89 - Blah
8A - Ice stuff
8B - Blah
8C - 8D - Empty Boxes
8E - Bubbles
8F - 90 - Blah
91 - Blah but...question marks? O_o..
92 - Exclamation points..
93 - 94 - Empty boxes
95 - 9D - Blah
9E - Blah but poyozo dolls XD!
9F - Empty Boxes
A0 - A1 - Kinda Smokey but random effects
A2 - Ad - Blah
AE - Af - Could be considered "Wind"
B0 - ???
B1 - B2 - Blah
B3 - Empty Boxes
B4 - ICE!
B5 - Explosion Circles
B6 - Crescents?
B7 - Empty Box and Geyser Effects
B8 - BD - Blah
Be - BF - Same as B5
C0 - ???
C1 - ???
C2 - ???...Again DX
C3 - C4 - AGAIN???
C5 - Ce - Blah
CF - Circles
D0 - D4 - Blah
D5 - Ice again
D6 - D8 - Blah
D9 - Fire
DA - DE - Blah
DF - Ice
E0 - Blah
E1 - Angels
E2 - E4 - Blah
E5 - Arrows?
E6 - Angels partially
E7 - Blah
E8 - Seems like Spirits >_>..But it's slash effects
E9 - F0 - Blah
F1 - Tiny Explosions
F2 - uh...No clue
F3 - F6 - Blah
F7 - Ice again...Wtf is with all the ice repeats
F8 - Fe - Blah
FF - Ice again...

Edit: I still have yet to determine what causes techs to hit more then once.  ALA Confuse.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on January 31, 2008, 07:16:28 pm
Yo,

After a long time away from non TF related hacking I've opted to come back and work on techs for awhile as a break.  So if you remember at the beginning of this post I was working on provoke, I'm SOLELY working on animation and sound changing for now and here's what I have so far:

Provoke Animations and sounds begins at 0E106F, from my understanding the sound and animation data is started simultaneously,, here's the break down:



//ANIMATIONS
90 80 80 00 7B 10 B3 2A 8F 10 85 09 //header for animations?
02 1A    //call laugh animation
20 14   //wait 20 units
02 24       //Call spin animation
20 0A       //wait 10 units
36           //????????? Possible return?
20 0A    //wait 10 unitss 
03 13 //provoke animation
03 03 //return to fighter stance
24 02 //enemy white blink when hit?
2E 01 00//we are done with animations


///SOUNDS
07 02 00 60 00 1B 00 24 01 //header for sound affects??
20  19          //wait 25 unites
7A 8B      //sound 1
   00       // return
20 0F        //wait 14 units
7A 8B      //sound 2
      00    //return
 20 0F      //wait 15 units
7A 8B      //sound
00        //return
20 14          //wait 20 units
3600       //end



My plan is to eventually make a GUI program solely to edit Marle's Provoke animation.  It would basically have blanks for the commands we know above which from what I can tell is

7A XX -- sound effect, XX at first seemed to be from this sound list http://www.chronocompendium.com/Term/Text_List_of_Sound_Effects.html but for higher numbers id doesn't match up

02 XX, 03 XX - changes animation of the character, i'm not quite sure what the difference is XX can be figured out using Geigers animation patch

20 XX - Pause

So the Gui would be something like this

Animation header
(4 blanks)
return
(4 blanks)
return

Sound header
(2 blanks)
return
(2 blanks)
return
(2 blanks)
return
(blank)
return

And you can fill in the blanks with known commands.  So the question is do we know more of the commands?  Or more information about the header?

EDIT: 

Header:

90 80 80 00 7B 10  B3 2A 8F 10 85 09

Thanks to Justin for this:

90 - Represents which character does what.  00-10 ENEMY 20-30 1st slot 40-60 2nd Slot 80 - Broken 90 - Whoever uses Tech

Thanks to Vehek for this:

The bytes such as the 7B10 in Marle's Provoke are definitely pointers. I repointed the first pointer of Crono's Slash to a field of FF's in the bank and pasted in data from Spincut. I got the same results as if I had changed the pointer to be the same as Spincut's.
Edit-Right before the data at the first pointer, there's a 8509 in several techs. I don't know what it is.



--JP



Title: Re: I think it's time to work on the Techs
Post by: JLukas on January 31, 2008, 10:49:27 pm
7A XX -- sound effect, XX at first seemed to be from this sound list http://www.chronocompendium.com/Term/Text_List_of_Sound_Effects.html but for higher numbers id doesn't match up

It uses a second packet, the Battle sound effects set.  I don't think anyone has created a full list yet, but I remember someone posted a partial list either in the forums or the encylopedia.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 01, 2008, 06:47:18 pm
Thanks JLukas I found it:

http://www.chronocompendium.com/Forums/index.php/topic,1654.msg42786.html#msg42786

Zeality has this been put on the encyclopedia yet?  I'd like to give the user a drop down list of animations/sounds for the 7A/78 XX and 02/03 XX commands. 

Justin,  Are these graphic values you posting used in ice?  Do they always have a pattern of bytes before them (like sounds and animation do)  Provoke doesn't really do anything graphic wise so I dont need it for this editor.  But for the next editor I'd like to do Ice so that list will definately be useful.


--JP
Title: Re: I think it's time to work on the Techs
Post by: ZeaLitY on February 01, 2008, 07:28:07 pm
I'll put it in the encyclopedia in time for tonight's update.
Title: Re: I think it's time to work on the Techs
Post by: justin3009 on February 01, 2008, 07:41:04 pm
I think so.  Been awhile since i've tried, but I think they are.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 02, 2008, 02:03:33 am
wow for some reason I didn't realize that Chickenlump was doing what I was asking for back there, I'm going to take the ones he didn't put question marks after, since I assume that he's more confident on those:

10 XX YY- 3 bytes            // Slide Sprite to XX YY
CANNOT REPLICATE

19 XX YY  - 3 bytes            // Sprite Teleport
CONFIRMED

//EDIT I did some testing for the first of these and it's VERY good news, this is the missing link for tech animations.  this command controls if Marle (i was testing on provoke) runs to the enemy, or x strikes the enemy, better yet if you have an animation before  this command she uses THAT animation!  Someone should try to finish this list

1E XX - 2 bytes            // Sprite Effect/Action (WOW )
    XX = 00,01 get hit
    XX = 02-04 get hit darker
    XX = 05-09 get hit side
    XX = 0A run to enemy
    XX = 0B hit side
    XX = 0C hit top, freeze
    XX = 0D-0E run up run up
    XX = 0F falls to ground
    XX =10 - 11 fall down goes to enemy
    XX = 12 - flashes
    XX = 13 charges enemy hands out
    XX = 14 flashes
    XX = 16 sound effect freezes game
    XX = 17 toward enemy then to side x strike sound effect
    XX = 18 flash animatin
    XX = 19 glitchy
    XX = 1a freezes
    XX = 1b flashes
    XX = 1c freezes
    XX = 1D darkens screen
    XX = 1E darkens screen comes back
    XX = 1F cyclone movement with sound
    XX = 20 move towards enemy with animation
    XX = 21 Move towards enemy quickly
    XX = 22 move accross screen with animatoin
    XX = 23 animated quick circle
    XX = 24 sprint away from enemy
    XX =26 freezes
    XX = 27 28 19 animated dissapears didn't come back
    XX = 2A falls to ground
    XX = 2B spins to enemy then attacks
    XX = 2C down then up
    XX = 2D spins to enemy
     XX = 2E off screen
    XX = 2F  jumps up shadow belo
   XX = 30 - freezes
   XX = 31- spins then animated
   XX = 32 off screen
   XX = 33 jump higher
   XX = 34 goes off screen and reappears on top animated
   XX = 35  freezes

7C - 1 byte            // Play Sound Based on Weapon Equipped
CONFIRMED

80  XX YY- 3 bytes            // Screen Color Flash
CANNOT REPLICATE, BLACK SCREENS

85  XX- 2 bytes            // Set Direction
CANNOT REPLICATE FREEZES

C0 - 5 bytes            // Circular Sprite Movement
C1 - 4 bytes            // Circular Sprite Movement
C2 - 5 bytes            // Circular Sprite Movement
C3 - 4 bytes            // Circular Sprite Movement (thats alot of params...)
CANNOT replicate, sprite teleports then freezes

I'll test these out

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 02, 2008, 08:33:56 pm
Some of Marle's animations, thanks to the Temporal Flux patch by Geiger.

6E - junk image
6F - Bow firing - left
70 - Bow being drawn - stationary - left
71 - Bow shooting air - left
72 - Hands on head - stationary. - left
73 - Hands out, ponytail waving. Ice animation? - left
74 - Arms together near chin, ponytail up - stationary. - left
75 - Marle's scream pose - seen in Guardia Castle. - stationary - front left.
76 - Right arm on chin, left behind back - stationary - left
77 - crying - facing away from screen
78 - Rapid bowing? - left
79 - Leaning on grownd, facing top right. Revival scene?
7A - Clap, facing screen
7B - Excited jump, facing bottom left. Stationary.
7C - Standing, arms behind back, facing right.
7D - Running right.
7E - Walking right.
7F - Bow drawn, facing right. Stationary.
80 - Junk.
81 - Sleep pose?
82 - Walking right, ponytail flying. Stationary.
83 - Slow running right.
84 - Dead.
85 - Shocked, facing right.
86 - Victory pose? Bow movement to jump, facing right.
87 - Rapid jump, facing down.
88 - Rapid drawing bow. Facing right.
89 - Junk
8A - Kneeling, facing left.
8B - Junk
8C - Hands near chin, facing right. Stationary.
8D - Hands near chin, ponytail up, facing right. Stationary.
8E - Crouching, bow drawn. Stationary.
8F - Tapping her ass, facing left.
90 - Same as above.
91 - Spanking herself, facing right.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 02, 2008, 10:21:39 pm
I don know if you remember the post from Vehek a looonnng time ago but he said this:

Code: [Select]
I did some testing, and the byte that causes the Confuse status in Provoke is at C21B9.


I did some looking at that and the bits in that byte = the status ailments caused by the tech (I'm copying and pasting this from the provoke wiki page)

http://www.chronocompendium.com/Term/Provoke.html

    * C21B9 & 1 = blind
    * C21B9 & 2 = sleep
    * C21B9 & 4 = confuse
    * C21B9 & 8 = silence
    * C21B9 & 16/10 = doom
    * C21B9 & 32/20 = I can't see it....
    * C21B9 & 64/40 = poison
    * C21B9 & 128/80 = stop

Making that Bit FF provoke was causing bline/sleep/confuse/silence/doom/....something i hope/ poison and stop hahaha.

I also made it affect all enemies.

Now.....if someone can figure out
A) where the good status affects are
B) if that byte is only useful in status effects
C) if so how does it know and can we change it

that'd be awesome.

Mauron if your on I'm going to add this to the editor and release it tonight

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 02, 2008, 10:30:51 pm
92 - Standing, facing right.
93 - Shaking head, facing right.
94 - Junk.
95 - Arms crossed, looking down, facing right. Stationary.
96 - Left arm on chin, right arm behind back, facing right. Stationary.
97 - Climbing ladder.
98 - Junk.
99 - Crouched, facing right. Stationary.
9A - Standing, arms behind back, facing right. Stationary.
9B - Standing, arms behind back, facing right. Stationary.
9C - Standing, arms behind back, facing right. Stationary.
9D - Standing, arms behind back, facing right. Stationary.
9E - Floating, arms near chin, ponytail straight up, facing right. Stationary.
9F - Bow position, unclear. Facing right. Stationary.
A0 - Spinning.
A1 - Junk.
A2 - Legs bent, arms over face, facing right. Stationary
A3 - Standing, arms behind back. Facing up. Stationary.
A4 - Head only, facing left. Stationary
A5 - Arms behind back, head tilted down. Facing right. Stationary.
A6 - Arms behind back, facing right. Stationary.
A7 - Walking left, stationary.
A8 - Junk.
A9 - Junk.
AA - Junk.
AB - Junk.
AC - Junk.
AD - Bow drawn, facing right. Stationary.
AE - Bow being drawn, facing right. Stationary.
AF - Bow pointing up, facing right. Stationary.
B0 - Arms on head, facing right. Stationary.


Hopefully you'll catch this before the update.

All Marle with static set to 0, as before.

Not sure how long I'll be on today, but I'll update the editor if I see it.
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 03, 2008, 04:23:15 am
Haha, yes!

I found out how to change statuses positively.

From the twelve byte tech header, including previously known data.
Byte 1: Type? 00 - Heal 01 - Status recovery 02 - Status impact 03 - Damage 06 - Stealing
Byte 2: Healing power. Also used on status techs. Not fully explored.
Byte 3: Status inflicted. All healing techs are 80.
Bytes 4 and 5: Always 00 00 or 3a 3b. Sprite movement related?
Byte 10: Damage for attack techs. 00 if not damaging.


I haven't tested all this yet.

By having Provoke target one ally and changing the second two bytes to 04 44, Marle would add the boosted physical and magical resistance. (I forget the names)

With byte two being 04, the bits worked like this: (Going left to right)

1: Berserk
2: Magic defense.
3: Nothing?
4: Nothing?
5: Nothing?
6: Physical defense.
7: Nothing?
8: Nothing?

Some may impact enemies only.

03 in byte two seems to be used for haste. I'll have to play with that later.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 03, 2008, 05:28:53 am
Confirmed, certainly going into the next update.  I am forseeing making a character soley with status effect techs.

EDIT Bit 32/20 is MP regen

--JP
Title: Re: I think it's time to work on the Techs
Post by: JLukas on February 03, 2008, 07:06:38 am
    * C21B9 & 32/20 = I can't see it....

That one should be Slow.  Over the weekend I've been looking at the memory addresses being used for battles and will put up a thread for it.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 03, 2008, 11:52:26 am
Yea,

I tried checking slow but i couldn't see any discernable difference.  I also thought maybe it's an MP drain for enemies do you know if enemies have MP?

--JP
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 03, 2008, 02:13:10 pm
============================================================
1B XX --Seems to be Load Sprite at person XX
     00 = Caster
     02 = Slot One??
     03 = Target

Million dollar question:  where does it figure out what sprite to load??

For Example with Aura the profile of Marle is loaded with 1B00 while the curing stars are 1B03
===========================================================

24 XX - May be some sort of link between animations and graphics/sounds It could also mean "stuff after this happens at the target"

In aura 2402 is called at the point in the animations when when the stars are about to load and in the Sounds/Graphics portion that is when the stars and ding sound affect happens.  Changing this to 2401 Causes the aura and "hum" sound effect to load at the Target

==========================================================

61 XX YY ZZ = Changes Pallete or freezes Animation at some point

For example aura has three of these commands to make to change the aura around marle darker and lighter making it seem wavy

==========================================================

26 XX YY == Load Animation XX at Frame YY

==========================================================

71 ==Hide Sprite

Million Dollar Question:  How does it know what sprite to hide?

For Example this is used to hide the aura

======================================================

70 Show Sprite

Million Dollar Question:  How does it know what sprite to hide?

For Example this is used to show the aura

================================================
--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 03, 2008, 03:14:10 pm
Here's the 12 byte data for all single techs written out. I thought it might come in handy for anyone working on this to see it written out like this.

Code: [Select]
Crono
03 00 00 3a 3b 01 3e 80 80 0a 04 00 Cyclone
03 00 00 00 00 03 3c 70 00 0a 00 00 Slash
03 00 00 00 00 03 3c 70 00 0c 00 00 Lightning
03 00 00 3a 3b 01 3e 80 80 10 04 80 Spincut
03 00 00 00 00 03 3c 70 00 0e 00 00 Lightning 2
01 ca 80 00 00 00 00 a0 00 00 00 00 Life
08 04 00 3a 3b 01 3e 80 80 1d 04 00 Confuse
03 00 00 00 00 03 3c 70 00 32 00 00 Luminaire

Marle
00 05 80 00 00 00 00 00 00 00 00 00 Aura
02 01 04 00 00 50 00 50 00 00 00 00 Provoke
03 00 00 00 00 03 3c 70 00 0b 00 00 Ice
00 0e 80 00 00 00 00 00 00 00 00 00 Cure
02 03 80 00 00 00 00 70 00 00 00 00 Haste
03 00 00 00 00 03 3c 70 00 0e 00 00 Ice 2
00 18 80 00 00 00 00 00 00 00 00 00 Cure 2
01 cf 80 00 00 00 00 80 00 00 00 00 Life 2

Lucca
03 00 00 00 00 03 3c 70 00 06 00 00 Flame Toss
02 01 02 00 00 3c 0a 50 00 00 00 00 Hypno Wave
03 00 00 00 00 03 3c 70 00 0b 00 00 Fire
03 00 00 3a 3b 03 3c 50 00 0c 00 80 Napalm
02 04 04 00 00 00 00 70 00 00 00 00 Protect
03 00 00 00 00 03 3c 70 00 0e 00 00 Fire 2
03 00 00 3a 3b 03 3c 50 00 20 00 80 Mega Bomb
03 00 00 00 00 03 3c 70 00 2a 00 00 Flare

Robo
03 00 00 3a 3b 01 3e 80 80 0b 04 80 RocketPunch
00 0e 80 00 00 00 00 00 00 00 00 00 Cure Beam
03 00 00 00 00 03 3c 70 00 0a 00 00 Laser Spin
03 00 00 3a 3b 05 3e 80 00 15 04 80 Robo Tackle
00 0a 80 00 00 00 00 00 00 00 00 00 Heal Beam
03 00 00 3a 3b 01 3e 80 80 19 04 80 Uzzi Punch
03 00 00 00 00 03 3c 70 00 1e 00 00 Area Bomb
03 00 00 00 00 03 3c 70 00 28 00 00 Shock

Frog
00 05 80 00 00 00 00 00 00 00 00 00 Slurp
03 00 00 00 00 01 3e a0 80 0b 24 c0 Slurp Cut
03 00 00 00 00 03 3c 70 00 0b 00 00 Water
00 06 80 00 00 00 00 00 00 00 00 00 Heal
03 00 00 3a 3b 01 3e 80 80 12 04 80 Leap Slash
03 00 00 00 00 03 3c 70 00 0e 00 00 Water 2
00 18 80 00 00 00 00 00 00 00 00 00 Cure 2
03 00 00 00 00 06 3e 60 00 0a 04 00 Frog Squash

Ayla
01 4e 80 00 00 00 00 a0 00 00 00 00 Kiss
03 00 00 3a 3b 05 3e 80 00 0e 04 80 Rollo Kick
03 00 00 3a 3b 05 3e 80 00 14 04 00 Cat Attack
03 00 00 3a 3b 05 3e 80 00 1e 46 c0 Rock Throw
06 46 00 00 00 00 00 80 00 00 00 80 Charm
03 00 00 00 00 03 3c 70 00 28 00 00 Tail Spin
03 00 00 00 00 06 3e a0 00 09 04 00 Dino Tail
08 03 00 3a 3b 05 3e 80 00 25 04 00 Triple Kick

Magus
03 00 00 00 00 03 3c 70 00 12 00 00 Lightning 2
03 00 00 00 00 03 3c 70 00 12 00 00 Ice 2
03 00 00 00 00 03 3c 70 00 12 00 00 Fire 2
03 00 00 00 00 03 3c 70 00 19 00 00 Dark Bomb
02 04 40 00 00 00 00 70 00 00 00 00 Magic Wall
03 00 00 00 00 03 3c 70 00 19 00 00 Dark Mist
03 00 00 00 00 03 3c 70 00 02 00 00 Black Hole
03 00 00 00 00 03 3c 70 00 26 00 00 Dark Matter

Have other characters had any animations mapped?

Edit: Are double and triple techs in the same format? I'll test that way until someone can confirm or deny this.

Edit 2: Goofed on the placement of two names.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 03, 2008, 04:38:06 pm
Animation/Sound/Graphics Data is in order, I usually start at provoke and just scroll up till I see at 90 8000 most headers start with that.  You blank out areas and then try to cast the tech and see if I can.  Techs end wit 36 00, while the animation portion ends in 2E 01 (most of the time).  I'm gunna be away from my laptop most of the day with the superbowl but i wrote down the starts of some techs.

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 03, 2008, 04:42:28 pm
I meant the way Marle's various poses are. I might take a look at someone else's if I finish hers later.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 03, 2008, 04:49:35 pm
OHH,  THere's a stickied animation thread, Crono is done, Robo I think was done and maybe part of Magus?

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 03, 2008, 04:53:29 pm
Silly me, I didn't even notice.  :oops:
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 04, 2008, 08:51:35 pm
Double post.

Byte six of the tech data specifies more information on attack type.

Values:
00 - Heal/Ally status/Charm
01 - Physical
03 - Magic
05 - ??? (used by some of Ayla's techs and one of Robo's)
06 - Low HP = Greater damage
3c - ??? (Used by Hypno Wave)
50 - ??? (Used by Provoke)

Note: Untested, but all single techs match this pattern.

Anyone know where magic elements are defined? Nothing in Magus's data has a place for it.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 04, 2008, 09:57:07 pm
What is Byte 1's corresponding values for those techs?  Is there a combination between the two that must be done ?

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 04, 2008, 10:40:41 pm
It seems byte six is an extension of byte one, but I haven't had the chance to test it yet.

01, 02, and 06 for byte one all have 00 in byte six.

03 and 08 use 01, 03, 05, or 06.

3c and 50 are only used in the techs listed.

I noticed 08 is another byte 1 value - I think multiple hits with byte 2 for the number of hits, but I haven't had the chance to test it yet.

So far I'm clueless as to what determines the magical element.

Edit: 08 xx is definitely the number of hits for repeat attacks, but something else needs to be set for it to work. I had cyclone attack 2 times, but copying the data to cyclone didn't add multiple hits.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 02:49:14 pm
Does anyone know off hand if Robo's Heal beam recovers status (Like frog's heal?)

EDIT:  I think byte 11 is a coefficient for how much your strength has to do with the damage done?  It's 0 for all the magic ones and for pre magic a value for most of ayla's and robo's techs and crono and frog's earlier techs it also seems to rise with how late the tech is learned

--JP
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 03:33:41 pm
Double Post:

Here's a nice way to look at the Tech Properties:  I'm not sure if Napalm and Mega Bomb are classified wrong cause theya re the only ones with the last byte as 80.  I first sorted by the first byte for all of them and what the first byte means. For healing I sorted by byte 2 (Healing Power).  For status I broke it up by byte 2 since it determines the type of status. 

For Damage (Byte 1  03) I first sorted by the 11th byte which I think is physical/magical, then sorted by byte 10 which is damage coefficient.

Code: [Select]

Healing:
00 05 80 00 00 00 00 00 00 00 00 00 Aura
00 05 80 00 00 00 00 00 00 00 00 00 Slurp

00 0a 80 00 00 00 00 00 00 00 00 00 Heal Beam

00 0e 80 00 00 00 00 00 00 00 00 00 Cure
00 0e 80 00 00 00 00 00 00 00 00 00 Cure Beam

00 18 80 00 00 00 00 00 00 00 00 00 Cure 2
00 18 80 00 00 00 00 00 00 00 00 00 Cure 2




Heal and status recovery

00 06 80 00 00 00 00 00 00 00 00 00 Heal
01 4e 80 00 00 00 00 a0 00 00 00 00 Kiss

01 ca 80 00 00 00 00 a0 00 00 00 00 Life
01 cf 80 00 00 00 00 80 00 00 00 00 Life 2


Status Change:
Bit 2= 1 (bad status)
02 01 04 00 00 50 00 50 00 00 00 00 Provoke
02 01 02 00 00 3c 0a 50 00 00 00 00 Hypno Wave

bit 2 = 3 (time)
02 03 80 00 00 00 00 70 00 00 00 00 Haste

bit 2 = 4 (good status)
02 04 04 00 00 00 00 70 00 00 00 00 Protect


Less HP => More Damage:

03 00 00 00 00 06 3e a0 00 09 04 00 Dino Tail
03 00 00 00 00 06 3e 60 00 0a 04 00 Frog Squash





Damage Physical:

03 00 00 00 00 03 3c 70 00 0a 00 00 Slash
03 00 00 3a 3b 01 3e 80 80 0a 04 00 Cyclone
03 00 00 3a 3b 01 3e 80 80 0b 04 80 RocketPunch
03 00 00 00 00 01 3e a0 80 0b 24 c0 Slurp Cut
03 00 00 3a 3b 05 3e 80 00 0e 04 80 Rollo Kick
03 00 00 3a 3b 01 3e 80 80 10 04 80 Spincut
03 00 00 3a 3b 01 3e 80 80 12 04 80 Leap Slash
03 00 00 3a 3b 05 3e 80 00 14 04 00 Cat Attack
03 00 00 3a 3b 05 3e 80 00 15 04 80 Robo Tackle
03 00 00 3a 3b 01 3e 80 80 19 04 80 Uzzi Punch
03 00 00 3a 3b 05 3e 80 00 1e 46 c0 Rock Throw


Damage Magical:

03 00 00 00 00 03 3c 70 00 02 00 00 Black Hole
03 00 00 00 00 03 3c 70 00 06 00 00 Flame Toss
03 00 00 00 00 03 3c 70 00 0a 00 00 Laser Spin
03 00 00 00 00 03 3c 70 00 0b 00 00 Ice
03 00 00 00 00 03 3c 70 00 0b 00 00 Fire
03 00 00 00 00 03 3c 70 00 0b 00 00 Water
03 00 00 00 00 03 3c 70 00 0c 00 00 Lightning
03 00 00 3a 3b 03 3c 50 00 0c 00 80 Napalm
03 00 00 00 00 03 3c 70 00 0e 00 00 Lightning 2
03 00 00 00 00 03 3c 70 00 0e 00 00 Ice 2
03 00 00 00 00 03 3c 70 00 0e 00 00 Fire 2
03 00 00 00 00 03 3c 70 00 0e 00 00 Water 2
03 00 00 00 00 03 3c 70 00 12 00 00 Lightning 2
03 00 00 00 00 03 3c 70 00 12 00 00 Ice 2
03 00 00 00 00 03 3c 70 00 12 00 00 Fire 2
03 00 00 00 00 03 3c 70 00 19 00 00 Dark Bomb
03 00 00 00 00 03 3c 70 00 19 00 00 Dark Mist
03 00 00 00 00 03 3c 70 00 1e 00 00 Area Bomb
03 00 00 3a 3b 03 3c 50 00 20 00 80 Mega Bomb
03 00 00 00 00 03 3c 70 00 26 00 00 Dark Matter
03 00 00 00 00 03 3c 70 00 28 00 00 Tail Spin
03 00 00 00 00 03 3c 70 00 28 00 00 Shock
03 00 00 00 00 03 3c 70 00 2a 00 00 Flare



Stealing:
06 46 00 00 00 00 00 80 00 00 00 80 Charm

Damage Multiple Hits:
08 03 00 3a 3b 05 3e 80 00 25 04 00 Triple Kick
08 04 00 3a 3b 01 3e 80 80 1d 04 00 Confuse

Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 03:47:04 pm
Triple Post but I wanted to make sure this is seen:

Putting 08 XX does indeed make it attack XX times it's just in the Animations/Sounds/Graphics of that tech  is isn't showing the damage 4 times, only once.  I think in the aura notes I sent you I have the command I THINK might be showing the damage 50 something.   

Anywhos I had cyclone attacking 4 times it only showed it once but it definately took 4 times the damage (I put the sight scope on to test)

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 05, 2008, 04:17:35 pm
Slash (I'm pretty sure it's Slash, I'll double check in a bit.) should be in the magic category. It deals Lightning elemental damage to enemies.

The list shows most of a pattern to bytes four and five. With a few exceptions, all 3a 3b values are physical damage techs.

Edit: Yeah, Slash.
Title: Re: I think it's time to work on the Techs
Post by: JLukas on February 05, 2008, 05:16:09 pm
The second byte ($46 in the Charm data a few posts up) is % success, you'll want to look at Geiger's post:

http://www.chronocompendium.com/Forums/index.php/topic,4448.msg77788.html#msg77788

Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 05:22:55 pm
Slash-

Ah, good, it also has 00 for byte 11

Charm-

OK, I'm pretty sure we should be grouping bytes 1 and 2 together cause I think they go together now, I'll have that in the next update of the editor

Byte 1& 2= tech type
00 XX Healing with power XX
01 XX .....hm not sure Frog's heal is a big problem here
02 01 - Status Bad effects
02 03 - Status Time
02 04 - Status Good effects

03 XX - Damage XX not used

06 XX Steal with percent success XX

08 XX Multiple hits hit XX times

--JP

Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 05, 2008, 05:36:09 pm
Frog's heal throws things off balance. There must be a second set of data we're missing, because Magus's Fire 2, Ice 2, and Lightning 2 are identical here.

I'm confused on what you mean for byte 11.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 10:36:14 pm
Yea this data definately doesn't determine the elemental type damage. 

I think damage is probably calcualted along the lines of x*(magic) + y * strength where x = byte 10 and y = byte 11.

Hence ayla and most of Robo's techs have large byte 11 values and other peopl have large byte 10 values.

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 05, 2008, 10:58:36 pm
That looks possible. I'll have to play around it more later.

Do you know how much damage can vary at any given time?

Any idea where to look for the element used?
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 05, 2008, 11:00:11 pm
Not sure on either, we can check the offsets Guide to see if there's anything we missed.  I'm not good at using the debugger which would be our best bet for finding the element.

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 05, 2008, 11:07:40 pm
There is this much:

Code: [Select]
3DBA61 3DBB60 DATA N Random number data used in battles 2007.01.15
Not sure how relevant this part is:

Code: [Select]
025A8A 025A8B PTR N Pointer to 1200 Tech routine 2007.01.15
025A8E 025ACF CODE N Routines for text character 1200 Tech 2007.01.15
025D34 025D44 CODE N Subroutine used by 1200 Tech 2007.01.15

There's a lot about the debugger I don't know either.
Title: Re: I think it's time to work on the Techs
Post by: JLukas on February 06, 2008, 10:30:48 am
There is this much:

Code: [Select]
3DBA61 3DBB60 DATA N Random number data used in battles 2007.01.15

When you see 3DBA61,x (could also be ,y) in the battle routines, it's loading a random value.  You should look at the code directly after that to see what it's doing with the random value obtained.

The other data you listed from the 02xxxx range is for displaying {tech} text command in TF.  It's not related to battle damage formulas.
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 06, 2008, 10:56:15 am
I had a feeling that was the case with the latter.

ASM isn't my strong point, so I'll probably end up lost with how it picks which value.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 07, 2008, 02:49:26 pm
Properties (maybe):

Byte 04 and 05 seems to have to do with the hit % of the tech.

Byte 07 Highernumbers = lower damage

byte 09 is least significant part of damage calculation (i changed it from 00 to FF and it did 50 mroe damage)

Commands:

======================================
12 XX:  Send to XX:  XX = 0, caster? XX =1, PC + 1 XX =2 PC + 2, XX = 3 target XX = 4 target + 1 etc

==============================================
76 XX YY:  XX:  Seems to be angle, YY=target same as above

==============================================

72 XX:  Facing:  XX = 00 North 01 South 02 West 03 East 0D= face target???

===================================================

Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 10, 2008, 04:14:03 am
Byte 6 is definitely attack type related.

I changed cyclone to 06 (Low HP - Greater Damage) and it worked right.

Changing to 03, however, did not result in magic damage. That must be compared to the element used in the attack, rather than that value.
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 24, 2008, 12:17:02 am
Interesting. The first couple unknowns in Cyclone seem to control the ending of the tech. I deleted one and it didn't complete.
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 24, 2008, 02:51:47 am
Somehow I have Provoke doing exactly 1 damage to Shadows. Here's the header.

03 13 05 3A 3B 01 01 50 0B 00 F0 00
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 24, 2008, 04:43:56 am
All you did was change the header, and is that only against shadows?

--JP
Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 24, 2008, 05:16:39 am
I'm pretty sure the rest is the same, but I'll double check.

I haven't tested it on other enemies. The shadows interested me because it's apparently still a physical attack, based on the Golem's reaction.

Edit: Others also take one damage, and everything else is the same.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 24, 2008, 06:28:05 am
Hm....next update I'll make the header completely editable.

Here's some notes I'm doing on slash.....I really wanna figure out how sprites work and slash has 4 of them hahah.   From the code below I belive:

All sprites you put under a 1B XX where XX is where the sprites is loaded, if you ahve have more than one sprites you further break them down with a 02 XX command where XX incrementes everytime...sadly I used to think this was what 24 XX was, now I think 24 XX means, start this code chunk at time XX.  So if you have animations and sound for a tech and you want them to be sync'd put a 24 XX above each chunk of code

All sprites load at the same time, you use pauses to make it seem sequential. 

C0 is important somehow, i've seen this command in other places (most recently haste) before a sprite is shown.

Code: [Select]
98 FC 80 00 B4 09 DB 09 E4 09 E9 09 05 0A 19 0A 2D 0A 41 0A 56 0A 85 09

1E 1D                     //Darken Screen

   0C                       //0C starts every load slash thing
76 00 03                //????????????
72 0D                    //Facing?
06 32                      //set animatino
A9 06                      //??????????????
   36                        //end
03 32                       //?????????????


24 03                     //time unit 3
1E 1E                     //super command....make screen normal
   0A                      //?????????
02 0E                     // this 02 doesn't make sense
12 19                      //Send to target

1B 19                      //Load Sprite.......?
72 0D                      //set facing
06 03                       //set animation


23 02                      //these are everywhere??????????????????

24 04                       //Time unit 4
20 0A                      //pause
2E                            //end caster animations 1
01                            //end caster animations 2
00                            //end caster animations 3


23 02               //these are everywhere??????????????????
1E 05               //super command
24 03               //Time chunk 3
   50                 //no idea
   36                 //end
   00                 //end

23 02                //these are everywhere??????????????????
1E 05                // super command return screen to normal
   00                //end something


61 01 00 03       //i have this as pallette morph

   0C                   //new sprite
02 00                //0th sprite
24 01                  //First time unit
20 0F                //wait f units
   36                 //end something
1B 00               //load sprite at caster
72 00               //important for load sprite
73 03                //important for load sprite
70                   //show sprite
78 53 12          // sound
03 35             // i don tknow
A8 3C             //set speed
   71              //hide sprite
   00              //end something

0C                 //new sprite
02 01             //first sprite
24 02             //start at time unit 2
1B 00             //load sprite at caster
72 00             //important for load sprite
73 03             //important for show sprite
20 02             //wait 2 units
   70              //show sprite
12 03            //send to caster
A8 3C            //set speed
   71              //hide sprite
   00              //end

   0C             //new sprite
02 02           //sprite number 2
24 02           //start at time unit 2?
1B 00           // load sprite at caster
72 00          //important for load sprites
73 03          //important for known sprite
20 04          //wait 4 units
   70           //show sprite
12 03          //go to caster
A8 3C          // set speed
   71            // hide sprite
   00             //end

   0C
02 03            //the third sprite
24 02            //   Start at time unit 2
1B 00            //load sprite at caster
72 00            //important unkonwn command for sprites
73 03            //important unknown command for sprites
20 06            //wait 6 units
   70             //show sprite
12 03           //send to target
A8 3C           //set speed
   71            //hide sprite
   00            //end


   0C           //new sprite?
02 04          //sprite number 4?
24 02           // start at time unit 2?
1B 00           //load sprite at caster
72 00            //load sprite important
73 03             // load sprite important
20 08            // wait 8 units
   70              // show sprite
12 03            // Send to target
A8 3C             //set speed
   36               //end...this sprite
   71              //hide sprite
   00             //end ......something


1B 03          //load sprite at target, this is the white thing underneath it
72 00          //imporant when loading sprites
73 03           //important when loading sprites
23 01          // these are everywhere??????????????????
78 4F 03      //sound
05 35          //no idea, changing it changes how he dies
00


Title: Re: I think it's time to work on the Techs
Post by: Mauron on February 24, 2008, 06:46:00 am
I removed the C0 at the start of Cyclone once, and it didn't end properly.

Tomorrow I'll look into this more.
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on February 28, 2008, 01:52:26 am
I'm pretty sure 24 XX is wait here until time XX.  And the current XX is controlled by the code before 2E 01 00. 

1B XX
73 00
72 XX seems to be a  new object. 

Example

Code
Code
Code
24 02  <----  All code waiting for 02 begin
code
code 03 <--- All code waiting for 03 begin
2E
01
00

1B 03
73 00
72 03  <-----New object
24 02  <-----Don't move until the above 2402 is started
code
code
  00

1B 03
73 00
72 03
code
code
24 03 <-----Don't move until the above 24 03 is started



That is my current theory for code organizaiton, i think the next version of the editor might make subtrees within object.....and maybe use coloring to show divisions of time.


--JP








Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on April 28, 2008, 08:57:06 pm
I believe the way the next section of code starts is with 36....it's like section plus plus

Beginning of code $section = 0

Most techs seems to have a set up period and then a 36.   Sorry I forgot to make the header editable for this release.

That damn C0 still keeps popping up everywhere I look.  Also  D9 30 (30 is a parameter but i only see D9 with 30)  and....let me look it up........0D XX

--JP
Title: Re: I think it's time to work on the Techs
Post by: Agent 12 on April 29, 2008, 03:31:53 pm
OK, much like  24 XX is a lock until there is an EndSecition command (36)  23 XX is a lock until another command....unfortunately this one is not as pretty as the other.

It seems at this point that the way to increment 23 XX's lock is by the following commands:

78 XX XX
Animation

.....yea i know it's ugly but those from what I can tell those commands must be together 78 is a variant of a call sound command.

So basically there are two different "Locks" for controlling flow of a tech....here is an example

Code: [Select]
HEADER:            <-----$section = 0     $subsection = 0
//Caster Object
<start up code>
END Section        <------$section = 1
<section 1 code>
24 02                 <------wait here for $section to = 2
<section 2 code sub section 1>
23 01               <------wait here for $subSection = 1
<section 2 code sub section 2>
2E 01 00          <------End Tech


//Object like a fireball
<start up code>
24 01                <-----$wait here for $section to = 1
<section 1 sub section 1 code >
78 XX XX           
Animation           <-------$subSection = 1
Return
<section 1 sub section 2 code>
END Section        <------$section = 2


Hopefully there is something i'm missing to make a more elegant solution.  I dont know why they used 2 different locks since they just as easily could have had 24 XX with many many sections.  I really hope those two commands don't have to go together but when I remove either one of them the tech crashes.....

--JP